@emailmaker/emailmaker 1.1.85-dev.6 → 1.1.85-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/emailmaker.js CHANGED
@@ -1014,7 +1014,7 @@ var __amdEnv = window.__emailmaker__ || (window.__emailmaker__ = {});
1014
1014
 
1015
1015
 
1016
1016
  // Configure AMD loader
1017
- __amdEnv.require.config({ baseUrl: "./", paths: {"core":"emailmaker-core.fd7c3ffe.js","monaco":"static/monaco/index.js","po":"emailmaker-po.fd7c3ffe.js"} });
1017
+ __amdEnv.require.config({ baseUrl: "./", paths: {"core":"emailmaker-core.8402bf20.js","monaco":"static/monaco/index.js","po":"emailmaker-po.8402bf20.js"} });
1018
1018
 
1019
1019
  // PublicPath (script detection: entry script lookup → document.currentScript)
1020
1020
  if (!__emailmaker__.publicPath) {
@@ -1362,7 +1362,7 @@ if (!ns.assetUrl) {
1362
1362
  }
1363
1363
 
1364
1364
  if (!ns.version) {
1365
- ns.version = "1.1.85-dev.6";
1365
+ ns.version = "1.1.85-dev.7";
1366
1366
  }
1367
1367
 
1368
1368
  var modules = ns.modules = Object.create(null);
@@ -2075,14 +2075,14 @@ if (typeof ns.define === 'function') {
2075
2075
  __emailmaker__.define("static/umd/d84cba13.js",["require","exports","module"],function(bn,u,Dn){var g=class ct{_inner;_isDisposed=!1;constructor(t=[]){this._inner=t}addDisposable(t){return this._inner.push(t),t instanceof ct&&t.addDispose(()=>{this.removeDisposable(t)}),t}addDispose(t){this.addDisposable({dispose:t})}removeDisposable(t){const r=this._inner.indexOf(t);r>=0&&this._inner.splice(r,1)}isDisposed(){return this._isDisposed}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(const t of[...this._inner])t.dispose()}}};function M(e){return`service_container_${e}`}var P=new Set,X;function ut(){if(!X)return;const e=new Error("getInstanceAsync"),t=Error;return typeof t.captureStackTrace=="function"&&t.captureStackTrace(e,se.prototype.getInstanceAsync),e.stack}function V(e){P.delete(e)&&X?.end(e)}var se=class oe extends g{_parent;_injectCallbacks=[];_injections=Object.create(null);_runCallbacks(t){this._injectCallbacks.forEach(r=>r(t))}constructor(t=null){super(),this._parent=t,t&&this.addDisposable(t.onInject(r=>this._runCallbacks(r)))}onInject=t=>(this._injectCallbacks.push(t),{dispose:()=>{const r=this._injectCallbacks.indexOf(t);r>=0&&this._injectCallbacks.splice(r,1)}});inject(t,r){this._injections[t]=()=>r,this._runCallbacks(t)}injectFactory(t,r,n){const i=this._injections[t];let o=typeof i=="function"?i():i;const s=this._injections[t]=()=>(o=r(this,o),o);n&&s(),this._runCallbacks(t)}_find(t,r=!0){return this._injections[t]||r&&this._parent?._find(t)}_onInject(t,r,n=new g){return n.addDisposable(this.onInject(i=>{t===i&&(n.dispose(),r(this.getInstance(i)))})),this._parent&&n.addDisposable(this._parent._onInject(t,r,n)),this.addDisposable(n),n}getInstance(t,r=!0){const n=this._find(t,r);if(typeof n=="function")return n()}getOrCreateInstance(t,r){const n=this._find(t);if(typeof n=="function")return n();const i=r(this);return this.inject(t,i),i}getInstanceAsync(t){const r=this._find(t);if(typeof r=="function")return Promise.resolve(r());const n=ut();return new Promise((i,o)=>{const s={id:String(t),startedAt:Date.now(),origin:n,container:this,reject:o};P.add(s),X?.start(s),this._onInject(t,()=>{V(s),i(this.getInstance(t))})})}failPendingWaits(t){for(const r of Array.from(P))r.container===this&&(V(r),r.reject(t))}pendingWaits(){return[...P].filter(t=>t.container===this)}addService(t,r){const n=M(t);this.injectFactory(n,(o,s=[])=>s.indexOf(r)<0?[...s,r]:s);const i=new g;return i.addDispose(()=>{this.injectFactory(n,(o,s=[])=>s.filter(a=>a!==r))}),i}addServiceFactory(t,r,n){const i=M(t);let o;this.injectFactory(i,(a,c=[])=>(o=r(a,o),o===void 0?c:c.indexOf(o)<0?[...c,o]:c),n);const s=new g;return s.addDispose(()=>{this.injectFactory(i,(a,c=[])=>o===void 0?c:c.filter(_=>_!==o))}),s}getServices(t){const r=M(t);return[...this.getInstance(r,!1)||[],...this._parent?.getServices(t)||[]]}createChild(){return new oe(this)}getOrCreateIsolatedContainer(t){return this.getOrCreateInstance(t,()=>{const r=this._parent?.getOrCreateIsolatedContainer(t);return new oe(r)})}remove(t){const r=this._injections;delete r[String(t)]}injectListenerCount(){return this._injectCallbacks.length}dispose(){for(const t of Array.from(P))t.container===this&&V(t);this._injections=Object.create(null),this._injectCallbacks=[],super.dispose()}};function $(e){return e.startsWith("__")?e:`__${e}__`}function _t(e){if(typeof globalThis>"u")throw new Error("[di] globalThis is required for namespace container access.");const t=$(e),r=globalThis;return r[t]??={}}function lt(e){return e!=null&&typeof e=="object"&&typeof e.inject=="function"&&typeof e.getInstance=="function"}function dt(e){if(e)return $(e);const t="emailmaker".trim();if(!t)throw new Error("[di] REACT_APP_NAME is required for resolveContainer().");return $(t)}function ae(e){const t=dt(e),r=_t(t);if(lt(r.container))return r.container;const n=new se(null);return r.container=n,n}function ft(e){return ae(e)}function Et(){let e=new Date().getTime(),t=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){let n=Math.random()*16;return e>0?(n=(e+n)%16|0,e=Math.floor(e/16)):(n=(t+n)%16|0,t=Math.floor(t/16)),(r==="x"?n:n&3|8).toString(16)})}function ce(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Et()}function f(e=ce()){return e}function ue(){return"umd".trim()||"unknown"}function pt(e){if(typeof globalThis>"u")return;const t=ue(),r=globalThis[e]??{};globalThis[e]=r;const n=r.__diagnostics??={},i=n.diModuleEval??={evalCount:0,records:[]};i.records.push({buildSource:t,timestamp:Date.now(),stack:new Error().stack}),i.evalCount+=1}function ht(){const e="emailmaker".trim();if(!e)throw new Error("[di] REACT_APP_NAME is required for DependencyResolver diagnostics.");return`__${e}__`}function Ot(e,t){if(pt(t),typeof globalThis>"u")return e;const r=ue(),n=globalThis,i=n[t]=n[t]||{},o=i.__diagnostics=i.__diagnostics||{},s=o.dependencyResolver=o.dependencyResolver||{entries:[]},a={container:e,source:"packages/runtime-core/di/index.ts",buildSource:r,timestamp:Date.now(),stack:new Error().stack};return s.entries.push(a),e}var j;function At(){if(j)return j;const e=ht();return j=Ot(ae(e),e),j}var W=new Proxy({},{get(e,t,r){const n=At(),i=Reflect.get(n,t,r);return typeof i=="function"?i.bind(n):i}});function It(e,t="BackendError"){switch(e){case 400:return"ValidationError";case 401:return"AuthenticationFailed";case 403:return"AuthorizationFailed";case 404:return"FileNotFound";case 413:return"PayloadTooLarge";case 415:return"UnsupportedMediaType";case 429:return"RateLimitExceeded";case 500:return"BackendError";case 503:return"ServiceUnavailable";case 504:return"Timeout";default:return t}}function S(e){if(e instanceof DOMException&&e.name==="AbortError")return e;const t=e===void 0?"The operation was aborted.":typeof e=="string"?e:e instanceof Error?e.message:String(e);return new DOMException(t,"AbortError")}function q(e){if(e?.aborted)throw S(e.reason)}function gt(e,t){return t?(t.aborted&&e.catch(()=>{}),q(t),new Promise((r,n)=>{const i=()=>{o(),n(S(t.reason))},o=()=>{t.removeEventListener("abort",i)};t.addEventListener("abort",i),e.then(s=>{o(),r(s)},s=>{o(),n(s)})})):e}var _e=class extends g{_options;_listeners=[];constructor(e={}){super(),this._options=e}getListeners(e){return this._listeners.flatMap(([t])=>typeof t=="function"?t:t.getListeners(e))}hasListeners(){for(const[e]of this._listeners){if(typeof e=="function")return!0;const t=e;if(typeof t.hasListeners=="function"){if(t.hasListeners())return!0;continue}return!0}return!1}_addListener(e,t=0,r){if(this.isDisposed())return{dispose:()=>{}};const n=this._listeners,i=this._options;r&&typeof e=="function"&&(e=e.bind(r));const o=n.findIndex(([,a])=>a<t),s=[e,t];return n.splice(o>=0?o:n.length,0,s),n.length===1&&i.onFirstListenerAdd&&i.onFirstListenerAdd(),{dispose:()=>{const a=n.indexOf(s);a>=0&&(n.splice(a,1),!n.length&&i.onLastListenerRemove&&i.onLastListenerRemove())}}}on=this._addListener.bind(this);event=this._addListener.bind(this);once=(e,t=0,r)=>{const n=this._addListener((...i)=>(n?.dispose(),r?e.call(r,...i):e(...i)),t);return n};un=e=>{const t=this._listeners.findIndex(([r])=>r===e);t>=0&&(this._listeners.splice(t,1),this._listeners.length===0&&this._options.onLastListenerRemove&&this._options.onLastListenerRemove())};dispose(){this._listeners.splice(0,this._listeners.length),this._options.onLastListenerRemove&&this._options.onLastListenerRemove(),super.dispose()}},b=class extends _e{execute(e,t){for(const r of t)try{r(...e)}catch{}}fire(...e){if(!this.isDisposed()){const t=this.execute(e,this.getListeners(e));return t===void 0?void 0:t}}},mt=class extends b{execute([e],t){for(const r of t)try{r(e)}catch{}}},Tt=class extends b{_suspendCounter=0;_wasFired=!1;execute([e],t){if(this._suspendCounter)this._wasFired=!0;else for(const r of t)try{r(e)}catch{}}suspend(){this._suspendCounter++}resume(){--this._suspendCounter===0&&this._wasFired&&(this.fire(),this._wasFired=!1)}},B=class extends b{async execute([e],t){const r=[];for(const n of t)try{r.push(await n(e))}catch{}return r}async fireSettled(e){const t={results:[],errors:[]};if(this.isDisposed())return t;for(const r of this.getListeners([e]))try{t.results.push(await r(e))}catch(n){t.errors.push(n)}return t}};function St(e,t=0){const r=new _e,n=e(r,t);return n&&r.addDisposable(n),r.event}function bt(e,t,r=0){const n=new b,i=e((...o)=>{if(t(...o))return n.fire(...o)},r);return i&&n.addDisposable(i),n.event}function Dt(e,t=0,r=0){const n=new b;let i,o;const s=e((...a)=>{o=a,i||(i=setTimeout(()=>{o&&n.fire(...o),i=void 0},t))},r);return s&&n.addDisposable(s),n.event}function Nt(e,t){return e.getOrCreateInstance(t,()=>new B)}function d(e){return f(e)}var K;(function(e){e.BEFORE_SAVE_EMAIL=d("events.BEFORE_SAVE_EMAIL"),e.ON_SAVEBUTTON_CLICK_ID=d("events.ON_SAVEBUTTON_CLICK_ID"),e.ON_NEXTBUTTON_CLICK_ID=d("events.ON_NEXTBUTTON_CLICK_ID"),e.ON_PREVIOUSBUTTON_CLICK_ID=d("events.ON_PREVIOUSBUTTON_CLICK_ID"),e.ON_DOCUMENT_SESSION_CHANGE=d("events.ON_DOCUMENT_SESSION_CHANGE"),e.WILL_EMAIL_INIT_ID=d("events.WILL_EMAIL_INIT_ID"),e.ON_EMAIL_INIT_ID=d("events.ON_EMAIL_INIT_ID"),e.ON_BLOCK_INIT_ID=d("events.ON_BLOCK_INIT_ID"),e.ON_CONTENT_CHANGED_ID=d("events.ON_CONTENT_CHANGED_ID"),e.ON_PREHEADER_CHANGED_ID=d("events.ON_PREHEADER_CHANGED_ID"),e.ON_SUBJECT_CHANGED_ID=d("events.ON_SUBJECT_CHANGED_ID"),e.ON_EMAIL_CHANGED_ID=d("events.ON_EMAIL_CHANGED_ID"),e.ON_HEADER_APPLIED_ID=d("events.ON_HEADER_APPLIED_ID"),e.ON_BLOCK_CHANGED_ID=d("events.ON_BLOCK_CHANGED_ID"),e.ON_CHUNKS_LOADED=d("events.ON_CHUNKS_LOADED"),e.ON_SEND_TESTEMAIL_ID=d("events.ON_SEND_TESTEMAIL_ID"),e.ON_SEND_LIVEPREVIEW_ID=d("events.ON_SEND_LIVEPREVIEW_ID"),e.ON_SHARE_ID=d("events.ON_SHARE_ID"),e.ON_SHOW_PREVIEW_ID=d("events.ON_SHOW_PREVIEW_ID"),e.ON_EMAIL_CLONE_ID=d("events.ON_EMAIL_CLONE_ID"),e.ON_SEND_EMAIL_MODAL_ID=d("events.ON_SEND_EMAIL_MODAL_ID"),e.ON_NOTIFICATION=d("events.ON_NOTIFICATION"),e.READ_LOCALE=d("events.READ_LOCALE"),e.ON_TRANSLATE_ID=d("events.ON_TRANSLATE_ID"),e.ON_CODE_VALIDATE_ID=d("events.ON_CODE_VALIDATE_ID"),e.UPLOAD_EVENT_ID=d("events.UPLOAD_EVENT_ID"),e.PROXY_URL_EVENT_ID=d("events.PROXY_URL_EVENT_ID"),e.FILE_PROXY_EVENT_ID=d("events.FILE_PROXY_EVENT_ID"),e.ON_LIMIT_ID=d("events.ON_LIMIT_ID"),e.ON_BROWSER_EXTENSION_DETECTED_ID=d("events.ON_BROWSER_EXTENSION_DETECTED_ID"),e.ON_LAYOUT_CONVERT_REQUEST_ID=d("events.ON_LAYOUT_CONVERT_REQUEST_ID"),e.ON_BROWSER_TRANSLATE_DETECTED_ID=d("events.ON_BROWSER_TRANSLATE_DETECTED_ID"),e.AI_TEXT_REQUEST_ID=d("events.AI_TEXT_REQUEST_ID"),e.AI_IMAGE_REQUEST_ID=d("events.AI_IMAGE_REQUEST_ID"),e.AI_TEXT_PROGRESS_ID=d("events.AI_TEXT_PROGRESS_ID"),e.AI_IMAGE_PROGRESS_ID=d("events.AI_IMAGE_PROGRESS_ID"),e.AI_TEXT_STREAM_ID=d("events.AI_TEXT_STREAM_ID")})(K||(K={}));function yt(e,t){return e.getOrCreateInstance(t,()=>new B).event}function Pt(e,t){return e.getOrCreateInstance(t,()=>new B)}var Ct=f("plugin.app"),Lt=f("plugin.disposable"),Rt=f("InitPipelineContext"),vt=f("plugin.instance"),wt=f("plugin.lateSurfaceListeners"),le=f("plugin.optionsSource"),Mt=f("plugin.store"),de=f("ConfigSource"),jt=f("plugin.standalone.project"),fe=f("plugin.standalone.bootstrapToken"),Nn=f("plugin.element"),Ee=f("plugin.securityModule"),Bt=f("plugin.standalone.activated"),xt=f("plugin.standalone.fileProxyRegistered"),z=f("plugin.jwt.token"),C=f("plugin.jwt.error"),Ft=f("PluginCollection"),kt=d("APP_LOAD_EVENT"),Ut=d("CONFIG_CHANGED_EVENT"),Gt=(function(e){return e.Json="application/json",e.FormData="multipart/form-data",e.UrlEncoded="application/x-www-form-urlencoded",e.Text="text/plain",e})({}),Ht=class{baseUrl="https://api.emailmaker.ru/wp-json";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(r=>this.encodeQueryParam(t,r)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(r=>typeof t[r]<"u").map(r=>Array.isArray(t[r])?this.addArrayQueryParam(t,r):this.addQueryParam(t,r)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>Object.keys(e||{}).reduce((t,r)=>{const n=e[r];return t.append(r,n instanceof Blob?n:typeof n=="object"&&n!==null?JSON.stringify(n):`${n}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const r=this.abortControllers.get(e);return r?r.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};async request({body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:s,cancelToken:a,extraQuery:c,proxyHandler:_,...l}){const E=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},h=this.mergeRequestParams(l,E);c&&(i=i?{...i,...c}:c);const p=i&&this.toQueryString(i),I=this.contentFormatters[n||"application/json"],O=o||h.format,G=`${s||this.baseUrl||""}${r}${p?`?${p}`:""}`,Tn=_?_(G,{body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:s,cancelToken:a,extraQuery:c,proxyHandler:_,...l}):G,st=new Request(Tn,{...h,headers:{...h.headers||{},...n&&n!=="multipart/form-data"?{"Content-Type":n}:{}},signal:(a?this.createAbortSignal(a):h.signal)||null,body:typeof e>"u"||e===null?null:I(e)});return this.customFetch(st).then(async at=>{const m=at;m.data=null,m.error=null,m.meta={request:st,response:m};const Sn=O?await at[O]().then(H=>(m.ok?m.data=H:m.error={data:H},m)).catch(H=>(m.error=H,m)):m;return a&&this.abortControllers.delete(a),Sn})}},Xt=f("prewarm.networkActivity");function Vt(){let e=0;const t=new Set,r=()=>{t.forEach(n=>n())};return{begin(){e+=1,r();let n=!1;return()=>{n||(n=!0,e-=1,r())}},inFlight:()=>e,watch(n){return t.add(n),()=>t.delete(n)}}}function $t(e){return e.getOrCreateInstance(Xt,()=>Vt())}var pe=Symbol("rest.publicRequest"),x=f("rest.requestHandler"),Wt=f("rest.responseHandler"),J=f("rest.customFetch"),Y=f("rest_transport"),qt=e=>{e.inject(J,{execute:async(t,r={})=>{const n=e.getServices(x),i={public:r[pe]===!0},o=$t(e).begin();try{let s=t instanceof Request?t:new Request(t,r);for(const _ of n){const l=await _.execute(s,i);l instanceof Request&&(s=l)}let a=await fetch(s);const c=e.getServices(Wt);for(const _ of c)a=await _.execute(a);return a}finally{o()}}})};function Kt(e,t){const r=e.getInstance(Y);if(!r)throw new Error("[restApi] транспорт не зарегистрирован в контейнере");return Object.assign({},...t.map(n=>new n(r)))}function zt(e,t=window){return{peer:e,send(r){e.postMessage(r,"*")},subscribe(r){const n=i=>{r({data:i.data,source:i.source,ports:i.ports})};return t.addEventListener("message",n),{dispose:()=>t.removeEventListener("message",n)}},close(){}}}function Jt(e){let t=!1;return{peer:e,send(r){e.postMessage(r)},subscribe(r){const n=i=>{r({data:i.data,source:e})};return e.addEventListener("message",n),t||(t=!0,e.start()),{dispose:()=>e.removeEventListener("message",n)}},close(){e.close()}}}function Yt(e){return e}function Qt(e){return e&&typeof e=="object"}function he(e,t){return e&&typeof e=="object"&&e.operationId===t}var T="INIT_MESSAGE",Oe="em:port-ready",Zt="em:window-drained",Q="";function Ae(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}var er=class extends g{_listeners=Object.create(null);addListenerAsync=(e,t,r=0,n)=>{const i=this._listeners[e]||(this._listeners[e]=[]);n&&typeof t=="function"&&(t=t.bind(n));const o=i.findIndex(([a,c])=>r<=c),s=[t,r];return this.isDisposed()||i.splice(o>=0?o:i.length,0,s),{dispose(){const a=i.indexOf(s);a>=0&&i.splice(a,1)}}};fireAsync=(e,t)=>{if(!this.isDisposed()){const r=this._listeners[e]||(this._listeners[e]=[]);let n;for(let i=0;i<r.length;i++){const o=r[i][0],s=n;n=a=>o(a,s)}if(n)return n(t)}};addListener=(e,t,r=0)=>this.addListenerAsync(e,(n,i)=>{try{t(n)}catch{}return i&&i(n)},r)},tr=class extends g{_singleton;_target;_transport;_transportSubscription;_ports=new Map;_drained=new WeakSet;_inited=!1;_emitter=this.addDisposable(new er);_handshaken=new WeakSet;_greeted=new WeakSet;_outgoingFilter;constructor(e,t){super(),this._singleton=t,this._transport=zt({postMessage:()=>{}},window),this._transportSubscription=this.addDisposable(this._transport.subscribe(this._onTransportMessage)),this.addListener(T,()=>{this._inited||(this._inited=!0,this._target&&this._handshaken.add(this._target),this.send(T))}),e&&this.setTarget(e)}_onTransportMessage=e=>{const t=e,r=t.data,n=t.source,i=r?.port===!0?t.ports?.[0]:void 0,o=!this._isPortSource(t.source);if(o&&n&&r?.operationId==="em:window-drained"){this._drained.add(n);return}if(!(o&&n&&this._drained.has(n))){if(n&&n!==this._target&&this._greeted.has(n)&&he(r,T)){this._greeted.delete(n),this._handshaken.add(n),this._postMessage(n,{operationId:T,data:{}}),i&&this.usePort(i,!0,n);return}if(Qt(r)&&(t.source===this.target||this._isCurrentPort(t.source))||this._singleton&&he(r,T)){if(i){const _=this._target;Promise.resolve().then(()=>this.usePort(i,!0,_))}const s=this._emitter.fireAsync(r.operationId||Q,r.operationId===void 0?t:r.data),a=r.result,c=r.error;a&&c&&Promise.resolve(s).then(_=>this._sendMessage(a,_),_=>this._sendMessage(c,_))}}};setTarget(e){if(this._target!==e){if(this._target=e,!e){this._inited=!1;return}if(this._handshaken.has(e)){this._inited=!0,this._emitter.fireAsync(T,void 0);return}this._inited=!1,this._postMessage(e,{operationId:T,data:{}})}}sendPort(e,t){this._postMessage(e,{operationId:T,data:{},port:!0},[t])}setOutgoingFilter(e){return this._outgoingFilter=e,()=>{this._outgoingFilter===e&&(this._outgoingFilter=void 0)}}greet(e){this._handshaken.has(e)||this._greeted.has(e)||this._target===e||(this._greeted.add(e),this._postMessage(e,{operationId:T,data:{}}))}forget(e){this._handshaken.delete(e),this._greeted.delete(e),this._closePort(e),this._drained.delete(e),this._target===e&&(this._inited=!1)}usePort(e,t=!1,r=this._target){if(!r||this._ports.has(r))return;const n=Jt(e),i=n.subscribe(this._onTransportMessage);this._ports.set(r,{transport:n,subscription:i}),t&&(n.send({operationId:Oe,data:{}}),this.drainWindow(r))}useWindow(e=this._target){e&&(this._closePort(e),this._drained.delete(e))}get usesPort(){return this._target!==void 0&&this._ports.has(this._target)}hasPort(e){return this._ports.has(e)}_closePort(e){const t=this._ports.get(e);t&&(t.subscription.dispose(),t.transport.close(),this._ports.delete(e))}drainWindow(e){this._ports.has(e)&&e.postMessage({operationId:Zt,data:{}},"*")}isWindowDrained(e){return this._drained.has(e)}_isPortSource(e){for(const t of this._ports.values())if(t.transport.peer===e)return!0;return!1}_isCurrentPort(e){return this._target!==void 0&&this._ports.get(this._target)?.transport.peer===e}getTarget(){return this._target}get target(){return this._target}_postMessage(e,t,r){let n=t;this._outgoingFilter&&!r?.length&&(n="data"in t?{...t,data:this._outgoingFilter(t.data)}:this._outgoingFilter(t));try{const i=this._ports.get(e);if(i){i.transport.send(n);return}if(r?.length){e.postMessage(n,"*",r);return}e.postMessage(n,"*")}catch(i){if(i?.name==="DataCloneError"){const o=typeof n?.data=="object"&&n?.data!==null?n.data:void 0}throw i}}_sendMessage(e,t,r=!0){if(!r&&!this.isInited())return;const n=this.addDisposable(this.onInit(i=>{const o=e?{operationId:e,data:t}:t;try{this._postMessage(i,{...o})}finally{n.dispose()}}))}send(e,t,r){return typeof e=="string"?this._sendMessage(e,t,r):this._sendMessage(Q,e,t)}sendAsync(e,t,r=!0){if(!r&&!this.isInited())return Promise.resolve();const n=Ae(),i=Ae();return new Promise((o,s)=>{const a=this.addDisposable(new g);a.addDisposable(this.onInit(c=>{try{this._postMessage(c,{operationId:e,data:t,result:n,error:i})}catch(_){a.dispose(),s(_);return}a.addDisposable(this._onMessage(n,_=>{o(_),a.dispose()})),a.addDisposable(this._onMessage(i,_=>{s(_),a.dispose()}))}))})}_onMessage(e,t,r=0){return this._emitter.addListener(e,t,r)}addListener(e,t,r){return t?this._onMessage(e,t,r):this._onMessage(Q,e)}addListenerAsyncPipe(e,t,r=0){return this._emitter.addListenerAsync(e,t,r)}addListenerAsync(e,t,r=0){return this._emitter.addListenerAsync(e,async(n,i)=>{const o=await t(n);return i?i(n):o},r)}isInited(){return this._inited}get inited(){return this._inited}onInit(e,t=!0,r=0){const n=this.addDisposable(new g);return this._inited&&this._target?t&&Promise.resolve().then(()=>{!this._inited||!this._target?n.addDisposable(this.onInit(e,t,r)):e(this._target)}):n.addDisposable(this._onMessage(T,()=>{e(this._target)},r)),n}dispose(){for(const e of Array.from(this._ports.keys()))this._closePort(e);this._transport.close(),super.dispose()}};function L(e){return f(e)}var rr=f("extensions.atomsHandlers"),nr=L("HANDLE_ATOM_INSERT"),ir=f("extensions.sandboxExtensions"),or="SANDBOX_EXTENSION_SCRIPT_STATUS",sr=f("MESSAGE_SERVICE"),ar=L("SETTINGS_PANEL_EVENT"),cr="advanced",ur=L("MODAL_SHOW_EVENT"),_r=L("MODAL_CLOSE_EVENT"),lr=L("MODAL_UPDATE_EVENT"),yn=f("client"),Pn=f("v2_client"),Cn=f("ai_client"),dr=f("app.cookieManager"),Ln=f("app.storageProvider"),Rn=f("image-blob-resolver"),fr=f("template-directives"),Er="INJECTION";function pr(e){return e.getState}function hr(e){if(!pr(e)){e.dispose();return}const t=e.getState()[Er];t&&(W.getInstance(t)?.dispose(),W.remove(t))}function Ie(e){return Object.assign({},...e)}var ge=["generic","stockImages","emFiles","cdn"];function Z(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function me(e){return!Z(e)||"match"in e||"rewrite"in e||"proxyBase"in e?!1:Object.keys(e).some(t=>ge.includes(t))}function Te(e){return e.length===0?[]:e.length===1?e[0]:e}function Se(e){let t=!1,r=[];for(const n of e)if(n!==void 0){if(t=!0,Array.isArray(n)){r=[...n,...r];continue}r=[n,...r]}if(t)return Te(r)}function Or(e){return Z(e)&&("value"in e||"replace"in e)}function be(e,t){return t===void 0?e:Array.isArray(t)?[...t,...e]:[t,...e]}function Ar(e){let t=!1,r=[],n=!1;for(const o of e)if(o!==void 0){if(Or(o)){t=!0,o.replace&&(r=[],n=!0),o.value!==void 0&&(r=be(r,o.value),n=!0);continue}r=be(r,o),n=!0}const i=n?Te(r):void 0;if(!t)return i;if(i!==void 0)return{value:i}}function Ir(e){const t=e.filter(n=>n!==void 0);if(t.length===0)return;if(!t.some(n=>me(n)))return Se(t);const r={};for(const n of ge){const i=Ar(e.map(o=>{if(o!==void 0)return me(o)?o[n]:n==="generic"?o:void 0}));i!==void 0&&(r[n]=i)}return Object.keys(r).length>0?r:void 0}function gr(e){return Se(e)}function mr(e){if(e!==void 0){if(Array.isArray(e))return{replace:!1,hosts:e};if(Z(e)&&Array.isArray(e.value))return{replace:!!e.replace,hosts:e.value}}}function Tr(e,t){const r=[...e],n=new Set(r.map(i=>i.toLowerCase()));for(const i of t){const o=i.trim().replace(/:\d+$/,"");if(!o)continue;const s=o.toLowerCase();n.has(s)||(n.add(s),r.push(o))}return r}function Sr(e){let t=[],r=!1;for(const n of e){const i=mr(n);i&&(r=!0,i.replace&&(t=[]),t=Tr(t,i.hosts))}return r?t:void 0}function br(e){const t=e.filter(i=>i!==void 0);if(t.length===0)return;const r=Ie(t.map(({directHosts:i,...o})=>o)),n=Sr(t.map(i=>i?.directHosts));return n!==void 0&&(r.directHosts=n),r}function ee(e){return e?.backendProxy}function R(e){return e.replace(/\/$/,"")}function De(e){return/^https?:\/\//i.test(e)}function Ne(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Dr(e){const t=new Set;return e.filter(r=>!r.url||t.has(r.url)?!1:(t.add(r.url),!0))}function Nr(e){const t=ee(e);return t?[t]:[]}function yr(e){return{proxyEmFiles:!0,proxyAi:!1}}function Pr(e,t){const r=yr(t),n=t?.backendProxyPolicy;switch(e){case"emFiles":return n?.proxyEmFiles??r.proxyEmFiles;case"ai":return n?.proxyAi??r.proxyAi;default:return!0}}var Cr={url:".+",url_encoded:".+",origin:"https?:\\/\\/[^\\/?#]+",origin_encoded:".+",proxy_url:"https?:\\/\\/[^\\/?#]+",proxy_url_encoded:".+",path:"[^?#]*",pathname:"[^?#]*",path_with_slash:"\\/[^?#]*",pathname_with_slash:"\\/[^?#]*",query:"[^#]*",search:"\\?[^#]*",hash:"#.*",fragment:".*",pathname_after_wp_json:"[^?#]*",pathname_after_wp_json_with_slash:"\\/[^?#]*",rest_namespace:"[^/?#]*",rest_version:"[^/?#]*",rest_route:"[^?#]*",rest_route_with_slash:"\\/[^?#]*"};function Lr(e){const t=[],r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\{([a-z_]+)\\\}/gi,(n,i)=>(t.push(i),`(${Cr[i]||".+"})`));return{regex:new RegExp(`^${r}$`,"i"),tokens:t}}function Rr(e){return/[?#]/.test(e)||/\{(?:url|url_encoded|query|search|hash|fragment)\}/i.test(e)}function vr(e,t){if(Rr(t))return e;try{const r=new URL(e);return`${r.origin}${r.pathname}`}catch{return e.split(/[?#]/)[0]||e}}function wr(e,t,r){if(r.endsWith("_encoded"))return!0;const n=e.slice(0,t),i=n.lastIndexOf("#"),o=n.lastIndexOf("?"),s=n.lastIndexOf("&"),a=n.lastIndexOf("=");return a>Math.max(o,s)&&a>i}function Mr(e){try{const t=new URL(e),r=t.pathname.replace(/^\/+/,""),n=t.search.replace(/^\?/,""),i=t.hash.replace(/^#/,""),o=r.replace(/^wp-json\/?/i,""),s=o?`/${o}`:"/",a=o.match(/^([^/]+)(?:\/([^/]+))?(?:\/(.*))?$/),c=a?.[1]||"",_=a?.[2]||"",l=a?.[3]||"";return{url:e,url_encoded:encodeURIComponent(e),origin:t.origin,origin_encoded:encodeURIComponent(t.origin),proxy_url:t.origin,proxy_url_encoded:encodeURIComponent(t.origin),path:r,pathname:r,path_with_slash:t.pathname||"/",pathname_with_slash:t.pathname||"/",query:n,search:t.search,hash:t.hash,fragment:i,pathname_after_wp_json:o,pathname_after_wp_json_with_slash:s,rest_namespace:c,rest_version:_,rest_route:l,rest_route_with_slash:l?`/${l}`:"/"}}catch{return}}function te(e,t){if(!e)return{};if(Array.isArray(e)){for(const a of e){const c=te(a,t);if(c!==void 0)return c}return}if(e==="*")return{};const r=vr(t,e),{regex:n,tokens:i}=Lr(e),o=n.exec(r);if(!o)return;const s={};return i.forEach((a,c)=>{s[`matched_${a}`]=o[c+1]||""}),s}function F(e,t,r={}){const n=Mr(t);if(!n)return t;const i={...n,...r};let o="",s=0;const a=/\{([a-z_]+)\}/gi;let c;for(;c=a.exec(e);){o+=e.slice(s,c.index);const _=i[c[1]]??"",l=wr(e,c.index,c[1])?encodeURIComponent(_):_;o+=l,s=c.index+c[0].length}o+=e.slice(s);try{const _=new URL(o),l=new URL(t);return!o.includes("{search}")&&!o.includes("{query}")&&l.search&&l.searchParams.forEach((E,h)=>{_.searchParams.has(h)||_.searchParams.append(h,E)}),!o.includes("{hash}")&&!o.includes("{fragment}")&&l.hash&&!_.hash&&(_.hash=l.hash),_.toString()}catch{return o}}function ye(e,t){try{const r=new URL(t);return`${R(e)}/${r.pathname.replace(/^\//,"")}${r.search}${r.hash}`}catch{return t}}function Pe(e,t){const r=R(e);return t?De(t)?t:t.startsWith("?")||t.startsWith("#")?`${r}${t}`:`${r}${t.startsWith("/")?"":"/"}${t}`:r}function Ce(e,t,r,n){const i=e.match;return i?Array.isArray(i)?i.some(o=>Ce({...e,match:o},t,r,n)):typeof i=="function"?!!i({url:t,method:n,requestType:r}):i==="*"?!0:te(i,t)!==void 0:!0}function jr(e,t,r,n="generic"){if(e==null)return[];const i=Array.isArray(e)?e:[e],o=[];return i.forEach((s,a)=>{if(!s)return;if(typeof s=="string"){const E=s.includes("{")&&s.includes("}")?F(s,t):ye(s,t);o.push({key:`backend:${a}`,url:E,source:"resource"});return}if(!Ne(s)||!("rewrite"in s))return;const c=s;if(!Ce(c,t,n,r))return;const _=typeof c.match=="string"||Array.isArray(c.match)?te(c.match,t)||{}:{},l=typeof c.proxyBase=="string"&&c.proxyBase.trim()?c.proxyBase.trim():void 0;(Array.isArray(c.rewrite)?c.rewrite:[c.rewrite]).filter(Boolean).forEach((E,h)=>{const p=typeof E=="function"?(()=>{const I=E({url:t,proxyBase:l,method:r,requestType:n,..._}),O=l&&!De(I)?Pe(l,I):I;return O.includes("{")&&O.includes("}")?F(O,t,_):O})():l?F(Pe(l,E),t,_):E.includes("{")&&E.includes("}")?F(E,t,_):ye(E,t);o.push({key:`backend:${c.id||"rule"}:${a}:${h}`,url:p,source:"resource"})})}),Dr(o)}function Br(e){try{const t=new URL(e);return/(?:^|\/)wp-json\/em-files\/v\d+(?:\/|$)/i.test(t.pathname)?"emFiles":/(?:^|\/)wp-json\/ai-generator\/v\d+(?:\/|$)/i.test(t.pathname)?"ai":"generic"}catch{return"generic"}}function xr(e,t=[]){return e==null||(Array.isArray(e)?e:[e]).forEach(r=>{if(r){if(typeof r=="string"){const n=r.split("{")[0]?.trim();n&&t.push(R(n));return}!Ne(r)||!("rewrite"in r)||(typeof r.proxyBase=="string"&&r.proxyBase.trim()&&t.push(R(r.proxyBase.trim())),(Array.isArray(r.rewrite)?r.rewrite:[r.rewrite]).forEach(n=>{if(typeof n!="string")return;const i=n.split("{")[0]?.trim();i&&t.push(R(i))}))}}),t}function Fr(e,t){return Nr(t).flatMap(r=>xr(r)).filter(Boolean).some(r=>r&&e.startsWith(r))}function kr(e,t){return!!ee(t)&&Pr(e,t)}function Ur(e,t={}){const r=t.requestType||Br(e);return kr(r,t.config)?jr(ee(t.config),e,t.method,r):[]}function Gr(e,t={}){return Fr(e,t.config)?[e]:Ur(e,t).map(r=>r.url)}function D(e){for(;e.endsWith("/");)e=e.slice(0,e.length-1);return/\/wp-json$/i.test(e)?e:`${e}/wp-json`}function Le(...e){const t=e.filter(o=>o!=null);if(t.length===0)return;if(t.length===1)return t[0];const r=t.find(o=>o.aborted);if(r)return r;if(typeof AbortSignal<"u"&&typeof AbortSignal.any=="function")return AbortSignal.any(t);const n=new AbortController,i=o=>{n.signal.aborted||n.abort(o.reason)};for(const o of t)o.addEventListener("abort",()=>i(o),{once:!0});return n.signal}var Re=3e5,ve=15e3,A=null,we=!1;function Hr(){return!0}function Xr(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_TTL_MS||"").trim();if(!e)return Re;const t=Number(e);return Number.isFinite(t)&&t>0?t:Re}function Vr(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_ATTEMPT_TIMEOUT_MS||"").trim();if(!e)return ve;const t=Number(e);return Number.isFinite(t)&&t>0?t:ve}function $r(){const e="https://app.emailmaker.ru/api/".trim();return e?D(e):void 0}function Wr(e){const t=e.trim();if(!t)return[];if(t.startsWith("["))try{const r=JSON.parse(t);if(!Array.isArray(r))throw new Error("expected JSON array");return r.map(n=>String(n).trim()).filter(Boolean)}catch{return we||(we=!0),[]}return t.split(",").map(r=>r.trim()).filter(Boolean)}function qr(e){const t=new Set,r=[];for(const n of e){const i=D(n);t.has(i)||(t.add(i),r.push(i))}return r}function Me(e){const t=String(e||"").trim();return t?D(t):$r()}function je(e,t=[]){return e?qr([e,...t]).slice(0,3):[]}function Be(){return Wr(String({}.REACT_APP_OPENAPI_FAILOVER_BASE_URLS||"").trim())}function Kr(e=Date.now()){return A?e-A.switchedAt>=Xr():!0}function xe(e=Date.now()){A&&Kr(e)&&(A=null)}function N(e){if(!Hr())return!1;const t=Me(e);if(!t)return!1;const r=Be();return r.length===0?!1:je(t,r).length>1}function v(e){const t=Me(e);if(!t)return[];const r=Be();return r.length===0?[t]:je(t,r)}function k(e){const t=v(e);if(t.length===0)return"";if(xe(),A){const r=t.indexOf(A.activeUrl);if(r>=0)return t[r]}return t[0]}function Fe(e){const t=v(e);if(t.length<=1||(xe(),!A||!t.includes(A.activeUrl)))return t;const r=A.activeUrl;return[r,...t.filter(n=>n!==r)]}function ke(e){return k(e)||void 0}function Ue(e){const t=e||void 0;if(typeof AbortController>"u")return{signal:t,timeoutError:()=>{},done:()=>{}};const r=Vr(),n=new AbortController;let i;const o=setTimeout(()=>{i=zr(r),n.abort(i)},r);return{signal:Le(t,n.signal),timeoutError:()=>i,done:()=>clearTimeout(o)}}function zr(e){const t=`[apiOriginFailover] origin attempt timed out after ${e}ms`;if(typeof DOMException=="function")return new DOMException(t,"TimeoutError");const r=new Error(t);return r.name="TimeoutError",r}function Ge(e){return e===502||e===503||e===504}function He(e){return!(e instanceof Error)&&!(e instanceof DOMException)?!1:e.name==="TimeoutError"?!0:e instanceof TypeError}var Xe;function Jr(e){Xe=e}function U(e,t){if(!N(t))return;const r=v(t);if(r.length<=1)return;const n=r.indexOf(D(e));if(n<0)return;const i=n+1;if(i>=r.length)return;const o=r[i],s=A?.activeUrl;A={activeUrl:o,switchedAt:Date.now()},s!==o&&Xe?.()}function Ve(e,t){if(!N(t))return;const r=D(e),n=v(t);if(n.includes(r)){if(r===n[0]){A=null;return}A?.activeUrl!==r&&(A={activeUrl:r,switchedAt:Date.now()})}}function $e(){A=null}var Yr=e=>{const t=new FormData,r=(n,i,o)=>{if(i!=null){if(i instanceof Blob){n.append(o,i);return}if(Array.isArray(i)){i.forEach((s,a)=>{const c=o?`${o}[${a}]`:`${a}`;r(n,s,c)});return}if(typeof i=="object"){Object.keys(i).forEach(s=>{const a=i[s],c=o?`${o}[${s}]`:s;r(n,a,c)});return}n.append(o,String(i))}};return r(t,e),t},Qr={baseUrl:D("https://app.emailmaker.ru/api/"),baseApiParams:{secure:!0,credentials:"same-origin",format:"json"},securityWorker:()=>({credentials:"same-origin"})},y=new Map;function Zr(e){const t=e?.getInstance(de);return t?t.get()??t.bootstrap():void 0}var en=class extends Ht{container;constructor(e={},t){super(e),this.container=t}buildRequestUrl(e){const{path:t,baseUrl:r,extraQuery:n}=e;let{query:i}=e;n&&(i=i?{...i,...n}:n);const o=i&&this.toQueryString(i);return`${r||this.baseUrl||""}${t}${o?`?${o}`:""}`}buildRequestKey(e,t){return`${t.toUpperCase()} ${e}`}getBackendProxyCandidates(e,t){const r=Zr(this.container),n=this.container?.getInstance(Ee)!==void 0,i=Gr(e,{config:r,method:t,standalone:n}),o=i.length>0?i:[e],s=this.buildRequestKey(e,t),a=y.get(s);return!a||!o.includes(a)?o:[a,...o.filter(c=>c!==a)]}shouldRetryResponse(e){return e.status===502||e.status===503||e.status===504}resolveFailoverBaseUrl(){return String(this.baseUrl||"").trim()||void 0}async requestOnOrigin(e,t,r=!1){const n={...e,baseUrl:t},i=this.buildRequestUrl(n),o=n.method||"GET",s=this.buildRequestKey(i,o),a=this.getBackendProxyCandidates(i,o);let c,_;for(const l of a){const E=p=>p===i?l:p,h=r?Ue(e.signal):void 0;try{const p=await super.request({...n,proxyHandler:E,...h?{signal:h.signal}:{}});if(!p.ok&&this.shouldRetryResponse(p)&&l!==a[a.length-1]){_=p,y.get(s)===l&&y.delete(s);continue}return y.set(s,l),p}catch(p){y.get(s)===l&&y.delete(s);const I=h?.timeoutError();if(I)throw I;if(c=p,(p instanceof DOMException||p instanceof Error)&&p.name==="AbortError")throw p}finally{h?.done()}}if(_)return _;throw c instanceof Error?c:new Error("Backend proxy chain failed")}async request(e){const t=String(e.baseUrl||"").trim();if(t)return this.requestOnOrigin(e,t);const r=this.resolveFailoverBaseUrl(),n=N(r),i=e.failoverAttemptTimeout??n,o=n?Fe(r):r?[k(r)]:[this.baseUrl].filter(Boolean);if(o.length===0)return this.requestOnOrigin(e,this.baseUrl);let s,a;for(let c=0;c<o.length;c++){const _=o[c],l=c===o.length-1;try{const E=await this.requestOnOrigin(e,_,i);if(!E.ok&&Ge(E.status)){if(a=E,!l){U(_,r);continue}break}return E.ok&&Ve(_,r),E}catch(E){if(!He(E))throw E;s=E,l||U(_,r)}}if(n&&$e(),a)return a;throw s instanceof Error?s:new Error("API origin failover chain failed")}};function We(e={},t){const r=new en({...Qr,...e},t);return r.contentFormatters["multipart/form-data"]=Yr,r}var qe=f("rest.clientFactory"),tn=e=>{qt(e);const t=We({customFetch:e.getInstance(J)?.execute||fetch},e);e.inject(Y,t)},Ke;(function(e){const t="https://racs.emcdn.ru/v3";function r(i,o){const s={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)};return fetch(`${t}?resource=${i}&dataset=${document.location.hostname}`,s)}e.post=r;async function n(i,o=0){const s={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:`{"filter":{},"limit":${o}}`};return await(await fetch(`${t}/get?resource=${i}&dataset=${document.location.hostname}`,s)).json()}e.getAll=n})(Ke||(Ke={}));function w(e,t){if(e!==t){if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const r=Array.isArray(e),n=Array.isArray(t);if(r){if(!n)return!1;const a=e.length;if(t.length!==a)return!1;for(let c=0;c<a;c++)if(!w(e[c],t[c]))return!1}else if(n)return!1;const i=Object.keys(e),o=Object.keys(t),s=i.length;if(s!==o.length)return!1;for(let a=0;a<s;a++){const c=i[a];if(!t.hasOwnProperty(c)||!w(e[c],t[c]))return!1}}return!0}function rn(e){const t=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(4-e.length%4)%4,"="),r=atob(t),n=new Uint8Array(r.length);for(let i=0;i<r.length;i++)n[i]=r.charCodeAt(i);return new TextDecoder().decode(n)}function ze(e){const[t,r,n]=e.split("."),i=JSON.parse(rn(r));return{exp:i.exp,createdAt:i.iat,data:i}}var re=f("plugin.auth.token"),Je=new WeakMap,nn=3e4;function on(e){let t;try{t=ze(e).exp}catch{return!0}return typeof t!="number"||!Number.isFinite(t)?!0:t*1e3<=Date.now()+nn}function sn(e,t,r,n){const i=Je.get(e);i&&(i.stale=!0);const o={stale:!1};Je.set(e,o),e.injectFactory(re,async(s,a)=>{if(o.stale)return"";try{let c=await a||void 0;if(!c){const _=e.getInstance(fe);_&&(c=await _)}return t?!c||on(c)?await t(r,n,c):c:""}catch{return""}},!0)}var Ye=f("auth.oauthProvided"),Qe=new WeakMap;function Ze(e,t){const r=Qe.get(e)??{applied:!1};(!r.applied||r.getAuthToken!==t.getAuthToken||!w(r.user,t.user)||r.project!==t.project)&&(Qe.set(e,{applied:!0,getAuthToken:t.getAuthToken,user:t.user,project:t.project}),sn(e,t.getAuthToken,t.user,t.project))}function et(e){if(e.getInstance(Ye))return;e.inject(Ye,!0);let t;e.getInstance(le)?.watch(r=>{t=r}),e.addService(x,{execute:async(r,n)=>{if(n?.public||!t?.getAuthToken)return;e.getInstance(re)===void 0&&Ze(e,t);const i=await e.getInstanceAsync(re);i&&r.headers.set("authorization",`Bearer ${i}`)}})}var an={text:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},headings:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},links:{color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},buttons:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},textAlign:"center",padding:{all:null,top:null,right:null,bottom:null,left:null}},block:{backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:{all:null,top:null,right:null,bottom:null,left:null}},cards:{contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null}}},tt="ERROR",cn="useblocks",un={em_color_scheme:"em_color_scheme",em_code_mode_pane_sizes:"em_code_mode_pane_sizes",em_preview_pane_sizes:"em_preview_pane_sizes",em_default_sizes:"em_default_sizes",em_pane_sizes:"em_pane_sizes",em_test_emails:"em_test_emails",em_menu_is_locked:"em_menu_is_locked",em_code_mode_settings:"em_code_mode_settings",em_folder_is_open:"em_folder_is_open",em_active_tab:"em_active_tab",em_ai_settings:"em_ai_settings",em_last_active_page:"em_last_active_page",em_layout_convert_never_suggest:"em_layout_convert_never_suggest",em_filemanager_v2:"em_filemanager_v2",em_projects_v2:"em_projects_v2",em_translations_v2:"em_translations_v2",em_defer_chrome:"em_defer_chrome",em_stripo_import:"em_stripo_import",em_guest_locale:"em_guest_locale"},_n="light",ln="dark",dn="(prefers-color-scheme: dark)",fn={MESSAGE:"message",INIT_PREVIEW:"init_preview",UPDATE_PREVIEW:"update_preview",UPDATE_EDITOR:"update_editor",UPDATE_EDITOR_POSITION:"update_editor_position",UPDATE_SIDE_MENU_EDITOR:"update_side_menu_editor",SAVE_EMAIL:"saveEmail",SANDBOX_ELEMENT_SETTINGS_SET:"sandbox_element_settings_set",SANDBOX_IMAGE_RESET:"sandbox_image_reset",SANDBOX_NATIVE_IMAGE_DROP_CLEAR:"sandbox_native-image-drop-clear",SANDBOX_EMAIL_SETTINGS_SET:"sandbox_email_settings_set",SANDBOX_BLOCK_SETTINGS_SET:"sandbox_block_settings_set",SANDBOX_ELEMENT_PARENT_GET:"sandbox_element_parent_get",SANDBOX_ELEMENT_PARENT_TABLE_GET:"sandbox_element_parent_table_get",SANDBOX_ELEMENT_PREV_GET:"sandbox_element_prev_get",SANDBOX_ELEMENT_NEXT_GET:"sandbox_element_next_get",SANDBOX_ELEMENT_REMOVE:"sandbox_element_remove",SANDBOX_ELEMENT_ACTIVE_RESET:"sandbox_element_active_reset",SANDBOX_ELEMENT_ACTIVE_SET:"sandbox_element_active_set",SANDBOX_ELEMENT_HOVER_SET:"sandbox_element_hover_set",SANDBOX_ELEMENT_IMG_LINK:"sandbox_element_img_link",SANDBOX_ELEMENT_TEXT:"sandbox_element_text",SANDBOX_EMAIL_CONTENT_GET:"sandbox_email_content_get",SANDBOX_SET_POSITION_TO_IMG:"sandbox_set_position_to_img",SANDBOX_SET_POSITION_TO_LINK:"sandbox_set_position_to_link",SANDBOX_ACCORDION_ADD_SECTION:"sandbox_accordion_add_section",SANDBOX_ACCORDION_REMOVE_SECTION:"sandbox_accordion_remove_section",APPLICATION_FOCUS_IN_IFRAME:"application_focus_in_iframe",APPLICATION_EMAIL_SETTINGS_SET:"application_email_settings_set",APPLICATION_BLOCK_SETTINGS_SET:"application_block_settings_set",APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",_APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",APPLICATION_ELEMENT_SETTINGS_CLOSE:"application_element_settings_close",APPLICATION_ACTION:"application_action",APPLICATION_EBLOCK_ADD:"application_eblock_add",SANDBOX_EBLOCK_SET_EM_BLOCK_ID:"sandbox_eblock_set_em_block_id",SANDBOX_GLOBAL_BLOCK_REPLACE:"sandbox_global_block_replace",APPLICATION_SCROLL_TO:"application_scroll-to",APPLICATION_SCROLL_BLOCK_SHOW:"application_scroll-block-show",APPLICATION_SCROLL_BLOCK_HIDE:"application_scroll-block-hide",APPLICATION_DISCUSS_SET_ID:"application_discuss_set_id",APPLICATION_DISCUSS_GET_COMMENT:"application_discuss_get_comment",APPLICATION_DISCUSS_NO_COMMENT:"application_discuss_no_comment",APPLICATION_DISCUSS_SAVE_TARGET:"application_discuss_save_target",APPLICATION_IFRAME_SET_HEIGHT:"application_iframe_set_height",APPLICATION_COMMON_STYLES_UPDATE:"application_commonStyles_update",APPLICATION_EMAIL_CONTENT_GET:"application_email_content_get",APPLICATION_OPEN_IMAGE_AI_POPUP:"application_open-image-ai-popup",APPLICATION_OPEN_IMAGE_UPLOAD_POPUP:"application_open-image-upload-popup",APPLICATION_OPEN_IMAGE_EDIT_POPUP:"application_open-image-edit-popup",APPLICATION_OPEN_IMAGE_GIF_POPUP:"application_open-image-gif-popup",APPLICATION_OPEN_IMAGE_STOCK_POPUP:"application_open-image-stock-popup",APPLICATION_CLOSE_IMAGE_EDIT_POPUP:"application_close-image-edit-popup",APPLICATION_NATIVE_IMAGE_DROP:"application_native-image-drop",APPLICATION_SUBJECT_UPDATE:"application_subject_update",APPLICATION_PREHEADER_UPDATE:"application_preheader_update",APPLICATION_DOMPARSER_ERROR:"application_domparser_error",APPLICATION_UPDATE_ENTITY:"application_update_entity",APPLICATION_IFRAME_DRAG_EVENT:"application_iframe_drag_event",APPLICATION_HAS_AMP:"application_has_amp",APPLICATION_CANVAS_IMAGE_GET:"application_canvas_image_get",APPLICATION_PREVIEW_ALERT_SHOW:"application_preview_alert_show",APPLICATION_ATOM_INSERTED:"application_atom_inserted",APPLICATION_TEMPLATE_NOT_EM_ALERT_SHOW:"application_template_not_em_alert_show",SANDBOX_WINDOW_CHARACTERISTIC:"sandbox_window-characteristic",SANDBOX_IFRAME_SETSIZE:"sandbox_iframe-setsize",SANDBOX_BLOCK_INSERT:"sandbox_block-insert",SANDBOX_ATOM_INSERT:"sandbox_atom-insert",SANDBOX_DRAG_CANCEL:"sandbox_drag-cancel",UPDATE_EDITOR_POSITION_FROM_EDITOR:"update_position_from_editor",UPDATE_EDITOR_POSITION_FROM_IFRAME:"update_position_from_iframe",SANDBOX_CHANGE_PREVIEW:"sandbox_change_preview",APPLICATION_CHANGE_PREVIEW:"application_change_preview",SANDBOX_LOCK_EDIT:"sandbox_lock_edit",SANDBOX_FLOATBLOCK_ADD:"sandbox_floatBlock_add",SANDBOX_FLOATBLOCK_REMOVE:"sandbox_floatBlock_remove",SANDBOX_FLOATBLOCK_COPY:"sandbox_floatBlock_copy",SANDBOX_FLOATBLOCK_SWAP:"sandbox_floatBlock_swap",EDITOR_CHANGE_FOCUS:"editor_change_focus",SANDBOX_RESIZED:"sandbox_resized",SANDBOX_LOCK_DISCUSS:"sandbox_lock_discuss",SANDBOX_DISCUSS_SET_TARGET:"sandbox_discuss_set_target",SANDBOX_DISCUSS_REMOVE_TARGET:"sandbox_discuss_remove_target",SANDBOX_DISCUSS_RESET:"sandbox_discuss_reset",SANDBOX_DISCUSS_GET_TARGET:"sandbox_discuss_get_target",SANDBOX_READY:"SANDBOX_READY",SANDBOX_FLOATBLOCK_WRAP:"sandbox_floatblock_wrap",SANDBOX_FLOATBLOCK_DIR:"sandbox_floatblock_dir",SANDBOX_SUBJECT_UPDATE:"sandbox_subject_update",SANDBOX_PREHEADER_UPDATE:"sandbox_preheader_update",SANDBOX_DRAG_EVENT:"sandbox_drag_event",SANDBOX_WHEEL:"sandbox_wheel",SANDBOX_ADD_MERGETAG:"sandbox_add_mergetag",SANDBOX_TRANSLATIONS:"sandbox_send_translations",SANDBOX_SET_THEME_VARIABLES:"sandbox_send_theme_variables",SANDBOX_SET_PROJECT_FONTS:"sandbox_set_project_fonts",SANDBOX_CANVAS_IMAGE_CACHE_SETUP:"sandbox_canvas_image_cache_setup",SANDBOX_SET_ENTITY:"sandbox_set_entity",SANDBOX_INIT_START:"sandbox_init_start",SANDBOX_INITED:"sandbox_inited",SANDBOX_UPDATE_ENTITY:"sandbox_update_entity",RELOAD:"reload",SANDBOX_ADD_EXTENSIONS:"sandbox_add_extensions",SANDBOX_REMOVE_EXTENSIONS:"sandbox_remove_extensions",SANDBOX_ADD_SCRIPT:"sandbox_add_script",SANDBOX_IS_EMAIL_EMPTY:"sandbox_is_email_empty",SANDBOX_SWITCH_THEME:"sandbox_switch_theme"},rt=e=>{const t={current:Promise.resolve(),state:e,decorate:(r,n)=>(n&&(r=r.bind(n)),function(...i){const o=t.current.then(()=>r(...i));return t.current=o.then(s=>{t.state=s},s=>{}),o})};return t};function ne(e){return function(t){return{setOptions:()=>{},instance:{},dispose:()=>{},...e(t)||{}}}}function En(e){return t=>{const r={},n=[];for(const s of e)n.push(s(t));for(const s of n)Object.assign(r,s.instance);return{instance:r,setOptions:async s=>{for(const a of n)await a.setOptions(s)},dispose:()=>{for(const s of n)s.dispose()}}}}function pn(e=tt){const t=new Error(e);return t.name="AuthPipelineError",t}async function hn(e,t,r,n){const i=n?.attemptTimeout??N(r),o=N(r)?Fe(r):v(r).length>0?[k(r)]:[];if(o.length===0)throw new Error("[apiOriginFailover] no API base URL configured");const s=e.startsWith("/")?e:`/${e}`;let a,c;for(let _=0;_<o.length;_++){const l=o[_],E=_===o.length-1,h=i?Ue(t.signal):void 0;try{const p=await fetch(`${l}${s}`,{...t,...h?{signal:h.signal}:{}});if(!p.ok&&Ge(p.status)){if(a=p,!E){U(l,r);continue}break}return p.ok&&Ve(l,r),p}catch(p){const I=h?.timeoutError();if(!I&&!He(p))throw p;c=I||p,E||U(l,r)}finally{h?.done()}}if(N(r)&&$e(),a)return a;throw c instanceof Error?c:new Error("[apiOriginFailover] fetch chain failed")}function nt(e){e.inject(C,void 0),e.inject(z,void 0)}var On=ne(e=>{let t,r;const n=rt();return e.addService(x,{execute:n.decorate(async(i,o)=>{if(o?.public||!t)return;const s=String(e.getInstance(z)||"").trim();if(s){i.headers.append("authorization",`Bearer ${s}`);return}if(!e.getInstance(C))try{const a=e.getInstance(qe),c=String(a?.getOptions()?.baseUrl||"").trim(),_=ke(r||c||void 0);if(!_)throw new Error("JWT auth requires baseUrl");const l=await hn("/jwt-auth/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},_);if(!l.ok)throw new Error(`JWT auth failed: ${l.status}`);const E=await l.json(),h=String(E.token||"").trim();if(!h)throw new Error("JWT auth failed: empty token");e.inject(C,void 0),e.inject(z,h),i.headers.append("authorization",`Bearer ${h}`)}catch{throw e.inject(C,tt),pn()}})}),{setOptions(i){const o=i.jwtAuth,s=String(i.baseUrl||"").trim()||void 0,a=!w(o,t),c=s!==r;if(t=o,r=s,!o){nt(e);return}a||c?nt(e):e.inject(C,void 0)}}}),An=ne(e=>(et(e),{setOptions(t){Ze(e,t)}}));function In(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/([^a-zA-Z0-9_-])/g,"\\$1")}function ie(e,t=document){try{const n=t.querySelector(e);if(n)return n}catch{return null}const r=t.querySelectorAll("*");for(let n=0;n<r.length;n++){const i=r[n]?.shadowRoot;if(!i)continue;const o=ie(e,i);if(o)return o}return null}function it(e,t=[]){const r=e.querySelectorAll("*");for(let n=0;n<r.length;n++){const i=r[n]?.shadowRoot;i&&(t.push(i),it(i,t))}return t}function gn(e,t,r){if(e.isConnected)return e;const n=e.id?.trim();return n?ot(`#${In(n)}`,t,r):Promise.reject(S("Editor mount element was disconnected and has no id — pass a CSS selector or call init() again after the host remounts the container."))}function ot(e,t,r){if(q(r),typeof e<"u"){if(typeof e=="string"){const n=e,i=ie(n);if(i)return i;const o=t.addDisposable(new g);return new Promise((s,a)=>{const c=O=>{o.dispose(),O()},_=()=>{c(()=>a(S(r?.reason)))};if(r?.aborted){_();return}r?.addEventListener("abort",_),o.addDispose(()=>r?.removeEventListener("abort",_));const l=document.body??document.documentElement;if(!l){c(()=>a(S("Document is not ready to observe mount element")));return}const E=new Set,h=new MutationObserver(()=>{const O=ie(n);if(O){c(()=>s(O));return}I()}),p=O=>{E.has(O)||(E.add(O),h.observe(O,{attributes:!0,childList:!0,subtree:!0}))},I=()=>{const O=document.documentElement;if(O)for(const G of it(O))p(G)};p(l),I(),o.addDispose(()=>h.disconnect())})}return e instanceof Element?gn(e,t,r):e}return e}var mn=new Map;Object.defineProperty(u,"ADVANCED_SETTINGS_PANEL",{enumerable:!0,get:function(){return cr}}),Object.defineProperty(u,"APP_ID",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(u,"APP_LOAD_EVENT_ID",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(u,"ATOMS_HANDLERS_ID",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(u,"AsyncEmitter",{enumerable:!0,get:function(){return B}}),Object.defineProperty(u,"BaseEmitter",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"COMMON_STYLES",{enumerable:!0,get:function(){return an}}),Object.defineProperty(u,"CONFIG_CHANGED_EVENT_ID",{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(u,"CONFIG_SOURCE_ID",{enumerable:!0,get:function(){return de}}),Object.defineProperty(u,"COOKIE_MANAGER_ID",{enumerable:!0,get:function(){return dr}}),Object.defineProperty(u,"CUSTOM_FETCH_ID",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"ContentType",{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(u,"DARK",{enumerable:!0,get:function(){return ln}}),Object.defineProperty(u,"DISPOSABLE_ID",{enumerable:!0,get:function(){return Lt}}),Object.defineProperty(u,"DependencyResolver",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"Disposable",{enumerable:!0,get:function(){return g}}),Object.defineProperty(u,"ELEMENT_MAP",{enumerable:!0,get:function(){return mn}}),Object.defineProperty(u,"EVENT_TYPES",{enumerable:!0,get:function(){return fn}}),Object.defineProperty(u,"Emitter",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(u,"HANDLE_ATOM_INSERT_ID",{enumerable:!0,get:function(){return nr}}),Object.defineProperty(u,"INIT_PIPELINE_ID",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(u,"INSTANCE_ID",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(u,"JWTMixin",{enumerable:!0,get:function(){return On}}),Object.defineProperty(u,"LATE_SURFACE_LISTENERS_ID",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(u,"LIGHT",{enumerable:!0,get:function(){return _n}}),Object.defineProperty(u,"LOCAL_STORAGE_ITEMS",{enumerable:!0,get:function(){return un}}),Object.defineProperty(u,"MESSAGE_SERVICE_ID",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(u,"MODAL_CLOSE_EVENT",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(u,"MODAL_SHOW_EVENT",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(u,"MODAL_UPDATE_EVENT",{enumerable:!0,get:function(){return lr}}),Object.defineProperty(u,"MessageService",{enumerable:!0,get:function(){return tr}}),Object.defineProperty(u,"OAuthMixin",{enumerable:!0,get:function(){return An}}),Object.defineProperty(u,"OPTIONS_SOURCE_ID",{enumerable:!0,get:function(){return le}}),Object.defineProperty(u,"PLUGIN_COLLECTION_ID",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(u,"PORT_READY",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(u,"PREFERS_COLOR_SCHEME_DARK",{enumerable:!0,get:function(){return dn}}),Object.defineProperty(u,"PUBLIC_REQUEST",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"REQUEST_HANDLER_ID",{enumerable:!0,get:function(){return x}}),Object.defineProperty(u,"REST_CLIENT_FACTORY_ID",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(u,"REST_TRANSPORT_ID",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"SANDBOX_EXTENSIONS_ID",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(u,"SANDBOX_EXTENSION_SCRIPT_STATUS_ID",{enumerable:!0,get:function(){return or}}),Object.defineProperty(u,"SECURITY_MODULE_ID",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(u,"SETTINGS_PANEL_EVENT",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(u,"STANDALONE_ACTIVATED_ID",{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(u,"STANDALONE_BOOTSTRAP_TOKEN_ID",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"STANDALONE_FILE_PROXY_REGISTERED_ID",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(u,"STANDALONE_PROJECT_ID",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(u,"STORE_ID",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(u,"Signal",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(u,"TEMPLATE_DIRECTIVES_ID",{enumerable:!0,get:function(){return fr}}),Object.defineProperty(u,"USEBLOCKS",{enumerable:!0,get:function(){return cn}}),Object.defineProperty(u,"combineMixins",{enumerable:!0,get:function(){return En}}),Object.defineProperty(u,"composeAbortSignals",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(u,"createAbortError",{enumerable:!0,get:function(){return S}}),Object.defineProperty(u,"createIdentifier",{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(u,"createIdentifier$1",{enumerable:!0,get:function(){return f}}),Object.defineProperty(u,"createQueue",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(u,"createTransport",{enumerable:!0,get:function(){return We}}),Object.defineProperty(u,"debounce",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(u,"decodeJwt",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(u,"deepEqual",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"defineMixin",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"events",{enumerable:!0,get:function(){return K}}),Object.defineProperty(u,"filter",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(u,"generateUUID",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(u,"getActiveBaseUrl",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"getApi",{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(u,"getEmitter",{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(u,"getEmitter$1",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(u,"getEvent",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(u,"getServiceContainerId",{enumerable:!0,get:function(){return M}}),Object.defineProperty(u,"mapHttpStatusToErrorCode",{enumerable:!0,get:function(){return It}}),Object.defineProperty(u,"mergeBackendProxyLayers",{enumerable:!0,get:function(){return gr}}),Object.defineProperty(u,"mergeResourceProxyLayers",{enumerable:!0,get:function(){return Ir}}),Object.defineProperty(u,"mergeResourceProxyPolicyLayers",{enumerable:!0,get:function(){return br}}),Object.defineProperty(u,"mergeShallowConfigLayers",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(u,"provideOAuth",{enumerable:!0,get:function(){return et}}),Object.defineProperty(u,"raceWithAbortSignal",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(u,"registerRestTransport",{enumerable:!0,get:function(){return tn}}),Object.defineProperty(u,"releaseContainer",{enumerable:!0,get:function(){return hr}}),Object.defineProperty(u,"resolveContainer",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(u,"resolveExplicitApiBaseUrl",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(u,"setApiOriginFailoverHook",{enumerable:!0,get:function(){return Jr}}),Object.defineProperty(u,"snapshot",{enumerable:!0,get:function(){return St}}),Object.defineProperty(u,"throwIfAborted",{enumerable:!0,get:function(){return q}}),Object.defineProperty(u,"waitForElement",{enumerable:!0,get:function(){return ot}})});
2076
2076
 
2077
2077
 
2078
- __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/d84cba13.js"],function(mi,K,Kp){Object.defineProperties(K,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var gn=Object.defineProperty,En=(e,t)=>{let n={};for(var r in e)gn(n,r,{get:e[r],enumerable:!0});return t||gn(n,Symbol.toStringTag,{value:"Module"}),n};const a=mi("./static/umd/d84cba13.js");var hi=new Function("url","return import(url)");function gi(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function Ei(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function vi(e){return e.type==="umd"||e.resolve==="registry"}function Wp(e){return e}var bi=class{_context;_pluginRegistry;_options;_map=new Map;_optionsMap=new Map;_readyMap=new Map;_resolveMap=new Map;_initializingPlugins=new Map;_creatingPlugins=new Set;_initializedPlugins=new Set;_creationOrder=[];_lifecycleListeners=new Set;_activated=!1;constructor(e,t,n={}){this._context=e,this._pluginRegistry=t,this._options=n}activate(){return this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}activateSync(){this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}onLifecycle(e){return this._lifecycleListeners.add(e),{dispose:()=>this._lifecycleListeners.delete(e)}}_emitLifecycle(e){for(const t of Array.from(this._lifecycleListeners))try{t(e)}catch{}}async _resolveEntry(e){if(typeof e=="string"||typeof e=="symbol"){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);return{ctor:t}}if(typeof e=="function")return e.length===0?{ctor:await e()}:{ctor:e};if(Array.isArray(e)){const[t,n]=e;if(typeof t=="function")return{ctor:t,options:n};const r=await this._pluginRegistry.getAsync(t);if(!r)throw new Error(`Plugin "${String(t)}" not registered.`);return{ctor:r,options:n}}if(Ei(e))return this._resolveDescriptor(e);throw new Error(`Unknown plugin entry format: ${JSON.stringify(e)}`)}async _resolveDescriptor(e){const t=e.resolve??(e.type==="umd"?"window":"module");if(vi(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await hi(e.url);if(t==="module")return{ctor:n.default??n};if(t==="registry"&&e.name){const r=await this._pluginRegistry.getAsync(e.name);if(!r)throw new Error(`Plugin "${e.name}" not found in registry after ESM load`);return{ctor:r}}}if(e.type==="umd"){if(await this._loadScript(e.url),t==="window"&&e.name){const n=globalThis[e.name];if(!n)throw new Error(`Plugin "${e.name}" not found on window after script load`);return{ctor:n}}if(t==="registry"&&e.name){const n=await this._pluginRegistry.getAsync(e.name);if(!n)throw new Error(`Plugin "${e.name}" not found in registry after script load`);return{ctor:n}}}throw new Error(`Cannot resolve descriptor: type=${e.type}, resolve=${t}, name=${e.name??"none"}`)}_loadScript(e){return new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Cannot load UMD script in non-browser environment"));return}const r=document.createElement("script");r.src=e,r.onload=()=>t(),r.onerror=()=>n(new Error(`Failed to load script: ${e}`)),document.head.appendChild(r)})}initSync(e){const t=[];for(const n of e){const r=this._getOrCreate(n,void 0);t.push(r)}this._activated=!0,this._startPluginsBatch(t)}async init(e){const t=[],n=new Set;for(const r of e){const{ctor:s,options:i}=await this._resolveEntry(r),o=this._getOrCreate(s,i);n.has(o)||(n.add(o),t.push(o))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const o of e){const c=await this._resolveEntry(o);t.add(c.ctor),n.push(c)}const r=[];this._map.forEach((o,c)=>{t.has(c)||r.push({key:c,plugin:o})});for(let o=r.length-1;o>=0;o--){const{key:c,plugin:l}=r[o];await this._initializingPlugins.get(l),await this._disposePlugin(l,l.constructor.name),this._map.delete(c),this._optionsMap.delete(c),this._readyMap.delete(l),this._resolveMap.delete(l),this._initializingPlugins.delete(l),this._initializedPlugins.delete(l);const u=this._creationOrder.indexOf(l);u>=0&&this._creationOrder.splice(u,1)}const s=[],i=new Set;for(const{ctor:o,options:c}of n){const l=this._getOrCreate(o,c);i.has(l)||(i.add(l),s.push(l))}this._activated&&await this._startPluginsBatch(s)}isReady(e){return this._initializedPlugins.has(e)}ready(e){return this._initializingPlugins.get(e)??this._readyMap.get(e)??Promise.resolve()}async waitFor(e,t){if(this._pluginRegistry.has(e))return this.useByKeyAsync(e);const{timeout:n}=t??{};return await new Promise((r,s)=>{let i,o=!1;const c=()=>{o||(o=!0,i&&clearTimeout(i),this._pluginRegistry.off(e,c),r())};this._pluginRegistry.on(e,c),n!==void 0&&n>0&&(i=setTimeout(()=>{o||(o=!0,this._pluginRegistry.off(e,c),s(new Error(`waitFor("${String(e)}") timed out after ${n}ms`)))},n))}),this.useByKeyAsync(e)}useByKey(e){const t=this._pluginRegistry.get(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered or not loaded yet. Use useByKeyAsync() for async plugins.`);const n=this._getOrCreate(t);return this._activated&&this._startPluginsBatch([n]),n}async useByKeyAsync(e){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);const n=this._getOrCreate(t);return this._activated&&await this._startPluginsBatch([n]),n}useByCtor(e,t){const n=this._getOrCreate(e,t);return this._activated&&this._startPluginsBatch([n]),n}use(e){return typeof e=="function"?this.useByCtor(e):this.useByKey(e)}async useAsync(e){const{ctor:t,options:n}=await this._resolveEntry(e),r=this._getOrCreate(t,n);return this._activated&&await this._startPluginsBatch([r]),r}_getOrCreate(e,t){const n=e;if(!this._map.has(n)){t!==void 0&&this._optionsMap.set(n,t);const r=this._optionsMap.get(n),s=this._createPluginInstance(e,r),i=s.constructor.name;this._emitLifecycle({type:"created",plugin:s,name:i}),s.required?.(),this._map.set(n,s),this._creationOrder.push(s),this._setupReadyPromise(s)}return this._map.get(n)}_createPluginInstance(e,t){const n=e;if(this._creatingPlugins.has(n))throw new Error(`Cyclic dependency for plugin ${e.name}`);this._creatingPlugins.add(n);try{return gi(e)?new e(this._context,t):e(this._context,t)||{}}finally{this._creatingPlugins.delete(n)}}_setupReadyPromise(e){const t=new Promise(n=>{this._resolveMap.set(e,n)});this._readyMap.set(e,t)}async _startPluginsBatch(e){const t=Array.from(new Set(e)),n=new Set,r=[];for(const s of t){if(this._initializedPlugins.has(s))continue;const i=this._initializingPlugins.get(s);if(i){n.add(i);continue}r.push(s)}if(r.length>0){const s=this._runBatchLifecycle(r);for(const i of r)this._initializingPlugins.set(i,s);n.add(s),s.finally(()=>{for(const i of r)this._initializingPlugins.get(i)===s&&this._initializingPlugins.delete(i)})}await Promise.all(n)}async _runBatchLifecycle(e){const t=[];for(const n of e){const r=n.constructor.name;this._emitLifecycle({type:"init:start",plugin:n,name:r});try{await n.init?.(),this._emitLifecycle({type:"init:success",plugin:n,name:r}),t.push(n)}catch(s){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:s})}}for(const n of t){const r=n.constructor.name;this._emitLifecycle({type:"afterInit:start",plugin:n,name:r});try{await n.afterInit?.(),this._emitLifecycle({type:"afterInit:success",plugin:n,name:r})}catch(s){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:s})}}for(const n of e)this._initializedPlugins.add(n),this._resolveMap.get(n)?.(),this._resolveMap.delete(n)}async _disposePlugin(e,t){this._emitLifecycle({type:"dispose:start",plugin:e,name:t});try{await e.dispose?.(),this._emitLifecycle({type:"dispose:success",plugin:e,name:t})}catch(n){this._emitLifecycle({type:"dispose:error",plugin:e,name:t,error:n})}}async dispose(){for(let e=this._creationOrder.length-1;e>=0;e--){const t=this._creationOrder[e];await this._initializingPlugins.get(t),await this._disposePlugin(t,t.constructor.name)}this._map.clear(),this._optionsMap.clear(),this._readyMap.clear(),this._resolveMap.clear(),this._initializingPlugins.clear(),this._initializedPlugins.clear(),this._creationOrder.length=0,this._lifecycleListeners.clear()}getStatus(){return Array.from(this._map.values()).map(e=>({name:e.constructor.name,initialized:this._initializedPlugins.has(e)}))}},_i=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){const n=this._plugins.get(e);if(n?.overrides)for(const r of n.overrides)t=r(t)||t;return t}_notifyListeners(e,t){const n=this._listeners.get(e);if(!n||n.length===0)return;for(const s of n)try{s.callback(t)}catch{}const r=n.filter(s=>!s.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){const n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){const n=Promise.resolve(t.factory()).then(s=>(t.ctor=s,t.loading=void 0,this._notifyListeners(e,s),s));t.loading=n;const r=await n;return this._applyOverrides(e,r)}return new Promise(n=>{this.on(e,r=>n(this._applyOverrides(e,r)))})}add(e,t){const n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(const t of Object.keys(e)){const n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){const n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){const t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){const n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{const r=n.overrides.indexOf(t);r>=0&&n.overrides.splice(r,1)}}}on(e,t){const n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const s={callback:t,once:!1};return r.push(s),{dispose:()=>this._removeListener(e,t)}}once(e,t){const n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const s={callback:t,once:!0};return r.push(s),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){const n=this._listeners.get(e);if(n){const r=n.findIndex(s=>s.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){const e=this;return{add(t,n){e.add(t,n)}}}},yi=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}},vn=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function Si(e,t){return t+e}function wi(){return typeof performance>"u"?Date.now():Si(performance.now(),performance.timeOrigin)}var Ii="emailmaker:diagnostics",Ti="diagnostics",Ai="diagnostics";function bn(e,t){return t?`${e}${e.includes("?")?"&":"?"}${Ai}=1`:e}var nt;function Ci(){try{const e=new URLSearchParams(window.location.search).get(Ti);return e===null?void 0:e!=="0"}catch{return}}function Pi(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function Di(){try{const e=window.localStorage.getItem(Ii);return e===null?void 0:e==="1"}catch{return}}function _e(){return nt===void 0&&(nt=typeof window>"u"?!1:Ci()??Pi()??Di()??!1),nt}function Ri(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var z={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},Xp=Object.values(z),Jp=[z.canvasPainted,z.canvasSettled,z.appVisible,z.editorVisible],Oi=5e3,Li=3e3,_n="diagnosticsStore",Me,ye;function yn(){return{marks:new vn(Oi),resources:new vn(Li)}}function Sn(){if(ye)return ye;const e=rt();return e?(ye=e[_n]??Me??yn(),e[_n]=ye,Me=void 0,ye):(Me??=yn(),Me)}function U(e,t){_e()&&Sn().marks.push({phase:e,at:wi(),...t})}function rt(){if(typeof __emailmaker__<"u"&&__emailmaker__)return __emailmaker__;if(typeof window>"u")return;const e=window[Ri()];return e!==null&&typeof e=="object"?e:void 0}function Ni(e){const t=e.length,n=Sn();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function Mi(){const e=rt();return!e||!Array.isArray(e.diagnosticsBuffer)?0:Ni(e.diagnosticsBuffer)}var xi="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function st(){const e=new Error(xi);return e.name="DestroyedInstanceError",e}function it(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){const i=e,o=t;return i.length===o.length&&i.every((c,l)=>it(c,o[l]))}const r=Object.keys(e),s=Object.keys(t);return r.length!==s.length?!1:r.every(i=>Object.prototype.hasOwnProperty.call(t,i)&&it(e[i],t[i]))}function wn(e,t){const n={watch(r){let s,i=!1;return e.watch(o=>{const c=t(o);i&&it(s,c)||(s=c,i=!0,r(c))})},select(r){return wn(n,r)}};return n}function pe(...e){let t=e[0],n=e.length>0;const r=new Set,s={get(){return n?t:void 0},set(i){t=i,n=!0;for(const o of Array.from(r))o(i)},watch(i){return r.add(i),n&&i(t),{dispose:()=>r.delete(i)}},select(i){return wn(s,i)}};return s}var In=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:a.ContentType.UrlEncoded,...t})},Tn=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},n={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...n});get_translations3=({id:e,file:t,...n},r={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...r})};function ki(e){return String(e||"").trim()||void 0}var Fi=class extends a.Disposable{deps;_app;_baseUrl;_appInit;_restBaseUrl;_prevApp;constructor(e){super(),this.deps=e,this.addDisposable(e.options.select(t=>this._slice(t)).watch(t=>this._start(t)))}get app(){return this._app}_slice(e){return Object.prototype.hasOwnProperty.call(e,"baseUrl")&&(this._baseUrl=ki(e.baseUrl)),Object.prototype.hasOwnProperty.call(e,"appInit")&&(this._appInit=e.appInit),{appInit:this._appInit,user:e.user,project:e.project,baseUrl:this._baseUrl,restBaseUrl:this.deps.resolveRestBaseUrl(this._baseUrl),standalone:this.deps.isStandalone()}}_start(e){if(this._restBaseUrl!==e.restBaseUrl&&(this._restBaseUrl=e.restBaseUrl,this.deps.setRestBaseUrl(e.restBaseUrl)),e.standalone)return;const t=e.appInit||this.deps.fallbackAppInit,n=Promise.resolve(t({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:this._prevApp}));this._app=n,n.then(r=>{this._app===n&&(this._prevApp=r)},()=>{}),this.deps.publish(n)}},ot=a.createIdentifier$1("AppInitService");function Bi(e){return async()=>{const t=await e();return(await new In(t).app_init_create({})).data}}function ji(e){e.injectFactory(ot,()=>{const t=new Fi({options:e.getInstance(a.OPTIONS_SOURCE_ID),isStandalone:()=>!!e.getInstance(a.SECURITY_MODULE_ID),resolveRestBaseUrl:n=>n?a.getActiveBaseUrl(n):a.getActiveBaseUrl()||void 0,setRestBaseUrl:n=>{e.getInstance(a.REST_CLIENT_FACTORY_ID)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:Bi(()=>e.getInstanceAsync(a.REST_TRANSPORT_ID)),publish:n=>{e.inject(a.APP_ID,n)}});return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t},!0)}var at=a.createIdentifier$1("documentSession.emailDocuments");function lt(e){return e?.getInstance(at)}var Ui=a.createIdentifier$1("RevisionServiceFlag");function Hi(e){return e.getOrCreateInstance(Ui,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function An(e){return Hi(e).isEnabled()}var $i=a.createIdentifier$1("EmailRightsResolver");function Gi(e,t){const n=e.getInstance($i);return n?n(t):!0}var Cn=a.createIdentifier$1("EmailHistoryAvailabilityResolver");function Vi(e){return e.getInstance(Cn)!==void 0}async function Yi(e){const t=e.getInstance(Cn);if(!t)return!0;try{return await t()}catch{return!1}}var ct={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},Pn=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],Dn=2e4,qi=Pn.reduce((e,t)=>e+ct[t],0),Rn=Dn+qi+3e3;function zi(e){return Pn.reduce((t,n)=>t+On(n,e),0)}function On(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:ct[e]}function Ln(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:Rn}function Nn(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:Dn}function Mn(e=Rn){return e+3e3}var Qp="[show-pipeline]";function Zp(e,t){}var Ki=()=>Mn();function Wi(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Xi(e){return t=>Wi(e.getOrCreateInstance(a.events.BEFORE_SAVE_EMAIL,()=>new a.AsyncEmitter).fire(t),Ki())}function Ji(e){return e!=null&&e!==""}var Qi;function xe(e,t){return Qi?.capture(e,t)}function Zi(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function ke(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var J=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${ke(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${ke(this.oldText)}")`:`(replace@${this.oldPosition} "${ke(this.oldText)}" with "${ke(this.newText)}")`}};function xn(e,t){return e===null||e.length===0?t:new eo(e,t).compress()}var eo=class te{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,n){this._prevEdits=t,this._currEdits=n,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,n=0,r=this._getPrev(t),s=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(s===null)break;this._acceptCurr(s),s=this._getCurr(++n);continue}if(s===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldEnd<=r.newPosition){this._acceptCurr(s),s=this._getCurr(++n);continue}if(r.newEnd<=s.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldPosition<r.newPosition){const[l,u]=te._splitCurr(s,r.newPosition-s.oldPosition);this._acceptCurr(l),s=u;continue}if(r.newPosition<s.oldPosition){const[l,u]=te._splitPrev(r,s.oldPosition-r.newPosition);this._acceptPrev(l),r=u;continue}let o,c;if(s.oldEnd===r.newEnd)o=r,c=s,r=this._getPrev(++t),s=this._getCurr(++n);else if(s.oldEnd<r.newEnd){const[l,u]=te._splitPrev(r,s.oldLength);o=l,c=s,r=u,s=this._getCurr(++n)}else{const[l,u]=te._splitCurr(s,r.newLength);o=r,c=l,r=this._getPrev(++t),s=u}this._result[this._resultLen++]=new J(o.oldPosition,o.oldText,c.newPosition,c.newText),this._prevDeltaOffset+=o.newLength-o.oldLength,this._currDeltaOffset+=c.newLength-c.oldLength}const i=te._merge(this._result);return te._removeNoOps(i)}_acceptCurr(t){this._result[this._resultLen++]=te._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=te._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,n){return new J(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new J(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),s=t.newText.substr(n);return[new J(t.oldPosition,t.oldText,t.newPosition,r),new J(t.oldEnd,"",t.newPosition+n,s)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),s=t.oldText.substr(n);return[new J(t.oldPosition,r,t.newPosition,t.newText),new J(t.oldPosition+n,s,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,s=t[0];for(let i=1;i<t.length;i++){const o=t[i];s.oldEnd===o.oldPosition?s=new J(s.oldPosition,s.oldText+o.oldText,s.newPosition,s.newText+o.newText):(n[r++]=s,s=o)}return n[r++]=s,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let s=0;s<t.length;s++){const i=t[s];i.oldText!==i.newText&&(n[r++]=i)}return n}};function to(e){return new J(e.newPosition,e.newText,e.oldPosition,e.oldText)}function no(e){return e.map(to)}function kn(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function ro(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const s=t[r];n=n.slice(0,s.oldPosition)+s.newText+n.slice(s.oldEnd)}return n}function so(e,t,n){let r=0;const s=e.start===e.end;for(const i of t){const o=i.newLength-i.oldLength;if(i.oldLength===0){const c=i.oldPosition;if(s&&c===e.start)r+=n==="after"?o:0;else{if(e.start<c&&c<e.end)return null;c<=e.start&&(r+=o)}continue}if(s){if(e.start>=i.oldEnd)r+=o;else if(e.start>i.oldPosition)return null;continue}if(e.start>=i.oldEnd)r+=o;else if(e.end>i.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var Fe=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},Fn=0,io=Math.random().toString(36).slice(2,8);function oo(){return Fn+=1,`doc-${io}-${Fn}`}function ao(e){const t=e.createBuffer(),n=e.docId??oo();let r=e.serverId??null,s=0,i=null,o=e.attributes??{};const c=new Set;let l=!1,u=!1,d;const p=new Set;let m=null;const v=()=>(m?.version!==s&&(m={version:s,value:t.read()}),m.value),y=E=>Object.entries(E).some(([g,b])=>o[g]!==b);return{get:()=>({docId:n,serverId:r,version:s,savedVersion:i,attributes:o}),getContent:v,mutate(E,{source:g}){if(l)return s;const b=E.changes?.length?E.changes:void 0,_=b?ro(v(),b):E.content!==void 0?E.content:void 0,w=_!==void 0&&_!==v(),P=E.attributes!==void 0&&y(E.attributes);if(!w&&!P)return s;const D=!(s>(i??-1));return w&&t.write(_),P&&(o={...o,...E.attributes}),s+=1,g!=="user"&&D&&(i=s),c.forEach(h=>h({source:g,version:s,changes:b})),s},markSaved(E,g){const b={serverId:r,savedVersion:i};g!==void 0&&(r=g),(i===null||E>i)&&(i=E),(b.serverId!==r||b.savedVersion!==i)&&c.forEach(_=>_({source:"system",version:s}))},markReady(){u||d!==void 0||(u=!0,p.forEach(E=>E.resolve()),p.clear(),c.forEach(E=>E({source:"system",version:s})))},isReady:()=>u,markFailed(E){u||d!==void 0||l||(d=E,p.forEach(g=>g.reject(new Fe(E))),p.clear(),c.forEach(g=>g({source:"system",version:s})))},failure:()=>d,whenReady(){return u?Promise.resolve():d!==void 0?Promise.reject(new Fe(d)):l?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((E,g)=>{p.add({resolve:E,reject:g})})},subscribe(E){return c.add(E),()=>c.delete(E)},isNew:()=>r===null,isDirty:()=>s>(i??-1),isDisposed:()=>l,dispose(){l=!0,p.forEach(E=>E.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),p.clear(),c.clear(),t.dispose()}}}var lo=500,co=100,dt=0;function uo(e,t={}){const n=t.groupIntervalMs??lo,r=t.maxSteps??co,s=t.now??(()=>0);let i=[],o=0,c=dt+=1,l=null,u=!1,d=!1,p=!1;const m=new Set,v=()=>m.forEach(h=>h()),y=(h,I)=>{if(h.length){d=!0;try{e.mutate({changes:h},{source:I})}finally{d=!1}}},E=h=>y(h,"user"),g=h=>{const I=s();u&&l!==null&&I-l<n?i[o-1]=xn(i[o-1],h):(i=i.slice(0,o),i.push(h),o=i.length,u=!0,i.length>r&&(i=i.slice(i.length-r),o=i.length,c=dt+=1)),l=I,v()},b=()=>{u=!1,l=null},_=h=>{if(!h.length)return;const I=i.length>o;I&&(i=i.slice(0,o)),o>0&&(i[o-1]=xn(i[o-1],h)),b(),I&&v()},w=e.subscribe(({source:h,changes:I})=>{if(!(p||d||!I?.length)){if(h==="remote"){P();return}if(h!=="user"){_(I);return}g(I)}}),P=()=>{i=[],o=0,b(),c=dt+=1,v()},D=()=>{if(o===0)return!1;const h=no(i[o-1]);return kn(e.getContent(),h)?(E(h),o-=1,b(),!0):(i=i.slice(0,o-1),o=i.length,b(),v(),!1)};return{canUndo:()=>o>0,canRedo:()=>o<i.length,undo(){D()&&v()},redo(){if(!(o>=i.length)){if(!kn(e.getContent(),i[o])){i=i.slice(0,o),b(),v();return}E(i[o]),o+=1,b(),v()}},clear:P,applyWithoutHistory(h){const I=e.get().version;if(y(h,"system"),e.get().version===I){b();return}_(h)},getPast:h=>i.slice(0,o).reverse().slice(0,h),getFuture:h=>i.slice(o).reverse().slice(0,h),createSnapshot:()=>({stackId:c,index:o}),restoreSnapshot(h){if(h.stackId!==c||h.index>o)return!1;for(;o>h.index;)if(!D())return v(),!1;return v(),!0},subscribe(h){return m.add(h),()=>m.delete(h)},dispose(){p=!0,w(),m.clear(),i=[],o=0}}}var fo=["edit","move","resize","insert"];function ut(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function po(e){return typeof e=="string"?e:null}function mo(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function ho(e){return fo.includes(e)?e:null}function go(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:po(t.originId),changeId:ut(t.changeId),rev:ut(t.rev),baseRev:ut(t.baseRev),expected:mo(t.expected),intent:ho(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var Bn=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},jn="draft";function Se(e){return e==null||e===""?jn:String(e)}function Eo(e){return e==null||e===""?`${ft}${jn}`:`${ft}${String(e)}`}var ft="block:";function ne(e){return e?.startsWith(ft)===!0}function we(e){return ne(e.sessionKey())?void 0:e.current()}function em(e,t){}function Ie(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return U(`show:gate:${e}`,{kind:"wait"}),t.then(s=>(U(`show:gate:${e}:end`,{kind:"wait"}),s),s=>{const i=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw`${e}`,{error:String(s),...n},s})}var tm=5e3;function Un(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function Hn(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function vo(e,t={}){const n=Un((e??[]).filter(r=>r?.html?.trim()));return Hn(n,t)?n:null}function bo(e){const t=Date.parse(Un(e)?.modified??"");return{autosave:vo(e),...Number.isFinite(t)?{latestAt:t}:{}}}function _o({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var $n=e=>e.replace(/\r\n?/g,`
2079
- `),Gn=["recovery","plugin","rest"],yo=["subject","preheader"];function So(e){let t={},n;for(let s=Gn.length-1;s>=0;s--){const i=e.get(Gn[s]);i&&(i.attributes&&(t={...t,...i.attributes}),i.content!==void 0&&(n=i.content))}const r=e.get("plugin")?.attributes;for(const s of yo){const i=r?.[s];typeof i=="string"&&i!==""&&(t={...t,[s]:i})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Vn(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?$n(t.content):void 0,s=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...s?{changes:[new J(0,n,0,r)]}:{}},{source:"remote"})}var Yn=e=>typeof e=="string"?e.trim():"";function wo(e,t,n){const{version:r,attributes:s}=e.get(),i=s,o=Yn(i.title)||Yn(i.subject);return{version:r,payload:{html:e.getContent(),title:o,subject:i.subject,preheader:i.preheader,description:i.description,common_styles:i.common_styles||"",meta:i.meta,utm_parameters:i.utm_parameters,parent_email:i.parent_email,is_template:i.is_template||!1,is_inited:i.is_inited,tags:i.tags,emailtags:i.emailtags,group:i.group,renderGuid:e.get().docId,project:t.project??i.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function Io(e,t,n,r,s){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(s);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,s):t.saveAutosave(r,s)}function re(e,t=!1){const n={};for(const r of Object.keys(e)){let s=e[r];s!==void 0&&!(typeof s=="number"&&Number.isNaN(s))&&(t&&typeof s=="object"&&s!==null&&(s=re(s)),n[r]=s)}return n}var To=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function qn(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!To.has(t))):{}}function Be(e,t,n={}){e&&e.mutate({attributes:Ao(e.get().attributes,t)},{source:n.source??"user"})}function Ao(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function pt(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function Co(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function zn(e){if(!e)return null;const t=qn(e);return e.common_styles!==void 0&&(t.common_styles=Co(e.common_styles)),pt(e.html,t)}function Kn(e){return e?pt(e.html,re(qn(e))):null}var Po=["common_styles","subject","preheader","meta"];function Wn(e){if(!e?.html?.trim())return null;const t={};for(const n of Po)Do(n,e[n])&&(t[n]=e[n]);return pt(e.html,t)}function Do(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var Ro=10,Oo=(e,t)=>e.key===t.key&&Lo(e.serverId,t.serverId),Lo=(e,t)=>e==null||e===t;function No(e){return typeof e?.then=="function"}var Xn=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Jn=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},Mo=e=>{Vn(e.document,So(e.reports)),Jn(e)},mt=(e,t)=>{if(!e.ready){Mo(e);return}Vn(e.document,t)},xo=e=>{const{attributes:t,serverId:n,docId:r}=e.document.get();return{...t,html:e.document.getContent(),id:n??void 0,isNew:n==null,renderGuid:r}};function ko(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:s,resolveTerms:i,canEdit:o,notifyBeforeSave:c,onAdapterError:l,onTimeout:u}=e;let d;const p=new Set,m=new Set,v=()=>p.forEach(f=>f()),y=(f,S)=>{if(!(f.closed||f.ready)){if(f.error!==void 0){f.document.markFailed(f.error),f.document.get().docId;return}Jn(f),f.ready=!0,f.document.markReady(),f.document.get().docId,[...f.reports.keys()]}},E=(f,S,T)=>{l?.(S.id,T),!(!S.required||f.closed)&&(f.error=T,f.document.get().docId,S.id,v())},g=(f,S)=>{const T=new Set(S.map(C=>C.id));S.forEach(C=>{C.watch&&f.watchers.push(C.watch(L=>f.closed?!1:f.ready&&L?.content!==void 0&&_o({hasUnsavedUserEdit:f.document.isDirty()})==="skip"?(f.document.get().docId,C.id,!1):(L&&f.reports.set(C.id,L),mt(f,L),!0)))});const A=(C,L)=>{f.closed||(L&&f.reports.set(C.id,L),mt(f,L))},O=()=>{T.size>0||f.closed||(Xn(f),y(f,[]))},x=[];if(S.forEach(C=>{let L;try{L=C.load()}catch(H){E(f,C,H),T.delete(C.id);return}if(No(L)){x.push({id:C.id,required:C.required,load:()=>L});return}A(C,L),T.delete(C.id)}),x.length===0){O();return}f.timer=setTimeout(()=>{f.timer=void 0,u?.([...T]),f.document.get().docId,[...T],y(f,[...T])},n),f.timer.unref?.(),x.forEach(C=>{C.load().then(L=>A(C,L)).catch(L=>{E(f,C,L)}).finally(()=>{T.delete(C.id),O()})})},b=async(f,S,T)=>{if(T==="snapshot"||T==="anchor")return;const A=i?.();if(A)return A.resolve({project:S.project??f.project,tags:(f.tags??[]).map(O=>({name:O}))})},_=f=>{if(f.lock===!0&&o?.(f)===!1)return new Bn("locked");const S=f.tags?.length??0,T=f.emailtags?.length??0;if(Math.max(S,T)>Ro)return new Bn("too-many-tags")},w=async(f,S,T)=>{try{await f.document.whenReady()}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,!1}if(f.closed)return!1;const A=_(f.document.get().attributes);if(A)return f.saveError=A,f.saveFailures+=1,A.reason,v(),!1;if(c&&(await c(xo(f)).catch(()=>{}),f.closed))return!1;let O;try{O=await b(f.document.get().attributes,T,S)}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,v(),!1}if(f.closed)return!1;const{payload:x,version:C}=wo(f.document,T,O);f.document.get().docId;try{const L=f.document.get().serverId!=null,H=await Io(r(),s(f.request.key),S,f.document.get().serverId,x);if(f.closed)return!0;let k;if(S==="snapshot"||S==="anchor"){const N=H?.modified!=null?Date.parse(H.modified):NaN;k=Number.isFinite(N)?N:Date.now(),f.snapshotVersion=C,f.lastRevisionAt=k}else f.document.markSaved(C,H?.id!=null?String(H.id):void 0);const V=f.document.get().serverId;!L&&V!=null&&(f.recoveryFacts={emailId:V,historyLoaded:!0,isRecovering:!1}),f.saveError=void 0,f.saveFailures=0,f.document.get().serverId,v();const ae={intent:S,serverId:f.document.get().serverId,created:!L,...k!==void 0?{revisionAt:k}:{}};return m.forEach(N=>N(ae)),!0}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,v(),!1}},P=()=>{d&&(d.closed=!0,d.watchers.forEach(f=>f()),d.watchers=[],Xn(d),d.history.dispose(),d.document.dispose(),d=void 0)},D=(f,S,T)=>{let A=!1;S.show&&(f.show?.id!==S.show.id||f.show.token!==S.show.token)&&(f.show=S.show,A=!0,{docId:f.document.get().docId,...S.show});const O=T==="show"?Kn(S.patch):null;O&&(f.reports.set("plugin",O),mt(f,O)),A&&v()},h=(f,S={})=>{const T=d;return!T||T.closed?Promise.resolve(!1):T.saving?f==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>h(f,S)):(T.saving=!0,T.inFlight=w(T,f,S).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},I=(f,S="open")=>{if(d&&!d.closed&&S!=="new"&&Oo(d.request,f))return D(d,f,S),d.document;P();const T=ao({createBuffer:()=>Zi(""),serverId:f.serverId??null}),A={request:f,show:f.show,document:T,history:uo(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return d=A,T.get().docId,f.serverId,g(A,t(f,{publishRecoveryFacts(O){A.closed||(A.recoveryFacts=O,v())},readShownContent:()=>A.closed?null:A.document.getContent()})),v(),T};return{openWith:I,open:(f,S={})=>I({key:Se(f),serverId:f,email:S.email,patch:S.patch,show:S.show},"open"),openDraft:(f,S={})=>I({key:Se(void 0),serverId:null,email:f,patch:S.patch,show:S.show},"open"),startNewDraft:(f,S={})=>I({key:Se(void 0),serverId:null,email:f,patch:S.patch,show:S.show},"new"),reload:(f,S={})=>I({key:Se(f),serverId:f,email:S.email,patch:S.patch,show:S.show},"new"),openBlock:(f,S)=>I({key:ne(f)?f:Eo(f),serverId:S?.id!=null?String(S.id):null,email:S},"open"),show:(f,S)=>{const T=d;if(!(!T||T.closed))return I({...T.request,patch:f,show:S},"show")},current:()=>d?.document,save:h,saveState:()=>({error:d?.saveError,failures:d?.saveFailures??0,saving:d?.saving===!0}),revisionFacts(){if(!d)return;const f=d.revisionFactsSnapshot;return f&&f.snapshotVersion===d.snapshotVersion&&f.lastRevisionAt===d.lastRevisionAt?f:(d.revisionFactsSnapshot={snapshotVersion:d.snapshotVersion,lastRevisionAt:d.lastRevisionAt},d.revisionFactsSnapshot)},recoveryFacts:()=>d?.recoveryFacts,history:()=>d?.history,forcedHeaders:()=>d?.forcedHeaders,beginForcedHeaders(f){d&&!d.closed&&(d.forcedHeaders=f)},endForcedHeaders(){d&&(d.forcedHeaders=void 0)},onSaved(f){return m.add(f),()=>m.delete(f)},showFacts:()=>d?.show,sessionKey:()=>d?.request.key,openError:()=>d?.error,subscribe(f){return p.add(f),()=>p.delete(f)},close(){d&&(P(),v())}}}var Qn=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function Zn(e){if(e instanceof Qn)return e.reason;if(e instanceof Fe)return Zn(e.reason)}function Fo(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new Qn("not-found");return zn(n)}}}var er=a.createIdentifier$1("EmailPort");function Bo(e){return e.getInstance(er)}function jo(e,t){e.inject(er,t)}var tr=a.createIdentifier$1("documentSession.restEmailPortFactories");function nr(e){return e.getInstance(tr)!==void 0}function le(e){const t=e.getInstance(tr);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var Uo=a.createIdentifier$1("EmailTermsResolver");function Ho(e){return e.getInstance(Uo)}var rr=a.createIdentifier$1("EmailHistoryPort"),$o=a.createIdentifier$1("BlockHistoryPort");function sr(e){return e.getInstance($o)}function ir(e){return e.getInstance(rr)}function Go(e,t){e.inject(rr,t)}var Vo="em_autosave_pending",nm=6e4;function je(e){return`${Vo}_${e}`}function Yo(e,t){try{sessionStorage.setItem(je(e),JSON.stringify(t))}catch{}}function qo(e){try{const t=sessionStorage.getItem(je(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(je(e)),null):n}catch{return null}}function Ue(e){try{sessionStorage.removeItem(je(e))}catch{}}var zo=2e3,Ko=5e3,Wo=5,Xo=5e3,Jo=4;function Qo(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function Zo(e,t){return e==null||t==null?!1:e.replaceAll(`\r
2078
+ __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/d84cba13.js"],function(pi,K,Qp){Object.defineProperties(K,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var vn=Object.defineProperty,bn=(e,t)=>{let n={};for(var r in e)vn(n,r,{get:e[r],enumerable:!0});return t||vn(n,Symbol.toStringTag,{value:"Module"}),n};const a=pi("./static/umd/d84cba13.js");var mi=new Function("url","return import(url)");function hi(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function gi(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function Ei(e){return e.type==="umd"||e.resolve==="registry"}function Zp(e){return e}var vi=class{_context;_pluginRegistry;_options;_map=new Map;_optionsMap=new Map;_readyMap=new Map;_resolveMap=new Map;_initializingPlugins=new Map;_creatingPlugins=new Set;_initializedPlugins=new Set;_creationOrder=[];_lifecycleListeners=new Set;_activated=!1;constructor(e,t,n={}){this._context=e,this._pluginRegistry=t,this._options=n}activate(){return this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}activateSync(){this._activated=!0,this._startPluginsBatch(Array.from(this._map.values()))}onLifecycle(e){return this._lifecycleListeners.add(e),{dispose:()=>this._lifecycleListeners.delete(e)}}_emitLifecycle(e){for(const t of Array.from(this._lifecycleListeners))try{t(e)}catch{}}async _resolveEntry(e){if(typeof e=="string"||typeof e=="symbol"){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);return{ctor:t}}if(typeof e=="function")return e.length===0?{ctor:await e()}:{ctor:e};if(Array.isArray(e)){const[t,n]=e;if(typeof t=="function")return{ctor:t,options:n};const r=await this._pluginRegistry.getAsync(t);if(!r)throw new Error(`Plugin "${String(t)}" not registered.`);return{ctor:r,options:n}}if(gi(e))return this._resolveDescriptor(e);throw new Error(`Unknown plugin entry format: ${JSON.stringify(e)}`)}async _resolveDescriptor(e){const t=e.resolve??(e.type==="umd"?"window":"module");if(Ei(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await mi(e.url);if(t==="module")return{ctor:n.default??n};if(t==="registry"&&e.name){const r=await this._pluginRegistry.getAsync(e.name);if(!r)throw new Error(`Plugin "${e.name}" not found in registry after ESM load`);return{ctor:r}}}if(e.type==="umd"){if(await this._loadScript(e.url),t==="window"&&e.name){const n=globalThis[e.name];if(!n)throw new Error(`Plugin "${e.name}" not found on window after script load`);return{ctor:n}}if(t==="registry"&&e.name){const n=await this._pluginRegistry.getAsync(e.name);if(!n)throw new Error(`Plugin "${e.name}" not found in registry after script load`);return{ctor:n}}}throw new Error(`Cannot resolve descriptor: type=${e.type}, resolve=${t}, name=${e.name??"none"}`)}_loadScript(e){return new Promise((t,n)=>{if(typeof document>"u"){n(new Error("Cannot load UMD script in non-browser environment"));return}const r=document.createElement("script");r.src=e,r.onload=()=>t(),r.onerror=()=>n(new Error(`Failed to load script: ${e}`)),document.head.appendChild(r)})}initSync(e){const t=[];for(const n of e){const r=this._getOrCreate(n,void 0);t.push(r)}this._activated=!0,this._startPluginsBatch(t)}async init(e){const t=[],n=new Set;for(const r of e){const{ctor:s,options:i}=await this._resolveEntry(r),o=this._getOrCreate(s,i);n.has(o)||(n.add(o),t.push(o))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const o of e){const c=await this._resolveEntry(o);t.add(c.ctor),n.push(c)}const r=[];this._map.forEach((o,c)=>{t.has(c)||r.push({key:c,plugin:o})});for(let o=r.length-1;o>=0;o--){const{key:c,plugin:l}=r[o];await this._initializingPlugins.get(l),await this._disposePlugin(l,l.constructor.name),this._map.delete(c),this._optionsMap.delete(c),this._readyMap.delete(l),this._resolveMap.delete(l),this._initializingPlugins.delete(l),this._initializedPlugins.delete(l);const u=this._creationOrder.indexOf(l);u>=0&&this._creationOrder.splice(u,1)}const s=[],i=new Set;for(const{ctor:o,options:c}of n){const l=this._getOrCreate(o,c);i.has(l)||(i.add(l),s.push(l))}this._activated&&await this._startPluginsBatch(s)}isReady(e){return this._initializedPlugins.has(e)}ready(e){return this._initializingPlugins.get(e)??this._readyMap.get(e)??Promise.resolve()}async waitFor(e,t){if(this._pluginRegistry.has(e))return this.useByKeyAsync(e);const{timeout:n}=t??{};return await new Promise((r,s)=>{let i,o=!1;const c=()=>{o||(o=!0,i&&clearTimeout(i),this._pluginRegistry.off(e,c),r())};this._pluginRegistry.on(e,c),n!==void 0&&n>0&&(i=setTimeout(()=>{o||(o=!0,this._pluginRegistry.off(e,c),s(new Error(`waitFor("${String(e)}") timed out after ${n}ms`)))},n))}),this.useByKeyAsync(e)}useByKey(e){const t=this._pluginRegistry.get(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered or not loaded yet. Use useByKeyAsync() for async plugins.`);const n=this._getOrCreate(t);return this._activated&&this._startPluginsBatch([n]),n}async useByKeyAsync(e){const t=await this._pluginRegistry.getAsync(e);if(!t)throw new Error(`Plugin "${String(e)}" not registered.`);const n=this._getOrCreate(t);return this._activated&&await this._startPluginsBatch([n]),n}useByCtor(e,t){const n=this._getOrCreate(e,t);return this._activated&&this._startPluginsBatch([n]),n}use(e){return typeof e=="function"?this.useByCtor(e):this.useByKey(e)}async useAsync(e){const{ctor:t,options:n}=await this._resolveEntry(e),r=this._getOrCreate(t,n);return this._activated&&await this._startPluginsBatch([r]),r}_getOrCreate(e,t){const n=e;if(!this._map.has(n)){t!==void 0&&this._optionsMap.set(n,t);const r=this._optionsMap.get(n),s=this._createPluginInstance(e,r),i=s.constructor.name;this._emitLifecycle({type:"created",plugin:s,name:i}),s.required?.(),this._map.set(n,s),this._creationOrder.push(s),this._setupReadyPromise(s)}return this._map.get(n)}_createPluginInstance(e,t){const n=e;if(this._creatingPlugins.has(n))throw new Error(`Cyclic dependency for plugin ${e.name}`);this._creatingPlugins.add(n);try{return hi(e)?new e(this._context,t):e(this._context,t)||{}}finally{this._creatingPlugins.delete(n)}}_setupReadyPromise(e){const t=new Promise(n=>{this._resolveMap.set(e,n)});this._readyMap.set(e,t)}async _startPluginsBatch(e){const t=Array.from(new Set(e)),n=new Set,r=[];for(const s of t){if(this._initializedPlugins.has(s))continue;const i=this._initializingPlugins.get(s);if(i){n.add(i);continue}r.push(s)}if(r.length>0){const s=this._runBatchLifecycle(r);for(const i of r)this._initializingPlugins.set(i,s);n.add(s),s.finally(()=>{for(const i of r)this._initializingPlugins.get(i)===s&&this._initializingPlugins.delete(i)})}await Promise.all(n)}async _runBatchLifecycle(e){const t=[];for(const n of e){const r=n.constructor.name;this._emitLifecycle({type:"init:start",plugin:n,name:r});try{await n.init?.(),this._emitLifecycle({type:"init:success",plugin:n,name:r}),t.push(n)}catch(s){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:s})}}for(const n of t){const r=n.constructor.name;this._emitLifecycle({type:"afterInit:start",plugin:n,name:r});try{await n.afterInit?.(),this._emitLifecycle({type:"afterInit:success",plugin:n,name:r})}catch(s){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:s})}}for(const n of e)this._initializedPlugins.add(n),this._resolveMap.get(n)?.(),this._resolveMap.delete(n)}async _disposePlugin(e,t){this._emitLifecycle({type:"dispose:start",plugin:e,name:t});try{await e.dispose?.(),this._emitLifecycle({type:"dispose:success",plugin:e,name:t})}catch(n){this._emitLifecycle({type:"dispose:error",plugin:e,name:t,error:n})}}async dispose(){for(let e=this._creationOrder.length-1;e>=0;e--){const t=this._creationOrder[e];await this._initializingPlugins.get(t),await this._disposePlugin(t,t.constructor.name)}this._map.clear(),this._optionsMap.clear(),this._readyMap.clear(),this._resolveMap.clear(),this._initializingPlugins.clear(),this._initializedPlugins.clear(),this._creationOrder.length=0,this._lifecycleListeners.clear()}getStatus(){return Array.from(this._map.values()).map(e=>({name:e.constructor.name,initialized:this._initializedPlugins.has(e)}))}},bi=class{_plugins=new Map;_listeners=new Map;_getOrCreateEntry(e){let t=this._plugins.get(e);return t||(t={overrides:[]},this._plugins.set(e,t)),t}_applyOverrides(e,t){const n=this._plugins.get(e);if(n?.overrides)for(const r of n.overrides)t=r(t)||t;return t}_notifyListeners(e,t){const n=this._listeners.get(e);if(!n||n.length===0)return;for(const s of n)try{s.callback(t)}catch{}const r=n.filter(s=>!s.once);r.length>0?this._listeners.set(e,r):this._listeners.delete(e)}get(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor)}async getAsync(e){const t=this._plugins.get(e);if(t?.ctor)return this._applyOverrides(e,t.ctor);if(t?.loading){const n=await t.loading;return this._applyOverrides(e,n)}if(t?.factory){const n=Promise.resolve(t.factory()).then(s=>(t.ctor=s,t.loading=void 0,this._notifyListeners(e,s),s));t.loading=n;const r=await n;return this._applyOverrides(e,r)}return new Promise(n=>{this.on(e,r=>n(this._applyOverrides(e,r)))})}add(e,t){const n=this._getOrCreateEntry(e);n.ctor=t,this._notifyListeners(e,t)}addAll(e){for(const t of Object.keys(e)){const n=e[t];n!==void 0&&this.add(t,n)}}addAsync(e,t){const n=this._getOrCreateEntry(e);return n.factory=t,{dispose:()=>{n.ctor||(n.factory=void 0)}}}has(e){const t=this._plugins.get(e);return!!(t?.ctor||t?.factory)}isLoaded(e){return!!this._plugins.get(e)?.ctor}override(e,t){const n=this._getOrCreateEntry(e);return n.overrides.push(t),{dispose:()=>{const r=n.overrides.indexOf(t);r>=0&&n.overrides.splice(r,1)}}}on(e,t){const n=this.get(e);n&&t(n);let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const s={callback:t,once:!1};return r.push(s),{dispose:()=>this._removeListener(e,t)}}once(e,t){const n=this.get(e);if(n)return t(n),{dispose:()=>{}};let r=this._listeners.get(e);r||(r=[],this._listeners.set(e,r));const s={callback:t,once:!0};return r.push(s),{dispose:()=>this._removeListener(e,t)}}off(e,t){this._removeListener(e,t)}_removeListener(e,t){const n=this._listeners.get(e);if(n){const r=n.findIndex(s=>s.callback===t);r>=0&&n.splice(r,1),n.length===0&&this._listeners.delete(e)}}keys(){return Array.from(this._plugins.keys())}forContext(){const e=this;return{add(t,n){e.add(t,n)}}}},_i=class{resolveRegistry;constructor(e){this.resolveRegistry=e}target(){return this.resolveRegistry()}get(e){return this.target().get(e)}getAsync(e){return this.target().getAsync(e)}add(e,t){return this.target().add(e,t)}addAll(e){return this.target().addAll(e)}addAsync(e,t){return this.target().addAsync(e,t)}has(e){return this.target().has(e)}isLoaded(e){return this.target().isLoaded(e)}override(e,t){return this.target().override(e,t)}on(e,t){return this.target().on(e,t)}once(e,t){return this.target().once(e,t)}off(e,t){return this.target().off(e,t)}keys(){return this.target().keys()}forContext(){return this.target().forContext()}},_n=class{capacity;items=[];constructor(e){this.capacity=e}push(e){this.items.length>=this.capacity&&this.items.shift(),this.items.push(e)}snapshot(){return this.items.slice()}size(){return this.items.length}clear(){this.items=[]}};function yi(e,t){return t+e}function Si(){return typeof performance>"u"?Date.now():yi(performance.now(),performance.timeOrigin)}var Ii="emailmaker:diagnostics",wi="diagnostics",Ti="diagnostics";function yn(e,t){return t?`${e}${e.includes("?")?"&":"?"}${Ti}=1`:e}var rt;function Ai(){try{const e=new URLSearchParams(window.location.search).get(wi);return e===null?void 0:e!=="0"}catch{return}}function Ci(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function Pi(){try{const e=window.localStorage.getItem(Ii);return e===null?void 0:e==="1"}catch{return}}function ye(){return rt===void 0&&(rt=typeof window>"u"?!1:Ai()??Ci()??Pi()??!1),rt}function Di(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var z={initStart:"loader:init:start",coreReady:"loader:core:ready",initEnd:"loader:init:end",chunksLoaded:"app:chunks:loaded",showStart:"show:start",showEnd:"show:end",canvasCreated:"canvas:created",canvasLoaded:"canvas:loaded",canvasPainted:"canvas:painted",appVisible:"app:visible",editorVisible:"editor:visible",canvasSettled:"canvas:settled"},em=Object.values(z),tm=[z.canvasPainted,z.canvasSettled,z.appVisible,z.editorVisible],Ri=5e3,Oi=3e3,Sn="diagnosticsStore",xe,Se;function In(){return{marks:new _n(Ri),resources:new _n(Oi)}}function wn(){if(Se)return Se;const e=st();return e?(Se=e[Sn]??xe??In(),e[Sn]=Se,xe=void 0,Se):(xe??=In(),xe)}function H(e,t){ye()&&wn().marks.push({phase:e,at:Si(),...t})}function st(){if(typeof __emailmaker__<"u"&&__emailmaker__)return __emailmaker__;if(typeof window>"u")return;const e=window[Di()];return e!==null&&typeof e=="object"?e:void 0}function Li(e){const t=e.length,n=wn();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function Ni(){const e=st();return!e||!Array.isArray(e.diagnosticsBuffer)?0:Li(e.diagnosticsBuffer)}var Mi="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function it(){const e=new Error(Mi);return e.name="DestroyedInstanceError",e}function ot(e,t){if(e===t)return!0;if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){const i=e,o=t;return i.length===o.length&&i.every((c,l)=>ot(c,o[l]))}const r=Object.keys(e),s=Object.keys(t);return r.length!==s.length?!1:r.every(i=>Object.prototype.hasOwnProperty.call(t,i)&&ot(e[i],t[i]))}function Tn(e,t){const n={watch(r){let s,i=!1;return e.watch(o=>{const c=t(o);i&&ot(s,c)||(s=c,i=!0,r(c))})},select(r){return Tn(n,r)}};return n}function pe(...e){let t=e[0],n=e.length>0;const r=new Set,s={get(){return n?t:void 0},set(i){t=i,n=!0;for(const o of Array.from(r))o(i)},watch(i){return r.add(i),n&&i(t),{dispose:()=>r.delete(i)}},select(i){return Tn(s,i)}};return s}var An=class{http;constructor(e){this.http=e}app_init_create=(e,t={})=>this.http.request({path:"/app/v1/app_init",method:"POST",body:e,type:a.ContentType.UrlEncoded,...t})},Cn=class{http;constructor(e){this.http=e}get_translations2=({file:e,...t},n={})=>this.http.request({path:`/translations/v1/${e}`,method:"GET",...n});get_translations3=({id:e,file:t,...n},r={})=>this.http.request({path:`/translations/v1/${t}/${e}`,method:"GET",...r})};function xi(e){return String(e||"").trim()||void 0}var ki=class extends a.Disposable{deps;_app;_baseUrl;_appInit;_restBaseUrl;_prevApp;constructor(e){super(),this.deps=e,this.addDisposable(e.options.select(t=>this._slice(t)).watch(t=>this._start(t)))}get app(){return this._app}_slice(e){return Object.prototype.hasOwnProperty.call(e,"baseUrl")&&(this._baseUrl=xi(e.baseUrl)),Object.prototype.hasOwnProperty.call(e,"appInit")&&(this._appInit=e.appInit),{appInit:this._appInit,user:e.user,project:e.project,baseUrl:this._baseUrl,restBaseUrl:this.deps.resolveRestBaseUrl(this._baseUrl),standalone:this.deps.isStandalone()}}_start(e){if(this._restBaseUrl!==e.restBaseUrl&&(this._restBaseUrl=e.restBaseUrl,this.deps.setRestBaseUrl(e.restBaseUrl)),e.standalone)return;const t=e.appInit||this.deps.fallbackAppInit,n=Promise.resolve(t({baseUrl:e.baseUrl,user:e.user,project:e.project,prevApp:this._prevApp}));this._app=n,n.then(r=>{this._app===n&&(this._prevApp=r)},()=>{}),this.deps.publish(n)}},at=a.createIdentifier$1("AppInitService");function Fi(e){return async()=>{const t=await e();return(await new An(t).app_init_create({})).data}}function Bi(e){e.injectFactory(at,()=>{const t=new ki({options:e.getInstance(a.OPTIONS_SOURCE_ID),isStandalone:()=>!!e.getInstance(a.SECURITY_MODULE_ID),resolveRestBaseUrl:n=>n?a.getActiveBaseUrl(n):a.getActiveBaseUrl()||void 0,setRestBaseUrl:n=>{e.getInstance(a.REST_CLIENT_FACTORY_ID)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:Fi(()=>e.getInstanceAsync(a.REST_TRANSPORT_ID)),publish:n=>{e.inject(a.APP_ID,n)}});return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t},!0)}var lt=a.createIdentifier$1("documentSession.emailDocuments");function ct(e){return e?.getInstance(lt)}var ji=a.createIdentifier$1("RevisionServiceFlag");function Ui(e){return e.getOrCreateInstance(ji,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function Pn(e){return Ui(e).isEnabled()}var Hi=a.createIdentifier$1("EmailRightsResolver");function $i(e,t){const n=e.getInstance(Hi);return n?n(t):!0}var Dn=a.createIdentifier$1("EmailHistoryAvailabilityResolver");function Gi(e){return e.getInstance(Dn)!==void 0}async function Vi(e){const t=e.getInstance(Dn);if(!t)return!0;try{return await t()}catch{return!1}}var dt={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},Rn=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],On=2e4,Yi=Rn.reduce((e,t)=>e+dt[t],0),Ln=On+Yi+3e3;function qi(e){return Rn.reduce((t,n)=>t+Nn(n,e),0)}function Nn(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:dt[e]}function Mn(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:Ln}function xn(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:On}function kn(e=Ln){return e+3e3}var nm="[show-pipeline]";function rm(e,t){}var zi=()=>kn();function Ki(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Wi(e){return t=>Ki(e.getOrCreateInstance(a.events.BEFORE_SAVE_EMAIL,()=>new a.AsyncEmitter).fire(t),zi())}function Xi(e){return e!=null&&e!==""}var Ji;function ke(e,t){return Ji?.capture(e,t)}function Qi(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function Fe(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var J=class{oldPosition;oldText;newPosition;newText;get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,n,r){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=r}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${Fe(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${Fe(this.oldText)}")`:`(replace@${this.oldPosition} "${Fe(this.oldText)}" with "${Fe(this.newText)}")`}};function Fn(e,t){return e===null||e.length===0?t:new Zi(e,t).compress()}var Zi=class te{_prevEdits;_currEdits;_result;_resultLen;_prevLen;_prevDeltaOffset;_currLen;_currDeltaOffset;constructor(t,n){this._prevEdits=t,this._currEdits=n,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let t=0,n=0,r=this._getPrev(t),s=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(s===null)break;this._acceptCurr(s),s=this._getCurr(++n);continue}if(s===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldEnd<=r.newPosition){this._acceptCurr(s),s=this._getCurr(++n);continue}if(r.newEnd<=s.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldPosition<r.newPosition){const[l,u]=te._splitCurr(s,r.newPosition-s.oldPosition);this._acceptCurr(l),s=u;continue}if(r.newPosition<s.oldPosition){const[l,u]=te._splitPrev(r,s.oldPosition-r.newPosition);this._acceptPrev(l),r=u;continue}let o,c;if(s.oldEnd===r.newEnd)o=r,c=s,r=this._getPrev(++t),s=this._getCurr(++n);else if(s.oldEnd<r.newEnd){const[l,u]=te._splitPrev(r,s.oldLength);o=l,c=s,r=u,s=this._getCurr(++n)}else{const[l,u]=te._splitCurr(s,r.newLength);o=r,c=l,r=this._getPrev(++t),s=u}this._result[this._resultLen++]=new J(o.oldPosition,o.oldText,c.newPosition,c.newText),this._prevDeltaOffset+=o.newLength-o.oldLength,this._currDeltaOffset+=c.newLength-c.oldLength}const i=te._merge(this._result);return te._removeNoOps(i)}_acceptCurr(t){this._result[this._resultLen++]=te._rebaseCurr(this._prevDeltaOffset,t),this._currDeltaOffset+=t.newLength-t.oldLength}_getCurr(t){return t<this._currLen?this._currEdits[t]:null}_acceptPrev(t){this._result[this._resultLen++]=te._rebasePrev(this._currDeltaOffset,t),this._prevDeltaOffset+=t.newLength-t.oldLength}_getPrev(t){return t<this._prevLen?this._prevEdits[t]:null}static _rebaseCurr(t,n){return new J(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new J(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),s=t.newText.substr(n);return[new J(t.oldPosition,t.oldText,t.newPosition,r),new J(t.oldEnd,"",t.newPosition+n,s)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),s=t.oldText.substr(n);return[new J(t.oldPosition,r,t.newPosition,t.newText),new J(t.oldPosition+n,s,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,s=t[0];for(let i=1;i<t.length;i++){const o=t[i];s.oldEnd===o.oldPosition?s=new J(s.oldPosition,s.oldText+o.oldText,s.newPosition,s.newText+o.newText):(n[r++]=s,s=o)}return n[r++]=s,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let s=0;s<t.length;s++){const i=t[s];i.oldText!==i.newText&&(n[r++]=i)}return n}};function eo(e){return new J(e.newPosition,e.newText,e.oldPosition,e.oldText)}function to(e){return e.map(eo)}function Bn(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function no(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const s=t[r];n=n.slice(0,s.oldPosition)+s.newText+n.slice(s.oldEnd)}return n}function ro(e,t,n){let r=0;const s=e.start===e.end;for(const i of t){const o=i.newLength-i.oldLength;if(i.oldLength===0){const c=i.oldPosition;if(s&&c===e.start)r+=n==="after"?o:0;else{if(e.start<c&&c<e.end)return null;c<=e.start&&(r+=o)}continue}if(s){if(e.start>=i.oldEnd)r+=o;else if(e.start>i.oldPosition)return null;continue}if(e.start>=i.oldEnd)r+=o;else if(e.end>i.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var Be=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},jn=0,so=Math.random().toString(36).slice(2,8);function io(){return jn+=1,`doc-${so}-${jn}`}function oo(e){const t=e.createBuffer(),n=e.docId??io();let r=e.serverId??null,s=0,i=null,o=e.attributes??{};const c=new Set;let l=!1,u=!1,d;const p=new Set;let m=null;const v=()=>(m?.version!==s&&(m={version:s,value:t.read()}),m.value),y=E=>Object.entries(E).some(([g,b])=>o[g]!==b);return{get:()=>({docId:n,serverId:r,version:s,savedVersion:i,attributes:o}),getContent:v,mutate(E,{source:g}){if(l)return s;const b=E.changes?.length?E.changes:void 0,_=b?no(v(),b):E.content!==void 0?E.content:void 0,I=_!==void 0&&_!==v(),P=E.attributes!==void 0&&y(E.attributes);if(!I&&!P)return s;const D=!(s>(i??-1));return I&&t.write(_),P&&(o={...o,...E.attributes}),s+=1,g!=="user"&&D&&(i=s),c.forEach(h=>h({source:g,version:s,changes:b})),s},markSaved(E,g){const b={serverId:r,savedVersion:i};g!==void 0&&(r=g),(i===null||E>i)&&(i=E),(b.serverId!==r||b.savedVersion!==i)&&c.forEach(_=>_({source:"system",version:s}))},markReady(){u||d!==void 0||(u=!0,p.forEach(E=>E.resolve()),p.clear(),c.forEach(E=>E({source:"system",version:s})))},isReady:()=>u,markFailed(E){u||d!==void 0||l||(d=E,p.forEach(g=>g.reject(new Be(E))),p.clear(),c.forEach(g=>g({source:"system",version:s})))},failure:()=>d,whenReady(){return u?Promise.resolve():d!==void 0?Promise.reject(new Be(d)):l?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((E,g)=>{p.add({resolve:E,reject:g})})},subscribe(E){return c.add(E),()=>c.delete(E)},isNew:()=>r===null,isDirty:()=>s>(i??-1),isDisposed:()=>l,dispose(){l=!0,p.forEach(E=>E.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),p.clear(),c.clear(),t.dispose()}}}var ao=500,lo=100,ut=0;function co(e,t={}){const n=t.groupIntervalMs??ao,r=t.maxSteps??lo,s=t.now??(()=>0);let i=[],o=0,c=ut+=1,l=null,u=!1,d=!1,p=!1;const m=new Set,v=()=>m.forEach(h=>h()),y=(h,w)=>{if(h.length){d=!0;try{e.mutate({changes:h},{source:w})}finally{d=!1}}},E=h=>y(h,"user"),g=h=>{const w=s();u&&l!==null&&w-l<n?i[o-1]=Fn(i[o-1],h):(i=i.slice(0,o),i.push(h),o=i.length,u=!0,i.length>r&&(i=i.slice(i.length-r),o=i.length,c=ut+=1)),l=w,v()},b=()=>{u=!1,l=null},_=h=>{if(!h.length)return;const w=i.length>o;w&&(i=i.slice(0,o)),o>0&&(i[o-1]=Fn(i[o-1],h)),b(),w&&v()},I=e.subscribe(({source:h,changes:w})=>{if(!(p||d||!w?.length)){if(h==="remote"){P();return}if(h!=="user"){_(w);return}g(w)}}),P=()=>{i=[],o=0,b(),c=ut+=1,v()},D=()=>{if(o===0)return!1;const h=to(i[o-1]);return Bn(e.getContent(),h)?(E(h),o-=1,b(),!0):(i=i.slice(0,o-1),o=i.length,b(),v(),!1)};return{canUndo:()=>o>0,canRedo:()=>o<i.length,undo(){D()&&v()},redo(){if(!(o>=i.length)){if(!Bn(e.getContent(),i[o])){i=i.slice(0,o),b(),v();return}E(i[o]),o+=1,b(),v()}},clear:P,applyWithoutHistory(h){const w=e.get().version;if(y(h,"system"),e.get().version===w){b();return}_(h)},getPast:h=>i.slice(0,o).reverse().slice(0,h),getFuture:h=>i.slice(o).reverse().slice(0,h),createSnapshot:()=>({stackId:c,index:o}),restoreSnapshot(h){if(h.stackId!==c||h.index>o)return!1;for(;o>h.index;)if(!D())return v(),!1;return v(),!0},subscribe(h){return m.add(h),()=>m.delete(h)},dispose(){p=!0,I(),m.clear(),i=[],o=0}}}var uo=["edit","move","resize","insert"];function ft(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function fo(e){return typeof e=="string"?e:null}function po(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function mo(e){return uo.includes(e)?e:null}function ho(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:fo(t.originId),changeId:ft(t.changeId),rev:ft(t.rev),baseRev:ft(t.baseRev),expected:po(t.expected),intent:mo(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var Un=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},Hn="draft";function Ie(e){return e==null||e===""?Hn:String(e)}function go(e){return e==null||e===""?`${pt}${Hn}`:`${pt}${String(e)}`}var pt="block:";function ne(e){return e?.startsWith(pt)===!0}function we(e){return ne(e.sessionKey())?void 0:e.current()}function sm(e,t){}function Te(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return H(`show:gate:${e}`,{kind:"wait"}),t.then(s=>(H(`show:gate:${e}:end`,{kind:"wait"}),s),s=>{const i=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw`${e}`,{error:String(s),...n},s})}var im=5e3;function $n(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function Gn(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function Eo(e,t={}){const n=$n((e??[]).filter(r=>r?.html?.trim()));return Gn(n,t)?n:null}function vo(e){const t=Date.parse($n(e)?.modified??"");return{autosave:Eo(e),...Number.isFinite(t)?{latestAt:t}:{}}}function bo({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var Vn=e=>e.replace(/\r\n?/g,`
2079
+ `),Yn=["recovery","plugin","rest"],_o=["subject","preheader"];function yo(e){let t={},n;for(let s=Yn.length-1;s>=0;s--){const i=e.get(Yn[s]);i&&(i.attributes&&(t={...t,...i.attributes}),i.content!==void 0&&(n=i.content))}const r=e.get("plugin")?.attributes;for(const s of _o){const i=r?.[s];typeof i=="string"&&i!==""&&(t={...t,[s]:i})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function qn(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?Vn(t.content):void 0,s=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...s?{changes:[new J(0,n,0,r)]}:{}},{source:"remote"})}var zn=e=>typeof e=="string"?e.trim():"";function So(e,t,n){const{version:r,attributes:s}=e.get(),i=s,o=zn(i.title)||zn(i.subject);return{version:r,payload:{html:e.getContent(),title:o,subject:i.subject,preheader:i.preheader,description:i.description,common_styles:i.common_styles||"",meta:i.meta,utm_parameters:i.utm_parameters,parent_email:i.parent_email,is_template:i.is_template||!1,is_inited:i.is_inited,tags:i.tags,emailtags:i.emailtags,group:i.group,renderGuid:e.get().docId,project:t.project??i.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function Io(e,t,n,r,s){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(s);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,s):t.saveAutosave(r,s)}function re(e,t=!1){const n={};for(const r of Object.keys(e)){let s=e[r];s!==void 0&&!(typeof s=="number"&&Number.isNaN(s))&&(t&&typeof s=="object"&&s!==null&&(s=re(s)),n[r]=s)}return n}var wo=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function Kn(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!wo.has(t))):{}}function je(e,t,n={}){e&&e.mutate({attributes:To(e.get().attributes,t)},{source:n.source??"user"})}function To(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function mt(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function Ao(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function Wn(e){if(!e)return null;const t=Kn(e);return e.common_styles!==void 0&&(t.common_styles=Ao(e.common_styles)),mt(e.html,t)}function Xn(e){return e?mt(e.html,re(Kn(e))):null}var Co=["common_styles","subject","preheader","meta"];function Jn(e){if(!e?.html?.trim())return null;const t={};for(const n of Co)Po(n,e[n])&&(t[n]=e[n]);return mt(e.html,t)}function Po(e,t){return e==="common_styles"?typeof t=="string"&&t.startsWith("{"):e==="meta"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t=="string"}var Do=10,Ro=(e,t)=>e.key===t.key&&Oo(e.serverId,t.serverId),Oo=(e,t)=>e==null||e===t;function Lo(e){return typeof e?.then=="function"}var Qn=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Zn=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},No=e=>{qn(e.document,yo(e.reports)),Zn(e)},ht=(e,t)=>{if(!e.ready){No(e);return}qn(e.document,t)},Mo=e=>{const{attributes:t,serverId:n,docId:r}=e.document.get();return{...t,html:e.document.getContent(),id:n??void 0,isNew:n==null,renderGuid:r}};function xo(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:s,resolveTerms:i,canEdit:o,notifyBeforeSave:c,onAdapterError:l,onTimeout:u}=e;let d;const p=new Set,m=new Set,v=()=>p.forEach(f=>f()),y=(f,S)=>{if(!(f.closed||f.ready)){if(f.error!==void 0){f.document.markFailed(f.error),f.document.get().docId;return}Zn(f),f.ready=!0,f.document.markReady(),f.document.get().docId,[...f.reports.keys()]}},E=(f,S,T)=>{l?.(S.id,T),!(!S.required||f.closed)&&(f.error=T,f.document.get().docId,S.id,v())},g=(f,S)=>{const T=new Set(S.map(A=>A.id));S.forEach(A=>{A.watch&&f.watchers.push(A.watch(L=>f.closed?!1:f.ready&&L?.content!==void 0&&bo({hasUnsavedUserEdit:f.document.isDirty()})==="skip"?(f.document.get().docId,A.id,!1):(L&&f.reports.set(A.id,L),ht(f,L),!0)))});const N=(A,L)=>{f.closed||(L&&f.reports.set(A.id,L),ht(f,L))},C=()=>{T.size>0||f.closed||(Qn(f),y(f,[]))},O=[];if(S.forEach(A=>{let L;try{L=A.load()}catch(k){E(f,A,k),T.delete(A.id);return}if(Lo(L)){O.push({id:A.id,required:A.required,load:()=>L});return}N(A,L),T.delete(A.id)}),O.length===0){C();return}f.timer=setTimeout(()=>{f.timer=void 0,u?.([...T]),f.document.get().docId,[...T],y(f,[...T])},n),f.timer.unref?.(),O.forEach(A=>{A.load().then(L=>N(A,L)).catch(L=>{E(f,A,L)}).finally(()=>{T.delete(A.id),C()})})},b=async(f,S,T)=>{if(T==="snapshot"||T==="anchor")return;const N=i?.();if(N)return N.resolve({project:S.project??f.project,tags:(f.tags??[]).map(C=>({name:C}))})},_=f=>{if(f.lock===!0&&o?.(f)===!1)return new Un("locked");const S=f.tags?.length??0,T=f.emailtags?.length??0;if(Math.max(S,T)>Do)return new Un("too-many-tags")},I=async(f,S,T)=>{try{await f.document.whenReady()}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,!1}if(f.closed)return!1;const N=_(f.document.get().attributes);if(N)return f.saveError=N,f.saveFailures+=1,N.reason,v(),!1;if(c&&(await c(Mo(f)).catch(()=>{}),f.closed))return!1;let C;try{C=await b(f.document.get().attributes,T,S)}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,v(),!1}if(f.closed)return!1;const{payload:O,version:A}=So(f.document,T,C);f.document.get().docId;try{const L=f.document.get().serverId!=null,k=await Io(r(),s(f.request.key),S,f.document.get().serverId,O);if(f.closed)return!0;let F;if(S==="snapshot"||S==="anchor"){const M=k?.modified!=null?Date.parse(k.modified):NaN;F=Number.isFinite(M)?M:Date.now(),f.snapshotVersion=A,f.lastRevisionAt=F}else f.document.markSaved(A,k?.id!=null?String(k.id):void 0);const V=f.document.get().serverId;!L&&V!=null&&(f.recoveryFacts={emailId:V,historyLoaded:!0,isRecovering:!1}),f.saveError=void 0,f.saveFailures=0,f.document.get().serverId,v();const ae={intent:S,serverId:f.document.get().serverId,created:!L,...F!==void 0?{revisionAt:F}:{}};return m.forEach(M=>M(ae)),!0}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,v(),!1}},P=()=>{d&&(d.closed=!0,d.watchers.forEach(f=>f()),d.watchers=[],Qn(d),d.history.dispose(),d.document.dispose(),d=void 0)},D=(f,S,T)=>{let N=!1;S.show&&(f.show?.id!==S.show.id||f.show.token!==S.show.token)&&(f.show=S.show,N=!0,{docId:f.document.get().docId,...S.show});const C=T==="show"?Xn(S.patch):null;C&&(f.reports.set("plugin",C),ht(f,C)),N&&v()},h=(f,S={})=>{const T=d;return!T||T.closed?Promise.resolve(!1):T.saving?f==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>h(f,S)):(T.saving=!0,T.inFlight=I(T,f,S).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},w=(f,S="open")=>{if(d&&!d.closed&&S!=="new"&&Ro(d.request,f))return D(d,f,S),d.document;P();const T=oo({createBuffer:()=>Qi(""),serverId:f.serverId??null}),N={request:f,show:f.show,document:T,history:co(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return d=N,T.get().docId,f.serverId,g(N,t(f,{publishRecoveryFacts(C){N.closed||(N.recoveryFacts=C,v())},readShownContent:()=>N.closed?null:N.document.getContent()})),v(),T};return{openWith:w,open:(f,S={})=>w({key:Ie(f),serverId:f,email:S.email,patch:S.patch,show:S.show},"open"),openDraft:(f,S={})=>w({key:Ie(void 0),serverId:null,email:f,patch:S.patch,show:S.show},"open"),startNewDraft:(f,S={})=>w({key:Ie(void 0),serverId:null,email:f,patch:S.patch,show:S.show},"new"),reload:(f,S={})=>w({key:Ie(f),serverId:f,email:S.email,patch:S.patch,show:S.show},"new"),openBlock:(f,S)=>w({key:ne(f)?f:go(f),serverId:S?.id!=null?String(S.id):null,email:S},"open"),show:(f,S)=>{const T=d;if(!(!T||T.closed))return w({...T.request,patch:f,show:S},"show")},current:()=>d?.document,save:h,saveState:()=>({error:d?.saveError,failures:d?.saveFailures??0,saving:d?.saving===!0}),revisionFacts(){if(!d)return;const f=d.revisionFactsSnapshot;return f&&f.snapshotVersion===d.snapshotVersion&&f.lastRevisionAt===d.lastRevisionAt?f:(d.revisionFactsSnapshot={snapshotVersion:d.snapshotVersion,lastRevisionAt:d.lastRevisionAt},d.revisionFactsSnapshot)},recoveryFacts:()=>d?.recoveryFacts,history:()=>d?.history,forcedHeaders:()=>d?.forcedHeaders,beginForcedHeaders(f){d&&!d.closed&&(d.forcedHeaders=f)},endForcedHeaders(){d&&(d.forcedHeaders=void 0)},onSaved(f){return m.add(f),()=>m.delete(f)},showFacts:()=>d?.show,sessionKey:()=>d?.request.key,openError:()=>d?.error,subscribe(f){return p.add(f),()=>p.delete(f)},close(){d&&(P(),v())}}}var er=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function tr(e){if(e instanceof er)return e.reason;if(e instanceof Be)return tr(e.reason)}function ko(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new er("not-found");return Wn(n)}}}var nr=a.createIdentifier$1("EmailPort");function Fo(e){return e.getInstance(nr)}function Bo(e,t){e.inject(nr,t)}var rr=a.createIdentifier$1("documentSession.restEmailPortFactories");function sr(e){return e.getInstance(rr)!==void 0}function le(e){const t=e.getInstance(rr);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var jo=a.createIdentifier$1("EmailTermsResolver");function Uo(e){return e.getInstance(jo)}var ir=a.createIdentifier$1("EmailHistoryPort"),Ho=a.createIdentifier$1("BlockHistoryPort");function or(e){return e.getInstance(Ho)}function ar(e){return e.getInstance(ir)}function $o(e,t){e.inject(ir,t)}var Go="em_autosave_pending",om=6e4;function Ue(e){return`${Go}_${e}`}function Vo(e,t){try{sessionStorage.setItem(Ue(e),JSON.stringify(t))}catch{}}function Yo(e){try{const t=sessionStorage.getItem(Ue(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(Ue(e)),null):n}catch{return null}}function He(e){try{sessionStorage.removeItem(Ue(e))}catch{}}var qo=2e3,zo=5e3,Ko=5,Wo=5e3,Xo=4;function Jo(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function Qo(e,t){return e==null||t==null?!1:e.replaceAll(`\r
2080
2080
  `,`
2081
2081
  `)===t.replaceAll(`\r
2082
2082
  `,`
2083
- `)}function ea({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:s,onFacts:i,onLate:o,onError:c,pageLoadTs:l=Qo()}){let u=null,d=!1,p=!1,m=0,v={emailId:e,historyLoaded:!1,isRecovering:!1},y=null;const E=new Promise(C=>{y=C}),g=C=>{v={...v,...C},i(v)},b=C=>{m+=1,g({applied:{phase:C,seq:m}})},_=()=>{u?.timer&&clearTimeout(u.timer),u=null},w=C=>{if(!p){if(y){const L=y;y=null,L(C),C.revision&&b(C.phase);return}o(C)&&C.revision&&b(C.phase)}},P=()=>{if(!u||p)return;const C=u.phase==="fast",L=C?zo:Xo,H=C?Wo:Jo;u.timer=setTimeout(()=>{const k=u;if(!(!k||p)){if(k.attempts+=1,S(),C&&k.attempts>=H){const{pending:V}=k;Ue(e),g({isRecovering:!1}),w({revision:{html:V.html,common_styles:V.common_styles,subject:V.subject,preheader:V.preheader},phase:"timeout"}),d=!0,k.phase="bg",k.attempts=0,P();return}if(!C&&k.attempts>=H){Ue(e),_(),g({isRecovering:!1}),d=!0;return}P()}},L),u.timer.unref?.()},D=C=>{u={phase:"fast",attempts:0,pending:C,timer:null},g({isRecovering:!0}),P()},h=(C,L)=>Hn(C.autosave,L===void 0?{}:{freshSince:L})?C.autosave:null,I=C=>{if(p)return;if(g({historyLoaded:!0,latestRevisionAt:C.latestAt!==void 0&&Number.isFinite(C.latestAt)?C.latestAt:void 0}),n&&u){const k=h(C,u.pending.sentAt);if(!k)return;const V=u.phase==="fast"?"found":"bg";Ue(e),_(),g({isRecovering:!1}),d=!0,w({revision:k,phase:V});return}if(d)return;const L=n?qo(e):null,H=L&&(L.sentAt<l||!Zo(L.html,s()))?L:null;if(H){const k=h(C,H.sentAt);if(k){Ue(e),d=!0,w({revision:k,phase:"found"});return}D(H);return}d=!0,w({revision:h(C),phase:"normal"})},f=C=>{p||(c?.(C),v.historyLoaded||(g({historyLoaded:!1,latestRevisionAt:void 0}),O()),!u&&w({revision:null,phase:"normal"}))},S=()=>t(e).then(I).catch(f);let T,A=!1;const O=()=>{A||u||p||(A=!0,T=setTimeout(()=>{T=void 0,!p&&!v.historyLoaded&&S()},Ko))},x=()=>{p||(g({historyLoaded:!1,latestRevisionAt:void 0}),w({revision:null,phase:"normal"}))};return r?r().then(C=>C?S():x()):S(),{verdict:()=>E,dispose(){p=!0,T!==void 0&&(clearTimeout(T),T=void 0),_()}}}function ta({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:s,onFacts:i}){let o=null;const c=ea({emailId:r,readAutosave:l=>e.readAutosave(l),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:s,onFacts:i,onLate:({revision:l,phase:u})=>{const d=Wn(l);return o?.(d)??!1},onError:l=>{l instanceof Error&&l.message}});return{id:"recovery",load:()=>c.verdict().then(({revision:l})=>Wn(l)),watch(l){return o=l,()=>{o=null,c.dispose()}}}}function or(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){Yo(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const s=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),s}}}function na(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const s=await t.updateEmail(n,r);return await e.updateEmail(n,r),s}}}var ar=a.createIdentifier$1("CurrentUser"),lr={};function cr(e){return e.getOrCreateInstance(ar,()=>pe(lr))}function dr(e){return e?.getInstance(ar)?.get()??lr}function ur(e){return e?.getInstance(a.CONFIG_SOURCE_ID)?.get()??{}}var ra=1.5;function sa(e){return!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=ra*e.autosaveTimeoutMs?"none":"revision"}var ia=4;function oa(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:s}=e,i=e.readFailures??(()=>0),o=()=>n().autosaveTimeoutMs*2**Math.min(i(),ia),c=()=>{const b=t();if(!b||b.isDisposed())return"none";const{latestRevisionAt:_,snapshotVersion:w,...P}=n();return sa({...P,isDirty:b.isDirty(),isNew:b.isNew(),isReady:b.isReady(),latestRevisionAgeMs:_!=null?Date.now()-_:void 0,isSnapshotSent:w!=null&&w===b.get().version})},l=()=>{const b=t();if(!b||b.isDisposed())return!1;if(!b.isDirty())return b.isNew();const{snapshotVersion:_}=n();return!(_!=null&&_===b.get().version)};let u,d,p,m,v=!1;const y=()=>{d=void 0;const b=t();if(!b||b.isDisposed())return;if(b.get().docId!==u){E();return}const _=c();_==="create"?r():_==="revision"?s():l()&&(u=b.get().docId,d=setTimeout(y,o()))},E=()=>{const b=t();v||!b||d!==void 0||c()==="none"&&!l()||(u=b.get().docId,d=setTimeout(y,o()))},g=()=>{const b=t();b!==p&&(m?.(),p=b,m=b?.subscribe(E),d!==void 0&&(clearTimeout(d),d=void 0))};return g(),E(),{refresh:()=>{v||(g(),E())},stop:()=>{v=!0,m?.(),m=void 0,p=void 0,d!==void 0&&(clearTimeout(d),d=void 0)}}}var fr=a.createIdentifier$1("documentSession.autosaveUiFacts"),pr={isUserBusy:!1,saveContext:{}};function aa(e){return e.getOrCreateInstance(fr,()=>pe(pr))}function mr(e){return e?.getInstance(fr)?.get()??pr}var la=1e4;function ca(e,t){const n=()=>{const l=t.current(),u=l?.get().serverId??void 0,d=ne(t.sessionKey()),p=t.recoveryFacts(),m=p?.emailId===u?p:void 0,v=t.revisionFacts(),y=m?.latestRevisionAt,E=v?.lastRevisionAt,g=dr(e).profile;return{isInited:d||l?.get().attributes.is_inited===!0,isEnabled:!!g?.autosaves,isHistoryLoaded:m?.historyLoaded===!0,isUserBusy:mr(e).isUserBusy,autosaveTimeoutMs:ur(e).autosaveTimeout||la,latestRevisionAt:y!==void 0||E!==void 0?Math.max(y??0,E??0):void 0,snapshotVersion:v?.snapshotVersion}},r=()=>{const l=mr(e).saveContext;return{...l,project:l.project??t.current()?.get().attributes.project}},s=oa({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{ne(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),i=t.subscribe(s.refresh),o=cr(e).watch(()=>s.refresh()),c=aa(e).watch(()=>s.refresh());return()=>{i(),o.dispose(),c.dispose(),s.stop()}}var hr=12e3;function se(e){return e.getOrCreateInstance(at,()=>{const t=ko({resolveAdapters:(r,s)=>fa(r,e,s),resolveWritePort:()=>gr(e),resolveHistoryPort:r=>ne(r)?vr(e):Er(e),resolveTerms:()=>Ho(e),canEdit:r=>Gi(e,r),notifyBeforeSave:Xi(e),timeoutMs:hr,onAdapterError:(r,s)=>{s instanceof Error&&s.message,xe(s,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=ca(e,t);return e.getInstance(a.DISPOSABLE_ID)?.addDispose(n),t})}function ht(e){return e?.getInstance(at)}function gr(e){const t=Bo(e);return t?gt(e)?na(t,le(e).email(e)):t:le(e).email(e)}function da(e){return ir(e)!==void 0||nr(e)}function Er(e){const t=ir(e);return t?gt(e)?(U("port:history:server-backed"),or(t,le(e).history(e))):(U("port:history:integrator"),t):(U("port:history:rest (порт не зарегистрирован)"),le(e).history(e))}function vr(e){const t=sr(e);return t?gt(e)?(U("port:block-history:server-backed"),or(t,le(e).blockHistory(e))):(U("port:block-history:integrator"),t):(U("port:block-history:rest (порт не зарегистрирован)"),le(e).blockHistory(e))}function ua(e){return sr(e)!==void 0||nr(e)}function gt(e){return An(e)}function fa({email:e,patch:t,serverId:n,key:r},s,i){const o=[];e?o.push({id:"rest",load:()=>zn(e),required:!0}):n&&o.push(Fo(gr(s),n)),t&&o.push({id:"plugin",load:()=>Kn(t)});const c=ne(r);return Ji(n)&&(c?ua(s):da(s))&&o.push(ta({port:c?vr(s):Er(s),revisionServiceEnabled:An(s),...!c&&Vi(s)?{isHistoryAvailable:()=>Yi(s)}:{},emailId:n,readShownContent:()=>i.readShownContent(),onFacts:l=>i.publishRecoveryFacts(l)})),o}function q(e){return e.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}var br=new WeakMap,Et=new WeakMap;function ie(e){return br.get(e)??0}function _r(e,t){let n=Et.get(e);return n||(n=new Set,Et.set(e,n)),n.add(t),()=>{n?.delete(t)}}function pa(e){br.set(e,ie(e)+1),Et.get(e)?.forEach(t=>t())}function ma(e){const t=se(e),n=q(e).addListener(a.EVENT_TYPES.APPLICATION_HAS_AMP,r=>{we(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>n.dispose())}function ha(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function ga(e){const t=e.fetchImpl??((i,o)=>fetch(i,o)),n=e.pageHost??(()=>window.location.hostname),r=new Set,s=i=>{try{const o=new URL(i,window.location.href);return o.protocol!=="https:"&&o.protocol!=="http:"?!1:o.hostname===n()||e.sourceHosts().includes(o.hostname)}catch{return!1}};return{accepts:s,async load(i){if(!s(i))return;const o=!r.has(i);r.add(i);try{const c=await t(i,{mode:"cors",credentials:"omit",cache:o?"no-cache":"default"});if(!c.ok)return;const l=await c.blob();return ha(l)?l:void 0}catch{return}}}}var ce={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function Ea(e){const t={maxBytes:e.maxBytes??ce.maxBytes,maxImageBytes:e.maxImageBytes??ce.maxImageBytes,ttlMs:e.ttlMs??ce.ttlMs},n=e.now??(()=>Date.now()),r=new Map,s=new Map,i={hits:0,loads:0,failures:0};let o=0;const c=p=>{const m=r.get(p);m&&(o-=m.bytes,r.delete(p))},l=p=>t.ttlMs<=0||n()-p.storedAt<t.ttlMs,u=()=>{if(o<=t.maxBytes)return;const p=[...r.entries()].sort((m,v)=>m[1].usedAt-v[1].usedAt);for(const[m]of p){if(o<=t.maxBytes)return;c(m)}},d=(p,m)=>{m.size>t.maxImageBytes||(r.set(p,{blob:m,bytes:m.size,storedAt:n(),usedAt:n()}),o+=m.size,u())};return{async get(p){const m=r.get(p);if(m&&l(m))return m.usedAt=n(),i.hits+=1,m.blob;m&&c(p);const v=s.get(p);if(v!==void 0)return v;i.loads+=1;const y=(async()=>{try{const E=await e.load(p);return E?d(p,E):i.failures+=1,E}catch{i.failures+=1;return}finally{s.delete(p)}})();return s.set(p,y),y},forget(p){c(p),s.delete(p)},clear(){r.clear(),s.clear(),o=0},stats(){return{entries:r.size,bytes:o,...i}}}}var va=["emcdn.ru","scr.emcdn.ru"];function ba(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t.includes("//")?t:`https://${t}`).hostname}catch{return t.split("/")[0].split(":")[0]}}function _a(e,t){const n=(r,s)=>{const i=new Set(s?t:[]);for(const o of r){const c=ba(o);c&&i.add(c)}return[...i]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function yr(e){const t=e??{},n=t.isPlugin!==!0?va:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],...ce};const s=r===!0||r===void 0?{}:r;return{enabled:s.enabled!==!1,sourceHosts:_a(s.sourceHosts,n),maxBytes:s.maxBytes??ce.maxBytes,maxImageBytes:s.maxImageBytes??ce.maxImageBytes,ttlMs:s.ttlMs??ce.ttlMs}}function ya(e){const t=q(e),n=e.getInstance(a.CONFIG_SOURCE_ID);let r=yr(n?.get());const s=ga({sourceHosts:()=>r.sourceHosts}),i=Ea({load:y=>s.load(y),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),o=()=>{t.send(a.EVENT_TYPES.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},c=t.onInit(()=>o()),l=n?.watch(()=>{const y=yr(n.get()),E=JSON.stringify(y)!==JSON.stringify(r);r=y,y.enabled||i.clear(),E&&t.isInited()&&o()}),u={asked:0,served:0,refused:0},d=[],p=(y,E)=>(u.refused+=1,d.push({url:y,reason:E}),d.length>20&&d.shift(),{refused:!0}),m=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...u},refusals:[...d],store:i.stats()})}),v=t.addListenerAsync(a.EVENT_TYPES.APPLICATION_CANVAS_IMAGE_GET,async y=>{const E=y?.url??"";if(u.asked+=1,!r.enabled||!E)return p(E,"disabled");if(!s.accepts(E))return p(E,"host");y.fresh&&i.forget(E);const g=await i.get(E);return g?(u.served+=1,{blob:g}):p(E,"load-failed")});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c.dispose(),l?.dispose(),v.dispose(),i.clear(),delete m.__emmCanvasImages__})}var Sa=2e3;function wa(e){const t=q(e),n=new Set,r=()=>{const o=t.getTarget();if(!o||t.hasPort(o))return;const c=new MessageChannel;let l=!1;const u=p=>{p.data?.operationId==="em:port-ready"&&(l=!0,c.port1.removeEventListener("message",u),t.drainWindow(o))};c.port1.addEventListener("message",u),t.sendPort(o,c.port2),t.usePort(c.port1,!1,o);const d=setTimeout(()=>{n.delete(d),!l&&(xe(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),c.port1.removeEventListener("message",u),t.useWindow(o))},Sa);n.add(d)},s=Object.assign(globalThis,{__emmCanvasPort__:()=>{const o=t.getTarget();return{usesPort:t.usesPort,windowDrained:o?t.isWindowDrained(o):!1}}}),i=t.onInit(()=>r());e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{for(const o of n)clearTimeout(o);i.dispose(),delete s.__emmCanvasPort__})}var Ia=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function Ta(e){return Ia.test(e)||e.indexOf("//")===0}function He(e){return e&&(e.endsWith("/")?e:`${e}/`)}function Aa(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function Sr(e,t){const n=e==null||e===""?"./":String(e);if(Ta(n))return He(n);const r=t??Aa();if(!r)return He(n);try{return He(new URL(n,r).href)}catch{return He(n)}}function Ca(){return typeof __emailmaker__<"u"&&__emailmaker__?.publicPath?Sr(__emailmaker__.publicPath):Sr("/")}var Pa=()=>"",Da=()=>"fd7c3ffe";function wr(e){const t=e?"iframe-eblock":"iframe",n=Pa();if(n){const i=n.replace(/\/?$/,"/");return bn(`${i}${t}.html`,_e())}const r=Da(),s=`${Ca().replace(/\/?$/,"/")}iframe/`;return bn(`${s}${t}${r?`.${r}`:""}.html`,_e())}var Ir="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function vt(e){return/^file:/i.test(String(e||"").trim())}function Ra(e){return vt(e)?`${Ir} allow-same-origin`:Ir}var rm="em:module-body",Oa="em:module-body-ack";function La(e,t,n){try{const r=new URL("./",new URL(t,n)).href,s=new URL(e,r).href;return s.startsWith(r)?s:void 0}catch{return}}function bt(e){const t=e.split(/[?#]/)[0].split("/").pop()??"",n=/^(.+?)(?:\.[0-9a-f]{6,})?\.html$/.exec(t);return n?`js/${n[1]}.body.js`:void 0}function Na(e,t){const n=bt(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(s=>e[s]?.file).filter(s=>!!s):[]}function Ma(e,t){const n=bt(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),s=[n],i=[];for(;s.length>0;)for(const o of e[s.shift()]??[])r.has(o)||(r.add(o),i.push(o),s.push(o));return i}async function xa(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function ka(e){const t=new Map,n=r=>{const s=La(r,e.canvasSrc,e.origin);if(!s)return;const i=t.get(s);if(i!==void 0)return i;const o=e.fetchBody(s);return t.set(s,o),o};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const s of r)n(s)},reset(){t.clear()},get size(){return t.size}}}async function Fa(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,s=await fetch(r);if(!s.ok)return;const i=await s.json();n(Na(i,e))}catch{}}function Ba(e){try{return vt(new URL(e,window.location.href).href)}catch{return vt(window.location.href)}}function ja(e){q(e);const t=wr(!1);if(Ba(t))return;const n=ka({canvasSrc:t,origin:window.location.href,fetchBody:xa}),r=bt(t);r&&n.warm([r]);const s={"js/iframe-eblock.js":["js/discussHandlers.Clc2uPQ5.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.Clc2uPQ5.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.Clc2uPQ5.js":["js/rolldown-runtime.qcwTIabA.js"],"js/rolldown-runtime.qcwTIabA.js":[],"js/rules.CnnzdMsj.js":[],"js/typograf.all.B0pVhMV_.js":["js/rolldown-runtime.qcwTIabA.js"]};s?n.warm(Ma(s,t)):Fa(t,window.location.href,o=>n.warm(o));const i=o=>{const c=o.data;if(!c||c.operationId!=="em:module-body"||!c.result)return;const l=o.source;l&&(l.postMessage({operationId:Oa,for:c.result},"*"),n.take(c.data?.url??"").then(u=>{l.postMessage({operationId:c.result,data:u??null},"*")}))};window.addEventListener("message",i),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{window.removeEventListener("message",i),n.reset()})}var me=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,Ua=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,he=/<style\b[^>]*>[\s\S]*?<\/style>/gi,Tr=/display:\s*none\s*!important/gi,Ha=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,$a=/\s*height\s*:\s*100%\s*!important\s*;?/gi,Ga=/height\s*:\s*100%\s*!important/i,Va=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function Ya(e){return Tr.lastIndex=0,(e.match(Tr)||[]).length}function Ar(e){const t=e.trim(),n=Ya(t);if(n===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||n>=3||t.length>2e3))return!0;const r=Va.filter(s=>t.includes(s)).length;return r>=1&&(n>=3||t.length>2e3)||n>=5&&r>=1?!0:n>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function qa(e){he.lastIndex=0;for(const t of e.matchAll(he))if(Ar(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function za(e){let t=!1;return he.lastIndex=0,{html:e.replace(he,n=>Ar(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function Ka(e){return me.lastIndex=0,me.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||qa(e)}function Wa(e){if(!Ka(e))return{html:e,found:!1};let t=!1,n=e;me.lastIndex=0,me.test(n)&&(me.lastIndex=0,n=n.replace(me,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(Ua,""),t=!0);const r=za(n);return n=r.html,t=t||r.found,{html:n,found:t}}function Xa(e){return!e||!Ga.test(e)?e:(he.lastIndex=0,e.replace(he,t=>t.replace(Ha,(n,r,s,i)=>`${r}${s.replace($a,"")}${i}`)))}function Cr(e){const t=Wa(e.replaceAll(`\r
2083
+ `)}function Zo({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:s,onFacts:i,onLate:o,onError:c,pageLoadTs:l=Jo()}){let u=null,d=!1,p=!1,m=0,v={emailId:e,historyLoaded:!1,isRecovering:!1},y=null;const E=new Promise(A=>{y=A}),g=A=>{v={...v,...A},i(v)},b=A=>{m+=1,g({applied:{phase:A,seq:m}})},_=()=>{u?.timer&&clearTimeout(u.timer),u=null},I=A=>{if(!p){if(y){const L=y;y=null,L(A),A.revision&&b(A.phase);return}o(A)&&A.revision&&b(A.phase)}},P=()=>{if(!u||p)return;const A=u.phase==="fast",L=A?qo:Wo,k=A?Ko:Xo;u.timer=setTimeout(()=>{const F=u;if(!(!F||p)){if(F.attempts+=1,S(),A&&F.attempts>=k){const{pending:V}=F;He(e),g({isRecovering:!1}),I({revision:{html:V.html,common_styles:V.common_styles,subject:V.subject,preheader:V.preheader},phase:"timeout"}),d=!0,F.phase="bg",F.attempts=0,P();return}if(!A&&F.attempts>=k){He(e),_(),g({isRecovering:!1}),d=!0;return}P()}},L),u.timer.unref?.()},D=A=>{u={phase:"fast",attempts:0,pending:A,timer:null},g({isRecovering:!0}),P()},h=(A,L)=>Gn(A.autosave,L===void 0?{}:{freshSince:L})?A.autosave:null,w=A=>{if(p)return;if(g({historyLoaded:!0,latestRevisionAt:A.latestAt!==void 0&&Number.isFinite(A.latestAt)?A.latestAt:void 0}),n&&u){const F=h(A,u.pending.sentAt);if(!F)return;const V=u.phase==="fast"?"found":"bg";He(e),_(),g({isRecovering:!1}),d=!0,I({revision:F,phase:V});return}if(d)return;const L=n?Yo(e):null,k=L&&(L.sentAt<l||!Qo(L.html,s()))?L:null;if(k){const F=h(A,k.sentAt);if(F){He(e),d=!0,I({revision:F,phase:"found"});return}D(k);return}d=!0,I({revision:h(A),phase:"normal"})},f=A=>{p||(c?.(A),v.historyLoaded||(g({historyLoaded:!1,latestRevisionAt:void 0}),C()),!u&&I({revision:null,phase:"normal"}))},S=()=>t(e).then(w).catch(f);let T,N=!1;const C=()=>{N||u||p||(N=!0,T=setTimeout(()=>{T=void 0,!p&&!v.historyLoaded&&S()},zo))},O=()=>{p||(g({historyLoaded:!1,latestRevisionAt:void 0}),I({revision:null,phase:"normal"}))};return r?r().then(A=>A?S():O()):S(),{verdict:()=>E,dispose(){p=!0,T!==void 0&&(clearTimeout(T),T=void 0),_()}}}function ea({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:s,onFacts:i}){let o=null;const c=Zo({emailId:r,readAutosave:l=>e.readAutosave(l),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:s,onFacts:i,onLate:({revision:l,phase:u})=>{const d=Jn(l);return o?.(d)??!1},onError:l=>{l instanceof Error&&l.message}});return{id:"recovery",load:()=>c.verdict().then(({revision:l})=>Jn(l)),watch(l){return o=l,()=>{o=null,c.dispose()}}}}function lr(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){Vo(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const s=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),s}}}function ta(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const s=await t.updateEmail(n,r);return await e.updateEmail(n,r),s}}}var cr=a.createIdentifier$1("CurrentUser"),dr={};function ur(e){return e.getOrCreateInstance(cr,()=>pe(dr))}function fr(e){return e?.getInstance(cr)?.get()??dr}function pr(e){return e?.getInstance(a.CONFIG_SOURCE_ID)?.get()??{}}var na=1.5;function ra(e){return!e.isEnabled||e.isUserBusy||!e.isReady||!e.isInited?"none":e.isNew?"create":!e.isDirty||e.isSnapshotSent||!e.isHistoryLoaded||e.latestRevisionAgeMs!==void 0&&e.latestRevisionAgeMs<=na*e.autosaveTimeoutMs?"none":"revision"}var sa=4;function ia(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:s}=e,i=e.readFailures??(()=>0),o=()=>n().autosaveTimeoutMs*2**Math.min(i(),sa),c=()=>{const b=t();if(!b||b.isDisposed())return"none";const{latestRevisionAt:_,snapshotVersion:I,...P}=n();return ra({...P,isDirty:b.isDirty(),isNew:b.isNew(),isReady:b.isReady(),latestRevisionAgeMs:_!=null?Date.now()-_:void 0,isSnapshotSent:I!=null&&I===b.get().version})},l=()=>{const b=t();if(!b||b.isDisposed())return!1;if(!b.isDirty())return b.isNew();const{snapshotVersion:_}=n();return!(_!=null&&_===b.get().version)};let u,d,p,m,v=!1;const y=()=>{d=void 0;const b=t();if(!b||b.isDisposed())return;if(b.get().docId!==u){E();return}const _=c();_==="create"?r():_==="revision"?s():l()&&(u=b.get().docId,d=setTimeout(y,o()))},E=()=>{const b=t();v||!b||d!==void 0||c()==="none"&&!l()||(u=b.get().docId,d=setTimeout(y,o()))},g=()=>{const b=t();b!==p&&(m?.(),p=b,m=b?.subscribe(E),d!==void 0&&(clearTimeout(d),d=void 0))};return g(),E(),{refresh:()=>{v||(g(),E())},stop:()=>{v=!0,m?.(),m=void 0,p=void 0,d!==void 0&&(clearTimeout(d),d=void 0)}}}var mr=a.createIdentifier$1("documentSession.autosaveUiFacts"),hr={isUserBusy:!1,saveContext:{}};function oa(e){return e.getOrCreateInstance(mr,()=>pe(hr))}function gr(e){return e?.getInstance(mr)?.get()??hr}var aa=1e4;function la(e,t){const n=()=>{const l=t.current(),u=l?.get().serverId??void 0,d=ne(t.sessionKey()),p=t.recoveryFacts(),m=p?.emailId===u?p:void 0,v=t.revisionFacts(),y=m?.latestRevisionAt,E=v?.lastRevisionAt,g=fr(e).profile;return{isInited:d||l?.get().attributes.is_inited===!0,isEnabled:!!g?.autosaves,isHistoryLoaded:m?.historyLoaded===!0,isUserBusy:gr(e).isUserBusy,autosaveTimeoutMs:pr(e).autosaveTimeout||aa,latestRevisionAt:y!==void 0||E!==void 0?Math.max(y??0,E??0):void 0,snapshotVersion:v?.snapshotVersion}},r=()=>{const l=gr(e).saveContext;return{...l,project:l.project??t.current()?.get().attributes.project}},s=ia({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{ne(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),i=t.subscribe(s.refresh),o=ur(e).watch(()=>s.refresh()),c=oa(e).watch(()=>s.refresh());return()=>{i(),o.dispose(),c.dispose(),s.stop()}}var Er=12e3;function se(e){return e.getOrCreateInstance(lt,()=>{const t=xo({resolveAdapters:(r,s)=>ua(r,e,s),resolveWritePort:()=>vr(e),resolveHistoryPort:r=>ne(r)?_r(e):br(e),resolveTerms:()=>Uo(e),canEdit:r=>$i(e,r),notifyBeforeSave:Wi(e),timeoutMs:Er,onAdapterError:(r,s)=>{s instanceof Error&&s.message,ke(s,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=la(e,t);return e.getInstance(a.DISPOSABLE_ID)?.addDispose(n),t})}function gt(e){return e?.getInstance(lt)}function vr(e){const t=Fo(e);return t?Et(e)?ta(t,le(e).email(e)):t:le(e).email(e)}function ca(e){return ar(e)!==void 0||sr(e)}function br(e){const t=ar(e);return t?Et(e)?(H("port:history:server-backed"),lr(t,le(e).history(e))):(H("port:history:integrator"),t):(H("port:history:rest (порт не зарегистрирован)"),le(e).history(e))}function _r(e){const t=or(e);return t?Et(e)?(H("port:block-history:server-backed"),lr(t,le(e).blockHistory(e))):(H("port:block-history:integrator"),t):(H("port:block-history:rest (порт не зарегистрирован)"),le(e).blockHistory(e))}function da(e){return or(e)!==void 0||sr(e)}function Et(e){return Pn(e)}function ua({email:e,patch:t,serverId:n,key:r},s,i){const o=[];e?o.push({id:"rest",load:()=>Wn(e),required:!0}):n&&o.push(ko(vr(s),n)),t&&o.push({id:"plugin",load:()=>Xn(t)});const c=ne(r);return Xi(n)&&(c?da(s):ca(s))&&o.push(ea({port:c?_r(s):br(s),revisionServiceEnabled:Pn(s),...!c&&Gi(s)?{isHistoryAvailable:()=>Vi(s)}:{},emailId:n,readShownContent:()=>i.readShownContent(),onFacts:l=>i.publishRecoveryFacts(l)})),o}function q(e){return e.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}var yr=new WeakMap,vt=new WeakMap;function ie(e){return yr.get(e)??0}function Sr(e,t){let n=vt.get(e);return n||(n=new Set,vt.set(e,n)),n.add(t),()=>{n?.delete(t)}}function fa(e){yr.set(e,ie(e)+1),vt.get(e)?.forEach(t=>t())}function pa(e){const t=se(e),n=q(e).addListener(a.EVENT_TYPES.APPLICATION_HAS_AMP,r=>{we(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>n.dispose())}function ma(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function ha(e){const t=e.fetchImpl??((i,o)=>fetch(i,o)),n=e.pageHost??(()=>window.location.hostname),r=new Set,s=i=>{try{const o=new URL(i,window.location.href);return o.protocol!=="https:"&&o.protocol!=="http:"?!1:o.hostname===n()||e.sourceHosts().includes(o.hostname)}catch{return!1}};return{accepts:s,async load(i){if(!s(i))return;const o=!r.has(i);r.add(i);try{const c=await t(i,{mode:"cors",credentials:"omit",cache:o?"no-cache":"default"});if(!c.ok)return;const l=await c.blob();return ma(l)?l:void 0}catch{return}}}}var ce={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function ga(e){const t={maxBytes:e.maxBytes??ce.maxBytes,maxImageBytes:e.maxImageBytes??ce.maxImageBytes,ttlMs:e.ttlMs??ce.ttlMs},n=e.now??(()=>Date.now()),r=new Map,s=new Map,i={hits:0,loads:0,failures:0};let o=0;const c=p=>{const m=r.get(p);m&&(o-=m.bytes,r.delete(p))},l=p=>t.ttlMs<=0||n()-p.storedAt<t.ttlMs,u=()=>{if(o<=t.maxBytes)return;const p=[...r.entries()].sort((m,v)=>m[1].usedAt-v[1].usedAt);for(const[m]of p){if(o<=t.maxBytes)return;c(m)}},d=(p,m)=>{m.size>t.maxImageBytes||(r.set(p,{blob:m,bytes:m.size,storedAt:n(),usedAt:n()}),o+=m.size,u())};return{async get(p){const m=r.get(p);if(m&&l(m))return m.usedAt=n(),i.hits+=1,m.blob;m&&c(p);const v=s.get(p);if(v!==void 0)return v;i.loads+=1;const y=(async()=>{try{const E=await e.load(p);return E?d(p,E):i.failures+=1,E}catch{i.failures+=1;return}finally{s.delete(p)}})();return s.set(p,y),y},forget(p){c(p),s.delete(p)},clear(){r.clear(),s.clear(),o=0},stats(){return{entries:r.size,bytes:o,...i}}}}var Ea=["emcdn.ru","scr.emcdn.ru"];function va(e){const t=String(e??"").trim();if(!t)return"";try{return new URL(t.includes("//")?t:`https://${t}`).hostname}catch{return t.split("/")[0].split(":")[0]}}function ba(e,t){const n=(r,s)=>{const i=new Set(s?t:[]);for(const o of r){const c=va(o);c&&i.add(c)}return[...i]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function Ir(e){const t=e??{},n=t.isPlugin!==!0?Ea:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],...ce};const s=r===!0||r===void 0?{}:r;return{enabled:s.enabled!==!1,sourceHosts:ba(s.sourceHosts,n),maxBytes:s.maxBytes??ce.maxBytes,maxImageBytes:s.maxImageBytes??ce.maxImageBytes,ttlMs:s.ttlMs??ce.ttlMs}}function _a(e){const t=q(e),n=e.getInstance(a.CONFIG_SOURCE_ID);let r=Ir(n?.get());const s=ha({sourceHosts:()=>r.sourceHosts}),i=ga({load:y=>s.load(y),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),o=()=>{t.send(a.EVENT_TYPES.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},c=t.onInit(()=>o()),l=n?.watch(()=>{const y=Ir(n.get()),E=JSON.stringify(y)!==JSON.stringify(r);r=y,y.enabled||i.clear(),E&&t.isInited()&&o()}),u={asked:0,served:0,refused:0},d=[],p=(y,E)=>(u.refused+=1,d.push({url:y,reason:E}),d.length>20&&d.shift(),{refused:!0}),m=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...u},refusals:[...d],store:i.stats()})}),v=t.addListenerAsync(a.EVENT_TYPES.APPLICATION_CANVAS_IMAGE_GET,async y=>{const E=y?.url??"";if(u.asked+=1,!r.enabled||!E)return p(E,"disabled");if(!s.accepts(E))return p(E,"host");y.fresh&&i.forget(E);const g=await i.get(E);return g?(u.served+=1,{blob:g}):p(E,"load-failed")});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c.dispose(),l?.dispose(),v.dispose(),i.clear(),delete m.__emmCanvasImages__})}var ya=2e3;function Sa(e){const t=q(e),n=new Set,r=()=>{const o=t.getTarget();if(!o||t.hasPort(o))return;const c=new MessageChannel;let l=!1;const u=p=>{p.data?.operationId==="em:port-ready"&&(l=!0,c.port1.removeEventListener("message",u),t.drainWindow(o))};c.port1.addEventListener("message",u),t.sendPort(o,c.port2),t.usePort(c.port1,!1,o);const d=setTimeout(()=>{n.delete(d),!l&&(ke(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),c.port1.removeEventListener("message",u),t.useWindow(o))},ya);n.add(d)},s=Object.assign(globalThis,{__emmCanvasPort__:()=>{const o=t.getTarget();return{usesPort:t.usesPort,windowDrained:o?t.isWindowDrained(o):!1}}}),i=t.onInit(()=>r());e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{for(const o of n)clearTimeout(o);i.dispose(),delete s.__emmCanvasPort__})}var Ia=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function wa(e){return Ia.test(e)||e.indexOf("//")===0}function $e(e){return e&&(e.endsWith("/")?e:`${e}/`)}function Ta(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function wr(e,t){const n=e==null||e===""?"./":String(e);if(wa(n))return $e(n);const r=t??Ta();if(!r)return $e(n);try{return $e(new URL(n,r).href)}catch{return $e(n)}}function Aa(){return typeof __emailmaker__<"u"&&__emailmaker__?.publicPath?wr(__emailmaker__.publicPath):wr("/")}var Ca=()=>"",Pa=()=>"8402bf20";function Tr(e){const t=e?"iframe-eblock":"iframe",n=Ca();if(n){const i=n.replace(/\/?$/,"/");return yn(`${i}${t}.html`,ye())}const r=Pa(),s=`${Aa().replace(/\/?$/,"/")}iframe/`;return yn(`${s}${t}${r?`.${r}`:""}.html`,ye())}var Ar="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function bt(e){return/^file:/i.test(String(e||"").trim())}function Da(e){return bt(e)?`${Ar} allow-same-origin`:Ar}var am="em:module-body",Ra="em:module-body-ack";function Oa(e,t,n){try{const r=new URL("./",new URL(t,n)).href,s=new URL(e,r).href;return s.startsWith(r)?s:void 0}catch{return}}function _t(e){const t=e.split(/[?#]/)[0].split("/").pop()??"",n=/^(.+?)(?:\.[0-9a-f]{6,})?\.html$/.exec(t);return n?`js/${n[1]}.body.js`:void 0}function La(e,t){const n=_t(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(s=>e[s]?.file).filter(s=>!!s):[]}function Na(e,t){const n=_t(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),s=[n],i=[];for(;s.length>0;)for(const o of e[s.shift()]??[])r.has(o)||(r.add(o),i.push(o),s.push(o));return i}async function Ma(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function xa(e){const t=new Map,n=r=>{const s=Oa(r,e.canvasSrc,e.origin);if(!s)return;const i=t.get(s);if(i!==void 0)return i;const o=e.fetchBody(s);return t.set(s,o),o};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const s of r)n(s)},reset(){t.clear()},get size(){return t.size}}}async function ka(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,s=await fetch(r);if(!s.ok)return;const i=await s.json();n(La(i,e))}catch{}}function Fa(e){try{return bt(new URL(e,window.location.href).href)}catch{return bt(window.location.href)}}function Ba(e){q(e);const t=Tr(!1);if(Fa(t))return;const n=xa({canvasSrc:t,origin:window.location.href,fetchBody:Ma}),r=_t(t);r&&n.warm([r]);const s={"js/iframe-eblock.js":["js/discussHandlers.DO8E9IM3.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.DO8E9IM3.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.DO8E9IM3.js":["js/rolldown-runtime.qcwTIabA.js"],"js/rolldown-runtime.qcwTIabA.js":[],"js/rules.CnnzdMsj.js":[],"js/typograf.all.B0pVhMV_.js":["js/rolldown-runtime.qcwTIabA.js"]};s?n.warm(Na(s,t)):ka(t,window.location.href,o=>n.warm(o));const i=o=>{const c=o.data;if(!c||c.operationId!=="em:module-body"||!c.result)return;const l=o.source;l&&(l.postMessage({operationId:Ra,for:c.result},"*"),n.take(c.data?.url??"").then(u=>{l.postMessage({operationId:c.result,data:u??null},"*")}))};window.addEventListener("message",i),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{window.removeEventListener("message",i),n.reset()})}var me=/<script\b(?=[^>]*(?:\bbis_use(?:=|\s)|\bdata-bis-config(?:=|\s)|\bdata-dynamic-id(?:=|\s)|local\.adguard\.org|(?:chrome-extension|moz-extension|safari-extension):\/\/))[^>]*>[\s\S]*?<\/script>/gi,ja=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,he=/<style\b[^>]*>[\s\S]*?<\/style>/gi,Cr=/display:\s*none\s*!important/gi,Ua=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,Ha=/\s*height\s*:\s*100%\s*!important\s*;?/gi,$a=/height\s*:\s*100%\s*!important/i,Ga=[".socialshare,",".advertisment,",".adHolder,",".adsbygoogle-noablate","#ab_adblock","#popmechanic-snippet","filter_ads_by_classname","clever-core-ads","--gn-ov-ad-height","pub_728x90.text-ad.textAd","html-load.com/player","content-loader.com/player",".adblock","#advblock","body { overflow: visible!important; }"];function Va(e){return Cr.lastIndex=0,(e.match(Cr)||[]).length}function Pr(e){const t=e.trim(),n=Va(t);if(n===0)return!1;if(t.includes(".advertisment,")&&t.includes(".adHolder,")&&(t.includes(".socialshare,")||n>=3||t.length>2e3))return!0;const r=Ga.filter(s=>t.includes(s)).length;return r>=1&&(n>=3||t.length>2e3)||n>=5&&r>=1?!0:n>=20&&/\b(?:\.ad(?:s|vert|vertisment|Holder|banner|box|Container|Wrapper)?[,{]|#ad[-_]|ins\.adsbygoogle)/i.test(t)}function Ya(e){he.lastIndex=0;for(const t of e.matchAll(he))if(Pr(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function qa(e){let t=!1;return he.lastIndex=0,{html:e.replace(he,n=>Pr(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function za(e){return me.lastIndex=0,me.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||Ya(e)}function Ka(e){if(!za(e))return{html:e,found:!1};let t=!1,n=e;me.lastIndex=0,me.test(n)&&(me.lastIndex=0,n=n.replace(me,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(ja,""),t=!0);const r=qa(n);return n=r.html,t=t||r.found,{html:n,found:t}}function Wa(e){return!e||!$a.test(e)?e:(he.lastIndex=0,e.replace(he,t=>t.replace(Ua,(n,r,s,i)=>`${r}${s.replace(Ha,"")}${i}`)))}function Dr(e){const t=Ka(e.replaceAll(`\r
2084
2084
  `,`
2085
- `));return{html:Xa(t.html),hasBrowserExtensionArtifacts:t.found}}function _t(e){return e?.getContent()??""}function Pr(e,t){e?.mutate({content:$n(t)},{source:"remote"})}function Dr(e){return a.createIdentifier$1(e)}function Q(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter)}function $(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter).event}function yt(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var Ja=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Qa=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,n){return this._rejectPending(a.createAbortError("Superseded by newer show()")),n.aborted?Promise.reject(a.createAbortError(n.reason)):(this._activeRequest=e,new Promise((r,s)=>{const i=setTimeout(()=>{this._settle(e.showId,()=>{s(new Ja(e.showId,t))})},t);i.unref?.();const o=()=>{this._settle(e.showId,()=>{s(a.createAbortError(n.reason))})};n.addEventListener("abort",o,{once:!0});const c=()=>{clearTimeout(i),n.removeEventListener("abort",o)};this._pending.set(e.showId,{request:e,resolve:r,reject:s,timeoutId:i,dispose:c});for(const l of this._listeners)l(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,n=>{n.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const n=this._pending.get(e);n&&(n.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(n))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function Za(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function el(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Ln(e),n=Nn(e),r=zi(e.sandbox);t<n+r}var Rr=class{_controller=new AbortController;_externalSignalDisposable=new a.Disposable;_sessionChangeListeners=new Set;_showRegistry=new Qa;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Ln(this._timeouts)}getSandboxTimeoutMs(e){return On(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Nn(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=Za(this._timeouts,e.timeouts),el(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}abort(e){const t=e??a.createAbortError("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable,this._showRegistry.rejectAll(a.createAbortError("Init session replaced")),this._controller.signal.aborted||this._controller.abort(a.createAbortError("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??a.createAbortError()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??a.createAbortError()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},St=(()=>{const e=new Rr;return e.configure({}),e})(),tl=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function nl(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function rl(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():(a.throwIfAborted(n),new Promise((r,s)=>{let i=!1,o,c;const l=d=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),c?.dispose(),n?.removeEventListener("abort",u),d())},u=()=>{l(()=>s(a.createAbortError(n?.reason)))};if(c=e.onInit(()=>{e.isInited()&&e.getTarget()&&l(()=>r())}),e.isInited()&&e.getTarget()){l(()=>r());return}t>0&&(o=setTimeout(()=>{l(()=>s(new tl(t)))},t)),n?.addEventListener("abort",u)}))}var sl=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function il(e,t,n){return t<=0?e:new Promise((r,s)=>{let i=!1,o;const c=l=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),l())};o=setTimeout(()=>{c(()=>s(new sl(n,t)))},t),e.then(l=>{c(()=>r(l))},l=>{c(()=>s(l))})})}var ol=2,$e=Symbol("sandbox:frame-replaced");function ee(e,t,n,r,s,i,o){const c=`sandbox:${t}`,l=i?.getSandboxTimeoutMs(t)??ct[t],u=()=>{let y=il(e.sendAsync(n,r),l,c);return y=a.raceWithAbortSignal(y,i?.signal),Ie(c,y,s)};if(t==="INIT_START"&&nl(e)){const y=i?.getSandboxReadyTimeoutMs()??2e4,E=e,g=b=>{const _=rl(E,y,i?.signal);return Ie("sandbox:INIT_START:ready-wait",_,s).then(()=>{if(!o||b<=0)return u();const w=o.getGeneration();let P;const D=new Promise((I,f)=>{P=o.onChange(()=>{o.getGeneration()!==w&&f($e)})}),h=u();return h.catch(()=>{}),Promise.race([h,D]).finally(()=>P?.()).catch(I=>{if(I!==$e)throw I;return{...s},g(b-1)})})};return g(ol)}if(!o)return u();const d=o.getGeneration();let p;const m=new Promise((y,E)=>{p=o.onChange(()=>{o.getGeneration()!==d&&E($e)})}),v=u();return v.catch(()=>{}),Promise.race([v,m]).finally(()=>p?.()).catch(y=>{throw y===$e&&{...s},y})}var al=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],ll=200;function cl(e=new Set){const t=new Set;return(n,r)=>{if(!al.some(([i,o])=>!e.has(i)&&o.test(n)))return;const s=r??`new:${n.length}:${n.slice(0,200)}`;t.has(s)||(t.size>=ll&&t.clear(),t.add(s))}}function dl(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:cl()}}var ul=dl();function ge(e){return e?.getInstance(a.TEMPLATE_DIRECTIVES_ID)??ul}function fl(e){const t=se(e),n=q(e),r=()=>e.getInstance(a.INIT_PIPELINE_ID)??St;let s,i,o=!1,c=!1;const l=async(_,w,P)=>{const D=P.generation,h=()=>P.generation!==D||P.signal.aborted||t.current()!==_||c,I=ie(n);o=!0;try{if(await ee(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:w},void 0,P),h())return;const{html:f,hasBrowserExtensionArtifacts:S}=Cr(_t(_));if(S&&Q(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),Pr(_,f),await ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,yt(_t(_),w,ge(e).editorPolicy,_.get().version),void 0,P),h())return;await ee(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:w},void 0,P),s=w,i=I}finally{o=!1}},u=()=>ne(t.sessionKey())?t.current():void 0,d=()=>{if(c||o)return;const _=u(),w=_?.get().docId;if(!_||!w||s===w&&i===ie(n)||!_.isReady())return;const P=r();P.signal.aborted||l(_,w,P).catch(()=>{})};let p=!1;const m=()=>{p||c||(p=!0,queueMicrotask(()=>{p=!1,d()}))};let v,y;const E=()=>{const _=u(),w=_?.get().docId;w!==y&&(v?.(),y=w,v=_?.subscribe(m)),m()},g=t.subscribe(E),b=_r(n,m);E(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c=!0,b(),v?.(),g()})}var pl=200;function ml({startVersion:e,limit:t=pl}){let n=[],r=e;const s=i=>{n=n.filter(o=>o.version>i),r=Math.max(r,i)};return{record(i){!i.changes?.length&&!i.contentReplaced||(n.push(i),n.length>t&&s(n[n.length-t-1].version))},rebase(i,o){if(o<r)return null;const c=n.filter(u=>u.version>o);s(o);let l=i;for(const u of c){if(u.fromCanvas||u.contentReplaced||!u.changes)return null;const d=u.changes,p=[];for(const m of l){const v=so(m.range,d,"after");if(!v)return null;p.push({range:v,text:m.text})}l=p}return l}}}function hl(e,t){let n=0;return e.map(({start:r,end:s,text:i})=>{const o=new J(r,t.slice(r,s),r+n,i);return n+=i.length-(s-r),o})}function gl(e,t){const n=[...e].sort((r,s)=>r.range.start-s.range.start);return hl(n.map(({range:r,text:s})=>({start:r.start,end:r.end,text:s})),t)}function El(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var wt=a.createIdentifier$1("canvas.sandboxFill");function Or(e){return e.getInstance(wt)?.pipeline.isEventsLocked()===!0}function It(e){xe(e,{origin:"canvas-channel"})}function vl(e){const t=se(e),n=q(e);let r;const s=(l,u)=>{const d=l.get().docId;let p=!1,m=null,v=null;const y=ml({startVersion:l.get().version});let E=l.getContent();const g=async(D,h)=>{if(v){v.push({edits:D,rev:h});return}v=[{edits:D,rev:h}];try{do{const I=v.splice(0,v.length);await n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:I.map(f=>f.edits),guid:d,rev:I[I.length-1].rev})}while(v.length)}finally{v=null}},b=(D,h)=>{const I=v?.splice(0,v.length)??[];I.length&&n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:I.map(f=>f.edits),guid:d,rev:I[I.length-1].rev}).catch(It),n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:[D],guid:d,rev:l.get().version,...h!==null?{changeId:h}:{}}).catch(It)},_=D=>{const{guid:h,pushUndoStop:I}=D;if(h!==d)return;const f=go(D);let{edits:S}=D;if(f.baseRev!==null){const A=y.rebase(S,f.baseRev);if(!A){xe(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),b([],f.changeId);return}S=A}const T=l.get().version;try{p=!0,m=f.changeId;const A=gl(S,l.getContent());I===!1?u.applyWithoutHistory(A):l.mutate({changes:A},{source:Or(e)?"system":"user"})}finally{p=!1,m=null}l.get().version===T&&f.baseRev!==null&&b([],f.changeId)},w=l.subscribe(({changes:D,version:h})=>{const I=l.getContent(),f=!D?.length&&I!==E;if(E=I,y.record({version:h,changes:D,contentReplaced:f,fromCanvas:p}),!D?.length)return;const S=El(D);p?b(S,m):g(S,h).catch(It)}),P=n.addListener(a.EVENT_TYPES.APPLICATION_UPDATE_ENTITY,_);return()=>{w(),P.dispose()}};let i;const o=()=>{const l=t.current(),u=t.history(),d=l?.get().docId;d!==i&&(r?.(),r=void 0,i=d,l&&u&&(r=s(l,u)))},c=t.subscribe(o);o(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.(),c()})}var bl=300,_l=15e3,Lr="em-canvas-busy-style";function yl(){if(document.getElementById(Lr))return;const e=document.createElement("style");e.id=Lr,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function Sl(e){const t=e.getBoundingClientRect(),n=document.createElement("div");return n.setAttribute("aria-busy","true"),Object.assign(n.style,{position:"fixed",left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,cursor:"progress",display:"flex",alignItems:"center",justifyContent:"center"}),e.appendChild(n),{showSpinner(){yl(),n.style.background="rgba(128, 128, 128, 0.15)";const r=document.createElement("div");Object.assign(r.style,{width:"32px",height:"32px",borderRadius:"50%",border:"3px solid rgba(128, 128, 128, 0.35)",borderTopColor:"rgba(80, 80, 80, 0.9)",animation:"em-canvas-busy-spin 0.8s linear infinite"}),n.appendChild(r)},remove:()=>n.remove()}}var wl=8e3;function Il(){return{element:document.createElement("iframe"),ready:()=>Promise.reject(new Error("[canvas] нет элемента монтирования")),reload:()=>Promise.resolve(),reloadQuietly:()=>Promise.resolve(),scrollBy:()=>{},shown:!1,whenShown:()=>Promise.resolve(),alignTo:()=>{},resize:()=>{},dispose:()=>{}}}var Tl=e=>{for(let t=e?.parentElement??null;t;t=t.parentElement){const n=getComputedStyle(t).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return t}return null};function Al(e,t,n,r,s){const i=n.readyTimeoutMs??wl,o=document.createElement("div");o.dataset.canvasHost=e,r&&(o.dataset.canvasPlace=r),o.style.position="fixed",o.style.overflow="hidden",o.style.visibility="hidden";const c=n.resolveSrc(e),l=document.createElement("iframe");l.setAttribute("sandbox",n.resolveSandbox(c)),l.setAttribute("allow","clipboard-read; clipboard-write"),l.setAttribute("title","Email content"),l.style.width="100%",l.style.border="0",l.style.display="block",l.style.minHeight="600px",l.src=c,o.appendChild(l),t.appendChild(o),n.mark?.("created"),s||n.onCreated?.(l);const u=new a.Disposable;let d=!1,p=!1,m,v,y,E;const g=()=>{clearTimeout(E),E=setTimeout(()=>{p||(p=!0,v?.(new Error(`[canvas] ${e}: документ не загрузился за ${i} мс`)))},i)},b=()=>d?(y=Promise.resolve(),p=!0,y):(p=!1,y=new Promise((N,B)=>{m=N,v=B}),g(),y),_=()=>{if(clearTimeout(E),d=!0,p){y=Promise.resolve();return}p=!0,n.mark?.("loaded"),m?.()};l.addEventListener("load",_),u.addDispose(()=>{clearTimeout(E),l.removeEventListener("load",_)});let w;const P=()=>{w??=n.bindResizer?.(l)};let D=null,h=null,I;const f=()=>{if(!D){o.style.visibility="hidden",l.removeAttribute("id");return}n.elementId&&(l.id=n.elementId);const N=D.getBoundingClientRect(),B=h?.isConnected?h:Tl(D),F=B?B.getBoundingClientRect():null,Y=F?Math.max(N.top,F.top):N.top,de=F?Math.min(N.bottom,F.bottom):N.bottom,tt=Math.max(0,de-Y);o.style.visibility=tt>0?"visible":"hidden",o.style.left=`${N.left}px`,o.style.top=`${Y}px`,o.style.width=`${N.width}px`,o.style.height=`${tt}px`,l.style.transform=`translateY(${N.top-Y}px)`};let S="",T="",A=0,O;const x=()=>{if(!D){O=void 0;return}O=window.requestAnimationFrame(x);const N=D.getBoundingClientRect(),B=h?.isConnected?h.getBoundingClientRect():void 0,F=`${Math.round(N.left)}:${Math.round(N.top)}:${Math.round(N.width)}:${Math.round(N.height)}:${B?`${Math.round(B.top)}:${Math.round(B.height)}`:"-"}`;F!==S&&(S=F,f());const Y=l.getBoundingClientRect().height;Y>0&&Y!==A&&(A=Y,D.style.height=`${Y}px`);const de=getComputedStyle(D).pointerEvents;de!==T&&(T=de,o.style.pointerEvents=de)},C=()=>{O===void 0&&D&&(O=window.requestAnimationFrame(x))},L=()=>{O!==void 0&&(window.cancelAnimationFrame(O),O=void 0)},H=()=>f();let k=[];const V=(N,B)=>{if(h=B,N&&k.length>0){const F=k;k=[],F.forEach(Y=>Y())}if(N===D){f();return}if(I?.disconnect(),I=void 0,D&&D.style.removeProperty("height"),S="",A=0,T="",D=N,!N){L(),f();return}n.onShown?.(l);try{if(typeof ResizeObserver=="function"){const F=new ResizeObserver(f);typeof F.observe=="function"&&(I=F,I.observe(N))}}catch{I=void 0}f(),P(),C()};window.addEventListener("scroll",H,!0),window.addEventListener("resize",H),u.addDispose(()=>{I?.disconnect(),O!==void 0&&window.cancelAnimationFrame(O),window.removeEventListener("scroll",H,!0),window.removeEventListener("resize",H)});const ae=N=>{d=!1,N&&n.onReload?.(l);let B;p||y===void 0?B=b():(g(),B=y);try{l.contentWindow?.location.reload()}catch{l.src=c}return B};return{element:l,ready(){return y??b()},reload:()=>ae(!0),reloadQuietly:()=>ae(!1),get shown(){return D!==null},whenShown(){return D!==null?Promise.resolve():new Promise(N=>{k.push(N)})},alignTo(N,B){V(N,B??null)},scrollBy(N,B){for(let F=D?.parentElement??null;F;F=F.parentElement){const Y=getComputedStyle(F);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&F.scrollHeight>F.clientHeight){F.scrollBy({left:N,top:B,behavior:"instant"});return}}window.scrollBy({left:N,top:B,behavior:"instant"})},resize(){w?.resize()},dispose(){V(null,null),w?.dispose(),u.dispose(),o.remove()}}}function Cl(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",s=(d,p)=>d==="email"?`email:${p??n}`:d;let i,o=[];const c=()=>{o.forEach(d=>clearTimeout(d)),o=[],i?.remove(),i=void 0},l=new Map,u=(d,p,m)=>{const v=s(d,p),y=t.get(v);if(y)return y;const E=e.resolveMount();if(!E)return Il();const g=Al(d,E,e,d==="email"?p??n:void 0,m);return t.set(v,g),g};return{get:d=>u(d),current:d=>u(d),peek:d=>t.get(s(d)),spare:()=>t.get(s("email",r())),ensureSpare:()=>u("email",r(),!0),promote(){const d=t.get(s("email",r()));if(!d)return;const p=t.get(s("email"));n=r();const m=l.get("email");d.alignTo(m?.slot??null,m?.clip??null),p?.alignTo(null)},alignSurface(d,p,m){l.set(d,{slot:p,clip:m??null}),(p?u(d):t.get(s(d)))?.alignTo(p,m??null)},visible(){for(const d of t.values())if(d.shown)return d},byWindow(d){if(d){for(const p of t.values())if(p.element.contentWindow===d)return p}},busy(d){c();const p=d?e.resolveMount():void 0;if(!p)return;const m=Sl(p);i=m,o=[setTimeout(()=>m.showSpinner(),bl),setTimeout(c,_l)]},dispose(){c(),t.forEach(d=>d.dispose()),t.clear(),l.clear(),n="a"}}}var Pl=a.createIdentifier$1("canvas.resizerBinder"),Tt=a.createIdentifier$1("canvas.service"),Dl={created:z.canvasCreated,loaded:z.canvasLoaded};function Rl(e,t){if(e.getInstance(Tt))return;const n=Cl({resolveMount:()=>t.resolveMount(),resolveSrc:s=>t.resolveSrc(s),resolveSandbox:Ra,elementId:t.elementId,bindResizer:s=>e.getInstance(Pl)?.(s),onCreated:s=>Ge(e,s,"fresh"),onReload:s=>Ge(e,s,"fresh"),onShown:s=>Ge(e,s,"switch"),mark:s=>t.mark?.(Dl[s])}),r=q(e).addListener(a.EVENT_TYPES.SANDBOX_WHEEL,s=>{n.visible()?.scrollBy(s?.deltaX??0,s?.deltaY??0)});e.inject(Tt,n),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),n.dispose()})}function Ge(e,t,n){const r=q(e),s=t.contentWindow;if(!s)return;const i=r.getTarget()===s;i&&n==="switch"||(n==="fresh"&&(r.forget(s),i&&r.setTarget(void 0)),r.setTarget(s),pa(r))}function Ol(e,t){Ge(e,t,"promote")}function Ll(e,t){const n=t.contentWindow;n&&q(e).greet(n)}function Nl(e,t){const n=t.contentWindow;n&&q(e).forget(n)}function oe(e){return e.getInstance(Tt)}function Ml(e){const t=q(e),n=()=>oe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(a.EVENT_TYPES.RELOAD,async()=>{await n()?.reload()}),s=t.addListener(o=>{o.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&n()?.resize()}),i=$(e,a.events.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),s.dispose(),i.dispose()})}var sm=a.createIdentifier$1("HeadlessMode"),xl=a.createIdentifier$1("HiddenMount");function kl(e){return e.getOrCreateInstance(xl,()=>pe(!1))}function Nr(){const e=document.createElement("div");return e.dataset.canvasOffscreen="true",e.style.position="absolute",e.style.left="-10000px",e.style.top="-10000px",e.style.width="1600px",e.style.height="1000px",document.body.appendChild(e),e}function Fl(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);let n,r;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.remove(),r=void 0}),Rl(e,{resolveMount:()=>n,resolveSrc:i=>wr(i==="block"),elementId:"email_iframe",mark:i=>U(i)}),t?.watch(i=>{if(n)return;const o=i?.element;if(o instanceof HTMLElement)n=o;else if(i!==void 0)n=r??=Nr();else return;oe(e)?.get("email")});let s;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s?.remove(),s=void 0}),kl(e).watch(i=>{const o=oe(e);if(o){if(i){s??=Nr(),o.alignSurface("email",s,s);return}s&&(o.alignSurface("email",null),s.remove(),s=void 0)}})}var Mr=a.createIdentifier$1("canvas.headerFlow"),xr=["subject","preheader"],Bl=3e3,jl={subject:a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,preheader:a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE};function Ul(e){const t=se(e),n=q(e),r=E=>E?"remote":Or(e)?"system":"user",s=(E,{guid:g,value:b,forced:_})=>{const w=we(t);if(!w||typeof b!="string"||g&&g!==w.get().docId)return;const P=t.forcedHeaders();if(P?.[E]&&!_&&b!==P[E])return;_&&t.endForcedHeaders();const D=w.get().attributes[E]??"";c=!0;try{Be(w,{[E]:b},{source:r(_)})}finally{c=!1}i[E]=b,Q(e,a.events.ON_HEADER_APPLIED_ID).fire({field:E,value:b,forced:!!_,isGenerated:b!==D&&!!b})};let i={},o,c=!1,l=Promise.resolve();const u=(E,g,b)=>{l=n.sendAsync(jl[E],{value:g,guid:we(t)?.get().docId,...b?{force:!0,echo:!0}:{}}).catch(_=>{})};let d;e.inject(Mr,{whenDelivered:async()=>{await l},reassert:E=>{const g=we(t),b=xr.filter(_=>E[_]);if(!(!g||b.length===0)){c=!0;try{Be(g,Object.fromEntries(b.map(_=>[_,E[_]])),{source:"system"})}finally{c=!1}t.beginForcedHeaders({subject:E.subject??"",preheader:E.preheader??""}),clearTimeout(d),d=setTimeout(()=>t.endForcedHeaders(),Bl);for(const _ of b)i[_]=E[_],u(_,E[_],!0)}}});const p=()=>{o?.(),o=void 0;const E=we(t);if(!E){i={};return}const g=E.get().attributes;i={subject:g.subject,preheader:g.preheader},o=E.subscribe(({source:b})=>{if(c)return;const _=E.get().attributes,w=t.forcedHeaders();for(const P of xr){const D=_[P];D!==i[P]&&(i[P]=D,u(P,D??"",b==="system"&&w?.[P]!==void 0))}})};p();const m=t.subscribe(p),v=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_SUBJECT_UPDATE,E=>s("subject",E)),y=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_PREHEADER_UPDATE,E=>s("preheader",E));e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{v.dispose(),y.dispose(),m(),o?.(),clearTimeout(d)})}function kr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function At(e,t){const n={...e};for(const r of Object.keys(t)){const s=t[r],i=e[r];kr(s)&&kr(i)?n[r]=At(i,s):s!==void 0&&(n[r]=s)}return n}function Hl(e,t){const n=a.COMMON_STYLES;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const s=JSON.parse(r);if(s&&typeof s=="object"&&!Array.isArray(s)&&Object.keys(s).length>0)return At(n,s)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?At(n,t):n}function $l(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?a.DARK:a.LIGHT;return e&&e!=="system"?e:t}function Gl(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_code_mode_settings);if(!e)return!1;try{const t=JSON.parse(e);return!!(t?.isCodeMode&&(t.codeModeDirection==="left"||t.codeModeDirection==="right"))}catch{return!1}}function Vl(e){const{config:t}=e;return{operation:a.EVENT_TYPES.UPDATE_PREVIEW,theme:e.theme,commonStyles:Hl(e.emailCommonStyles,e.defaultCommonStyles),pathEnabled:t.pathEnabled,copyPasteEnabled:t.copyPasteEnabled,saveBlockEnabled:t.saveBlockEnabled,editImageControlEnabled:t.editImageControlEnabled,codeMode:e.codeMode,elementAIimageEnabled:t.elementAIimageEnabled,imageCenterStockEnabled:t.imageCenterStockEnabled,imageCenterGifEnabled:t.imageCenterGifEnabled,imageCenterEditorEnabled:t.imageCenterEditorEnabled,blocksAddPanelEnabled:t.blocksAddPanelEnabled!==!1&&t.blocksSectionsShow!==!1,lockEditor:t.lockEditor,appName:e.appName}}function Yl(e){const t=q(e),n=e.getInstance(a.CONFIG_SOURCE_ID),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=se(e);let i,o="";const c=()=>{const b=n?.get()??{},_=Vl({config:b,emailCommonStyles:s.current()?.get().attributes?.common_styles,defaultCommonStyles:i,theme:$l(),codeMode:Gl(),appName:"emailmaker"}),w=JSON.stringify(_);w!==o&&(o=w,t.send(_))},l=t.onInit(()=>{o="",c()}),u=()=>{t.isInited()&&c()},d=n?.watch(u),p=r?.watch(b=>{i=b?.commonStyles,u()});let m;const v=()=>{m?.(),m=s.current()?.subscribe(u),u()};v();const y=s.subscribe(v),E=matchMedia(a.PREFERS_COLOR_SCHEME_DARK),g=()=>u();E.addEventListener("change",g),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l.dispose(),d?.dispose(),p?.dispose(),m?.(),y(),E.removeEventListener("change",g)})}var Ct;(function(e){function t(s,i,o=(c,l)=>c===l){if(s===i)return!0;if(s.length!==i.length)return!1;for(let c=0;c<s.length;c++)if(!o(s[c],i[c]))return!1;return!0}e.isEqual=t;function n(s,i=o=>o){const o=new Set;return s.filter(c=>{const l=i(c);return o.has(l)?!1:(o.add(l),!0)})}e.unique=n;function r(s=[],i=[],o=(c,l)=>c===l){const c=[],l=[],u=[];for(const d of s){const p=i.find(m=>o(d,m));p?u.push({prev:d,next:p}):l.push(d)}for(const d of i)s.find(p=>o(d,p))||c.push(d);return{added:c,removed:l,exists:u}}e.diff=r})(Ct||(Ct={}));function ql(e,t){return e.type===t.type&&e.key===t.key}function zl(e){const t=q(e),n=()=>e.getServices(a.SANDBOX_EXTENSIONS_ID)??[];let r=[];const s=t.onInit(()=>{r=n(),t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,r)}),i=a.getServiceContainerId(a.SANDBOX_EXTENSIONS_ID),o=e.onInject(c=>{if(c!==i)return;const l=n();if(!t.isInited()){r=l;return}const{added:u,removed:d}=Ct.diff(r,l,ql);if(r=l,d.length){if(d.some(p=>p.type==="script")){t.send(a.EVENT_TYPES.RELOAD);return}t.send(a.EVENT_TYPES.SANDBOX_REMOVE_EXTENSIONS,d.map(p=>p.key))}u.length&&t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,u)});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s.dispose(),o?.dispose()})}var Kl=a.createIdentifier$1("prewarm.editorVisible");function Wl(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Xl(e={}){const t=e.paint??Wl;let n=!1,r=!1,s=!1,i=!1,o=!1;const c=[],l=()=>{o||i||!n||!r||!s||(i=!0,t(()=>{o=!0,U(z.editorVisible);for(const u of c.splice(0))u()}))};return{noteShellVisible(){n=!0,l()},notePagePainted(){r=!0,l()},noteContentShown(){s=!0,l()},whenVisible(u){if(o){u();return}c.push(u)},contentShown:()=>s}}function Jl(e){return e.getOrCreateInstance(Kl,()=>Xl())}var Ql=500,Zl=500,ec=5e3;function tc(e){const t=e.quietMs??Ql,n=e.floorMs??Zl,r=e.ceilingMs??ec;let s,i,o=0;const c=()=>{clearTimeout(s),clearTimeout(i),s=void 0,i=void 0},l=()=>{c(),e.run()},u=()=>{clearTimeout(s);const d=n-(Date.now()-o);s=setTimeout(l,Math.max(t,d))};return{start(){c(),o=Date.now(),i=setTimeout(l,r),u()},notify(){s!==void 0&&u()},cancel:c}}function nc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:s,show:i}){if(!r)return;const o={id:s??void 0,renderGuid:n,showId:i?.id,isNew:s==null,showToken:i?.token},c={...e,...o};return Object.defineProperty(c,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),c}var Fr="self-init:";function rc(e){return e.startsWith(Fr)}function Br(e,t){const n=e.getActiveShowRequest();return rc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function sc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let s="";const i=()=>e.readDocument()?_t(e.readDocument()):s,o=()=>ge(e.container).editorPolicy,c=()=>e.readEmail(),l=()=>{const u=c();return{...u,id:e.isTemplate()||u.isNew?void 0:u.id,html:i()}};return{readContent:i,publicEmail:l,sendInitStart:()=>ee(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:c().renderGuid},void 0,r()),sendInited:()=>ee(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:c().renderGuid},void 0,r()),async sendContent(){const u=c(),{html:d,hasBrowserExtensionArtifacts:p}=Cr(u?.html||"");p&&e.events.browserExtensionDetected(),Pr(e.readDocument(),d),s=d,await ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,yt(i(),u.renderGuid,o(),e.readDocument()?.get().version),{guid:u.renderGuid,emailId:u.id??null},r())},refreshContent:()=>ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,yt(i(),c().renderGuid,o(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const u=c();if(u.preheader!==void 0)return ee(n,"PREHEADER",a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE,{value:u.preheader,guid:u.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const u=c();if(u.subject!==void 0)return ee(n,"SUBJECT",a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,{value:u.subject,guid:u.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:u=>e.showFilled?.(u),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(l()),fireInit(u,d){if(!Br(t(),u)){t().getActiveShowRequest()?.showId;return}const p=c();p.id,p.renderGuid,t().completeShow(u),Be(e.readDocument(),{is_inited:!0},{source:"system"});const m=l();return d&&(m.reset=!0),e.events.inited(m)},fireEmailChanged(){e.events.emailChanged(l())},fireContentChanged(){e.events.contentChanged(i())}}}function ic(e){const t=()=>e.initPipeline();let n=!1,r,s,i,o=0,c;const l=sc({...e,waitScope:()=>({getSandboxTimeoutMs:g=>t().getSandboxTimeoutMs(g),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:c?.signal??t().signal})});let u;const d=(g,b)=>{if(u===g)return;u=g;const _=o;setTimeout(()=>{o!==_||t().signal.aborted||y(g,b).catch(()=>{})},0)},p=()=>{c?.abort(),c=void 0};let m;const v=()=>{const g=t().signal;g!==m&&(m?.removeEventListener("abort",p),m=g,g.addEventListener("abort",p))};async function y(g,b){const _=++o;p(),c=new AbortController,v();const w=()=>o!==_,P=l.readTarget(),D=t().generation,h=()=>D===t().generation&&!t().signal.aborted,I=b?"init:reset-":"init:";if(!b){const T=l.publicEmail();T?.id,T?.renderGuid,T?.preheader}let f=!1,S=!1;try{n=!0,await l.sendInitStart(),l.fireWillInit(),await(b?l.refreshContent():l.sendContent()),f=!0,b||l.publicEmail()?.id;try{await l.sendPreheader()}catch(T){`${I}`,String(T)}try{await l.sendSubject()}catch(T){`${I}`,String(T)}if(w()||l.showFilled(P),await l.sendInited(),S=!0,s===g){const T=e.readSandboxGeneration?.()??i;T!==void 0&&(r=T)}await l.revealFilled()}catch(T){throw w()||(`${I}`,{...e.describeSurface?.(),error:String(T)},void 0),!w()&&Br(t(),g)&&t().failShow(g,T),T}finally{E(g,b,I,{superseded:w(),sessionGeneration:D,contentApplied:f,sandboxInitedAcked:S,commit:h()})}}function E(g,b,_,w){const{superseded:P,contentApplied:D,sandboxInitedAcked:h}=w;if(P){`${_}`;return}h&&w.commit?l.fireInit(g,b||void 0):h?(`${_}`,w.sessionGeneration,t().generation,t().signal.aborted,void 0):D?(`${_}`,void 0):(`${_}`,void 0),n=!1,c=void 0,!h&&s===g&&(s=void 0,r===i&&(r=void 0)),!h&&D&&d(g,b)}return{channel:l,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:g=>{r=g},lastCorrelation:()=>s,markCorrelation:g=>{s=g},bumpRunSeq:()=>{o+=1},noteSandboxGeneration:g=>{i=g},fill:g=>y(g,!1),refill:g=>y(g,!0),stop:()=>{o+=1,p(),n=!1,m?.removeEventListener("abort",p),m=void 0}}}function oc(e,t,n){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const r=t.emailId??t.navId;return r!=null&&String(e.id??"")!==String(r)?!1:jr(e,n)}function jr(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function ac(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:s,readSandboxGeneration:i}=e,o=d=>{const p=n(),m=s();if(!oc(p,d,m)){d.showId,d.navId,d.emailId,p?.id,p?.showId,p?.renderGuid;return}d.showId,p?.id,p?.renderGuid,t.markFilled(i()),t.markCorrelation(d.showId),t.fill(d.showId).catch(()=>{})};return{showRequested:d=>{o(d)},showRequestIdentityChanged:()=>{const d=e.initPipeline().getActiveShowRequest();d&&o(d)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const d=i();if(t.filledGeneration()===d)return;const p=n(),m=s();if(!p?.renderGuid||!jr(p,m))return;const v=`${Fr}${p.renderGuid}`;t.markFilled(d),t.markCorrelation(v);const y=r()?.isReady()===!0;p.id,p.renderGuid,(y?E=>t.refill(E):E=>t.fill(E))(v).catch(()=>{t.lastCorrelation()===v&&t.markFilled(void 0)})},saasChanged:()=>{const d=n();d?.renderGuid,d?.showToken,d?.id}}}function lc(e){return e??""}function cc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function dc(e){const t=se(e),n=q(e),r=()=>ne(t.sessionKey())?void 0:t.current(),s=()=>{const R=r();return nc({attributes:R?.get().attributes??{},readContent:()=>R?.getContent(),docId:R?.get().docId,hasSession:!!R,serverId:R?.get().serverId,show:t.showFacts()})},i=()=>e.getInstance(a.INIT_PIPELINE_ID)??St;let o={},c=!1;const l=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(R=>{c=!!R?.element});let u=!1,d=!1,p=!1,m=0;const v=()=>{const R=oe(e);if(!R)return;const G=++m,j=R.spare();return j&&Nl(e,j.element),(j?j.reloadQuietly():R.ensureSpare()?.ready())?.then(()=>{if(G!==m)return;u=!0;const Z=R.spare();Z&&Ll(e,Z.element),p&&(p=!1,T(),V())})},y=tc({run:()=>{p||v()?.catch(()=>{})}}),E=()=>{Jl(e).noteContentShown(),!u&&!p&&y.start()};let g=!1;const w=ic({container:e,messageService:n,initPipeline:i,readDocument:r,readEmail:s,revealFilled:()=>{const R=oe(e);return g&&R&&(g=!1,y.start()),c?R?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:R=>{const G=oe(e),j=G?.spare()?.element.contentWindow;d&&G&&j&&R===j&&(d=!1,G.promote(),G.busy(!1),g=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!o.isTemplate,readSandboxGeneration:()=>ie(n),describeSurface:()=>({canvasPath:S,promoted:d,spareClean:u,handshake:n.isInited(),generation:ie(n)}),events:{willInit:R=>{Q(e,a.events.WILL_EMAIL_INIT_ID).fire(R)},inited:R=>{E(),Q(e,a.events.ON_EMAIL_INIT_ID).fire(R)},contentChanged:R=>{Q(e,a.events.ON_CONTENT_CHANGED_ID).fire(R)},emailChanged:R=>{Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(R)},browserExtensionDetected:()=>{Q(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),P=ac({pipeline:w,initPipeline:i,readEmail:s,readDocument:r,readRouteEmailId:()=>o.emailId,readSandboxGeneration:()=>ie(n)});let D="",h="",I="";const f=R=>R.length>0;let S="none";const T=()=>{const R=oe(e)?.spare();R&&(n.send({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0}),u=!1,d=!0,Ol(e,R.element))},A=(R,G)=>{const j=oe(e);if(!j)return!0;const Z=j.spare(),ue=Z&&u?"spare":"prepare";if(S=ue,j.busy(!0),Z&&u)return T(),!0;y.cancel(),n.send({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0});const fe=v();if(fe===void 0)return S="reload",j.busy(!1),j.peek("email")?.reload(),!0;p=!0;const hn=m;return fe.catch(()=>{!p||hn!==m||(p=!1,S="reload",j.busy(!1),j.peek("email")?.reload())}),!1},O=()=>{de(),w.noteSandboxGeneration(ie(n));const R=s(),G=cc(R?.renderGuid,R?.showId,R?.id,o.emailId),j=lc(R?.renderGuid);if(j!==h){const fe=f(h),hn=h;h=j,fe&&A(hn,j)}if(p)return;G!==D&&(D=G,P.showRequestIdentityChanged());const Z=r(),ue=`${G}|${Z?.get().docId??""}|${ie(n)}`;ue!==I&&Z?.isReady()===!0&&(I=ue,P.selfInitChanged()),P.saasChanged(),H()};let x=!1,C="",L="";const H=()=>{const R=s();if(!R?.renderGuid)return;const G=w.channel.readContent(),j=JSON.stringify([R.preheader,R.common_styles,R.meta,R.subject,R.utm_parameters?.utm_campaign??"",R.utm_parameters?.utm_content??"",R.utm_parameters?.utm_medium??"",R.utm_parameters?.utm_source??"",R.utm_parameters?.utm_term??""]),Z=x&&G!==L,ue=x&&j!==C;if(x=!0,L=G,C=j,w.isEventsLocked())return;const fe={...R,id:o.isTemplate||R.isNew?void 0:R.id,html:G};if(Z){Q(e,a.events.ON_CONTENT_CHANGED_ID).fire(G),Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe);return}ue&&R.is_inited&&Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe)};let k=!1;const V=()=>{k||(k=!0,queueMicrotask(()=>{k=!1,O()}))};e.inject(wt,{pipeline:w,setRoute:R=>{R.emailId===o.emailId&&!!R.isTemplate==!!o.isTemplate||(o=R,V())}});let ae,N;const B=()=>{const R=r()?.get().docId;R!==N&&(ae?.(),N=R,ae=r()?.subscribe(V)),V()};let F,Y;const de=()=>{const R=e.getInstance(a.INIT_PIPELINE_ID);!R||R===F||(Y?.(),F=R,Y=R.onShowRequested(G=>P.showRequested(G)))},tt=n.addListener(R=>{R.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&y.notify()}),qp=t.subscribe(B),zp=_r(n,V);B(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l?.dispose(),Y?.(),zp(),qp(),ae?.(),tt.dispose(),y.cancel(),w.stop()})}function uc(){return a.USEBLOCKS!=="emailmaker"}var Ur={config:{mode:"freeUserBlocks",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formButtonFieldReplacerEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!1,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},Hr={config:{mode:"pro",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!0,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0,enableCopyFile:!0}},project:void 0,page:{isNew:!0,type:"email",project:0,id:"",showToken:0}},$r=Hr,fc=["pro"],Gr={};function pc(e){Gr=e}var Vr=e=>fc.includes(e)?$r:Gr[e]??$r,Pt={config:{mode:"simple",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!1,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!1,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0}},project:void 0},mc={config:{mode:"editor",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!1,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!1,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!1,emailDropdownMenuClone:!0,emailDropdownMenuImport:!1,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportTextEnabled:!1,exportMarkdownEnabled:!1,exportZipEnabled:!0,exportClipboardEnabled:!1,exportWebHookEnabled:!1,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!1,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!1,aiAssistentEnabled:!1,optimizeEnabled:!1,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!1,tagsEnabled:!0,isTemplateEnabled:!1,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!1,deleteButtonEnabled:!0,toggleSidePanel:!1,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!1,formFieldImageTitleEnabled:!1,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!1,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!1,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!1,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!1,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},hc={...Pt,config:{...Pt.config,imageCenterFileManagerView:!1}};pc({pro:Hr,editor:mc,simple:uc()?Pt:hc,freeUserBlocks:Ur,blocks:Ur});var Yr=new Set;function gc(){return window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme)??void 0}function Ec(e){return Yr.add(e),e(gc()),{dispose(){Yr.delete(e)}}}function Dt(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function vc(e,t){return t.modeDefaults(Dt(e,t.fallbackMode))}function bc(e,t){const n=Dt(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function _c(e,t){const n=Dt(e,t),r=e.user?.advancedConfigs?.[n],s=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...s}}function yc(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function Sc(e){return a.mergeResourceProxyLayers(e.map(t=>t?.resourceProxy))}function wc(e){return a.mergeResourceProxyPolicyLayers(e.map(t=>t?.resourceProxyPolicy))}function Ic(e){return a.mergeBackendProxyLayers(e.map(t=>t?.backendProxy))}function Tc(e){return a.mergeShallowConfigLayers(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function Ac(e,t){return[e.base,vc(e,t),e.profile,e.serverSide,bc(e,t.fallbackMode),e.user,_c(e,t.fallbackMode),e.local]}function Rt(e,t){const n=Ac(e,t),r=a.mergeShallowConfigLayers(n),s=yc(n);s!==void 0&&(r.fileManager=s);const i=Sc(n);i!==void 0&&(r.resourceProxy=i);const o=wc(n);o&&Object.keys(o).length>0&&(r.resourceProxyPolicy=o);const c=Ic(n);c!==void 0&&(r.backendProxy=c);const l=Tc(n);return l&&Object.keys(l).length>0&&(r.backendProxyPolicy=l),r}var Cc=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function qr(e){return e==="server"?"serverSide":e}function Pc({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},s=pe();let i={kind:"pending"},o;const c=new Promise(m=>{o=m}),l=n===void 0?void 0:setTimeout(()=>{d({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function u(){i.kind!=="pending"&&s.set(Rt(r,e))}function d(m){if(i.kind!=="pending")return;clearTimeout(l),i=m;const v=Rt(r,e);s.set(v),o(v)}function p(m,v){r[qr(m)]=v,m==="server"&&i.kind==="pending"?d({kind:"applied"}):u()}return{watch:m=>s.watch(m),select:m=>s.select(m),get:()=>s.get(),ready:()=>c,state:()=>i,layers:()=>({...r}),bootstrap(){const m=Rt(r,e);return Object.fromEntries(Cc.map(v=>[v,m[v]]))},merge(m,v){p(v,{...r[qr(v)],...m})},replace(m,v){p(v,m)},setMode(m){r.user={...r.user,mode:m},u()},setAdvancedConfigs(m){r.advancedConfigs=m,u()},serverAbsent(m){d({kind:"absent",reason:m})},applyServerResponse(m){i.kind==="pending"&&p("server",{...r.serverSide,...m})},dispose(){clearTimeout(l)}}}var Dc=5e3,im="pro";function Rc(){return{...Vr("pro")?.config,mergeTags:void 0}}function Oc(e,t){e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function Lc(e,t){let n;cr(e).watch(({profile:r})=>{const s=`${r?.theme??""}|${r?.locale??""}`;if(s===n)return;n=s;const i={};r?.theme&&(i.theme=r.theme),r?.locale&&(i.locale=r.locale),t.replace(i,"profile")})}function Nc(e,t){let n=null;const r=Ec(s=>{const i=typeof s=="string"&&s?s:void 0;i!==n&&(n=i,t.replace(i?{theme:i}:{},"local"))});e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}async function Mc(e,t){if(e.getInstance(ot)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(a.APP_ID);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function xc(e){e.injectFactory(a.CONFIG_SOURCE_ID,(t,n)=>{if(n)return n;const r=Pc({base:Rc(),env:{modeDefaults:s=>Vr(s)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:Dc});return Oc(e,r),Lc(e,r),Nc(e,r),Mc(e,r),e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r),r},!0)}var Ee=class extends a.Disposable{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function M(e,t,n){const r=a.snapshot(e);return(s,i,o)=>{const c=r(async l=>{const u=t?t(l):l;o&&s.bind(o);const d=await s(u);return n?n(d):d},i,o);return()=>c.dispose()}}var kc=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new a.Emitter;this.handleDestroy=M(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Ee(this.handleDestroy));e.lifetime.addDisposable(t),e.lifetime.addDisposable(e.options.watch(({handleDestroy:r})=>n.setListener(r))),e.lifetime.addDispose(()=>e.release())}destroy(){if(!this.deps.lifetime.isDisposed())try{this.deps.lifetime.dispose()}catch{}}},Ot=a.createIdentifier$1("DestroyableService");function Fc(e){e.injectFactory(Ot,()=>{const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new kc({lifetime:t,options:e.getInstance(a.OPTIONS_SOURCE_ID),getInstance:()=>e.getInstance(a.INSTANCE_ID),release:()=>a.releaseContainer(e.getInstance(a.STORE_ID)??e)})},!0)}function Bc(e){const t=e.getInstance(Ot);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var jc=1e3;function zr(e,t,n=jc,r=0){if(r>n||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const s=Object.keys(e),i=Object.keys(t);if(s.length!==i.length)return!1;for(const o of s)if(!zr(e[o],t[o],n,r+1))return!1;return!0}return!1}function Te(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const n={};for(const r of Object.keys(t)){const s=t[r],i=e[r];zr(s,i)||(n[r]=s)}return n}var Uc=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},Hc=({source:e,emailtags:t,group:n,tags:r,...s})=>s,$c=()=>Mn();async function Gc({emails:e},t){const n=$c();let r;try{return await Promise.race([e.notifySave(t),new Promise((s,i)=>{r=setTimeout(()=>{const o=new Uc(n);t.value.id,i(o)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function Vc(e){const{emails:t}=e,n=async(r,s)=>{const i=Hc(s),o=r===void 0?void 0:await t.cache.getIfPresent(r),c=o?{...o,...i}:i,l=await Gc(e,{prev:o,patch:o?Te(o,i):i,value:c,source:s.source??""}),u=String(l.id??r??a.generateUUID()),d=l.id===void 0?{...l,id:u}:l;return await t.cache.addOrUpdate(u,()=>d)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const s=await n(void 0,r);return s?.renderGuid?s:{...s,renderGuid:a.generateUUID()}},async updateEmail(r,s){return await n(r,s)}}}var Lt=20,Yc=({source:e,emailtags:t,group:n,tags:r,...s})=>s;function qc({revisions:e,revisionsByEmail:t}){const n=async(r,s)=>(t.clear(),await t.get(r,{page:s}),(await e.cache.values()??[]).filter(i=>String(i?.parent)===String(r)));return{async readRevisions(r,s=1){const i=await n(r,s);return{revisions:i.slice(Lt*(s-1),Lt*s),page:s,hasMore:i.length>Lt*s}},async readAutosave(r){return bo(await n(r,1))},async saveAutosave(r,s){const i=Yc(s);return await e.create({...i,parent:r,modified:new Date().toString()})}}}var zc=class extends a.BaseEmitter{async execute([e],t){for(const n of t){const r=await n(e);r&&(r.id===void 0&&(r.id=e.value.id),e.value=r)}return e.value}},Kc=class extends a.AsyncEmitter{};function om(e){return e}var Kr=class extends a.Disposable{_items=new Map;_onChangeEmitter=new a.Signal;async _getOrCreate(e,t){const n=this._items;let r;if(n.has(e))try{r=await n.get(e)}catch{t&&(r=await t())}else t&&(r=await t(),r&&this._onChangeEmitter.fire());return r}async _addOrUpdate(e,t){let n;const r=this._items;if(r.has(e))try{n=await r.get(e)}catch{}const s=await t(n);return a.deepEqual(n,s)||this._onChangeEmitter.fire(),s}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(n=>[e,n]))).then(e=>e.filter(([t,n])=>!!n))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const n=this._getOrCreate(e,()=>t(e));return this._items.set(e,n),n}addOrUpdate(e,t){const n=this._addOrUpdate(e,t);return this._items.set(e,n),n}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const n=Promise.resolve(t);return this._items.set(e,n),n}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],n=new Set(Array.from(e).map(([s,i])=>s)),r=(await this.entries()).filter(([s,i])=>!n.has(s));for(const[s,i]of e)t.push(this.addOrUpdate(s,()=>i)),n.add(s);for(const[s]of r)t.push(this.remove(s));return await Promise.all(t),r}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function Wc(e,{filter:t,order:n="asc",orderBy:r,page:s,pageSize:i=20}={}){const o=e.length;let c=e.length;if(t!==void 0){const l=Object.keys(t);e=e.filter(u=>{for(const d of l){const p=u[d],m=t[d];return d==="id"||typeof p!="string"?p===m:typeof m=="string"&&p.startsWith(m)}return!0}),c=e.length}return r&&(e=e.sort((l,u)=>(l[r]>u[r]?1:u[r]>l[r]?-1:0)*(n==="asc"?1:-1))),s!==void 0&&(e=e.slice(i*(s-1),i*s)),{data:e,filteredTotal:c,total:o,totalPages:Math.ceil(c/i)}}function Xc(e=[]){if(e=e.filter(n=>n),e.length<=1)return e[0];const t=new Map;for(const n of e)for(const r of n)if(r.id!==void 0){const s=t.get(r.id)||{};t.set(r.id,{...s,...r})}return[...t].map(([n,r])=>r)}function Jc(e,t){return Wr(e)&&Wr(t)?String(e)===String(t):e===t}function Wr(e){return typeof e=="string"||typeof e=="number"}var Qc=class extends a.Disposable{_cache=new Kr;_readEmitter=new a.AsyncEmitter;_saveEmitter=this.addDisposable(new zc);_removeEmitter=this.addDisposable(new Kc);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(n=>!!n)))}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const n=this.addDisposable(new a.Disposable);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new Kr),s=n.addDisposable(new a.AsyncEmitter);t=this._foreignCache[e]={get:async(i,o={})=>{await r.getOrCreate(i,async()=>{try{const l=Xc(await s.fire(i))||[];for(const u of l)u[e]=i,await this._cache.add(u.id,u);return l}catch{return[]}});const c=(await this._cache.values()||[]).filter(l=>{const u=l[e];return u==null||Jc(u,i)});return Wc(c,o)},first(i,o={}){return t.get(i,{...o,page:1,pageSize:1}).then(({data:c})=>c[0])},handleRead:s.event,clear(){r.clear()},dispose(){n.dispose()}}}return t}async create(e,{source:t="",silent:n}={}){let r=e;return n||(r=await this._saveEmitter.fire({prev:void 0,patch:e,value:r,source:t})),r.id===void 0&&(r.id=a.generateUUID()),await this._cache.addOrUpdate(r.id,()=>r)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:n="",silent:r}={}){return this._cache.addOrUpdate(e,async s=>{const i=s?{...s,...t}:t;if(!r)return t=s?Te(s,t):t,await this._saveEmitter.fire({prev:s,patch:t,value:i,source:n})})}async remove(e,{source:t="",silent:n}={}){const r=await this._cache.remove(e);return n||await this._removeEmitter.fire({value:r,source:t}),r}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Ae(e){const t=a.createIdentifier$1(e);return n=>n.getOrCreateInstance(t,()=>new Qc)}function Zc(e){const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("Failed");return t}function Xr(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function ed(e,t,n){return e&&!Xr(t)&&Xr(e)?{...n,meta:e.meta}:n}var Jr=Ae("plugin.dataSource.emails"),Qr=Ae("plugin.dataSource.emailRevisions"),Zr=a.createIdentifier$1("emailDocuments.provided");function td(e){const t=Jr(e),n=Qr(e),r=n.byForeignKey("parent");return e.getInstance(Zr)?{emails:t,emailRevisions:n}:(e.inject(Zr,!0),jo(e,Vc({emails:t})),Go(e,qc({revisions:n,revisionsByEmail:r})),Zc(e).addDisposable(t.onSave(({prev:s,patch:i,value:o})=>ed(s,i,o),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function es(e,t){return!e?.data||!t||e.id!==t.locale?!1:t.contentHash?e.hash===t.contentHash:t.updatedAt>0&&t.updatedAt<=e.time}function nd(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var rd="po",Ve=null;function sd(){const e=typeof __emailmaker__<"u"?__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([rd],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function id(){return Ve===null&&(Ve=sd().catch(e=>{throw Ve=null,e})),Ve}async function ts(e){if(typeof e=="object")return Nt(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?od(t):ad(t)}function Nt(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function od(e){try{return Nt(JSON.parse(e))}catch{return}}var ns=!1;async function ad(e){try{return Nt((await id()).parsePoCatalog(e))}catch{ns||(ns=!0);return}}var ld="em_locale",cd="em_ant_locale",dd="locale",ud="ant_locale";function Mt(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function rs(e,t){const n=Mt(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function fd(){return Mt("em_locale")??rs(dd,"em_locale")}function ss(e){try{localStorage.setItem(ld,JSON.stringify(e))}catch{}}function pd(){return Mt("em_ant_locale")??rs(ud,"em_ant_locale")}function md(e,t){try{localStorage.setItem(cd,JSON.stringify({id:e,data:t}))}catch{}}var am="en_US",hd=8e3;function gd(e,t){const n=e,r=t,s=Object.keys(n).filter(i=>i!=="");return s.length!==Object.keys(r).filter(i=>i!=="").length?!1:s.every(i=>JSON.stringify(n[i])===JSON.stringify(r[i]))}function Ed(e){const t=fd(),n=pd();let r={ready:!1},s;const i=pe(r);let o=0;const c=g=>{r={...r,...g},i.set(r)},l=()=>{r.ready||c({ready:!0})},u=setTimeout(l,e.unlockAfterMs??hd),d=g=>g!==o;let p;async function m(g,b){if(n?.id===g&&n.data&&c({antd:n.data}),!p)return;const _=await p(g).catch(()=>{});!_||d(b)||(c({antd:_}),md(g,_))}async function v(g,b){const _=await e.askHost(g).catch(()=>null);if(d(b))return!0;if(_==null)return!1;const w=await ts(_);return d(b)||(w&&c({catalog:w}),l()),!0}async function y(g,b){const _=await e.readList();if(d(b))return;if("error"in _){c({failure:{kind:"GET_LOCALES_ERROR",error:_.error}}),l();return}const w=_.data.find(D=>D.locale===g);if(!w){nd("em_locale")&&c({catalog:void 0}),l();return}if(es(t,w)&&(!s||s.catalog===t?.data)){l();return}if(s?.entry&&r.catalog===s.catalog&&es(s.entry,w)){ss(s.entry),l();return}const P=await e.readCatalog(g);if(!d(b)){if("error"in P){c({failure:{kind:"GET_LOCALE_ERROR",error:P.error}}),l();return}P.data&&(s?.id===g&&r.catalog===s.catalog&&gd(s.catalog,P.data)||c({catalog:P.data}),ss({id:g,time:w.updatedAt||Math.floor(Date.now()/1e3),hash:w.contentHash,data:P.data})),l()}}async function E(g,b){if(!await v(g,b)){if(!d(b)&&(s?.id===g&&r.catalog===s.catalog||g==="en_US")&&l(),e.canUseNetwork&&!e.canUseNetwork()){l();return}await y(g,b)}}return{set(g){if(!g||g===r.id)return;const b=o+=1;c({id:g,failure:void 0});const _=s?.id===g&&r.catalog===s.catalog;(s&&!_&&r.catalog===s.catalog||g==="en_US"&&r.catalog)&&c({catalog:void 0}),t?.id===g&&t.data&&(c({catalog:t.data}),l()),m(g,b),E(g,b)},prime(g,b,_){r.id||r.catalog||!b||(s=t?.id===g&&t.data&&(!_||t.time>=_.time)?{id:g,catalog:t.data}:{id:g,catalog:b,entry:_?{id:g,time:_.time,hash:_.hash,data:b}:void 0},c({catalog:s.catalog}))},useAntdLoader(g){p=g,r.id&&m(r.id,o)},state:i,snapshot:()=>r,dispose:()=>clearTimeout(u)}}var vd=class{http;constructor(e){this.http=e}jsonList=({locale:e},t={})=>this.http.request({path:`/translations/${e}.json`,method:"GET",format:"json",...t});getTranslations=({locale:e},t={})=>this.http.request({path:`/translations/${e}.po`,method:"GET",...t});localesList=(e={})=>this.http.request({path:"/translations/locales",method:"GET",format:"json",...e})},bd=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(n=>this.encodeQueryParam(t,n)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(n=>typeof t[n]<"u").map(n=>Array.isArray(t[n])?this.addArrayQueryParam(t,n):this.addQueryParam(t,n)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:typeof r=="object"&&r!==null?JSON.stringify(r):`${r}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const n=this.abortControllers.get(e);return n?n.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:n,type:r,query:s,format:i,baseUrl:o,cancelToken:c,...l})=>{const u=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},d=this.mergeRequestParams(l,u),p=s&&this.toQueryString(s),m=this.contentFormatters[r||"application/json"],v=i||d.format;return this.customFetch(`${o||this.baseUrl||""}${n}${p?`?${p}`:""}`,{...d,headers:{...d.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(c?this.createAbortSignal(c):d.signal)||null,body:typeof e>"u"||e===null?null:m(e)}).then(async y=>{const E=y;E.data=null,E.error=null;const g=v?y.clone():y,b=v?await g[v]().then(_=>(E.ok?E.data=_:E.error=_,E)).catch(_=>(E.error=_,E)):E;return c&&this.abortControllers.delete(c),b})}},_d=a.createIdentifier$1("rest.v2.transport"),is=Symbol("rest.v2.secureRequest");function yd(e){return e.getOrCreateInstance(_d,()=>{const t=e.getInstance(a.CUSTOM_FETCH_ID)?.execute||fetch;return new bd({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[is]:!0}),customFetch:(n,r={})=>{const{[is]:s,...i}=r;return t(n,{...i,[a.PUBLIC_REQUEST]:s!==!0})}})})}function Sd(e,t){const n=yd(e);return Object.assign({},...t.map(r=>new r(n)))}function os(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function as(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:os(n.details,"wp_code")??n.code,message:os(n.details,"wp_message")??n.message,details:n.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}function ls(e){return!e.ok||!!e.error}function wd(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function cs(){return wd(a.LOCAL_STORAGE_ITEMS.em_translations_v2)??!0}function Id(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Td(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function Ad(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],s=r[0];return typeof s=="string"&&s!==""&&t.push({locale:s,updatedAt:Id(r[1])}),t},[]):[]}function Cd(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:Td(n.updated_at),contentHash:n.content_hash}),t),[])}function ds(e){return Sd(e,[vd])}function Ye(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function xt(e){return!e.ok||e.error!=null}function kt(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Ft(e){return{data:await ts(e)??null}}async function Pd(e){if(cs())try{const n=await ds(e).localesList();return ls(n)?{error:as(n)}:{data:Cd(n.data)}}catch(n){return Ye(n)}const t=a.getApi(e,[Tn]);try{const n=await t.get_translations2({file:"react_app"});return xt(n)?kt(n):{data:Ad(n.data)}}catch(n){return Ye(n)}}async function Dd(e,t){if(cs())try{const r=await ds(e).jsonList({locale:t});return ls(r)?{error:as(r)}:Ft(r.data)}catch(r){return Ye(r)}const n=a.getApi(e,[Tn]);try{const r=await n.get_translations3({id:t,file:"react_app"});return xt(r)?kt(r):Ft(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return xt(r)?kt(r):Ft(r.data)}catch(r){return Ye(r)}}}var Ce=a.createIdentifier$1("locale.service");function Rd(e){if(e.getInstance(Ce))return;const t=Ed({readList:()=>Pd(e),readCatalog:n=>Dd(e,n),askHost:async n=>(await Q(e,a.events.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(a.SECURITY_MODULE_ID)});e.inject(Ce,t),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>t.dispose())}function Od(e){const t=e.getInstance(a.CONFIG_SOURCE_ID);if(!t)return;const n=e.getInstance(Ce);if(!n)return;const r=t.select(s=>s.locale).watch(s=>n.set(s));e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}var Ld="user_id",Nd="project_id",us=a.createIdentifier$1("rest.identityHeadersProvided");function Md(e){if(e.getInstance(us))return;e.inject(us,!0);let t;e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t=n}),e.addService(a.REQUEST_HANDLER_ID,{execute(n,r){if(r?.public)return;const s=t?.user?.id??dr(e).profile?.id;s!=null&&s!==""&&n.headers.set(Ld,String(s));const i=t?.project;i!=null&&i!==""&&n.headers.set(Nd,String(i))}})}function xd(e){if(!e)return!1;try{return e.getInstance(a.SECURITY_MODULE_ID)!==void 0}catch{return!1}}var kd="Invalid standaloneKey.",lm=a.createIdentifier$1("StandaloneMockGuard");function Fd(){const e=new Error(kd);return e.name="InvalidStandaloneKeyError",e}function Bd(e){e.addService(a.REQUEST_HANDLER_ID,{execute:()=>{if(xd(e))throw Fd()}})}function jd(e){a.registerRestTransport(e),Bd(e)}function Ud(e){const t=new Rr;e.inject(a.INIT_PIPELINE_ID,t);let n;const r=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(i=>{i&&(i.signal!==void 0&&(n=i.signal),t.configure({replaceSession:!0,...i.timeouts!==void 0?{timeouts:i.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),s=e.getInstance(a.DISPOSABLE_ID);r&&s?.addDisposable(r),s?.addDispose(()=>{t.abort()})}var Hd=Ae("plugin.dataSource.blocks"),$d=Ae("plugin.dataSource.blockRevisions"),Gd=Ae("plugin.dataSource.comments"),Vd=Dr(),Yd=Dr(),fs=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2085
+ `));return{html:Wa(t.html),hasBrowserExtensionArtifacts:t.found}}function yt(e){return e?.getContent()??""}function Rr(e,t){e?.mutate({content:Vn(t)},{source:"remote"})}function Or(e){return a.createIdentifier$1(e)}function Q(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter)}function $(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter).event}function St(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var Xa=class extends Error{showId;constructor(e,t){super(`[emailmaker] show() timed out after ${t}ms waiting for editor init (showId=${e}). Check earlier console errors: wrong host-plugin publicPath (chunks return HTML), mount element removed without destroy(), or sandbox init never completed. Search for [show-pipeline] and [AMD] messages.`),this.name="ShowPipelineTimeoutError",this.showId=e}},Ja=class{_activeRequest=null;_pending=new Map;_listeners=new Set;getActiveShowRequest(){return this._activeRequest}onShowRequested(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}requestShow(e,t,n){return this._rejectPending(a.createAbortError("Superseded by newer show()")),n.aborted?Promise.reject(a.createAbortError(n.reason)):(this._activeRequest=e,new Promise((r,s)=>{const i=setTimeout(()=>{this._settle(e.showId,()=>{s(new Xa(e.showId,t))})},t);i.unref?.();const o=()=>{this._settle(e.showId,()=>{s(a.createAbortError(n.reason))})};n.addEventListener("abort",o,{once:!0});const c=()=>{clearTimeout(i),n.removeEventListener("abort",o)};this._pending.set(e.showId,{request:e,resolve:r,reject:s,timeoutId:i,dispose:c});for(const l of this._listeners)l(e)}))}completeShow(e){this._settle(e,t=>{t.resolve()})}hasPendingShow(e){return this._pending.has(e)}failShow(e,t){this._settle(e,n=>{n.reject(t)})}rejectAll(e){this._rejectPending(e),this._activeRequest=null}_settle(e,t){const n=this._pending.get(e);n&&(n.dispose(),this._pending.delete(e),this._activeRequest?.showId===e&&(this._activeRequest=null),t(n))}_rejectPending(e){for(const[,t]of this._pending)t.dispose(),t.reject(e);this._pending.clear()}};function Qa(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function Za(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Mn(e),n=xn(e),r=qi(e.sandbox);t<n+r}var Lr=class{_controller=new AbortController;_externalSignalDisposable=new a.Disposable;_sessionChangeListeners=new Set;_showRegistry=new Ja;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Mn(this._timeouts)}getSandboxTimeoutMs(e){return Nn(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return xn(this._timeouts)}bumpGeneration(){this._generation+=1}getActiveShowRequest(){return this._showRegistry.getActiveShowRequest()}onShowRequested(e){return this._showRegistry.onShowRequested(e)}requestShow(e){return this._showRegistry.requestShow(e,this.contentReadyTimeoutMs,this._controller.signal)}completeShow(e){this._showRegistry.completeShow(e)}hasPendingShow(e){return this._showRegistry.hasPendingShow(e)}failShow(e,t){this._showRegistry.failShow(e,t)}rejectAllPendingShows(e){this._showRegistry.rejectAll(e)}onSessionReplaced(e){return this._sessionChangeListeners.add(e),()=>{this._sessionChangeListeners.delete(e)}}configure(e){e.timeouts!==void 0&&(this._timeouts=Qa(this._timeouts,e.timeouts),Za(this._timeouts));const t=e.replaceSession===!0||!this._sessionStarted||e.timeouts!==void 0||e.signal!==void 0;this._sessionStarted=!0,t&&(this._replaceSessionController(),this.bumpGeneration()),(e.signal!==void 0||t)&&this._linkExternalSignal(e.signal)}abort(e){const t=e??a.createAbortError("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable,this._showRegistry.rejectAll(a.createAbortError("Init session replaced")),this._controller.signal.aborted||this._controller.abort(a.createAbortError("Init session replaced")),this._controller=new AbortController,this._emitSessionReplaced()}_emitSessionReplaced(){for(const e of this._sessionChangeListeners)e()}_linkExternalSignal(e){if(!e)return;if(e.aborted){this._controller.signal.aborted||(this._controller.abort(e.reason??a.createAbortError()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??a.createAbortError()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},It=(()=>{const e=new Lr;return e.configure({}),e})(),el=class extends Error{label;timeoutMs;constructor(e){super(`[sandbox:ready] iframe handshake timed out after ${e}ms`),this.name="SandboxReadyTimeoutError",this.label="sandbox:ready",this.timeoutMs=e}};function tl(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.isInited=="function"&&typeof t.getTarget=="function"&&typeof t.onInit=="function"}function nl(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():(a.throwIfAborted(n),new Promise((r,s)=>{let i=!1,o,c;const l=d=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),c?.dispose(),n?.removeEventListener("abort",u),d())},u=()=>{l(()=>s(a.createAbortError(n?.reason)))};if(c=e.onInit(()=>{e.isInited()&&e.getTarget()&&l(()=>r())}),e.isInited()&&e.getTarget()){l(()=>r());return}t>0&&(o=setTimeout(()=>{l(()=>s(new el(t)))},t)),n?.addEventListener("abort",u)}))}var rl=class extends Error{label;timeoutMs;constructor(e,t){super(`[${e}] timed out after ${t}ms`),this.name="OperationTimeoutError",this.label=e,this.timeoutMs=t}};function sl(e,t,n){return t<=0?e:new Promise((r,s)=>{let i=!1,o;const c=l=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),l())};o=setTimeout(()=>{c(()=>s(new rl(n,t)))},t),e.then(l=>{c(()=>r(l))},l=>{c(()=>s(l))})})}var il=2,Ge=Symbol("sandbox:frame-replaced");function ee(e,t,n,r,s,i,o){const c=`sandbox:${t}`,l=i?.getSandboxTimeoutMs(t)??dt[t],u=()=>{let y=sl(e.sendAsync(n,r),l,c);return y=a.raceWithAbortSignal(y,i?.signal),Te(c,y,s)};if(t==="INIT_START"&&tl(e)){const y=i?.getSandboxReadyTimeoutMs()??2e4,E=e,g=b=>{const _=nl(E,y,i?.signal);return Te("sandbox:INIT_START:ready-wait",_,s).then(()=>{if(!o||b<=0)return u();const I=o.getGeneration();let P;const D=new Promise((w,f)=>{P=o.onChange(()=>{o.getGeneration()!==I&&f(Ge)})}),h=u();return h.catch(()=>{}),Promise.race([h,D]).finally(()=>P?.()).catch(w=>{if(w!==Ge)throw w;return{...s},g(b-1)})})};return g(il)}if(!o)return u();const d=o.getGeneration();let p;const m=new Promise((y,E)=>{p=o.onChange(()=>{o.getGeneration()!==d&&E(Ge)})}),v=u();return v.catch(()=>{}),Promise.race([v,m]).finally(()=>p?.()).catch(y=>{throw y===Ge&&{...s},y})}var ol=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],al=200;function ll(e=new Set){const t=new Set;return(n,r)=>{if(!ol.some(([i,o])=>!e.has(i)&&o.test(n)))return;const s=r??`new:${n.length}:${n.slice(0,200)}`;t.has(s)||(t.size>=al&&t.clear(),t.add(s))}}function cl(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:ll()}}var dl=cl();function ge(e){return e?.getInstance(a.TEMPLATE_DIRECTIVES_ID)??dl}function ul(e){const t=se(e),n=q(e),r=()=>e.getInstance(a.INIT_PIPELINE_ID)??It;let s,i,o=!1,c=!1;const l=async(_,I,P)=>{const D=P.generation,h=()=>P.generation!==D||P.signal.aborted||t.current()!==_||c,w=ie(n);o=!0;try{if(await ee(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:I},void 0,P),h())return;const{html:f,hasBrowserExtensionArtifacts:S}=Dr(yt(_));if(S&&Q(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),Rr(_,f),await ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,St(yt(_),I,ge(e).editorPolicy,_.get().version),void 0,P),h())return;await ee(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:I},void 0,P),s=I,i=w}finally{o=!1}},u=()=>ne(t.sessionKey())?t.current():void 0,d=()=>{if(c||o)return;const _=u(),I=_?.get().docId;if(!_||!I||s===I&&i===ie(n)||!_.isReady())return;const P=r();P.signal.aborted||l(_,I,P).catch(()=>{})};let p=!1;const m=()=>{p||c||(p=!0,queueMicrotask(()=>{p=!1,d()}))};let v,y;const E=()=>{const _=u(),I=_?.get().docId;I!==y&&(v?.(),y=I,v=_?.subscribe(m)),m()},g=t.subscribe(E),b=Sr(n,m);E(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c=!0,b(),v?.(),g()})}var fl=200;function pl({startVersion:e,limit:t=fl}){let n=[],r=e;const s=i=>{n=n.filter(o=>o.version>i),r=Math.max(r,i)};return{record(i){!i.changes?.length&&!i.contentReplaced||(n.push(i),n.length>t&&s(n[n.length-t-1].version))},rebase(i,o){if(o<r)return null;const c=n.filter(u=>u.version>o);s(o);let l=i;for(const u of c){if(u.fromCanvas||u.contentReplaced||!u.changes)return null;const d=u.changes,p=[];for(const m of l){const v=ro(m.range,d,"after");if(!v)return null;p.push({range:v,text:m.text})}l=p}return l}}}function ml(e,t){let n=0;return e.map(({start:r,end:s,text:i})=>{const o=new J(r,t.slice(r,s),r+n,i);return n+=i.length-(s-r),o})}function hl(e,t){const n=[...e].sort((r,s)=>r.range.start-s.range.start);return ml(n.map(({range:r,text:s})=>({start:r.start,end:r.end,text:s})),t)}function gl(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var wt=a.createIdentifier$1("canvas.sandboxFill");function Nr(e){return e.getInstance(wt)?.pipeline.isEventsLocked()===!0}function Tt(e){ke(e,{origin:"canvas-channel"})}function El(e){const t=se(e),n=q(e);let r;const s=(l,u)=>{const d=l.get().docId;let p=!1,m=null,v=null;const y=pl({startVersion:l.get().version});let E=l.getContent();const g=async(D,h)=>{if(v){v.push({edits:D,rev:h});return}v=[{edits:D,rev:h}];try{do{const w=v.splice(0,v.length);await n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:w.map(f=>f.edits),guid:d,rev:w[w.length-1].rev})}while(v.length)}finally{v=null}},b=(D,h)=>{const w=v?.splice(0,v.length)??[];w.length&&n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:w.map(f=>f.edits),guid:d,rev:w[w.length-1].rev}).catch(Tt),n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:[D],guid:d,rev:l.get().version,...h!==null?{changeId:h}:{}}).catch(Tt)},_=D=>{const{guid:h,pushUndoStop:w}=D;if(h!==d)return;const f=ho(D);let{edits:S}=D;if(f.baseRev!==null){const N=y.rebase(S,f.baseRev);if(!N){ke(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),b([],f.changeId);return}S=N}const T=l.get().version;try{p=!0,m=f.changeId;const N=hl(S,l.getContent());w===!1?u.applyWithoutHistory(N):l.mutate({changes:N},{source:Nr(e)?"system":"user"})}finally{p=!1,m=null}l.get().version===T&&f.baseRev!==null&&b([],f.changeId)},I=l.subscribe(({changes:D,version:h})=>{const w=l.getContent(),f=!D?.length&&w!==E;if(E=w,y.record({version:h,changes:D,contentReplaced:f,fromCanvas:p}),!D?.length)return;const S=gl(D);p?b(S,m):g(S,h).catch(Tt)}),P=n.addListener(a.EVENT_TYPES.APPLICATION_UPDATE_ENTITY,_);return()=>{I(),P.dispose()}};let i;const o=()=>{const l=t.current(),u=t.history(),d=l?.get().docId;d!==i&&(r?.(),r=void 0,i=d,l&&u&&(r=s(l,u)))},c=t.subscribe(o);o(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.(),c()})}var vl=300,bl=15e3,Mr="em-canvas-busy-style";function _l(){if(document.getElementById(Mr))return;const e=document.createElement("style");e.id=Mr,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function yl(e){const t=e.getBoundingClientRect(),n=document.createElement("div");return n.setAttribute("aria-busy","true"),Object.assign(n.style,{position:"fixed",left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,cursor:"progress",display:"flex",alignItems:"center",justifyContent:"center"}),e.appendChild(n),{showSpinner(){_l(),n.style.background="rgba(128, 128, 128, 0.15)";const r=document.createElement("div");Object.assign(r.style,{width:"32px",height:"32px",borderRadius:"50%",border:"3px solid rgba(128, 128, 128, 0.35)",borderTopColor:"rgba(80, 80, 80, 0.9)",animation:"em-canvas-busy-spin 0.8s linear infinite"}),n.appendChild(r)},remove:()=>n.remove()}}var Sl=8e3;function Il(){return{element:document.createElement("iframe"),ready:()=>Promise.reject(new Error("[canvas] нет элемента монтирования")),reload:()=>Promise.resolve(),reloadQuietly:()=>Promise.resolve(),scrollBy:()=>{},shown:!1,whenShown:()=>Promise.resolve(),alignTo:()=>{},resize:()=>{},dispose:()=>{}}}var wl=e=>{for(let t=e?.parentElement??null;t;t=t.parentElement){const n=getComputedStyle(t).overflowY;if(n==="auto"||n==="scroll"||n==="hidden")return t}return null};function Tl(e,t,n,r,s){const i=n.readyTimeoutMs??Sl,o=document.createElement("div");o.dataset.canvasHost=e,r&&(o.dataset.canvasPlace=r),o.style.position="fixed",o.style.overflow="hidden",o.style.visibility="hidden";const c=n.resolveSrc(e),l=document.createElement("iframe");l.setAttribute("sandbox",n.resolveSandbox(c)),l.setAttribute("allow","clipboard-read; clipboard-write"),l.setAttribute("title","Email content"),l.style.width="100%",l.style.border="0",l.style.display="block",l.style.minHeight="600px",l.src=c,o.appendChild(l),t.appendChild(o),n.mark?.("created"),s||n.onCreated?.(l);const u=new a.Disposable;let d=!1,p=!1,m,v,y,E;const g=()=>{clearTimeout(E),E=setTimeout(()=>{p||(p=!0,v?.(new Error(`[canvas] ${e}: документ не загрузился за ${i} мс`)))},i)},b=()=>d?(y=Promise.resolve(),p=!0,y):(p=!1,y=new Promise((M,j)=>{m=M,v=j}),g(),y),_=()=>{if(clearTimeout(E),d=!0,p){y=Promise.resolve();return}p=!0,n.mark?.("loaded"),m?.()};l.addEventListener("load",_),u.addDispose(()=>{clearTimeout(E),l.removeEventListener("load",_)});let I;const P=()=>{I??=n.bindResizer?.(l)};let D=null,h=null,w;const f=()=>{if(!D){o.style.visibility="hidden",l.removeAttribute("id");return}n.elementId&&(l.id=n.elementId);const M=D.getBoundingClientRect(),j=h?.isConnected?h:wl(D),B=j?j.getBoundingClientRect():null,Y=B?Math.max(M.top,B.top):M.top,de=B?Math.min(M.bottom,B.bottom):M.bottom,nt=Math.max(0,de-Y);o.style.visibility=nt>0?"visible":"hidden",o.style.left=`${M.left}px`,o.style.top=`${Y}px`,o.style.width=`${M.width}px`,o.style.height=`${nt}px`,l.style.transform=`translateY(${M.top-Y}px)`};let S="",T="",N=0,C;const O=()=>{if(!D){C=void 0;return}C=window.requestAnimationFrame(O);const M=D.getBoundingClientRect(),j=h?.isConnected?h.getBoundingClientRect():void 0,B=`${Math.round(M.left)}:${Math.round(M.top)}:${Math.round(M.width)}:${Math.round(M.height)}:${j?`${Math.round(j.top)}:${Math.round(j.height)}`:"-"}`;B!==S&&(S=B,f());const Y=l.getBoundingClientRect().height;Y>0&&Y!==N&&(N=Y,D.style.height=`${Y}px`);const de=getComputedStyle(D).pointerEvents;de!==T&&(T=de,o.style.pointerEvents=de)},A=()=>{C===void 0&&D&&(C=window.requestAnimationFrame(O))},L=()=>{C!==void 0&&(window.cancelAnimationFrame(C),C=void 0)},k=()=>f();let F=[];const V=(M,j)=>{if(h=j,M&&F.length>0){const B=F;F=[],B.forEach(Y=>Y())}if(M===D){f();return}if(w?.disconnect(),w=void 0,D&&D.style.removeProperty("height"),S="",N=0,T="",D=M,!M){L(),f();return}n.onShown?.(l);try{if(typeof ResizeObserver=="function"){const B=new ResizeObserver(f);typeof B.observe=="function"&&(w=B,w.observe(M))}}catch{w=void 0}f(),P(),A()};window.addEventListener("scroll",k,!0),window.addEventListener("resize",k),u.addDispose(()=>{w?.disconnect(),C!==void 0&&window.cancelAnimationFrame(C),window.removeEventListener("scroll",k,!0),window.removeEventListener("resize",k)});const ae=M=>{d=!1,M&&n.onReload?.(l);let j;p||y===void 0?j=b():(g(),j=y);try{l.contentWindow?.location.reload()}catch{l.src=c}return j};return{element:l,ready(){return y??b()},reload:()=>ae(!0),reloadQuietly:()=>ae(!1),get shown(){return D!==null},whenShown(){return D!==null?Promise.resolve():new Promise(M=>{F.push(M)})},alignTo(M,j){V(M,j??null)},scrollBy(M,j){for(let B=D?.parentElement??null;B;B=B.parentElement){const Y=getComputedStyle(B);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&B.scrollHeight>B.clientHeight){B.scrollBy({left:M,top:j,behavior:"instant"});return}}window.scrollBy({left:M,top:j,behavior:"instant"})},resize(){I?.resize()},dispose(){V(null,null),I?.dispose(),u.dispose(),o.remove()}}}function Al(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",s=(d,p)=>d==="email"?`email:${p??n}`:d;let i,o=[];const c=()=>{o.forEach(d=>clearTimeout(d)),o=[],i?.remove(),i=void 0},l=new Map,u=(d,p,m)=>{const v=s(d,p),y=t.get(v);if(y)return y;const E=e.resolveMount();if(!E)return Il();const g=Tl(d,E,e,d==="email"?p??n:void 0,m);return t.set(v,g),g};return{get:d=>u(d),current:d=>u(d),peek:d=>t.get(s(d)),spare:()=>t.get(s("email",r())),ensureSpare:()=>u("email",r(),!0),promote(){const d=t.get(s("email",r()));if(!d)return;const p=t.get(s("email"));n=r();const m=l.get("email");d.alignTo(m?.slot??null,m?.clip??null),p?.alignTo(null)},alignSurface(d,p,m){l.set(d,{slot:p,clip:m??null}),(p?u(d):t.get(s(d)))?.alignTo(p,m??null)},visible(){for(const d of t.values())if(d.shown)return d},byWindow(d){if(d){for(const p of t.values())if(p.element.contentWindow===d)return p}},busy(d){c();const p=d?e.resolveMount():void 0;if(!p)return;const m=yl(p);i=m,o=[setTimeout(()=>m.showSpinner(),vl),setTimeout(c,bl)]},dispose(){c(),t.forEach(d=>d.dispose()),t.clear(),l.clear(),n="a"}}}var Cl=a.createIdentifier$1("canvas.resizerBinder"),At=a.createIdentifier$1("canvas.service"),Pl={created:z.canvasCreated,loaded:z.canvasLoaded};function Dl(e,t){if(e.getInstance(At))return;const n=Al({resolveMount:()=>t.resolveMount(),resolveSrc:s=>t.resolveSrc(s),resolveSandbox:Da,elementId:t.elementId,bindResizer:s=>e.getInstance(Cl)?.(s),onCreated:s=>Ve(e,s,"fresh"),onReload:s=>Ve(e,s,"fresh"),onShown:s=>Ve(e,s,"switch"),mark:s=>t.mark?.(Pl[s])}),r=q(e).addListener(a.EVENT_TYPES.SANDBOX_WHEEL,s=>{n.visible()?.scrollBy(s?.deltaX??0,s?.deltaY??0)});e.inject(At,n),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),n.dispose()})}function Ve(e,t,n){const r=q(e),s=t.contentWindow;if(!s)return;const i=r.getTarget()===s;i&&n==="switch"||(n==="fresh"&&(r.forget(s),i&&r.setTarget(void 0)),r.setTarget(s),fa(r))}function Rl(e,t){Ve(e,t,"promote")}function Ol(e,t){const n=t.contentWindow;n&&q(e).greet(n)}function Ll(e,t){const n=t.contentWindow;n&&q(e).forget(n)}function oe(e){return e.getInstance(At)}function Nl(e){const t=q(e),n=()=>oe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(a.EVENT_TYPES.RELOAD,async()=>{await n()?.reload()}),s=t.addListener(o=>{o.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&n()?.resize()}),i=$(e,a.events.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),s.dispose(),i.dispose()})}var lm=a.createIdentifier$1("HeadlessMode"),Ml=a.createIdentifier$1("HiddenMount");function xl(e){return e.getOrCreateInstance(Ml,()=>pe(!1))}function xr(){const e=document.createElement("div");return e.dataset.canvasOffscreen="true",e.style.position="absolute",e.style.left="-10000px",e.style.top="-10000px",e.style.width="1600px",e.style.height="1000px",document.body.appendChild(e),e}function kl(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);let n,r;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.remove(),r=void 0}),Dl(e,{resolveMount:()=>n,resolveSrc:i=>Tr(i==="block"),elementId:"email_iframe",mark:i=>H(i)}),t?.watch(i=>{if(n)return;const o=i?.element;if(o instanceof HTMLElement)n=o;else if(i!==void 0)n=r??=xr();else return;oe(e)?.get("email")});let s;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s?.remove(),s=void 0}),xl(e).watch(i=>{const o=oe(e);if(o){if(i){s??=xr(),o.alignSurface("email",s,s);return}s&&(o.alignSurface("email",null),s.remove(),s=void 0)}})}var kr=a.createIdentifier$1("canvas.headerFlow"),Fr=["subject","preheader"],Fl=3e3,Bl={subject:a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,preheader:a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE};function jl(e){const t=se(e),n=q(e),r=E=>E?"remote":Nr(e)?"system":"user",s=(E,{guid:g,value:b,forced:_})=>{const I=we(t);if(!I||typeof b!="string"||g&&g!==I.get().docId)return;const P=t.forcedHeaders();if(P?.[E]&&!_&&b!==P[E])return;_&&t.endForcedHeaders();const D=I.get().attributes[E]??"";c=!0;try{je(I,{[E]:b},{source:r(_)})}finally{c=!1}i[E]=b,Q(e,a.events.ON_HEADER_APPLIED_ID).fire({field:E,value:b,forced:!!_,isGenerated:b!==D&&!!b})};let i={},o,c=!1,l=Promise.resolve();const u=(E,g,b)=>{l=n.sendAsync(Bl[E],{value:g,guid:we(t)?.get().docId,...b?{force:!0,echo:!0}:{}}).catch(_=>{})};let d;e.inject(kr,{whenDelivered:async()=>{await l},reassert:E=>{const g=we(t),b=Fr.filter(_=>E[_]);if(!(!g||b.length===0)){c=!0;try{je(g,Object.fromEntries(b.map(_=>[_,E[_]])),{source:"system"})}finally{c=!1}t.beginForcedHeaders({subject:E.subject??"",preheader:E.preheader??""}),clearTimeout(d),d=setTimeout(()=>t.endForcedHeaders(),Fl);for(const _ of b)i[_]=E[_],u(_,E[_],!0)}}});const p=()=>{o?.(),o=void 0;const E=we(t);if(!E){i={};return}const g=E.get().attributes;i={subject:g.subject,preheader:g.preheader},o=E.subscribe(({source:b})=>{if(c)return;const _=E.get().attributes,I=t.forcedHeaders();for(const P of Fr){const D=_[P];D!==i[P]&&(i[P]=D,u(P,D??"",b==="system"&&I?.[P]!==void 0))}})};p();const m=t.subscribe(p),v=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_SUBJECT_UPDATE,E=>s("subject",E)),y=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_PREHEADER_UPDATE,E=>s("preheader",E));e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{v.dispose(),y.dispose(),m(),o?.(),clearTimeout(d)})}function Br(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ct(e,t){const n={...e};for(const r of Object.keys(t)){const s=t[r],i=e[r];Br(s)&&Br(i)?n[r]=Ct(i,s):s!==void 0&&(n[r]=s)}return n}function Ul(e,t){const n=a.COMMON_STYLES;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const s=JSON.parse(r);if(s&&typeof s=="object"&&!Array.isArray(s)&&Object.keys(s).length>0)return Ct(n,s)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?Ct(n,t):n}function Hl(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?a.DARK:a.LIGHT;return e&&e!=="system"?e:t}function $l(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_code_mode_settings);if(!e)return!1;try{const t=JSON.parse(e);return!!(t?.isCodeMode&&(t.codeModeDirection==="left"||t.codeModeDirection==="right"))}catch{return!1}}function Gl(e){const{config:t}=e;return{operation:a.EVENT_TYPES.UPDATE_PREVIEW,theme:e.theme,commonStyles:Ul(e.emailCommonStyles,e.defaultCommonStyles),pathEnabled:t.pathEnabled,copyPasteEnabled:t.copyPasteEnabled,saveBlockEnabled:t.saveBlockEnabled,editImageControlEnabled:t.editImageControlEnabled,codeMode:e.codeMode,elementAIimageEnabled:t.elementAIimageEnabled,imageCenterStockEnabled:t.imageCenterStockEnabled,imageCenterGifEnabled:t.imageCenterGifEnabled,imageCenterEditorEnabled:t.imageCenterEditorEnabled,blocksAddPanelEnabled:t.blocksAddPanelEnabled!==!1&&t.blocksSectionsShow!==!1,lockEditor:t.lockEditor,appName:e.appName}}function Vl(e){const t=q(e),n=e.getInstance(a.CONFIG_SOURCE_ID),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=se(e);let i,o="";const c=()=>{const b=n?.get()??{},_=Gl({config:b,emailCommonStyles:s.current()?.get().attributes?.common_styles,defaultCommonStyles:i,theme:Hl(),codeMode:$l(),appName:"emailmaker"}),I=JSON.stringify(_);I!==o&&(o=I,t.send(_))},l=t.onInit(()=>{o="",c()}),u=()=>{t.isInited()&&c()},d=n?.watch(u),p=r?.watch(b=>{i=b?.commonStyles,u()});let m;const v=()=>{m?.(),m=s.current()?.subscribe(u),u()};v();const y=s.subscribe(v),E=matchMedia(a.PREFERS_COLOR_SCHEME_DARK),g=()=>u();E.addEventListener("change",g),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l.dispose(),d?.dispose(),p?.dispose(),m?.(),y(),E.removeEventListener("change",g)})}var Pt;(function(e){function t(s,i,o=(c,l)=>c===l){if(s===i)return!0;if(s.length!==i.length)return!1;for(let c=0;c<s.length;c++)if(!o(s[c],i[c]))return!1;return!0}e.isEqual=t;function n(s,i=o=>o){const o=new Set;return s.filter(c=>{const l=i(c);return o.has(l)?!1:(o.add(l),!0)})}e.unique=n;function r(s=[],i=[],o=(c,l)=>c===l){const c=[],l=[],u=[];for(const d of s){const p=i.find(m=>o(d,m));p?u.push({prev:d,next:p}):l.push(d)}for(const d of i)s.find(p=>o(d,p))||c.push(d);return{added:c,removed:l,exists:u}}e.diff=r})(Pt||(Pt={}));function Yl(e,t){return e.type===t.type&&e.key===t.key}function ql(e){const t=q(e),n=()=>e.getServices(a.SANDBOX_EXTENSIONS_ID)??[];let r=[];const s=t.onInit(()=>{r=n(),t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,r)}),i=a.getServiceContainerId(a.SANDBOX_EXTENSIONS_ID),o=e.onInject(c=>{if(c!==i)return;const l=n();if(!t.isInited()){r=l;return}const{added:u,removed:d}=Pt.diff(r,l,Yl);if(r=l,d.length){if(d.some(p=>p.type==="script")){t.send(a.EVENT_TYPES.RELOAD);return}t.send(a.EVENT_TYPES.SANDBOX_REMOVE_EXTENSIONS,d.map(p=>p.key))}u.length&&t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,u)});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s.dispose(),o?.dispose()})}var zl=a.createIdentifier$1("prewarm.editorVisible");function Kl(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Wl(e={}){const t=e.paint??Kl;let n=!1,r=!1,s=!1,i=!1,o=!1;const c=[],l=()=>{o||i||!n||!r||!s||(i=!0,t(()=>{o=!0,H(z.editorVisible);for(const u of c.splice(0))u()}))};return{noteShellVisible(){n=!0,l()},notePagePainted(){r=!0,l()},noteContentShown(){s=!0,l()},whenVisible(u){if(o){u();return}c.push(u)},contentShown:()=>s}}function Xl(e){return e.getOrCreateInstance(zl,()=>Wl())}var Jl=500,Ql=500,Zl=5e3;function ec(e){const t=e.quietMs??Jl,n=e.floorMs??Ql,r=e.ceilingMs??Zl;let s,i,o=0;const c=()=>{clearTimeout(s),clearTimeout(i),s=void 0,i=void 0},l=()=>{c(),e.run()},u=()=>{clearTimeout(s);const d=n-(Date.now()-o);s=setTimeout(l,Math.max(t,d))};return{start(){c(),o=Date.now(),i=setTimeout(l,r),u()},notify(){s!==void 0&&u()},cancel:c}}function tc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:s,show:i}){if(!r)return;const o={id:s??void 0,renderGuid:n,showId:i?.id,isNew:s==null,showToken:i?.token},c={...e,...o};return Object.defineProperty(c,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),c}var jr="self-init:";function nc(e){return e.startsWith(jr)}function Ur(e,t){const n=e.getActiveShowRequest();return nc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function rc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let s="";const i=()=>e.readDocument()?yt(e.readDocument()):s,o=()=>ge(e.container).editorPolicy,c=()=>e.readEmail(),l=()=>{const u=c();return{...u,id:e.isTemplate()||u.isNew?void 0:u.id,html:i()}};return{readContent:i,publicEmail:l,sendInitStart:()=>ee(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:c().renderGuid},void 0,r()),sendInited:()=>ee(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:c().renderGuid},void 0,r()),async sendContent(){const u=c(),{html:d,hasBrowserExtensionArtifacts:p}=Dr(u?.html||"");p&&e.events.browserExtensionDetected(),Rr(e.readDocument(),d),s=d,await ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,St(i(),u.renderGuid,o(),e.readDocument()?.get().version),{guid:u.renderGuid,emailId:u.id??null},r())},refreshContent:()=>ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,St(i(),c().renderGuid,o(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const u=c();if(u.preheader!==void 0)return ee(n,"PREHEADER",a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE,{value:u.preheader,guid:u.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const u=c();if(u.subject!==void 0)return ee(n,"SUBJECT",a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,{value:u.subject,guid:u.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:u=>e.showFilled?.(u),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(l()),fireInit(u,d){if(!Ur(t(),u)){t().getActiveShowRequest()?.showId;return}const p=c();p.id,p.renderGuid,t().completeShow(u),je(e.readDocument(),{is_inited:!0},{source:"system"});const m=l();return d&&(m.reset=!0),e.events.inited(m)},fireEmailChanged(){e.events.emailChanged(l())},fireContentChanged(){e.events.contentChanged(i())}}}function sc(e){const t=()=>e.initPipeline();let n=!1,r,s,i,o=0,c;const l=rc({...e,waitScope:()=>({getSandboxTimeoutMs:g=>t().getSandboxTimeoutMs(g),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:c?.signal??t().signal})});let u;const d=(g,b)=>{if(u===g)return;u=g;const _=o;setTimeout(()=>{o!==_||t().signal.aborted||y(g,b).catch(()=>{})},0)},p=()=>{c?.abort(),c=void 0};let m;const v=()=>{const g=t().signal;g!==m&&(m?.removeEventListener("abort",p),m=g,g.addEventListener("abort",p))};async function y(g,b){const _=++o;p(),c=new AbortController,v();const I=()=>o!==_,P=l.readTarget(),D=t().generation,h=()=>D===t().generation&&!t().signal.aborted,w=b?"init:reset-":"init:";if(!b){const T=l.publicEmail();T?.id,T?.renderGuid,T?.preheader}let f=!1,S=!1;try{n=!0,await l.sendInitStart(),l.fireWillInit(),await(b?l.refreshContent():l.sendContent()),f=!0,b||l.publicEmail()?.id;try{await l.sendPreheader()}catch(T){`${w}`,String(T)}try{await l.sendSubject()}catch(T){`${w}`,String(T)}if(I()||l.showFilled(P),await l.sendInited(),S=!0,s===g){const T=e.readSandboxGeneration?.()??i;T!==void 0&&(r=T)}await l.revealFilled()}catch(T){throw I()||(`${w}`,{...e.describeSurface?.(),error:String(T)},void 0),!I()&&Ur(t(),g)&&t().failShow(g,T),T}finally{E(g,b,w,{superseded:I(),sessionGeneration:D,contentApplied:f,sandboxInitedAcked:S,commit:h()})}}function E(g,b,_,I){const{superseded:P,contentApplied:D,sandboxInitedAcked:h}=I;if(P){`${_}`;return}h&&I.commit?l.fireInit(g,b||void 0):h?(`${_}`,I.sessionGeneration,t().generation,t().signal.aborted,void 0):D?(`${_}`,void 0):(`${_}`,void 0),n=!1,c=void 0,!h&&s===g&&(s=void 0,r===i&&(r=void 0)),!h&&D&&d(g,b)}return{channel:l,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:g=>{r=g},lastCorrelation:()=>s,markCorrelation:g=>{s=g},bumpRunSeq:()=>{o+=1},noteSandboxGeneration:g=>{i=g},fill:g=>y(g,!1),refill:g=>y(g,!0),stop:()=>{o+=1,p(),n=!1,m?.removeEventListener("abort",p),m=void 0}}}function ic(e,t,n){if(!e?.renderGuid||!e.showId||e.showId!==t.showId)return!1;if(t.isNew)return e.id==null;const r=t.emailId??t.navId;return r!=null&&String(e.id??"")!==String(r)?!1:Hr(e,n)}function Hr(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function oc(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:s,readSandboxGeneration:i}=e,o=d=>{const p=n(),m=s();if(!ic(p,d,m)){d.showId,d.navId,d.emailId,p?.id,p?.showId,p?.renderGuid;return}d.showId,p?.id,p?.renderGuid,t.markFilled(i()),t.markCorrelation(d.showId),t.fill(d.showId).catch(()=>{})};return{showRequested:d=>{o(d)},showRequestIdentityChanged:()=>{const d=e.initPipeline().getActiveShowRequest();d&&o(d)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const d=i();if(t.filledGeneration()===d)return;const p=n(),m=s();if(!p?.renderGuid||!Hr(p,m))return;const v=`${jr}${p.renderGuid}`;t.markFilled(d),t.markCorrelation(v);const y=r()?.isReady()===!0;p.id,p.renderGuid,(y?E=>t.refill(E):E=>t.fill(E))(v).catch(()=>{t.lastCorrelation()===v&&t.markFilled(void 0)})},saasChanged:()=>{const d=n();d?.renderGuid,d?.showToken,d?.id}}}function ac(e){return e??""}function lc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function cc(e){const t=se(e),n=q(e),r=()=>ne(t.sessionKey())?void 0:t.current(),s=()=>{const R=r();return tc({attributes:R?.get().attributes??{},readContent:()=>R?.getContent(),docId:R?.get().docId,hasSession:!!R,serverId:R?.get().serverId,show:t.showFacts()})},i=()=>e.getInstance(a.INIT_PIPELINE_ID)??It;let o={},c=!1;const l=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(R=>{c=!!R?.element});let u=!1,d=!1,p=!1,m=0;const v=()=>{const R=oe(e);if(!R)return;const G=++m,U=R.spare();return U&&Ll(e,U.element),(U?U.reloadQuietly():R.ensureSpare()?.ready())?.then(()=>{if(G!==m)return;u=!0;const Z=R.spare();Z&&Ol(e,Z.element),p&&(p=!1,T(),V())})},y=ec({run:()=>{p||v()?.catch(()=>{})}}),E=()=>{Xl(e).noteContentShown(),!u&&!p&&y.start()};let g=!1;const I=sc({container:e,messageService:n,initPipeline:i,readDocument:r,readEmail:s,revealFilled:()=>{const R=oe(e);return g&&R&&(g=!1,y.start()),c?R?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:R=>{const G=oe(e),U=G?.spare()?.element.contentWindow;d&&G&&U&&R===U&&(d=!1,G.promote(),G.busy(!1),g=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!o.isTemplate,readSandboxGeneration:()=>ie(n),describeSurface:()=>({canvasPath:S,promoted:d,spareClean:u,handshake:n.isInited(),generation:ie(n)}),events:{willInit:R=>{Q(e,a.events.WILL_EMAIL_INIT_ID).fire(R)},inited:R=>{E(),Q(e,a.events.ON_EMAIL_INIT_ID).fire(R)},contentChanged:R=>{Q(e,a.events.ON_CONTENT_CHANGED_ID).fire(R)},emailChanged:R=>{Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(R)},browserExtensionDetected:()=>{Q(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),P=oc({pipeline:I,initPipeline:i,readEmail:s,readDocument:r,readRouteEmailId:()=>o.emailId,readSandboxGeneration:()=>ie(n)});let D="",h="",w="";const f=R=>R.length>0;let S="none";const T=()=>{const R=oe(e)?.spare();R&&(n.send({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0}),u=!1,d=!0,Rl(e,R.element))},N=(R,G)=>{const U=oe(e);if(!U)return!0;const Z=U.spare(),ue=Z&&u?"spare":"prepare";if(S=ue,U.busy(!0),Z&&u)return T(),!0;y.cancel(),n.send({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0});const fe=v();if(fe===void 0)return S="reload",U.busy(!1),U.peek("email")?.reload(),!0;p=!0;const En=m;return fe.catch(()=>{!p||En!==m||(p=!1,S="reload",U.busy(!1),U.peek("email")?.reload())}),!1},C=()=>{de(),I.noteSandboxGeneration(ie(n));const R=s(),G=lc(R?.renderGuid,R?.showId,R?.id,o.emailId),U=ac(R?.renderGuid);if(U!==h){const fe=f(h),En=h;h=U,fe&&N(En,U)}if(p)return;G!==D&&(D=G,P.showRequestIdentityChanged());const Z=r(),ue=`${G}|${Z?.get().docId??""}|${ie(n)}`;ue!==w&&Z?.isReady()===!0&&(w=ue,P.selfInitChanged()),P.saasChanged(),k()};let O=!1,A="",L="";const k=()=>{const R=s();if(!R?.renderGuid)return;const G=I.channel.readContent(),U=JSON.stringify([R.preheader,R.common_styles,R.meta,R.subject,R.utm_parameters?.utm_campaign??"",R.utm_parameters?.utm_content??"",R.utm_parameters?.utm_medium??"",R.utm_parameters?.utm_source??"",R.utm_parameters?.utm_term??""]),Z=O&&G!==L,ue=O&&U!==A;if(O=!0,L=G,A=U,I.isEventsLocked())return;const fe={...R,id:o.isTemplate||R.isNew?void 0:R.id,html:G};if(Z){Q(e,a.events.ON_CONTENT_CHANGED_ID).fire(G),Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe);return}ue&&R.is_inited&&Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe)};let F=!1;const V=()=>{F||(F=!0,queueMicrotask(()=>{F=!1,C()}))};e.inject(wt,{pipeline:I,setRoute:R=>{R.emailId===o.emailId&&!!R.isTemplate==!!o.isTemplate||(o=R,V())}});let ae,M;const j=()=>{const R=r()?.get().docId;R!==M&&(ae?.(),M=R,ae=r()?.subscribe(V)),V()};let B,Y;const de=()=>{const R=e.getInstance(a.INIT_PIPELINE_ID);!R||R===B||(Y?.(),B=R,Y=R.onShowRequested(G=>P.showRequested(G)))},nt=n.addListener(R=>{R.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&y.notify()}),Xp=t.subscribe(j),Jp=Sr(n,V);j(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l?.dispose(),Y?.(),Jp(),Xp(),ae?.(),nt.dispose(),y.cancel(),I.stop()})}function dc(){return a.USEBLOCKS!=="emailmaker"}var $r={config:{mode:"freeUserBlocks",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formButtonFieldReplacerEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!1,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},Gr={config:{mode:"pro",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!0,styles:"",revisionService:!1,headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!0,commonStylesEnabled:!0,emailResponsiveControlEnabled:!0,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!0,annotationsEnabled:!0,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!0,formFieldBorderRadiusEnabled:!0,formFieldBoxShadowEnabled:!0,formFieldVisibilityEnabled:!0,formFieldExportAsPictureEnabled:!0,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!0,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!0,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!0,formImageFieldReplacerEnabled:!0,formImageFieldHeightEnabled:!0,formTextFieldTypografEnabled:!0,formTextFieldReplacerEnabled:!0,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!0,elementAIimageEnabled:!0,elementAItextEnabled:!0,elementCarouselEnabled:!0,elementAccordionEnabled:!0,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!0,formFieldAmpVisibilityEnabled:!0,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0,enableCopyFile:!0}},project:void 0,page:{isNew:!0,type:"email",project:0,id:"",showToken:0}},Vr=Gr,uc=["pro"],Yr={};function fc(e){Yr=e}var qr=e=>uc.includes(e)?Vr:Yr[e]??Vr,Dt={config:{mode:"simple",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!0,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!0,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!1,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!0,emailDropdownMenuClone:!0,emailDropdownMenuImport:!0,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportZipEnabled:!0,exportTextEnabled:!0,exportMarkdownEnabled:!0,exportClipboardEnabled:!0,exportWebHookEnabled:!0,exportOutlookEnabled:!1,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!0,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!0,aiAssistentEnabled:!0,optimizeEnabled:!0,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!0,tagsEnabled:!0,isTemplateEnabled:!0,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!0,deleteButtonEnabled:!0,toggleSidePanel:!0,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!0,formFieldImageTitleEnabled:!0,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!0,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!0,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!0,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!0,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!1,elementCountdownEnabled:!1,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4,fileManager:{defaultFolderName:"",enableMoveFolder:!0,enableEdit:!0,enableTrash:!0}},project:void 0},pc={config:{mode:"editor",autosaveTimeout:5e3,autosaveRetryMaxAttempts:5,autosaveRetryIntervalMs:3e4,theme:"",themes:{},mergeTagsShow:!1,styles:"",headerShow:!0,headerTitleVisible:!0,headerPreheaderVisible:!0,headerArrowBackVisible:!0,historyEnabled:!0,codeEnabled:!1,codeSideEnabled:!0,previewIconEnabled:!0,previewModeEnabled:!0,livePreviewEnabled:!0,sendTestEnabled:!0,sharePreviewEnabled:!1,webversionEnabled:!1,commonStylesEnabled:!1,emailResponsiveControlEnabled:!1,templateNotEmAlertShow:!1,beeFreeConverterEnabled:!0,stripoConverterEnabled:!0,aiLayoutConverterEnabled:!1,emailDropdownMenuEnabled:!1,emailDropdownMenuClone:!0,emailDropdownMenuImport:!1,emailDropdownMenuImportButton:!1,emailDropdownMenuConvert:!0,emailDropdownMenuLock:!0,emailDropdownMenuRemove:!0,emailExportEnabled:!0,exportHtmlEnabled:!0,exportTextEnabled:!1,exportMarkdownEnabled:!1,exportZipEnabled:!0,exportClipboardEnabled:!1,exportWebHookEnabled:!1,exportOutlookEnabled:!0,exportPdfEnabled:!0,exportPngEnabled:!0,nextButtonEnabled:!1,nextButtonText:"",saveButtonEnabled:!0,saveButtonText:"",commandButtonsEnabled:!0,emailIdShow:!1,sidePanelFloating:!0,desktopMobileSwitchRule:!0,desktopMobileSwitchPanel:!1,onlyCodeModeInMobile:!1,pathEnabled:!0,copyPasteEnabled:!1,saveBlockEnabled:!0,globalBlockCheckboxEnabled:!0,editImageControlEnabled:!0,lockEditor:!1,lockPreheaderAndTitle:!1,disableSideMenu:!1,menuDirection:"right",defaultBuildPanel:"",commentsEnabled:!1,aiAssistentEnabled:!1,optimizeEnabled:!1,optimizeLinksEnabled:!0,optimizeImagesEnabled:!0,optimizeSpamAssassinEnabled:!0,optimizeCheckCodeEnabled:!0,settingsEnabled:!0,settingsTabEnabled:!0,UTMEnabled:!1,annotationsEnabled:!1,subjectEnabled:!0,preheaderEnabled:!0,descriptionEnabled:!1,tagsEnabled:!0,isTemplateEnabled:!1,switchDesktopMobilePropsEnabled:!0,stepToOtherElementEnabled:!1,deleteButtonEnabled:!0,toggleSidePanel:!1,blocksSectionsShow:!0,blocksEmptyEnabled:!0,blocksSavedEnabled:!0,blocksCommonEnabled:!0,blocksTemplateEnabled:!0,blocksSearchEnabled:!0,blocksAddPanelEnabled:!0,imagePathDropdownEnabled:!1,formFieldImageTitleEnabled:!1,formFieldBorderEnabled:!1,formFieldBorderRadiusEnabled:!1,formFieldBoxShadowEnabled:!1,formFieldVisibilityEnabled:!1,formFieldExportAsPictureEnabled:!1,emailPaneDesktopSize:0,formButtonFieldInsertImageEnabled:!1,formButtonFieldVerticalAlignEnabled:!0,formButtonFieldTextAlignEnabled:!1,formButtonFieldBackgroundImageEnabled:!0,formButtonFieldPaddingsEnabled:!1,formButtonFieldReplacerEnabled:!1,formCellFieldVerticalAlignEnabled:!1,formCellFieldBackgroundImageEnabled:!0,formCellFieldPaddingsEnabled:!0,formCellFieldSizeEnabled:!1,formLinkFieldInsertImageEnabled:!0,formTableFieldBackgroundImageEnabled:!0,formDivFieldBackgroundImageEnabled:!0,formImageFieldVerticalAlignEnabled:!1,formImageFieldReplacerEnabled:!1,formImageFieldHeightEnabled:!1,formTextFieldTypografEnabled:!1,formTextFieldReplacerEnabled:!1,formEmailFieldBackgroundImageEnabled:!0,elementImageEnabled:!0,elementTextEnabled:!0,elementHeaderEnabled:!0,elementButtonEnabled:!0,elementListULEnabled:!0,elementListOLEnabled:!0,elementDividerEnabled:!0,elementSpacerEnabled:!0,elementSocialEnabled:!0,elementTableEnabled:!0,elementCountdownEnabled:!0,elementVideoEnabled:!1,elementAIimageEnabled:!0,elementAItextEnabled:!1,elementCarouselEnabled:!1,elementAccordionEnabled:!1,elementFormEnabled:!1,preventSendDataToEM:!1,imageInfoToolUrl:"",resourceProxy:void 0,resourceProxyPolicy:void 0,imageCenterFileManagerView:!0,imageCenterLocalUploadEnabled:!0,imageCenterStockEnabled:!0,imageCenterGifEnabled:!0,imageCenterIconStockEnabled:!0,imageCenterEditorEnabled:!0,compressMaxSize:1,compressMaxWidthOrHeight:2e3,ampExportEnabled:!1,formFieldAmpVisibilityEnabled:!1,testEmails:[],pushToGTM:!0,activeNextButton:!0,iconStrokeWidth:1.4},project:void 0},mc={...Dt,config:{...Dt.config,imageCenterFileManagerView:!1}};fc({pro:Gr,editor:pc,simple:dc()?Dt:mc,freeUserBlocks:$r,blocks:$r});var zr=new Set;function hc(){return window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme)??void 0}function gc(e){return zr.add(e),e(hc()),{dispose(){zr.delete(e)}}}function Rt(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function Ec(e,t){return t.modeDefaults(Rt(e,t.fallbackMode))}function vc(e,t){const n=Rt(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function bc(e,t){const n=Rt(e,t),r=e.user?.advancedConfigs?.[n],s=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...s}}function _c(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function yc(e){return a.mergeResourceProxyLayers(e.map(t=>t?.resourceProxy))}function Sc(e){return a.mergeResourceProxyPolicyLayers(e.map(t=>t?.resourceProxyPolicy))}function Ic(e){return a.mergeBackendProxyLayers(e.map(t=>t?.backendProxy))}function wc(e){return a.mergeShallowConfigLayers(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function Tc(e,t){return[e.base,Ec(e,t),e.profile,e.serverSide,vc(e,t.fallbackMode),e.user,bc(e,t.fallbackMode),e.local]}function Ot(e,t){const n=Tc(e,t),r=a.mergeShallowConfigLayers(n),s=_c(n);s!==void 0&&(r.fileManager=s);const i=yc(n);i!==void 0&&(r.resourceProxy=i);const o=Sc(n);o&&Object.keys(o).length>0&&(r.resourceProxyPolicy=o);const c=Ic(n);c!==void 0&&(r.backendProxy=c);const l=wc(n);return l&&Object.keys(l).length>0&&(r.backendProxyPolicy=l),r}var Ac=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function Kr(e){return e==="server"?"serverSide":e}function Cc({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},s=pe();let i={kind:"pending"},o;const c=new Promise(m=>{o=m}),l=n===void 0?void 0:setTimeout(()=>{d({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function u(){i.kind!=="pending"&&s.set(Ot(r,e))}function d(m){if(i.kind!=="pending")return;clearTimeout(l),i=m;const v=Ot(r,e);s.set(v),o(v)}function p(m,v){r[Kr(m)]=v,m==="server"&&i.kind==="pending"?d({kind:"applied"}):u()}return{watch:m=>s.watch(m),select:m=>s.select(m),get:()=>s.get(),ready:()=>c,state:()=>i,layers:()=>({...r}),bootstrap(){const m=Ot(r,e);return Object.fromEntries(Ac.map(v=>[v,m[v]]))},merge(m,v){p(v,{...r[Kr(v)],...m})},replace(m,v){p(v,m)},setMode(m){r.user={...r.user,mode:m},u()},setAdvancedConfigs(m){r.advancedConfigs=m,u()},serverAbsent(m){d({kind:"absent",reason:m})},applyServerResponse(m){i.kind==="pending"&&p("server",{...r.serverSide,...m})},dispose(){clearTimeout(l)}}}var Pc=5e3,cm="pro";function Dc(){return{...qr("pro")?.config,mergeTags:void 0}}function Rc(e,t){e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function Oc(e,t){let n;ur(e).watch(({profile:r})=>{const s=`${r?.theme??""}|${r?.locale??""}`;if(s===n)return;n=s;const i={};r?.theme&&(i.theme=r.theme),r?.locale&&(i.locale=r.locale),t.replace(i,"profile")})}function Lc(e,t){let n=null;const r=gc(s=>{const i=typeof s=="string"&&s?s:void 0;i!==n&&(n=i,t.replace(i?{theme:i}:{},"local"))});e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}async function Nc(e,t){if(e.getInstance(at)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(a.APP_ID);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function Mc(e){e.injectFactory(a.CONFIG_SOURCE_ID,(t,n)=>{if(n)return n;const r=Cc({base:Dc(),env:{modeDefaults:s=>qr(s)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:Pc});return Rc(e,r),Oc(e,r),Lc(e,r),Nc(e,r),e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r),r},!0)}var Ee=class extends a.Disposable{_event;_listener;_disposeEvent;constructor(e){super(),this._event=e}setListener(e){this._listener!==e&&(this._listener=e,this._disposeEvent&&this._disposeEvent(),e?this._disposeEvent=this._event(e):this._disposeEvent=void 0)}dispose(){this._disposeEvent&&this._disposeEvent(),super.dispose()}};function x(e,t,n){const r=a.snapshot(e);return(s,i,o)=>{const c=r(async l=>{const u=t?t(l):l;o&&s.bind(o);const d=await s(u);return n?n(d):d},i,o);return()=>c.dispose()}}var xc=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new a.Emitter;this.handleDestroy=x(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Ee(this.handleDestroy));e.lifetime.addDisposable(t),e.lifetime.addDisposable(e.options.watch(({handleDestroy:r})=>n.setListener(r))),e.lifetime.addDispose(()=>e.release())}destroy(){if(!this.deps.lifetime.isDisposed())try{this.deps.lifetime.dispose()}catch{}}},Lt=a.createIdentifier$1("DestroyableService");function kc(e){e.injectFactory(Lt,()=>{const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new xc({lifetime:t,options:e.getInstance(a.OPTIONS_SOURCE_ID),getInstance:()=>e.getInstance(a.INSTANCE_ID),release:()=>a.releaseContainer(e.getInstance(a.STORE_ID)??e)})},!0)}function Fc(e){const t=e.getInstance(Lt);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var Bc=1e3;function Wr(e,t,n=Bc,r=0){if(r>n||e===t)return!0;if(typeof e!=typeof t||e===null||t===null)return!1;if(typeof e=="object"&&typeof t=="object"){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;const s=Object.keys(e),i=Object.keys(t);if(s.length!==i.length)return!1;for(const o of s)if(!Wr(e[o],t[o],n,r+1))return!1;return!0}return!1}function Ae(e,t){if(!e||typeof e!="object")return t;if(!t||typeof t!="object")return{};const n={};for(const r of Object.keys(t)){const s=t[r],i=e[r];Wr(s,i)||(n[r]=s)}return n}var jc=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},Uc=({source:e,emailtags:t,group:n,tags:r,...s})=>s,Hc=()=>kn();async function $c({emails:e},t){const n=Hc();let r;try{return await Promise.race([e.notifySave(t),new Promise((s,i)=>{r=setTimeout(()=>{const o=new jc(n);t.value.id,i(o)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function Gc(e){const{emails:t}=e,n=async(r,s)=>{const i=Uc(s),o=r===void 0?void 0:await t.cache.getIfPresent(r),c=o?{...o,...i}:i,l=await $c(e,{prev:o,patch:o?Ae(o,i):i,value:c,source:s.source??""}),u=String(l.id??r??a.generateUUID()),d=l.id===void 0?{...l,id:u}:l;return await t.cache.addOrUpdate(u,()=>d)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const s=await n(void 0,r);return s?.renderGuid?s:{...s,renderGuid:a.generateUUID()}},async updateEmail(r,s){return await n(r,s)}}}var Nt=20,Vc=({source:e,emailtags:t,group:n,tags:r,...s})=>s;function Yc({revisions:e,revisionsByEmail:t}){const n=async(r,s)=>(t.clear(),await t.get(r,{page:s}),(await e.cache.values()??[]).filter(i=>String(i?.parent)===String(r)));return{async readRevisions(r,s=1){const i=await n(r,s);return{revisions:i.slice(Nt*(s-1),Nt*s),page:s,hasMore:i.length>Nt*s}},async readAutosave(r){return vo(await n(r,1))},async saveAutosave(r,s){const i=Vc(s);return await e.create({...i,parent:r,modified:new Date().toString()})}}}var qc=class extends a.BaseEmitter{async execute([e],t){for(const n of t){const r=await n(e);r&&(r.id===void 0&&(r.id=e.value.id),e.value=r)}return e.value}},zc=class extends a.AsyncEmitter{};function dm(e){return e}var Xr=class extends a.Disposable{_items=new Map;_onChangeEmitter=new a.Signal;async _getOrCreate(e,t){const n=this._items;let r;if(n.has(e))try{r=await n.get(e)}catch{t&&(r=await t())}else t&&(r=await t(),r&&this._onChangeEmitter.fire());return r}async _addOrUpdate(e,t){let n;const r=this._items;if(r.has(e))try{n=await r.get(e)}catch{}const s=await t(n);return a.deepEqual(n,s)||this._onChangeEmitter.fire(),s}entries(){return Promise.all([...this._items.entries()].map(([e,t])=>t.then(n=>[e,n]))).then(e=>e.filter(([t,n])=>!!n))}values(){return Promise.all([...this._items.values()].map(e=>e).filter(e=>!!e))}getOrCreate(e,t){const n=this._getOrCreate(e,()=>t(e));return this._items.set(e,n),n}addOrUpdate(e,t){const n=this._addOrUpdate(e,t);return this._items.set(e,n),n}async getIfPresent(e){if(this._items.has(e))try{return await this._items.get(e)}catch{return}}add(e,t){const n=Promise.resolve(t);return this._items.set(e,n),n}remove(e){if(this._items.has(e)){const t=this._items.get(e);return this._items.delete(e),this._onChangeEmitter.fire(),t}return Promise.resolve(void 0)}async setAll(e){try{this.suspendChange();const t=[],n=new Set(Array.from(e).map(([s,i])=>s)),r=(await this.entries()).filter(([s,i])=>!n.has(s));for(const[s,i]of e)t.push(this.addOrUpdate(s,()=>i)),n.add(s);for(const[s]of r)t.push(this.remove(s));return await Promise.all(t),r}finally{this.resumeChange()}}clear(){this._items.clear(),this._onChangeEmitter.fire()}suspendChange(){this._onChangeEmitter.suspend()}resumeChange(){this._onChangeEmitter.resume()}onChange=this._onChangeEmitter.event};function Kc(e,{filter:t,order:n="asc",orderBy:r,page:s,pageSize:i=20}={}){const o=e.length;let c=e.length;if(t!==void 0){const l=Object.keys(t);e=e.filter(u=>{for(const d of l){const p=u[d],m=t[d];return d==="id"||typeof p!="string"?p===m:typeof m=="string"&&p.startsWith(m)}return!0}),c=e.length}return r&&(e=e.sort((l,u)=>(l[r]>u[r]?1:u[r]>l[r]?-1:0)*(n==="asc"?1:-1))),s!==void 0&&(e=e.slice(i*(s-1),i*s)),{data:e,filteredTotal:c,total:o,totalPages:Math.ceil(c/i)}}function Wc(e=[]){if(e=e.filter(n=>n),e.length<=1)return e[0];const t=new Map;for(const n of e)for(const r of n)if(r.id!==void 0){const s=t.get(r.id)||{};t.set(r.id,{...s,...r})}return[...t].map(([n,r])=>r)}function Xc(e,t){return Jr(e)&&Jr(t)?String(e)===String(t):e===t}function Jr(e){return typeof e=="string"||typeof e=="number"}var Jc=class extends a.Disposable{_cache=new Xr;_readEmitter=new a.AsyncEmitter;_saveEmitter=this.addDisposable(new qc);_removeEmitter=this.addDisposable(new zc);_foreignCache=Object.create(null);async get(e){return this._cache.getOrCreate(e,async t=>Object.assign({id:e},...(await this._readEmitter.fire(e)).filter(n=>!!n)))}get cache(){return this._cache}byForeignKey(e){let t=this._foreignCache[e];if(!t){const n=this.addDisposable(new a.Disposable);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new Xr),s=n.addDisposable(new a.AsyncEmitter);t=this._foreignCache[e]={get:async(i,o={})=>{await r.getOrCreate(i,async()=>{try{const l=Wc(await s.fire(i))||[];for(const u of l)u[e]=i,await this._cache.add(u.id,u);return l}catch{return[]}});const c=(await this._cache.values()||[]).filter(l=>{const u=l[e];return u==null||Xc(u,i)});return Kc(c,o)},first(i,o={}){return t.get(i,{...o,page:1,pageSize:1}).then(({data:c})=>c[0])},handleRead:s.event,clear(){r.clear()},dispose(){n.dispose()}}}return t}async create(e,{source:t="",silent:n}={}){let r=e;return n||(r=await this._saveEmitter.fire({prev:void 0,patch:e,value:r,source:t})),r.id===void 0&&(r.id=a.generateUUID()),await this._cache.addOrUpdate(r.id,()=>r)}notifySave(e){return this._saveEmitter.fire(e)}async update(e,t,{source:n="",silent:r}={}){return this._cache.addOrUpdate(e,async s=>{const i=s?{...s,...t}:t;if(!r)return t=s?Ae(s,t):t,await this._saveEmitter.fire({prev:s,patch:t,value:i,source:n})})}async remove(e,{source:t="",silent:n}={}){const r=await this._cache.remove(e);return n||await this._removeEmitter.fire({value:r,source:t}),r}refresh(){this._cache.clear();for(const e of Object.values(this._foreignCache))e.clear()}suspendChange(){this._cache.suspendChange()}resumeChange(){this._cache.resumeChange()}handlerRead=this._readEmitter.event;onSave=this._saveEmitter.event;onRemove=this._removeEmitter.event;onChange=this._cache.onChange};function Ce(e){const t=a.createIdentifier$1(e);return n=>n.getOrCreateInstance(t,()=>new Jc)}function Qc(e){const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("Failed");return t}function Qr(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function Zc(e,t,n){return e&&!Qr(t)&&Qr(e)?{...n,meta:e.meta}:n}var Zr=Ce("plugin.dataSource.emails"),es=Ce("plugin.dataSource.emailRevisions"),ts=a.createIdentifier$1("emailDocuments.provided");function ed(e){const t=Zr(e),n=es(e),r=n.byForeignKey("parent");return e.getInstance(ts)?{emails:t,emailRevisions:n}:(e.inject(ts,!0),Bo(e,Gc({emails:t})),$o(e,Yc({revisions:n,revisionsByEmail:r})),Qc(e).addDisposable(t.onSave(({prev:s,patch:i,value:o})=>Zc(s,i,o),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function ns(e,t){return!e?.data||!t||e.id!==t.locale?!1:t.contentHash?e.hash===t.contentHash:t.updatedAt>0&&t.updatedAt<=e.time}function td(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var nd="po",Ye=null;function rd(){const e=typeof __emailmaker__<"u"?__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([nd],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function sd(){return Ye===null&&(Ye=rd().catch(e=>{throw Ye=null,e})),Ye}async function rs(e){if(typeof e=="object")return Mt(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?id(t):od(t)}function Mt(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function id(e){try{return Mt(JSON.parse(e))}catch{return}}var ss=!1;async function od(e){try{return Mt((await sd()).parsePoCatalog(e))}catch{ss||(ss=!0);return}}var ad="em_locale",ld="em_ant_locale",cd="locale",dd="ant_locale";function xt(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function is(e,t){const n=xt(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function ud(){return xt("em_locale")??is(cd,"em_locale")}function os(e){try{localStorage.setItem(ad,JSON.stringify(e))}catch{}}function fd(){return xt("em_ant_locale")??is(dd,"em_ant_locale")}function pd(e,t){try{localStorage.setItem(ld,JSON.stringify({id:e,data:t}))}catch{}}var um="en_US",md=8e3;function hd(e,t){const n=e,r=t,s=Object.keys(n).filter(i=>i!=="");return s.length!==Object.keys(r).filter(i=>i!=="").length?!1:s.every(i=>JSON.stringify(n[i])===JSON.stringify(r[i]))}function gd(e){const t=ud(),n=fd();let r={ready:!1},s;const i=pe(r);let o=0;const c=g=>{r={...r,...g},i.set(r)},l=()=>{r.ready||c({ready:!0})},u=setTimeout(l,e.unlockAfterMs??md),d=g=>g!==o;let p;async function m(g,b){if(n?.id===g&&n.data&&c({antd:n.data}),!p)return;const _=await p(g).catch(()=>{});!_||d(b)||(c({antd:_}),pd(g,_))}async function v(g,b){const _=await e.askHost(g).catch(()=>null);if(d(b))return!0;if(_==null)return!1;const I=await rs(_);return d(b)||(I&&c({catalog:I}),l()),!0}async function y(g,b){const _=await e.readList();if(d(b))return;if("error"in _){c({failure:{kind:"GET_LOCALES_ERROR",error:_.error}}),l();return}const I=_.data.find(D=>D.locale===g);if(!I){td("em_locale")&&c({catalog:void 0}),l();return}if(ns(t,I)&&(!s||s.catalog===t?.data)){l();return}if(s?.entry&&r.catalog===s.catalog&&ns(s.entry,I)){os(s.entry),l();return}const P=await e.readCatalog(g);if(!d(b)){if("error"in P){c({failure:{kind:"GET_LOCALE_ERROR",error:P.error}}),l();return}P.data&&(s?.id===g&&r.catalog===s.catalog&&hd(s.catalog,P.data)||c({catalog:P.data}),os({id:g,time:I.updatedAt||Math.floor(Date.now()/1e3),hash:I.contentHash,data:P.data})),l()}}async function E(g,b){if(!await v(g,b)){if(!d(b)&&(s?.id===g&&r.catalog===s.catalog||g==="en_US")&&l(),e.canUseNetwork&&!e.canUseNetwork()){l();return}await y(g,b)}}return{set(g){if(!g||g===r.id)return;const b=o+=1;c({id:g,failure:void 0});const _=s?.id===g&&r.catalog===s.catalog;(s&&!_&&r.catalog===s.catalog||g==="en_US"&&r.catalog)&&c({catalog:void 0}),t?.id===g&&t.data&&(c({catalog:t.data}),l()),m(g,b),E(g,b)},prime(g,b,_){r.id||r.catalog||!b||(s=t?.id===g&&t.data&&(!_||t.time>=_.time)?{id:g,catalog:t.data}:{id:g,catalog:b,entry:_?{id:g,time:_.time,hash:_.hash,data:b}:void 0},c({catalog:s.catalog}))},useAntdLoader(g){p=g,r.id&&m(r.id,o)},state:i,snapshot:()=>r,dispose:()=>clearTimeout(u)}}var Ed=class{http;constructor(e){this.http=e}jsonList=({locale:e},t={})=>this.http.request({path:`/translations/${e}.json`,method:"GET",format:"json",...t});getTranslations=({locale:e},t={})=>this.http.request({path:`/translations/${e}.po`,method:"GET",...t});localesList=(e={})=>this.http.request({path:"/translations/locales",method:"GET",format:"json",...e})},vd=class{baseUrl="/api/v2";securityData=null;securityWorker;abortControllers=new Map;customFetch=(...e)=>fetch(...e);baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"};constructor(e={}){Object.assign(this,e)}setSecurityData=e=>{this.securityData=e};encodeQueryParam(e,t){return`${encodeURIComponent(e)}=${encodeURIComponent(typeof t=="number"?t:`${t}`)}`}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map(n=>this.encodeQueryParam(t,n)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(n=>typeof t[n]<"u").map(n=>Array.isArray(t[n])?this.addArrayQueryParam(t,n):this.addQueryParam(t,n)).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?`?${t}`:""}contentFormatters={"application/json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"application/vnd.api+json":e=>e!==null&&(typeof e=="object"||typeof e=="string")?JSON.stringify(e):e,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>e instanceof FormData?e:Object.keys(e||{}).reduce((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:typeof r=="object"&&r!==null?JSON.stringify(r):`${r}`),t},new FormData),"application/x-www-form-urlencoded":e=>this.toQueryString(e)};mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}createAbortSignal=e=>{if(this.abortControllers.has(e)){const n=this.abortControllers.get(e);return n?n.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal};abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))};request=async({body:e,secure:t,path:n,type:r,query:s,format:i,baseUrl:o,cancelToken:c,...l})=>{const u=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},d=this.mergeRequestParams(l,u),p=s&&this.toQueryString(s),m=this.contentFormatters[r||"application/json"],v=i||d.format;return this.customFetch(`${o||this.baseUrl||""}${n}${p?`?${p}`:""}`,{...d,headers:{...d.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(c?this.createAbortSignal(c):d.signal)||null,body:typeof e>"u"||e===null?null:m(e)}).then(async y=>{const E=y;E.data=null,E.error=null;const g=v?y.clone():y,b=v?await g[v]().then(_=>(E.ok?E.data=_:E.error=_,E)).catch(_=>(E.error=_,E)):E;return c&&this.abortControllers.delete(c),b})}},bd=a.createIdentifier$1("rest.v2.transport"),as=Symbol("rest.v2.secureRequest");function _d(e){return e.getOrCreateInstance(bd,()=>{const t=e.getInstance(a.CUSTOM_FETCH_ID)?.execute||fetch;return new vd({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[as]:!0}),customFetch:(n,r={})=>{const{[as]:s,...i}=r;return t(n,{...i,[a.PUBLIC_REQUEST]:s!==!0})}})})}function yd(e,t){const n=_d(e);return Object.assign({},...t.map(r=>new r(n)))}function ls(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function cs(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:ls(n.details,"wp_code")??n.code,message:ls(n.details,"wp_message")??n.message,details:n.details}}:t&&typeof t=="object"?{status:e.status,data:t}:{status:e.status,data:{message:e.statusText||"request failed"}}}function ds(e){return!e.ok||!!e.error}function Sd(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function us(){return Sd(a.LOCAL_STORAGE_ITEMS.em_translations_v2)??!0}function Id(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function wd(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function Td(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],s=r[0];return typeof s=="string"&&s!==""&&t.push({locale:s,updatedAt:Id(r[1])}),t},[]):[]}function Ad(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:wd(n.updated_at),contentHash:n.content_hash}),t),[])}function fs(e){return yd(e,[Ed])}function qe(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function kt(e){return!e.ok||e.error!=null}function Ft(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Bt(e){return{data:await rs(e)??null}}async function Cd(e){if(us())try{const n=await fs(e).localesList();return ds(n)?{error:cs(n)}:{data:Ad(n.data)}}catch(n){return qe(n)}const t=a.getApi(e,[Cn]);try{const n=await t.get_translations2({file:"react_app"});return kt(n)?Ft(n):{data:Td(n.data)}}catch(n){return qe(n)}}async function Pd(e,t){if(us())try{const r=await fs(e).jsonList({locale:t});return ds(r)?{error:cs(r)}:Bt(r.data)}catch(r){return qe(r)}const n=a.getApi(e,[Cn]);try{const r=await n.get_translations3({id:t,file:"react_app"});return kt(r)?Ft(r):Bt(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return kt(r)?Ft(r):Bt(r.data)}catch(r){return qe(r)}}}var Pe=a.createIdentifier$1("locale.service");function Dd(e){if(e.getInstance(Pe))return;const t=gd({readList:()=>Cd(e),readCatalog:n=>Pd(e,n),askHost:async n=>(await Q(e,a.events.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(a.SECURITY_MODULE_ID)});e.inject(Pe,t),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>t.dispose())}function Rd(e){const t=e.getInstance(a.CONFIG_SOURCE_ID);if(!t)return;const n=e.getInstance(Pe);if(!n)return;const r=t.select(s=>s.locale).watch(s=>n.set(s));e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}var Od="user_id",Ld="project_id",ps=a.createIdentifier$1("rest.identityHeadersProvided");function Nd(e){if(e.getInstance(ps))return;e.inject(ps,!0);let t;e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t=n}),e.addService(a.REQUEST_HANDLER_ID,{execute(n,r){if(r?.public)return;const s=t?.user?.id??fr(e).profile?.id;s!=null&&s!==""&&n.headers.set(Od,String(s));const i=t?.project;i!=null&&i!==""&&n.headers.set(Ld,String(i))}})}function Md(e){if(!e)return!1;try{return e.getInstance(a.SECURITY_MODULE_ID)!==void 0}catch{return!1}}var xd="Invalid standaloneKey.",fm=a.createIdentifier$1("StandaloneMockGuard");function kd(){const e=new Error(xd);return e.name="InvalidStandaloneKeyError",e}function Fd(e){e.addService(a.REQUEST_HANDLER_ID,{execute:()=>{if(Md(e))throw kd()}})}function Bd(e){a.registerRestTransport(e),Fd(e)}function jd(e){const t=new Lr;e.inject(a.INIT_PIPELINE_ID,t);let n;const r=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(i=>{i&&(i.signal!==void 0&&(n=i.signal),t.configure({replaceSession:!0,...i.timeouts!==void 0?{timeouts:i.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),s=e.getInstance(a.DISPOSABLE_ID);r&&s?.addDisposable(r),s?.addDispose(()=>{t.abort()})}var Ud=Ce("plugin.dataSource.blocks"),Hd=Ce("plugin.dataSource.blockRevisions"),$d=Ce("plugin.dataSource.comments"),Gd=Or(),Vd=Or(),ms=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2086
2086
  <html>
2087
2087
  <head>
2088
2088
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
@@ -2123,10 +2123,10 @@ __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/
2123
2123
  </tr>
2124
2124
  </table>
2125
2125
  </body>
2126
- </html>`;function qd(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:fs,project:e?.id,project_title:e?.title??"",tags:[],utm_parameters:{utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:""},parent_email:null,common_styles:"{}",title:"",emailtags:[],isAmp:!1}}var zd=a.createIdentifier$1("CurrentProject"),Kd={};function qe(e){return e?.getInstance(zd)?.get()??Kd}function ps(e){const t=qe(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var ms=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function Wd(e){return!Object.keys(e).some(t=>ms.has(t))}function Xd(e){const t={},n={};for(const[r,s]of Object.entries(e))ms.has(r)?t[r]=s:n[r]=s;return{showOptions:t,misplacedEmailFields:n}}function hs(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function cm(e){}function ze(e){return{emails:Jr(e),blocks:Hd(e),emailRevisions:Qr(e),blocksRevision:$d(e),comments:Gd(e)}}function Jd(e){const t=Object.values(ze(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function Bt(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(Wd(e))return{email:hs(e)};{const{showOptions:n,misplacedEmailFields:r}=Xd(e),s=Object.keys(r);t&&s.length>0&&void 0;const i=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:hs({...r,...i})}}}function gs(e){return ht(e)?.current()}function Ke(e){return gs(e)?.getContent()}function Qd(e,t){const n=t??qd(),r=gs(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:Ke(e)??n.html}:n}async function jt(e){return(await e.getInstanceAsync(a.APP_ID))?.project}function ve({code:e,project:t,...n},r){const s=re(n),i=ps(r),o=ge(r);return e&&o.warnAboutUnconfiguredInput(e,n.id),{...s,...e?{html:o.toEditorForm(e)}:{},...i===void 0?{}:{project:i},utm_parameters:s.utm_parameters||{},_embedded:void 0}}function W({html:e,renderGuid:t,showToken:n,showId:r,...s},i){const{requested:o}=qe(i),c=ur(i);return re({...s,code:ge(i).toOutputForm(e),project:o===void 0?s.project:o,utm_parameters:c.UTMEnabled?s.utm_parameters:void 0,tags:void 0,template:void 0,guid:void 0,emailtags:void 0,project_title:void 0,project_author:void 0,is_template:void 0,is_inited:void 0})}function Ut(e){return e==null?"":e.replaceAll(`\r
2126
+ </html>`;function Yd(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:ms,project:e?.id,project_title:e?.title??"",tags:[],utm_parameters:{utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:""},parent_email:null,common_styles:"{}",title:"",emailtags:[],isAmp:!1}}var qd=a.createIdentifier$1("CurrentProject"),zd={};function ze(e){return e?.getInstance(qd)?.get()??zd}function hs(e){const t=ze(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var gs=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function Kd(e){return!Object.keys(e).some(t=>gs.has(t))}function Wd(e){const t={},n={};for(const[r,s]of Object.entries(e))gs.has(r)?t[r]=s:n[r]=s;return{showOptions:t,misplacedEmailFields:n}}function Es(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function pm(e){}function Ke(e){return{emails:Zr(e),blocks:Ud(e),emailRevisions:es(e),blocksRevision:Hd(e),comments:$d(e)}}function Xd(e){const t=Object.values(Ke(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function jt(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(Kd(e))return{email:Es(e)};{const{showOptions:n,misplacedEmailFields:r}=Wd(e),s=Object.keys(r);t&&s.length>0&&void 0;const i=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:Es({...r,...i})}}}function vs(e){return gt(e)?.current()}function We(e){return vs(e)?.getContent()}function Jd(e,t){const n=t??Yd(),r=vs(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:We(e)??n.html}:n}async function Ut(e){return(await e.getInstanceAsync(a.APP_ID))?.project}function ve({code:e,project:t,...n},r){const s=re(n),i=hs(r),o=ge(r);return e&&o.warnAboutUnconfiguredInput(e,n.id),{...s,...e?{html:o.toEditorForm(e)}:{},...i===void 0?{}:{project:i},utm_parameters:s.utm_parameters||{},_embedded:void 0}}function W({html:e,renderGuid:t,showToken:n,showId:r,...s},i){const{requested:o}=ze(i),c=pr(i);return re({...s,code:ge(i).toOutputForm(e),project:o===void 0?s.project:o,utm_parameters:c.UTMEnabled?s.utm_parameters:void 0,tags:void 0,template:void 0,guid:void 0,emailtags:void 0,project_title:void 0,project_author:void 0,is_template:void 0,is_inited:void 0})}function Ht(e){return e==null?"":e.replaceAll(`\r
2127
2127
  `,`
2128
- `)}function Es(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Zd(e,t,n,r){const s=eu(e,t,n,r);return s===void 0}function eu(e,t,n,r){const{email:s}=Bt(t,!1),i=ve(s,e),o=i.id;if(o===void 0)return"no-id";if(r!==void 0&&r!==o)return"other-id-shown";const c=ht(e)?.current();if(!c)return"no-session";const l=c.get(),u=l.attributes;if(l.serverId!==o)return"document-id";if(u.is_inited!==!0)return"not-inited";const d=Es(Ut(n??c.getContent()));if(i.html!==void 0&&Es(Ut(i.html))!==d)return"html";if(i.subject!==void 0&&i.subject!==u.subject)return"subject";if(i.preheader!==void 0&&i.preheader!==u.preheader)return"preheader";if(i.common_styles!==void 0&&i.common_styles!==u.common_styles)return"common_styles"}function vs(e,t){const{email:n}=Bt(t,!1),r=ve(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:Ut(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function tu(e,t){const n={...e};return delete n.id,{...n,...t}}function nu(e){return e.html?e:{...e,html:fs}}function Pe({code:e,project:t,...n},r,s){const i=s??ps(r);return{...n,...e?{html:ge(r).toEditorForm(e)}:{},renderGuid:a.generateUUID(),...i===void 0?{}:{project:i}}}function We({html:e,renderGuid:t,...n},r){const{requested:s}=qe(r);return re({...n,code:ge(r).toOutputForm(e),project:s===void 0?n.project:s,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function bs(e){return ht(e)?.current()?.get().serverId??void 0}function Ht(e,t,n){return n===void 0&&(n=e.post===void 0?bs(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function Xe(e,t){return re({...e,link:void 0,comment_status:void 0})}function $t({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?bs(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function _s({html:e,...t},n){return re({...t,code:e,guid:void 0,compiled:re({html:e,ampHtml:e&&""})})}var ru=a.createIdentifier$1("emailTemplate.reads");async function su(e,t){try{return await le(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message;return}}function iu(e,t){const n=e.getOrCreateInstance(ru,()=>new Map),r=n.get(t);if(r!==void 0)return r;const s=su(e,t).then(i=>(i===void 0&&n.delete(t),i));return n.set(t,s),s}var ou="EXTERNAL";function au(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var lu="email_id",cu=class extends a.Disposable{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=a.createQueue();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=ze(t),this._eventLock=Jd(t);const n=$(e,a.events.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(a.REQUEST_HANDLER_ID,{execute:(r,s)=>{!s?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append(lu,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(a.INIT_PIPELINE_ID)??St}_throwIfDestroyed(){if(this.isDisposed())throw st()}async getTemplateEmail(e){const t=await iu(this._container,String(e));if(!t)return;const n={...t,lock:!1,parent_email:String(e)};return delete n.id,n}async setBlocks(e=[]){const{cache:t}=this._dataSources.blocks,n=await jt(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Pe(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,$t(s,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,Ht(s,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,s){const i=this._dataSources.emails,o=i.cache,c=await jt(this._container),l=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let u=ve(e,this._container);const d=u.id;let p=d;if(d!==void 0){const m=await i.get(d);u={...m??{},...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c}}else{p=n??a.generateUUID();const m=await i.get(p);u={...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c},delete u.project}if(t){const m=await this.getTemplateEmail(String(t));m&&(u=tu(m,u))}return d===void 0&&(u=nu(u)),await o.addOrUpdate(p,()=>u),u}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==vs(this._container,e))return!1;const n=Ke(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=vs(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:Ke(this._container)??""}}async _show(e,t){if(this._throwIfDestroyed(),t!==void 0&&t!==this._showRequests){this._showRequests;return}if(!e)return;const n=this._getInitPipeline();if(a.throwIfAborted(n.signal),Zd(this._container,e,Ke(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=Bt(e);r.email.id,this._prevCommand?.id;let s,i="",o=0,c=!1,l,u=Promise.resolve(),d,p=!1;try{this._eventLock.suspendChange();const{email:m,blocks:v,autosaves:y,comments:E,templateId:g,reload:b}=r;s=m.id;const _=ve(m,this._container),w=_.id,P=w??a.generateUUID(),D=await Ie("getProject",jt(this._container));a.throwIfAborted(n.signal),i=a.generateUUID();const h={isNew:w===void 0,id:String(P),project:D},I=b===!0&&w!==void 0;I&&(await this._dataSources.emails.remove(String(w),{silent:!0}),String(w)),o=++this._showToken,String(P);const f=[];f.push(this.setBlocks(v)),m.id!==void 0&&(f.push(this.setComments(E)),f.push(this.setEmailRevisions(y,String(m.id)))),f.push(this.setEmail(m,Number(g),w===void 0?String(P):void 0,o,i)),await Ie("setEmail+blocks+revisions",Promise.all(f),{emailId:w??String(P),showId:i,targetShowToken:o}),a.throwIfAborted(n.signal);const S=await this._dataSources.emails.get(String(P)),T=se(this._container),A={id:i,token:o};w===void 0?d=T.startNewDraft(S??_,{patch:_,show:A}):I?d=T.reload(w,{email:S??_,patch:_,show:A}):T.sessionKey()===Se(w)?d=T.show(_,A):d=T.open(w,{email:S??_,patch:_,show:A});const O=!!this._prevCommand&&a.deepEqual(this._prevCommand,h);h.id,!this._prevCommand||a.deepEqual(this._prevCommand,h),this._prevCommand?.id,this._rememberShow(h),u=n.requestShow({showId:i,navId:String(P),emailId:w,isNew:w===void 0}),p=!0,String(P),c=!0}catch(m){l=m,p&&i&&n.failShow(i,m),String(m)}finally{this._eventLock.resumeChange()}if(!c)throw l instanceof Error?l:new Error(`[emailmaker] show() setup failed: ${String(l??"unknown error")}`);return Ie("show-init-deferred",Promise.all([u,d?.whenReady().catch(m=>{if(m instanceof Fe){const v=Zn(m);throw v?new Error(`[emailmaker] show(): email open failed (${v})`,{cause:m}):m}})??Promise.resolve()]).then(()=>{}),{showId:i,emailId:s??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();a.throwIfAborted(e.signal);const t=se(this._container),n=await t.save("publish",{source:ou});if(a.throwIfAborted(e.signal),!n)throw au(t.saveState().error);return W(Qd(this._container,this._currentEmail),this._container)}_queuedShow=this._queue.decorate((e,t)=>this._show(e,t),this);show=e=>{const t=this._showRequests+=1;return this._queuedShow(e,t)};save=this._queue.decorate(this._save,this)};function du(e){return String(e).replace(/"/g,"&quot;")}function uu(e=new Date){const t=n=>String(n).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function fu(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let n;for(;(n=t.exec(e))!==null;){const r=n[2]??"";if(/\bem\s*=\s*["']block["']/i.test(r))return{full:n[0],index:n.index}}return null}function ys(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),s=du(n);return r.test(e)?e.replace(r,`${t}="${s}"`):e.replace(/>$/,` ${t}="${s}">`)}function pu(e,t,n){if(!e?.trim()||!t)return e;const r=fu(e);if(!r)return e;const s=String(t),i=uu(n??new Date);let{full:o,index:c}=r;const l=o.length;return/\bem-block-id\s*=/.test(o)||(o=ys(o,"em-block-id",s)),o=ys(o,"em-block-version",i),e.slice(0,c)+o+e.slice(c+l)}function mu(e){if(e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object")return e.meta;const t=e.catalogExtra?.meta;if(t!=null&&typeof t=="object")return t}function hu(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),s=t?.project??(e.project!==void 0&&e.project!==null?String(e.project):void 0);return{type:t?.type??n,insertFrom:n,name:t?.name??e.name,blockId:r,project:s,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:mu(e)}}function Gt(e,t){return t?hu(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var Ss=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],gu=[...Ss,"html","id","project","password"],dm=new Set(["html",...Ss,"global_block","project"]);function Eu(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const n=new Set(gu),r={};for(const s of Object.keys(e))n.has(s)||(r[s]=e[s]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function vu(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...Eu(e),html:typeof e.html=="string"?e.html:"",insertFrom:t.type,name:t.name,project:t.project??e.project,id:e.id!=null&&e.id!==""?String(e.id):t.blockId}}var Vt=new WeakMap;function bu(e){let t=Vt.get(e);return t||(t={byId:new Map,fallback:[]},Vt.set(e,t)),t}function _u(e){Vt.delete(e)}function yu(e,t){const{byId:n,fallback:r}=bu(t);if(e.blockId){const s=n.get(e.blockId);if(s){n.delete(e.blockId);const i=r.indexOf(s);return i>=0&&r.splice(i,1),s}return}for(let s=r.length-1;s>=0;s--){const i=r[s],o=e.name!=null&&e.name!==""&&i.name!=null&&i.name!==""&&i.name===e.name,c=e.type!=null&&e.type!==""&&i.insertFrom===e.type;if(o&&c)return r.splice(s,1),i.id!=null&&i.id!==""&&n.delete(String(i.id)),i}}async function Su(e,t){const{blocks:n}=ze(e);return await n.cache.getIfPresent(t)??void 0}async function wu(e,t){if(!t.blockId)return;const n=await Su(e,t.blockId);if(n)return vu(n,t)}async function Iu(e,t){const n=yu(e,t);if(n)return Gt(e,n);const r=await wu(t,e);return r?Gt(e,r):Gt(e,void 0)}var Tu=a.createIdentifier("application_block_inserted"),Au=-1e3,ws=new WeakSet;function Cu(e){if(e===null||typeof e!="object")return!1;const t=e;return typeof t.type=="string"||typeof t.name=="string"||typeof t.blockId=="string"||typeof t.project=="string"||typeof t.project=="number"}function Pu(e){if(!e||ws.has(e))return;ws.add(e);const t=new a.Disposable,n=q(e);return t.addDisposable(n.addListenerAsyncPipe(Tu,async(r,s)=>{const i=Cu(r)?await Iu(r,e):r;return s?s(i):i},Au)),t.addDisposable({dispose:()=>{_u(e)}}),t}var Is=100,Du=class extends a.Disposable{_container;_events;constructor(e){super(),this._container=e;const t=Pu(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:s}=ze(e),i=$(e,a.events.ON_SHARE_ID),o=$(e,a.events.ON_SHOW_PREVIEW_ID),c=$(e,a.events.ON_EMAIL_CLONE_ID),l=$(e,a.events.ON_CODE_VALIDATE_ID),u=$(e,a.events.ON_SUBJECT_CHANGED_ID),d=$(e,a.events.ON_EMAIL_CHANGED_ID),p=$(e,a.events.ON_PREHEADER_CHANGED_ID),m=$(e,a.events.ON_SAVEBUTTON_CLICK_ID),v=$(e,a.events.ON_NEXTBUTTON_CLICK_ID),y=$(e,a.events.ON_SEND_LIVEPREVIEW_ID),E=$(e,a.events.ON_SEND_TESTEMAIL_ID),g=$(e,Yd),b=$(e,a.events.ON_CONTENT_CHANGED_ID),_=$(e,Vd),w=$(e,a.events.ON_PREVIOUSBUTTON_CLICK_ID),P=$(e,a.events.ON_SEND_EMAIL_MODAL_ID),D=a.filter($(e,a.events.ON_EMAIL_INIT_ID),h=>!h.reset);return{handlePreheaderChanged:M(p),handleSubjectChanged:M(u),handleValidate:M(l),handleReadEmail:M(n.handlerRead,h=>h,h=>h&&ve(h,e)),handleSaveEmail:M(n.onSave,function({prev:h,patch:I,value:f,source:S}){const T=h?W(h,e):void 0;return{prev:T,patch:Te(T,W(I,e)),value:W(f,e),source:S}},h=>h?ve(h,e):void 0),handleRemoveEmail:M(n.onRemove,({value:h,source:I})=>({value:W(h,e),source:I}),()=>{}),handleReadCommonBlocks:M(g,h=>h.project,h=>h?.map(I=>Pe(I,e))),handleReadTemplateBlocks:M(_,h=>h,h=>h?.map(I=>Pe(I,e))),handleReadBlocks:M(t.byForeignKey("project").handleRead,h=>qe(e).requested||String(h),h=>h?.map(I=>Pe(I,e))),handleSaveBlock:M(t.onSave,function({prev:h,patch:I,value:f,source:S}){const T=f.global_block===!0&&f.id&&typeof f.html=="string"?{...f,html:pu(f.html,String(f.id))}:f,A=h?We(h,e):void 0;return{prev:A,patch:Te(A,We(I,e)),value:We(T,e),source:S}},h=>h?Pe(h,e):void 0),handleRemoveBlock:M(t.onRemove,({value:h,source:I})=>({value:We(h,e),source:I}),()=>{}),handleReadComments:M(r.byForeignKey("post").handleRead,h=>h,h=>h?.map(I=>Ht(I,e))),handleSaveComment:M(r.onSave,function({prev:h,patch:I,value:f,source:S}){const T=h?Xe(h,e):void 0;return{prev:T,patch:Te(T,Xe(I,e)),value:Xe(f,e),source:S}},h=>h?Ht(h,e):void 0),handleRemoveComment:M(r.onRemove,({value:h,source:I})=>({value:Xe(h,e),source:I}),()=>{}),handleReadEmailRevisions:M(s.byForeignKey("parent").handleRead,h=>h,h=>h?.map(I=>$t(I,e))),handleEmailAutosave:M(s.onSave,function({prev:h,patch:I,value:f,source:S}){return{value:_s(f,e),source:S}},h=>h?$t(h,e):void 0),handleRemoveEmailAutoSave:M(s.onRemove,({value:h,source:I})=>({value:_s(h,e),source:I}),()=>{}),handleEmailChanged:M(a.debounce(d,Is),h=>W(h,e)),handleEmailInit:M(D,h=>W(h,e)),handlePreviousButtonClick:M(w,h=>W(h,e)),handleNextButtonClick:M(v,h=>W(h,e)),handleSaveButtonClick:M(m,h=>W(h,e)),handleHtmlChanged:M(a.debounce(b,Is)),handleTestEmailSend:M(E,({html:h,...I})=>({...I,code:h,compiled:{html:h,ampHtml:""}})),handleTestEmailModal:M(P,h=>W(h,e)),handleCloneEmail:M(c,h=>W(h,e)),handleShareEmail:M(i),handlePreviewEmail:M(o),handleLivePreviewEmail:M(y)}}get(){return this._events||(this._events=this._get())}_listenersUpdaters;setOptions(e={}){const t=this.get();let n=this._listenersUpdaters;if(!n){n=this._listenersUpdaters={};for(const r of Object.keys(t))n[r]=this.addDisposable(new Ee(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},Ru=a.createIdentifier$1("DataController"),Ou=a.createIdentifier$1("DataEvents");function Ts(e){return e.getOrCreateInstance(Ru,()=>{const t=new cu(e);return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t})}function As(e){return e.getOrCreateInstance(Ou,()=>new Du(e))}var Lu=a.createIdentifier$1("plugin.startupShow");function Nu(e){const t=Ts(e),n=As(e),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=e.getInstance(a.DISPOSABLE_ID),i={current:Promise.resolve()};e.inject(Lu,i);const o=r?.watch(l=>{l&&n.setOptions(l)}),c=r?.select(l=>l?.content).watch(l=>{l!==void 0&&(U(z.showStart),i.current=(async()=>{try{await t.show(l)}catch{}finally{U(z.showEnd)}})())});o&&s?.addDisposable(o),c&&s?.addDisposable(c)}function Mu(e){const t=Ts(e);return{...As(e).get(),show(n){return U(z.showStart),t.show(n).finally(()=>U(z.showEnd))},save(){return t.save()}}}function um(e){return e}var xu=[{name:"rest.client",setup:jd},{name:"auth.oauth",setup:a.provideOAuth},{name:"rest.identityHeaders",setup:Md},{name:"lifetime.destroyable",provides:[Ot],setup:Fc},{name:"appInit",provides:[a.APP_ID,ot],setup:ji},{name:"config",provides:[a.CONFIG_SOURCE_ID],setup:xc},{name:"email.documents",setup:td},{name:"show.initPipeline",provides:[a.INIT_PIPELINE_ID],setup:Ud},{name:"show",setup:Nu},{name:"locale.service",provides:[Ce],setup:Rd},{name:"locale.fromConfig",awaits:{services:[a.CONFIG_SOURCE_ID,Ce]},setup:Od},{name:"canvas.early",setup:Fl},{name:"canvas.previewSettings",setup:Yl},{name:"canvas.sandboxExtensions",setup:zl},{name:"canvas.headerSync",provides:[Mr],setup:Ul},{name:"canvas.ampSync",setup:ma},{name:"canvas.moduleBridge",setup:ja},{name:"canvas.port",setup:wa},{name:"canvas.images",setup:ya},{name:"canvas.edits",setup:vl},{name:"canvas.blockContent",setup:fl},{name:"canvas.sandboxFill",provides:[wt],setup:dc},{name:"canvas.reactions",setup:Ml}],ku=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Fu(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function Bu(e,t){const n=[];for(const r of e.awaits?.services??[])for(const s of t.get(r)??[])s!==e&&n.push(s);return n}function Cs(e){const t=Fu(e),n=[],r=new Set,s=[],i=new Set,o=c=>{if(!r.has(c)){if(i.has(c)){const l=s.indexOf(c);throw new ku([...s.slice(l),c].map(u=>u.name))}i.add(c),s.push(c);for(const l of Bu(c,t))o(l);s.pop(),i.delete(c),r.add(c),n.push(c)}};for(const c of e)o(c);return n}var Ps;function Yt(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);if(t)return t;e.getInstance(a.DISPOSABLE_ID)||e.inject(a.DISPOSABLE_ID,new a.Disposable);const n=pe();e.inject(a.OPTIONS_SOURCE_ID,n),Ps??=Cs(xu);for(const r of Ps)r.setup(e);return n}function ju(e){}var Uu=[{name:"save.previewFollow",setup:ju}],Ds=a.createIdentifier$1("plugin.lateUnitsInstalled");function Hu(e){if(!e.getInstance(Ds)){e.inject(Ds,!0);for(const t of Cs(Uu))t.setup(e)}}function $u(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function Gu(e){if(!e)return;const t=a.decodeJwt(e)?.data,n=t?.data?.scope??t?.scope;return(Array.isArray(n)?n.flatMap(r=>typeof r=="string"?r.split(/\s+/):[]):typeof n=="string"?n.split(/\s+/):[]).find(r=>/^project_\d+$/.test(r))?.replace(/^project_/,"")||void 0}var Vu=a.defineMixin(e=>{let t,n,r;return{async setOptions(s){const i=r!==s.getAuthToken,o=!a.deepEqual(t,s.user),c=n!==s.project;if(r=s.getAuthToken,t=s.user,n=s.project,!(!e.getInstance(a.SECURITY_MODULE_ID)||!s.getAuthToken)&&!(!i&&!o&&!c))try{const l=await s.getAuthToken(s.user,s.project);e.inject(a.STANDALONE_BOOTSTRAP_TOKEN_ID,Promise.resolve(l||""));const u=Gu(l);if(!u)return;e.inject(a.STANDALONE_PROJECT_ID,u);const d=e.getInstance(a.APP_ID),p=d?await d.catch(()=>{}):void 0;e.inject(a.APP_ID,Promise.resolve($u(u,p)))}catch{}}}});function Yu(e,t){if(e.getInstance(a.STANDALONE_FILE_PROXY_REGISTERED_ID))return;e.inject(a.STANDALONE_FILE_PROXY_REGISTERED_ID,!0);const n=a.getEvent(e,a.events.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function qu(e){e.getInstance(a.STANDALONE_ACTIVATED_ID)||e.inject(a.SECURITY_MODULE_ID,void 0)}function Je(e){return String(e.standaloneKey||"").trim()||void 0}function zu(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function qt(e){return zu(e)?!!Je(e):!1}function Qe(e){return!!Je(e)&&!qt(e)}var Ku=a.defineMixin(e=>{let t,n=!1;return{setOptions(r){const s=n;if(n=!0,!Qe(r)){t&&(qu(e),qt(r)),t=void 0;return}const i=Je(r);if(!i||t===i&&e.getInstance(a.SECURITY_MODULE_ID))return;t=i,e.inject(a.SECURITY_MODULE_ID,i);const o=e.getInstance(a.DISPOSABLE_ID);o&&Yu(e,o)}}}),Wu=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=a.getEvent(e,a.APP_LOAD_EVENT_ID),r=M(n),s=t.addDisposable(new Ee(r));return{setOptions({handleLoad:i}){s.setListener(i)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),Xu=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=t.addDisposable(new a.AsyncEmitter),r=t.addDisposable(new a.AsyncEmitter),s=a.getEmitter(e,a.CONFIG_CHANGED_EVENT_ID),i=M(n.event),o=M(r.event),c=M(s.event),l=t.addDisposable(new Ee(i)),u=t.addDisposable(new Ee(o)),d=t.addDisposable(new Ee(c));return{instance:{handleSetOptions:i,handleOptionsChanged:o,handleConfigChanged:c},async setOptions(p){l.setListener(p.handleSetOptions),u.setListener(p.handleOptionsChanged),d.setListener(p.handleConfigChanged),await n.fire(p),await r.fire(p)},dispose(){}}}),zt,Rs="core";function Ju(){const e=__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([Rs],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Qu(e){const t=__emailmaker__?.require?.warm;return typeof t!="function"?De().then(()=>{}):t([Rs],e)}function De(){return zt===void 0&&(zt=Ju().then(e=>(_e()&&e.installDiagnostics().catch(t=>{}),e))),zt}var Kt=null,Wt=null;async function Zu(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Xt(){return Kt||(Kt=De().then(()=>{})),Kt}function Os(e){return Wt||(Wt=Zu(e)),Wt}function ef(){return Os(typeof __emailmaker__<"u"?__emailmaker__:void 0)}function tf(e){return Promise.all([Xt(),Os(e)]).then(()=>{})}function nf(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Ls(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Qu(t?{priority:t}:void 0)).then(()=>n?Xt():void 0).catch(()=>{})}function rf(e){const t=nf(e);if(t==="eager")Ls(e);else if(t==="idle"){const n=()=>Ls(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var Ns="PluginRegistry";function sf(e=a.resolveContainer()){return e.getOrCreateInstance(Ns,()=>new _i)}var Ms=new yi(()=>sf()),of=a.defineMixin(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const s=e.getInstance(a.INSTANCE_ID),i=e.getInstance(Ns);t||(t=new bi(s,i,{ensureHostRuntimeReady:ef}),e.inject(a.PLUGIN_COLLECTION_ID,t));const o=r?.plugins||[];s&&await t.setPlugins(o)},instance:{use(r){return typeof r=="function"?n().useByCtor(r):n().useByKey(r)},useAsync(r){return n().useAsync(r)},waitPlugin(r){return n().waitFor(r)}},dispose(){t?.dispose(),t=void 0}}}),xs=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const s=this._listeners.indexOf(r);s>=0&&this._listeners.splice(s,1)}}}async run(e){const t=[...this._listeners].sort((n,r)=>r.priority-n.priority);for(const{fn:n}of t){const r=await n(e);r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&Object.assign(e,r)}return e}},af=a.createIdentifier$1("ELEMENT_INSERT_HTML_PIPELINE"),lf=a.createIdentifier$1("BLOCK_INSERT_HTML_PIPELINE"),cf="application_block_inserted",df=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(lf,()=>new xs).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),s=n?e.bind(n):e;return r.addListener(cf,s,t)}},uf=a.createIdentifier$1("ComponentRegistry"),ks;function Re(e,t=uf){const n=a.DependencyResolver.getInstance(t);if(n)return n;if(!ks)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return a.DependencyResolver.getOrCreateInstance(t,ks)}var ff=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(a.ATOMS_HANDLERS_ID,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Re(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{const i=s.value.find(o=>o.name===e);if(i){const{icon:o,title:c,fallbackTooltip:l,...u}=t;o&&(i.icon=r.getReactNode(o)),c&&(i.title=r.getReactNode(c)),l&&(i.fallbackTooltip=r.getReactNode(l)),Object.assign(i,u)}}})}delete(e){this._container.addService(a.ATOMS_HANDLERS_ID,{execute:t=>{const n=t.value.findIndex(r=>r.name===e);n>=0&&t.value.splice(n,1)}})}insert(e,t){const n=this._container,r=Re(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{s.value.splice(t??s.value.length,0,{...e,title:r.getReactNode(e.title),icon:r.getReactNode(e.icon),fallbackTooltip:r.getReactNode(e.fallbackTooltip)})}})}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(af,()=>new xs).add(e,t??0,n)}handleInject(e,t,n){return a.getEmitter$1(this._container,a.HANDLE_ATOM_INSERT_ID).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},pf=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}send(e,t,n){this._messageService.send(e,t,n)}sendAsync(e,t,n=!0){return this._messageService.sendAsync(e,t,n)}addListener(e,t,n){return this._messageService.addListener(e,t,n)}addListenerAsync(e,t,n=0){return this._messageService.addListenerAsync(e,t,n)}onInit(e,t=!0,n=0){return this._messageService.onInit(e,t,n)}isInited(){return this._messageService.isInited()}};function mf(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var hf=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=a.getEmitter$1(t,a.MODAL_SHOW_EVENT),this._closeModalEmitter=a.getEmitter$1(t,a.MODAL_CLOSE_EVENT),this._updateModalEmitter=a.getEmitter$1(t,a.MODAL_UPDATE_EVENT)}get _container(){return this._context.container}show(e){const t=Re(this._container),n=`modal_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,r=e.modalProps;return this._showModalEmitter.fire({...e,content:t.getReactNode(e.content),title:t.getReactNode(e.title),id:n,modalProps:r?{...r,footer:t.getReactNode(r.footer),okText:t.getReactNode(r.okText),cancelText:t.getReactNode(r.cancelText),closeIcon:t.getReactNode(r.closeIcon)}:void 0}),n}close(e){this._closeModalEmitter.fire(e)}closeAll(){this._closeModalEmitter.fire()}update(e,t){const n=Re(this._container),r=t.modalProps;this._updateModalEmitter.fire(mf({...t,content:n.getReactNode(t.content),title:n.getReactNode(t.title),id:e,modalProps:r?{...r,footer:n.getReactNode(r.footer),okText:n.getReactNode(r.okText),cancelText:n.getReactNode(r.cancelText),closeIcon:n.getReactNode(r.closeIcon)}:void 0}))}},gf=class{_registration;_loadedDisposable;loaded;ready;_loadedSettled=!1;_readySettled=!1;constructor(e,t){this._registration=e,this._loadedDisposable=t,this.loaded=new Promise((n,r)=>{const s=()=>this._loadedDisposable.dispose(),i=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),n())},o=c=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),r(c))};this._resolveLoaded=i,this._rejectLoaded=o}),this.ready=new Promise((n,r)=>{const s=()=>this._loadedDisposable.dispose(),i=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),n())},o=c=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),r(c))};this._resolveReady=i,this._rejectReady=o})}_resolveLoaded=()=>{};_rejectLoaded=()=>{};_resolveReady=()=>{};_rejectReady=()=>{};resolveLoaded(){this._resolveLoaded()}resolveReady(){this._resolveReady()}rejectLoad(e){this._rejectLoaded(e),this._rejectReady(e)}rejectReady(e){this._rejectReady(e)}dispose(){this._registration.dispose();const e=new Error("Sandbox script registration disposed before completion.");this.rejectLoad(e),this.rejectReady(e)}},Ef=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}_createScriptHandle(e,t){const n=this._messageService.addListener(a.SANDBOX_EXTENSION_SCRIPT_STATUS_ID,s=>{if(s.key===e){if(s.phase==="load"&&s.status==="success"){r.resolveLoaded();return}if(s.phase==="ready"&&s.status==="success"){r.resolveReady();return}if(s.phase==="load"){r.rejectLoad(new Error(s.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(s.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new gf(t,n);return r}registerSandboxCSS(e){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"script",key:e,parent:"head",attributes:{src:e,type:"text/javascript"}});return this._createScriptHandle(e,t)}registerSandboxScriptCode(e,t){const n=this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},vf=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function Jt(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&vf.has(t)}function Fs(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(e&&typeof e.getRandomValues=="function"){const t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}return`nohwcrypto-${Date.now()}`}function Qt(){return`__settingsPanel:${Fs()}`}function Zt(e,t){return{type:e,props:t}}function bf(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!Jt(e)}function Bs(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(Jt(t)){const r=Qt();return n(e.add(r,t)),Zt(r,{})}if(typeof t=="function"){const r=Qt();return n(e.add(r,t)),Zt(r,{})}if(bf(t)){const r=t.type;if(typeof r=="string")return t;if(Jt(r)||typeof r=="function"){const s=Qt();return n(e.add(s,r)),Zt(s,t.props)}return t}return t}var _f=class{_context;_panelRegistrationDisposables=[];constructor(e){this._context=e}get _container(){return this._context.container}_clearPanelRegistrations(){for(const e of this._panelRegistrationDisposables)e.dispose();this._panelRegistrationDisposables.length=0}_trackRegistration(e){this._panelRegistrationDisposables.push(e)}showSettingsPanel(e){this._clearPanelRegistrations();const t=Re(this._container),n=o=>this._trackRegistration(o),r=Bs(t,e.content,n),s=e.advancedTabs?.map(o=>({...o,content:Bs(t,o.content,n)})),i=e.instanceKey??Fs();a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire({...e,content:r,advancedTabs:s,instanceKey:i,type:a.ADVANCED_SETTINGS_PANEL})}closeSettingsPanel(){this._clearPanelRegistrations(),a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire(null)}},js={SandboxScriptApi:Ef,ElementsApi:ff,BlocksApi:df,MessageService:pf,SettingsPanelApi:_f,ModalApi:hf};function en(e,t,n,r={}){const s=Object.assign({},e);for(const[i,o]of Object.entries(t))if(o!==void 0)if(n.includes(i)&&typeof o=="object"&&o!==null){const c=s[i],l=r[i]??{};s[i]=Object.assign({},typeof c=="object"&&c!==null?c:l,o)}else s[i]=o;return s}var X={border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},borderRadiusCards:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},padding:{all:null,top:null,right:null,bottom:null,left:null}},yf={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},tn={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},Us={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},be={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:X.border,borderRadius:X.borderRadius,textAlign:"center",padding:X.padding},Hs={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:X.padding},nn={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:X.border,borderRadius:X.borderRadiusCards};function Sf(e){return{...yf,...e}}function wf(e){return{...tn,...e,bold:e?.bold??tn.bold,italic:e?.italic??tn.italic}}function If(e){return{...Us,...e,underline:e?.underline??Us.underline}}function Tf(e){return{...be,...e,bold:e?.bold??be.bold,italic:e?.italic??be.italic,border:{...be.border,...e?.border},borderRadius:{...be.borderRadius,...e?.borderRadius},padding:{...be.padding,...e?.padding}}}function Af(e){return{...Hs,...e,padding:{...Hs.padding,...e?.padding}}}function Cf(e){return{...nn,...e,border:{...nn.border,...e?.border},borderRadius:{...nn.borderRadius,...e?.borderRadius}}}function rn(e={}){return{backgroundColor:e.backgroundColor||"",backgroundImage:(e.backgroundImage||[]).map(t=>({type:"url",value:t?.value||""})),backgroundPositionX:e.backgroundPositionX||"",backgroundPositionY:e.backgroundPositionY||"",backgroundRepeat:e.backgroundRepeat||"",backgroundSize:e.backgroundSize||"",backgroundColorContent:e.backgroundColorContent||"",textStrong:e.textStrong||!1,textItalic:e.textItalic||!1,textUnderline:e.textUnderline||!1,width:e.width,responsive:e.responsive}}function $s(e){let t={...a.COMMON_STYLES};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function sn(e){return{text:Sf(e.text),headings:wf(e.headings),links:If(e.links),buttons:Tf(e.buttons),block:Af(e.block),cards:Cf(e.cards)}}var Gs=a.createIdentifier$1("EmailSettingsPort"),Pf=1e4,Vs=class{_editor;_layoutSettingsChanged=new a.Emitter;_contentStylesChanged=new a.Emitter;_messageSubscription;_messageSubscriptionPromise;_prevLayoutSnapshot;_prevContentSnapshot;constructor(e){this._editor=e}onChangeEmailLayoutSettings(e){const t=this._layoutSettingsChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}onChangeEmailContentStyles(e){const t=this._contentStylesChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}_disposeMessageSubscriptionIfUnused(){this._layoutSettingsChanged.hasListeners()||this._contentStylesChanged.hasListeners()||(this._messageSubscription?.dispose(),this._messageSubscription=void 0)}_settings(e=this._editor.container){const t=e.getInstance(Gs);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return rn(this._settings().read())}_getCurrentContentStyles(){const e=lt(this._editor.container)?.current()?.get().attributes.common_styles;return sn($s(e))}_getLayoutSnapshot(e){return JSON.stringify(e)}_getContentSnapshot(e){return JSON.stringify(e)}async _ensureMessageSubscription(){if(!this._messageSubscription){if(this._messageSubscriptionPromise)return this._messageSubscriptionPromise;this._messageSubscriptionPromise=(async()=>{if(await this._editor.container.getInstanceAsync(Gs),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const s=r?.data,i=s?.operation;if(i===a.EVENT_TYPES.APPLICATION_EMAIL_SETTINGS_SET){const l=rn(s?.settings),u=this._getLayoutSnapshot(l);u!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=u,this._layoutSettingsChanged.fire(l));return}if(i!==a.EVENT_TYPES.APPLICATION_COMMON_STYLES_UPDATE)return;const o=sn(r.data?.settings?.commonStyles??{...a.COMMON_STYLES}),c=this._getContentSnapshot(o);c!==this._prevContentSnapshot&&(this._prevContentSnapshot=c,this._contentStylesChanged.fire(o))})})();try{await this._messageSubscriptionPromise}finally{this._messageSubscriptionPromise=void 0}}}async getEmailLayoutSettings(){return await this._waitForEmailSettingsFromIframe(),this._getCurrentLayoutSettings()}async setEmailLayoutSettings(e){await this._waitForEmailSettingsFromIframe();const t=this._settings(),n={...t.read(),...e};t.write(n);const r=rn(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=Pf){const t=lt(this._editor.container)?.current()?.get().attributes.is_inited,n=this._settings().read();if(t&&n&&Object.keys(n).length>0&&(n.backgroundColor||n.backgroundImage?.[0]?.value||n.width?.value||n.responsive!==void 0)||t)return;const r=this._editor.container,s=a.getEvent(r,a.events.ON_EMAIL_INIT_ID);return new Promise(i=>{let o=!1,c;const l=()=>{c&&(clearTimeout(c),c=void 0)},u=s(()=>{o||(o=!0,l(),u.dispose(),i())});c=setTimeout(()=>{o||(o=!0,u.dispose(),i())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=lt(this._editor.container)?.current();if(!t)return;const n=$s(t.get().attributes.common_styles);e.text!==void 0&&(n.text={...n.text||{},...e.text}),e.headings!==void 0&&(n.headings={...n.headings||{},...e.headings}),e.links!==void 0&&(n.links={...n.links||{},...e.links}),e.buttons!==void 0&&(n.buttons=en(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:X.border,borderRadius:X.borderRadius,padding:X.padding})),e.block!==void 0&&(n.block=en(n.block||{},e.block,["padding"],{padding:X.padding})),e.cards!==void 0&&(n.cards=en(n.cards||{},e.cards,["border","borderRadius"],{border:X.border,borderRadius:X.borderRadiusCards}));const r=JSON.stringify(n);Be(t,{common_styles:r}),this._settings().markAppearanceChanged();const s=sn(n);this._prevContentSnapshot=this._getContentSnapshot(s),this._contentStylesChanged.fire(s)}},Df={...js,EmailSettingsApi:Vs},Rf={...js},fm={...Rf,EmailSettingsApi:Vs},Of={...Df};function Lf(){Ms.addAll(Of)}var Nf=[a.defineMixin(()=>{Lf()}),Wu,Xu,Ku,a.JWTMixin,Vu,a.OAuthMixin];async function Mf(){return(await De()).asyncMixins}var xf=of,kf=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let s;try{s=await Mf()}catch(o){throw e.failPendingWaits(o),o}t=s(e);const i=await e.getInstanceAsync(a.INSTANCE_ID);Object.assign(i,t.instance||{});for(const o of e.getInstance(a.LATE_SURFACE_LISTENERS_ID)??[])o()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},Ff=a.combineMixins([...Nf]);function on(){let e,t=!1;const n=new Map,r=new Map;function s(){for(const i of r.values())i();r.clear()}return{event(i,o,c){const l=Symbol("subscription");return t||(n.set(l,{listener:i,priority:o,thisArg:c}),e&&r.set(l,e(i,o,c))),()=>{n.delete(l),r.get(l)?.(),r.delete(l)}},attach(i){s(),e=i;for(const[o,{listener:c,priority:l,thisArg:u}]of n)r.set(o,i(c,l,u))},dispose(){t=!0,s(),n.clear(),e=void 0}}}var Ys=a.createIdentifier$1("NotificationService");function Bf(e){const t=on(),n=on(),r=on();return e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(Ys).then(s=>{t.attach(s.onNotify),n.attach(s.onError),r.attach(s.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(s){const i=e.getInstance(Ys);if(!i)throw new Error("[plugin] notify() вызван до загрузки редактора");i.notify(s)}}}var jf=[Bc,Mu,Bf];function Uf(e,t=jf){const n=Yt(e);Hu(e);const r=Ff(e),s=xf(e),i=kf(e),o={...r.instance,...s.instance,...i.instance};for(const l of t)Object.assign(o,l(e));let c=!0;return{instance:o,async setOptions(l){await r.setOptions(l);const u=c&&n.get()===l;c=!1,u||n.set(l),await s.setOptions(l),await i.setOptions(l)}}}var Hf=class{_storage=Object.create(null);get(e){const t=this._storage[e];return t&&(!t.expires||t.expires<Date.now())?t.value:""}set(e,t,n){this._storage[e]={value:t,expires:n.expires?n.expires*1e3+Date.now():void 0}}remove(e){delete this._storage[e]}},$f="editor-runtime.react.copies",an=8;function Oe(e){return e&&typeof e=="object"?e:void 0}function qs(e){const t=Oe(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Oe(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function Gf(e){const t=Oe(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Oe(t?.default),s=r&&typeof r.version=="string"?r.version:void 0;return n??s??"unknown"}function Vf(e,t,n){return e.package===t&&e.version===n}function Yf({ourReact:e,entries:t,packageName:n,version:r}){const s=qs(e);if(!s||!Array.isArray(t))return[];const i=[],o=new Set;for(const c of t){const l=Oe(c);if(!l||!Vf(l,n,r))continue;const u=qs(l.react);!u||u===s||o.has(u)||(o.add(u),i.push({package:n,version:r,reactVersion:Gf(l.react),react:l.react}))}return i}function qf({packageName:e,copies:t}){const n=[`[${e}] A second copy of React is on this page (singleton invariant broken).`,`The editor runs on its own React, the plugin got another one from ${e}/runtime/react.`,`This shows up as "Cannot read properties of null (reading 'useState')" and takes down the whole`,"editor, not just the plugin panel: plugin components render inside the editor tree.","","Found:"];for(const r of t.slice(0,an))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>an&&n.push(` …and ${t.length-an} more`),n.push("","Likely root cause: the editor is loaded from its UMD entry (a <script> on the page), while the","plugin was built as an ESM package by the host bundler. Those two never share a React.","","Fix it either way:"," • build the plugin on globals — it then takes React from the page registry, or"," • load the editor from its ESM entry and build both with the same bundler."),n.join(`
2129
- `)}var zs=new Set;function zf({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.6",log:n=r=>{}}={}){const r=s=>{try{const i=globalThis[Symbol.for($f)],o=Yf({ourReact:s,entries:i,packageName:e,version:t}).filter(c=>!zs.has(c.react));if(!o.length)return;o.forEach(c=>zs.add(c.react)),n(qf({packageName:e,copies:o}))}catch{}};try{const s=rt()?.modules?.React;if(s&&typeof s.then=="function"){s.then(r,()=>{});return}r(s)}catch{}}async function Kf(e,t,n){a.throwIfAborted(e.signal);const r=t??a.DependencyResolver.createChild();Yt(r);const s=r.getInstance(a.DISPOSABLE_ID);async function i(){r.inject(a.COOKIE_MANAGER_ID,new Hf),zf();const o=Uf(r),c={...o.instance,container:r,async reset(l){if(a.throwIfAborted(l.signal),s.isDisposed())throw st();return await o.setOptions(l),c}};r.inject(a.INSTANCE_ID,c);try{if(n?.onInstance?.(c),await o.setOptions(e),a.throwIfAborted(e.signal),s.isDisposed()||await r.getInstance(a.PLUGIN_COLLECTION_ID)?.activate(),e.devTools)try{const l=r.getInstance(a.PLUGIN_COLLECTION_ID);l&&await(await De()).initDevTools(r,l)}catch{}return a.throwIfAborted(e.signal),a.getEmitter(r,a.APP_LOAD_EVENT_ID).fire(c),c}catch(l){throw s.dispose(),l}}try{return await a.raceWithAbortSignal(i(),e.signal)}catch(o){throw s.isDisposed()||s.dispose(),o}}var Le=new WeakMap;function Wf(e){return e?Le.get(e):void 0}function Ks(e){try{e.getInstance(a.DISPOSABLE_ID)?.dispose()}catch{}try{e.dispose()}catch{}}function Xf(e,t){if(!e)return;const n=Le.get(e);n&&n!==t&&Ks(n),Le.set(e,t)}function Jf(e,t){e&&Le.get(e)===t&&Le.delete(e)}function Qf(e){const t=a.DependencyResolver.createChild();return Qe(e)&&t.inject(a.SECURITY_MODULE_ID,Je(e)),t}var Ne=new WeakMap,Zf="data-emailmaker-config-styles";function ep(e){return typeof e=="string"?e.trim():""}function Ws(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function tp(e,t,n){if(!e||typeof document>"u")return null;const r=ep(t),s=Ne.get(e),i=n||e;if(!r)return s&&(s.remove(),Ne.delete(e)),null;if(s)return s.textContent!==r&&(s.textContent=r),(s.parentNode!==i||s!==i.firstChild)&&Ws(i,s),s;const o=document.createElement("style");return o.setAttribute(Zf,"true"),o.textContent=r,Ws(i,o),Ne.set(e,o),o}function np(e){if(!e)return;const t=Ne.get(e);t&&(t.remove(),Ne.delete(e))}var pm=!1;function Xs(){return!1}var mm=28,rp=`
2128
+ `)}function bs(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Qd(e,t,n,r){const s=Zd(e,t,n,r);return s===void 0}function Zd(e,t,n,r){const{email:s}=jt(t,!1),i=ve(s,e),o=i.id;if(o===void 0)return"no-id";if(r!==void 0&&r!==o)return"other-id-shown";const c=gt(e)?.current();if(!c)return"no-session";const l=c.get(),u=l.attributes;if(l.serverId!==o)return"document-id";if(u.is_inited!==!0)return"not-inited";const d=bs(Ht(n??c.getContent()));if(i.html!==void 0&&bs(Ht(i.html))!==d)return"html";if(i.subject!==void 0&&i.subject!==u.subject)return"subject";if(i.preheader!==void 0&&i.preheader!==u.preheader)return"preheader";if(i.common_styles!==void 0&&i.common_styles!==u.common_styles)return"common_styles"}function _s(e,t){const{email:n}=jt(t,!1),r=ve(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:Ht(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function eu(e,t){const n={...e};return delete n.id,{...n,...t}}function tu(e){return e.html?e:{...e,html:ms}}function De({code:e,project:t,...n},r,s){const i=s??hs(r);return{...n,...e?{html:ge(r).toEditorForm(e)}:{},renderGuid:a.generateUUID(),...i===void 0?{}:{project:i}}}function Xe({html:e,renderGuid:t,...n},r){const{requested:s}=ze(r);return re({...n,code:ge(r).toOutputForm(e),project:s===void 0?n.project:s,guid:void 0,link:void 0,status:void 0,slug:void 0,password:void 0,comment_status:void 0,template:void 0,blocktags:void 0,project_title:void 0,ping_status:void 0,lock:void 0,tag:void 0,is_template:void 0})}function ys(e){return gt(e)?.current()?.get().serverId??void 0}function $t(e,t,n){return n===void 0&&(n=e.post===void 0?ys(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function Je(e,t){return re({...e,link:void 0,comment_status:void 0})}function Gt({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?ys(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function Ss({html:e,...t},n){return re({...t,code:e,guid:void 0,compiled:re({html:e,ampHtml:e&&""})})}var Vt=a.createIdentifier$1("NotificationService"),nu=a.createIdentifier$1("emailTemplate.reads");async function ru(e,t){try{return await le(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message,su(e,t,n);return}}function su(e,t,n){e.getInstanceAsync(Vt).then(()=>{a.getEmitter(e,a.events.ON_NOTIFICATION).fire({type:"error",id:"TEMPLATE_READ_ERROR",data:{templateId:t},innerException:n})},()=>{})}function iu(e,t){const n=e.getOrCreateInstance(nu,()=>new Map),r=n.get(t);if(r!==void 0)return r;const s=ru(e,t).then(i=>(i===void 0&&n.delete(t),i));return n.set(t,s),s}var ou="EXTERNAL";function au(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var lu="email_id",cu=class extends a.Disposable{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=a.createQueue();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=Ke(t),this._eventLock=Xd(t);const n=$(e,a.events.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(a.REQUEST_HANDLER_ID,{execute:(r,s)=>{!s?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append(lu,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(a.INIT_PIPELINE_ID)??It}_throwIfDestroyed(){if(this.isDisposed())throw it()}async getTemplateEmail(e){const t=await iu(this._container,String(e));if(!t)return;const n={...t,lock:!1,parent_email:String(e)};return delete n.id,n}async setBlocks(e=[]){const{cache:t}=this._dataSources.blocks,n=await Ut(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,De(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,Gt(s,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,$t(s,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,s){const i=this._dataSources.emails,o=i.cache,c=await Ut(this._container),l=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let u=ve(e,this._container);const d=u.id;let p=d;if(d!==void 0){const m=await i.get(d);u={...m??{},...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c}}else{p=n??a.generateUUID();const m=await i.get(p);u={...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c},delete u.project}if(t){const m=await this.getTemplateEmail(String(t));m&&(u=eu(m,u))}return d===void 0&&(u=tu(u)),await o.addOrUpdate(p,()=>u),u}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==_s(this._container,e))return!1;const n=We(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=_s(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:We(this._container)??""}}async _show(e,t){if(this._throwIfDestroyed(),t!==void 0&&t!==this._showRequests){this._showRequests;return}if(!e)return;const n=this._getInitPipeline();if(a.throwIfAborted(n.signal),Qd(this._container,e,We(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=jt(e);r.email.id,this._prevCommand?.id;let s,i="",o=0,c=!1,l,u=Promise.resolve(),d,p=!1;try{this._eventLock.suspendChange();const{email:m,blocks:v,autosaves:y,comments:E,templateId:g,reload:b}=r;s=m.id;const _=ve(m,this._container),I=_.id,P=I??a.generateUUID(),D=await Te("getProject",Ut(this._container));a.throwIfAborted(n.signal),i=a.generateUUID();const h={isNew:I===void 0,id:String(P),project:D},w=b===!0&&I!==void 0;w&&(await this._dataSources.emails.remove(String(I),{silent:!0}),String(I)),o=++this._showToken,String(P);const f=[];f.push(this.setBlocks(v)),m.id!==void 0&&(f.push(this.setComments(E)),f.push(this.setEmailRevisions(y,String(m.id)))),f.push(this.setEmail(m,Number(g),I===void 0?String(P):void 0,o,i)),await Te("setEmail+blocks+revisions",Promise.all(f),{emailId:I??String(P),showId:i,targetShowToken:o}),a.throwIfAborted(n.signal);const S=await this._dataSources.emails.get(String(P)),T=se(this._container),N={id:i,token:o};I===void 0?d=T.startNewDraft(S??_,{patch:_,show:N}):w?d=T.reload(I,{email:S??_,patch:_,show:N}):T.sessionKey()===Ie(I)?d=T.show(_,N):d=T.open(I,{email:S??_,patch:_,show:N});const C=!!this._prevCommand&&a.deepEqual(this._prevCommand,h);h.id,!this._prevCommand||a.deepEqual(this._prevCommand,h),this._prevCommand?.id,this._rememberShow(h),u=n.requestShow({showId:i,navId:String(P),emailId:I,isNew:I===void 0}),p=!0,String(P),c=!0}catch(m){l=m,p&&i&&n.failShow(i,m),String(m)}finally{this._eventLock.resumeChange()}if(!c)throw l instanceof Error?l:new Error(`[emailmaker] show() setup failed: ${String(l??"unknown error")}`);return Te("show-init-deferred",Promise.all([u,d?.whenReady().catch(m=>{if(m instanceof Be){const v=tr(m);throw v?new Error(`[emailmaker] show(): email open failed (${v})`,{cause:m}):m}})??Promise.resolve()]).then(()=>{}),{showId:i,emailId:s??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();a.throwIfAborted(e.signal);const t=se(this._container),n=await t.save("publish",{source:ou});if(a.throwIfAborted(e.signal),!n)throw au(t.saveState().error);return W(Jd(this._container,this._currentEmail),this._container)}_queuedShow=this._queue.decorate((e,t)=>this._show(e,t),this);show=e=>{const t=this._showRequests+=1;return this._queuedShow(e,t)};save=this._queue.decorate(this._save,this)};function du(e){return String(e).replace(/"/g,"&quot;")}function uu(e=new Date){const t=n=>String(n).padStart(2,"0");return String(e.getFullYear())+t(e.getMonth()+1)+t(e.getDate())+t(e.getHours())+t(e.getMinutes())+t(e.getSeconds())}function fu(e){const t=/<(table|tr|div)(\s[^>]*)>/gi;let n;for(;(n=t.exec(e))!==null;){const r=n[2]??"";if(/\bem\s*=\s*["']block["']/i.test(r))return{full:n[0],index:n.index}}return null}function Is(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),s=du(n);return r.test(e)?e.replace(r,`${t}="${s}"`):e.replace(/>$/,` ${t}="${s}">`)}function pu(e,t,n){if(!e?.trim()||!t)return e;const r=fu(e);if(!r)return e;const s=String(t),i=uu(n??new Date);let{full:o,index:c}=r;const l=o.length;return/\bem-block-id\s*=/.test(o)||(o=Is(o,"em-block-id",s)),o=Is(o,"em-block-version",i),e.slice(0,c)+o+e.slice(c+l)}function mu(e){if(e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object")return e.meta;const t=e.catalogExtra?.meta;if(t!=null&&typeof t=="object")return t}function hu(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),s=t?.project??(e.project!==void 0&&e.project!==null?String(e.project):void 0);return{type:t?.type??n,insertFrom:n,name:t?.name??e.name,blockId:r,project:s,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:mu(e)}}function Yt(e,t){return t?hu(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var ws=["title","slug","type","tags","blocktags","modified","author","lock","subject","description","excerpt","status","is_template","link","renderGuid","date","date_gmt","modified_gmt","comment_status","ping_status","template","related_email","project_title","project_author","isAmp","meta"],gu=[...ws,"html","id","project","password"],mm=new Set(["html",...ws,"global_block","project"]);function Eu(e){if(!e||typeof e!="object")return{};const t={};e.id!=null&&e.id!==""&&(t.id=String(e.id)),e.title!=null&&e.title!==""&&(t.title=e.title),e.slug!=null&&e.slug!==""&&(t.slug=e.slug),e.type!=null&&e.type!==""&&(t.type=e.type),e.tags!=null&&(t.tags=e.tags),e.blocktags!=null&&(t.blocktags=e.blocktags),e.modified!=null&&e.modified!==""&&(t.modified=e.modified),e.author!=null&&e.author!==""&&(t.author=String(e.author)),e.lock!=null&&(t.lock=e.lock),e.subject!=null&&e.subject!==""&&(t.subject=e.subject),e.description!=null&&e.description!==""&&(t.description=e.description),e.excerpt!=null&&e.excerpt!==""&&(t.excerpt=e.excerpt),e.status!=null&&e.status!==""&&(t.status=e.status),e.is_template!=null&&(t.is_template=e.is_template),e.link!=null&&e.link!==""&&(t.link=e.link),e.renderGuid!=null&&e.renderGuid!==""&&(t.renderGuid=e.renderGuid),e.date!=null&&e.date!==""&&(t.date=e.date),e.date_gmt!=null&&e.date_gmt!==""&&(t.date_gmt=e.date_gmt),e.modified_gmt!=null&&e.modified_gmt!==""&&(t.modified_gmt=e.modified_gmt),e.comment_status!=null&&e.comment_status!==""&&(t.comment_status=e.comment_status),e.ping_status!=null&&e.ping_status!==""&&(t.ping_status=e.ping_status),e.template!=null&&e.template!==""&&(t.template=e.template),e.related_email!=null&&e.related_email!==""&&(t.related_email=e.related_email),e.project_title!=null&&e.project_title!==""&&(t.project_title=e.project_title),e.project_author!=null&&e.project_author!==""&&(t.project_author=e.project_author),e.isAmp!=null&&(t.isAmp=e.isAmp),e.meta!==void 0&&e.meta!==null&&typeof e.meta=="object"&&(t.meta=e.meta);const n=new Set(gu),r={};for(const s of Object.keys(e))n.has(s)||(r[s]=e[s]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function vu(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...Eu(e),html:typeof e.html=="string"?e.html:"",insertFrom:t.type,name:t.name,project:t.project??e.project,id:e.id!=null&&e.id!==""?String(e.id):t.blockId}}var qt=new WeakMap;function bu(e){let t=qt.get(e);return t||(t={byId:new Map,fallback:[]},qt.set(e,t)),t}function _u(e){qt.delete(e)}function yu(e,t){const{byId:n,fallback:r}=bu(t);if(e.blockId){const s=n.get(e.blockId);if(s){n.delete(e.blockId);const i=r.indexOf(s);return i>=0&&r.splice(i,1),s}return}for(let s=r.length-1;s>=0;s--){const i=r[s],o=e.name!=null&&e.name!==""&&i.name!=null&&i.name!==""&&i.name===e.name,c=e.type!=null&&e.type!==""&&i.insertFrom===e.type;if(o&&c)return r.splice(s,1),i.id!=null&&i.id!==""&&n.delete(String(i.id)),i}}async function Su(e,t){const{blocks:n}=Ke(e);return await n.cache.getIfPresent(t)??void 0}async function Iu(e,t){if(!t.blockId)return;const n=await Su(e,t.blockId);if(n)return vu(n,t)}async function wu(e,t){const n=yu(e,t);if(n)return Yt(e,n);const r=await Iu(t,e);return r?Yt(e,r):Yt(e,void 0)}var Tu=a.createIdentifier("application_block_inserted"),Au=-1e3,Ts=new WeakSet;function Cu(e){if(e===null||typeof e!="object")return!1;const t=e;return typeof t.type=="string"||typeof t.name=="string"||typeof t.blockId=="string"||typeof t.project=="string"||typeof t.project=="number"}function Pu(e){if(!e||Ts.has(e))return;Ts.add(e);const t=new a.Disposable,n=q(e);return t.addDisposable(n.addListenerAsyncPipe(Tu,async(r,s)=>{const i=Cu(r)?await wu(r,e):r;return s?s(i):i},Au)),t.addDisposable({dispose:()=>{_u(e)}}),t}var As=100,Du=class extends a.Disposable{_container;_events;constructor(e){super(),this._container=e;const t=Pu(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:s}=Ke(e),i=$(e,a.events.ON_SHARE_ID),o=$(e,a.events.ON_SHOW_PREVIEW_ID),c=$(e,a.events.ON_EMAIL_CLONE_ID),l=$(e,a.events.ON_CODE_VALIDATE_ID),u=$(e,a.events.ON_SUBJECT_CHANGED_ID),d=$(e,a.events.ON_EMAIL_CHANGED_ID),p=$(e,a.events.ON_PREHEADER_CHANGED_ID),m=$(e,a.events.ON_SAVEBUTTON_CLICK_ID),v=$(e,a.events.ON_NEXTBUTTON_CLICK_ID),y=$(e,a.events.ON_SEND_LIVEPREVIEW_ID),E=$(e,a.events.ON_SEND_TESTEMAIL_ID),g=$(e,Vd),b=$(e,a.events.ON_CONTENT_CHANGED_ID),_=$(e,Gd),I=$(e,a.events.ON_PREVIOUSBUTTON_CLICK_ID),P=$(e,a.events.ON_SEND_EMAIL_MODAL_ID),D=a.filter($(e,a.events.ON_EMAIL_INIT_ID),h=>!h.reset);return{handlePreheaderChanged:x(p),handleSubjectChanged:x(u),handleValidate:x(l),handleReadEmail:x(n.handlerRead,h=>h,h=>h&&ve(h,e)),handleSaveEmail:x(n.onSave,function({prev:h,patch:w,value:f,source:S}){const T=h?W(h,e):void 0;return{prev:T,patch:Ae(T,W(w,e)),value:W(f,e),source:S}},h=>h?ve(h,e):void 0),handleRemoveEmail:x(n.onRemove,({value:h,source:w})=>({value:W(h,e),source:w}),()=>{}),handleReadCommonBlocks:x(g,h=>h.project,h=>h?.map(w=>De(w,e))),handleReadTemplateBlocks:x(_,h=>h,h=>h?.map(w=>De(w,e))),handleReadBlocks:x(t.byForeignKey("project").handleRead,h=>ze(e).requested||String(h),h=>h?.map(w=>De(w,e))),handleSaveBlock:x(t.onSave,function({prev:h,patch:w,value:f,source:S}){const T=f.global_block===!0&&f.id&&typeof f.html=="string"?{...f,html:pu(f.html,String(f.id))}:f,N=h?Xe(h,e):void 0;return{prev:N,patch:Ae(N,Xe(w,e)),value:Xe(T,e),source:S}},h=>h?De(h,e):void 0),handleRemoveBlock:x(t.onRemove,({value:h,source:w})=>({value:Xe(h,e),source:w}),()=>{}),handleReadComments:x(r.byForeignKey("post").handleRead,h=>h,h=>h?.map(w=>$t(w,e))),handleSaveComment:x(r.onSave,function({prev:h,patch:w,value:f,source:S}){const T=h?Je(h,e):void 0;return{prev:T,patch:Ae(T,Je(w,e)),value:Je(f,e),source:S}},h=>h?$t(h,e):void 0),handleRemoveComment:x(r.onRemove,({value:h,source:w})=>({value:Je(h,e),source:w}),()=>{}),handleReadEmailRevisions:x(s.byForeignKey("parent").handleRead,h=>h,h=>h?.map(w=>Gt(w,e))),handleEmailAutosave:x(s.onSave,function({prev:h,patch:w,value:f,source:S}){return{value:Ss(f,e),source:S}},h=>h?Gt(h,e):void 0),handleRemoveEmailAutoSave:x(s.onRemove,({value:h,source:w})=>({value:Ss(h,e),source:w}),()=>{}),handleEmailChanged:x(a.debounce(d,As),h=>W(h,e)),handleEmailInit:x(D,h=>W(h,e)),handlePreviousButtonClick:x(I,h=>W(h,e)),handleNextButtonClick:x(v,h=>W(h,e)),handleSaveButtonClick:x(m,h=>W(h,e)),handleHtmlChanged:x(a.debounce(b,As)),handleTestEmailSend:x(E,({html:h,...w})=>({...w,code:h,compiled:{html:h,ampHtml:""}})),handleTestEmailModal:x(P,h=>W(h,e)),handleCloneEmail:x(c,h=>W(h,e)),handleShareEmail:x(i),handlePreviewEmail:x(o),handleLivePreviewEmail:x(y)}}get(){return this._events||(this._events=this._get())}_listenersUpdaters;setOptions(e={}){const t=this.get();let n=this._listenersUpdaters;if(!n){n=this._listenersUpdaters={};for(const r of Object.keys(t))n[r]=this.addDisposable(new Ee(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},Ru=a.createIdentifier$1("DataController"),Ou=a.createIdentifier$1("DataEvents");function Cs(e){return e.getOrCreateInstance(Ru,()=>{const t=new cu(e);return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t})}function Ps(e){return e.getOrCreateInstance(Ou,()=>new Du(e))}var Lu=a.createIdentifier$1("plugin.startupShow");function Nu(e){const t=Cs(e),n=Ps(e),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=e.getInstance(a.DISPOSABLE_ID),i={current:Promise.resolve()};e.inject(Lu,i);const o=r?.watch(l=>{l&&n.setOptions(l)}),c=r?.select(l=>l?.content).watch(l=>{l!==void 0&&(H(z.showStart),i.current=(async()=>{try{await t.show(l)}catch{}finally{H(z.showEnd)}})())});o&&s?.addDisposable(o),c&&s?.addDisposable(c)}function Mu(e){const t=Cs(e);return{...Ps(e).get(),show(n){return H(z.showStart),t.show(n).finally(()=>H(z.showEnd))},save(){return t.save()}}}function hm(e){return e}var xu=[{name:"rest.client",setup:Bd},{name:"auth.oauth",setup:a.provideOAuth},{name:"rest.identityHeaders",setup:Nd},{name:"lifetime.destroyable",provides:[Lt],setup:kc},{name:"appInit",provides:[a.APP_ID,at],setup:Bi},{name:"config",provides:[a.CONFIG_SOURCE_ID],setup:Mc},{name:"email.documents",setup:ed},{name:"show.initPipeline",provides:[a.INIT_PIPELINE_ID],setup:jd},{name:"show",setup:Nu},{name:"locale.service",provides:[Pe],setup:Dd},{name:"locale.fromConfig",awaits:{services:[a.CONFIG_SOURCE_ID,Pe]},setup:Rd},{name:"canvas.early",setup:kl},{name:"canvas.previewSettings",setup:Vl},{name:"canvas.sandboxExtensions",setup:ql},{name:"canvas.headerSync",provides:[kr],setup:jl},{name:"canvas.ampSync",setup:pa},{name:"canvas.moduleBridge",setup:Ba},{name:"canvas.port",setup:Sa},{name:"canvas.images",setup:_a},{name:"canvas.edits",setup:El},{name:"canvas.blockContent",setup:ul},{name:"canvas.sandboxFill",provides:[wt],setup:cc},{name:"canvas.reactions",setup:Nl}],ku=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Fu(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function Bu(e,t){const n=[];for(const r of e.awaits?.services??[])for(const s of t.get(r)??[])s!==e&&n.push(s);return n}function Ds(e){const t=Fu(e),n=[],r=new Set,s=[],i=new Set,o=c=>{if(!r.has(c)){if(i.has(c)){const l=s.indexOf(c);throw new ku([...s.slice(l),c].map(u=>u.name))}i.add(c),s.push(c);for(const l of Bu(c,t))o(l);s.pop(),i.delete(c),r.add(c),n.push(c)}};for(const c of e)o(c);return n}var Rs;function zt(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);if(t)return t;e.getInstance(a.DISPOSABLE_ID)||e.inject(a.DISPOSABLE_ID,new a.Disposable);const n=pe();e.inject(a.OPTIONS_SOURCE_ID,n),Rs??=Ds(xu);for(const r of Rs)r.setup(e);return n}function ju(e){}var Uu=[{name:"save.previewFollow",setup:ju}],Os=a.createIdentifier$1("plugin.lateUnitsInstalled");function Hu(e){if(!e.getInstance(Os)){e.inject(Os,!0);for(const t of Ds(Uu))t.setup(e)}}function $u(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function Gu(e){if(!e)return;const t=a.decodeJwt(e)?.data,n=t?.data?.scope??t?.scope;return(Array.isArray(n)?n.flatMap(r=>typeof r=="string"?r.split(/\s+/):[]):typeof n=="string"?n.split(/\s+/):[]).find(r=>/^project_\d+$/.test(r))?.replace(/^project_/,"")||void 0}var Vu=a.defineMixin(e=>{let t,n,r;return{async setOptions(s){const i=r!==s.getAuthToken,o=!a.deepEqual(t,s.user),c=n!==s.project;if(r=s.getAuthToken,t=s.user,n=s.project,!(!e.getInstance(a.SECURITY_MODULE_ID)||!s.getAuthToken)&&!(!i&&!o&&!c))try{const l=await s.getAuthToken(s.user,s.project);e.inject(a.STANDALONE_BOOTSTRAP_TOKEN_ID,Promise.resolve(l||""));const u=Gu(l);if(!u)return;e.inject(a.STANDALONE_PROJECT_ID,u);const d=e.getInstance(a.APP_ID),p=d?await d.catch(()=>{}):void 0;e.inject(a.APP_ID,Promise.resolve($u(u,p)))}catch{}}}});function Yu(e,t){if(e.getInstance(a.STANDALONE_FILE_PROXY_REGISTERED_ID))return;e.inject(a.STANDALONE_FILE_PROXY_REGISTERED_ID,!0);const n=a.getEvent(e,a.events.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function qu(e){e.getInstance(a.STANDALONE_ACTIVATED_ID)||e.inject(a.SECURITY_MODULE_ID,void 0)}function Qe(e){return String(e.standaloneKey||"").trim()||void 0}function zu(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function Kt(e){return zu(e)?!!Qe(e):!1}function Ze(e){return!!Qe(e)&&!Kt(e)}var Ku=a.defineMixin(e=>{let t,n=!1;return{setOptions(r){const s=n;if(n=!0,!Ze(r)){t&&(qu(e),Kt(r)),t=void 0;return}const i=Qe(r);if(!i||t===i&&e.getInstance(a.SECURITY_MODULE_ID))return;t=i,e.inject(a.SECURITY_MODULE_ID,i);const o=e.getInstance(a.DISPOSABLE_ID);o&&Yu(e,o)}}}),Wu=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=a.getEvent(e,a.APP_LOAD_EVENT_ID),r=x(n),s=t.addDisposable(new Ee(r));return{setOptions({handleLoad:i}){s.setListener(i)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),Xu=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=t.addDisposable(new a.AsyncEmitter),r=t.addDisposable(new a.AsyncEmitter),s=a.getEmitter(e,a.CONFIG_CHANGED_EVENT_ID),i=x(n.event),o=x(r.event),c=x(s.event),l=t.addDisposable(new Ee(i)),u=t.addDisposable(new Ee(o)),d=t.addDisposable(new Ee(c));return{instance:{handleSetOptions:i,handleOptionsChanged:o,handleConfigChanged:c},async setOptions(p){l.setListener(p.handleSetOptions),u.setListener(p.handleOptionsChanged),d.setListener(p.handleConfigChanged),await n.fire(p),await r.fire(p)},dispose(){}}}),Wt,Ls="core";function Ju(){const e=__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([Ls],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Qu(e){const t=__emailmaker__?.require?.warm;return typeof t!="function"?Re().then(()=>{}):t([Ls],e)}function Re(){return Wt===void 0&&(Wt=Ju().then(e=>(ye()&&e.installDiagnostics().catch(t=>{}),e))),Wt}var Xt=null,Jt=null;async function Zu(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Qt(){return Xt||(Xt=Re().then(()=>{})),Xt}function Ns(e){return Jt||(Jt=Zu(e)),Jt}function ef(){return Ns(typeof __emailmaker__<"u"?__emailmaker__:void 0)}function tf(e){return Promise.all([Qt(),Ns(e)]).then(()=>{})}function nf(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Ms(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Qu(t?{priority:t}:void 0)).then(()=>n?Qt():void 0).catch(()=>{})}function rf(e){const t=nf(e);if(t==="eager")Ms(e);else if(t==="idle"){const n=()=>Ms(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var xs="PluginRegistry";function sf(e=a.resolveContainer()){return e.getOrCreateInstance(xs,()=>new bi)}var ks=new _i(()=>sf()),of=a.defineMixin(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const s=e.getInstance(a.INSTANCE_ID),i=e.getInstance(xs);t||(t=new vi(s,i,{ensureHostRuntimeReady:ef}),e.inject(a.PLUGIN_COLLECTION_ID,t));const o=r?.plugins||[];s&&await t.setPlugins(o)},instance:{use(r){return typeof r=="function"?n().useByCtor(r):n().useByKey(r)},useAsync(r){return n().useAsync(r)},waitPlugin(r){return n().waitFor(r)}},dispose(){t?.dispose(),t=void 0}}}),Fs=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const s=this._listeners.indexOf(r);s>=0&&this._listeners.splice(s,1)}}}async run(e){const t=[...this._listeners].sort((n,r)=>r.priority-n.priority);for(const{fn:n}of t){const r=await n(e);r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp)&&Object.assign(e,r)}return e}},af=a.createIdentifier$1("ELEMENT_INSERT_HTML_PIPELINE"),lf=a.createIdentifier$1("BLOCK_INSERT_HTML_PIPELINE"),cf="application_block_inserted",df=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(lf,()=>new Fs).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),s=n?e.bind(n):e;return r.addListener(cf,s,t)}},uf=a.createIdentifier$1("ComponentRegistry"),Bs;function Oe(e,t=uf){const n=a.DependencyResolver.getInstance(t);if(n)return n;if(!Bs)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return a.DependencyResolver.getOrCreateInstance(t,Bs)}var ff=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(a.ATOMS_HANDLERS_ID,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Oe(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{const i=s.value.find(o=>o.name===e);if(i){const{icon:o,title:c,fallbackTooltip:l,...u}=t;o&&(i.icon=r.getReactNode(o)),c&&(i.title=r.getReactNode(c)),l&&(i.fallbackTooltip=r.getReactNode(l)),Object.assign(i,u)}}})}delete(e){this._container.addService(a.ATOMS_HANDLERS_ID,{execute:t=>{const n=t.value.findIndex(r=>r.name===e);n>=0&&t.value.splice(n,1)}})}insert(e,t){const n=this._container,r=Oe(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{s.value.splice(t??s.value.length,0,{...e,title:r.getReactNode(e.title),icon:r.getReactNode(e.icon),fallbackTooltip:r.getReactNode(e.fallbackTooltip)})}})}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(af,()=>new Fs).add(e,t??0,n)}handleInject(e,t,n){return a.getEmitter$1(this._container,a.HANDLE_ATOM_INSERT_ID).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},pf=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}send(e,t,n){this._messageService.send(e,t,n)}sendAsync(e,t,n=!0){return this._messageService.sendAsync(e,t,n)}addListener(e,t,n){return this._messageService.addListener(e,t,n)}addListenerAsync(e,t,n=0){return this._messageService.addListenerAsync(e,t,n)}onInit(e,t=!0,n=0){return this._messageService.onInit(e,t,n)}isInited(){return this._messageService.isInited()}};function mf(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var hf=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=a.getEmitter$1(t,a.MODAL_SHOW_EVENT),this._closeModalEmitter=a.getEmitter$1(t,a.MODAL_CLOSE_EVENT),this._updateModalEmitter=a.getEmitter$1(t,a.MODAL_UPDATE_EVENT)}get _container(){return this._context.container}show(e){const t=Oe(this._container),n=`modal_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,r=e.modalProps;return this._showModalEmitter.fire({...e,content:t.getReactNode(e.content),title:t.getReactNode(e.title),id:n,modalProps:r?{...r,footer:t.getReactNode(r.footer),okText:t.getReactNode(r.okText),cancelText:t.getReactNode(r.cancelText),closeIcon:t.getReactNode(r.closeIcon)}:void 0}),n}close(e){this._closeModalEmitter.fire(e)}closeAll(){this._closeModalEmitter.fire()}update(e,t){const n=Oe(this._container),r=t.modalProps;this._updateModalEmitter.fire(mf({...t,content:n.getReactNode(t.content),title:n.getReactNode(t.title),id:e,modalProps:r?{...r,footer:n.getReactNode(r.footer),okText:n.getReactNode(r.okText),cancelText:n.getReactNode(r.cancelText),closeIcon:n.getReactNode(r.closeIcon)}:void 0}))}},gf=class{_registration;_loadedDisposable;loaded;ready;_loadedSettled=!1;_readySettled=!1;constructor(e,t){this._registration=e,this._loadedDisposable=t,this.loaded=new Promise((n,r)=>{const s=()=>this._loadedDisposable.dispose(),i=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),n())},o=c=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),r(c))};this._resolveLoaded=i,this._rejectLoaded=o}),this.ready=new Promise((n,r)=>{const s=()=>this._loadedDisposable.dispose(),i=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),n())},o=c=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),r(c))};this._resolveReady=i,this._rejectReady=o})}_resolveLoaded=()=>{};_rejectLoaded=()=>{};_resolveReady=()=>{};_rejectReady=()=>{};resolveLoaded(){this._resolveLoaded()}resolveReady(){this._resolveReady()}rejectLoad(e){this._rejectLoaded(e),this._rejectReady(e)}rejectReady(e){this._rejectReady(e)}dispose(){this._registration.dispose();const e=new Error("Sandbox script registration disposed before completion.");this.rejectLoad(e),this.rejectReady(e)}},Ef=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}_createScriptHandle(e,t){const n=this._messageService.addListener(a.SANDBOX_EXTENSION_SCRIPT_STATUS_ID,s=>{if(s.key===e){if(s.phase==="load"&&s.status==="success"){r.resolveLoaded();return}if(s.phase==="ready"&&s.status==="success"){r.resolveReady();return}if(s.phase==="load"){r.rejectLoad(new Error(s.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(s.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new gf(t,n);return r}registerSandboxCSS(e){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"script",key:e,parent:"head",attributes:{src:e,type:"text/javascript"}});return this._createScriptHandle(e,t)}registerSandboxScriptCode(e,t){const n=this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},vf=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function Zt(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&vf.has(t)}function js(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(e&&typeof e.getRandomValues=="function"){const t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}return`nohwcrypto-${Date.now()}`}function en(){return`__settingsPanel:${js()}`}function tn(e,t){return{type:e,props:t}}function bf(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!Zt(e)}function Us(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(Zt(t)){const r=en();return n(e.add(r,t)),tn(r,{})}if(typeof t=="function"){const r=en();return n(e.add(r,t)),tn(r,{})}if(bf(t)){const r=t.type;if(typeof r=="string")return t;if(Zt(r)||typeof r=="function"){const s=en();return n(e.add(s,r)),tn(s,t.props)}return t}return t}var _f=class{_context;_panelRegistrationDisposables=[];constructor(e){this._context=e}get _container(){return this._context.container}_clearPanelRegistrations(){for(const e of this._panelRegistrationDisposables)e.dispose();this._panelRegistrationDisposables.length=0}_trackRegistration(e){this._panelRegistrationDisposables.push(e)}showSettingsPanel(e){this._clearPanelRegistrations();const t=Oe(this._container),n=o=>this._trackRegistration(o),r=Us(t,e.content,n),s=e.advancedTabs?.map(o=>({...o,content:Us(t,o.content,n)})),i=e.instanceKey??js();a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire({...e,content:r,advancedTabs:s,instanceKey:i,type:a.ADVANCED_SETTINGS_PANEL})}closeSettingsPanel(){this._clearPanelRegistrations(),a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire(null)}},Hs={SandboxScriptApi:Ef,ElementsApi:ff,BlocksApi:df,MessageService:pf,SettingsPanelApi:_f,ModalApi:hf};function nn(e,t,n,r={}){const s=Object.assign({},e);for(const[i,o]of Object.entries(t))if(o!==void 0)if(n.includes(i)&&typeof o=="object"&&o!==null){const c=s[i],l=r[i]??{};s[i]=Object.assign({},typeof c=="object"&&c!==null?c:l,o)}else s[i]=o;return s}var X={border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},borderRadiusCards:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},padding:{all:null,top:null,right:null,bottom:null,left:null}},yf={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},rn={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:24,fontSizeDim:"px",lineHeight:32,lineHeightDim:"px",color:"#333333",contrastColor:"#FFFFFF",textAlign:"left",paddingTop:20,paddingTopDim:"px",paddingBottom:20,paddingBottomDim:"px",letterSpacing:0,letterSpacingDim:"px",bold:!0,italic:!1},$s={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},be={fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",letterSpacing:0,letterSpacingDim:"px",color:"#FFFFFF",contrastColor:"#1C52DC",bold:!1,italic:!1,backgroundColor:"#1C52DC",contrastBackgroundColor:"#FFFFFF",marginTop:10,marginTopDim:"px",marginBottom:10,marginBottomDim:"px",border:X.border,borderRadius:X.borderRadius,textAlign:"center",padding:X.padding},Gs={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:X.padding},sn={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:X.border,borderRadius:X.borderRadiusCards};function Sf(e){return{...yf,...e}}function If(e){return{...rn,...e,bold:e?.bold??rn.bold,italic:e?.italic??rn.italic}}function wf(e){return{...$s,...e,underline:e?.underline??$s.underline}}function Tf(e){return{...be,...e,bold:e?.bold??be.bold,italic:e?.italic??be.italic,border:{...be.border,...e?.border},borderRadius:{...be.borderRadius,...e?.borderRadius},padding:{...be.padding,...e?.padding}}}function Af(e){return{...Gs,...e,padding:{...Gs.padding,...e?.padding}}}function Cf(e){return{...sn,...e,border:{...sn.border,...e?.border},borderRadius:{...sn.borderRadius,...e?.borderRadius}}}function on(e={}){return{backgroundColor:e.backgroundColor||"",backgroundImage:(e.backgroundImage||[]).map(t=>({type:"url",value:t?.value||""})),backgroundPositionX:e.backgroundPositionX||"",backgroundPositionY:e.backgroundPositionY||"",backgroundRepeat:e.backgroundRepeat||"",backgroundSize:e.backgroundSize||"",backgroundColorContent:e.backgroundColorContent||"",textStrong:e.textStrong||!1,textItalic:e.textItalic||!1,textUnderline:e.textUnderline||!1,width:e.width,responsive:e.responsive}}function Vs(e){let t={...a.COMMON_STYLES};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function an(e){return{text:Sf(e.text),headings:If(e.headings),links:wf(e.links),buttons:Tf(e.buttons),block:Af(e.block),cards:Cf(e.cards)}}var Ys=a.createIdentifier$1("EmailSettingsPort"),Pf=1e4,qs=class{_editor;_layoutSettingsChanged=new a.Emitter;_contentStylesChanged=new a.Emitter;_messageSubscription;_messageSubscriptionPromise;_prevLayoutSnapshot;_prevContentSnapshot;constructor(e){this._editor=e}onChangeEmailLayoutSettings(e){const t=this._layoutSettingsChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}onChangeEmailContentStyles(e){const t=this._contentStylesChanged.event(e);return this._ensureMessageSubscription(),{dispose:()=>{t.dispose(),this._disposeMessageSubscriptionIfUnused()}}}_disposeMessageSubscriptionIfUnused(){this._layoutSettingsChanged.hasListeners()||this._contentStylesChanged.hasListeners()||(this._messageSubscription?.dispose(),this._messageSubscription=void 0)}_settings(e=this._editor.container){const t=e.getInstance(Ys);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return on(this._settings().read())}_getCurrentContentStyles(){const e=ct(this._editor.container)?.current()?.get().attributes.common_styles;return an(Vs(e))}_getLayoutSnapshot(e){return JSON.stringify(e)}_getContentSnapshot(e){return JSON.stringify(e)}async _ensureMessageSubscription(){if(!this._messageSubscription){if(this._messageSubscriptionPromise)return this._messageSubscriptionPromise;this._messageSubscriptionPromise=(async()=>{if(await this._editor.container.getInstanceAsync(Ys),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const s=r?.data,i=s?.operation;if(i===a.EVENT_TYPES.APPLICATION_EMAIL_SETTINGS_SET){const l=on(s?.settings),u=this._getLayoutSnapshot(l);u!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=u,this._layoutSettingsChanged.fire(l));return}if(i!==a.EVENT_TYPES.APPLICATION_COMMON_STYLES_UPDATE)return;const o=an(r.data?.settings?.commonStyles??{...a.COMMON_STYLES}),c=this._getContentSnapshot(o);c!==this._prevContentSnapshot&&(this._prevContentSnapshot=c,this._contentStylesChanged.fire(o))})})();try{await this._messageSubscriptionPromise}finally{this._messageSubscriptionPromise=void 0}}}async getEmailLayoutSettings(){return await this._waitForEmailSettingsFromIframe(),this._getCurrentLayoutSettings()}async setEmailLayoutSettings(e){await this._waitForEmailSettingsFromIframe();const t=this._settings(),n={...t.read(),...e};t.write(n);const r=on(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=Pf){const t=ct(this._editor.container)?.current()?.get().attributes.is_inited,n=this._settings().read();if(t&&n&&Object.keys(n).length>0&&(n.backgroundColor||n.backgroundImage?.[0]?.value||n.width?.value||n.responsive!==void 0)||t)return;const r=this._editor.container,s=a.getEvent(r,a.events.ON_EMAIL_INIT_ID);return new Promise(i=>{let o=!1,c;const l=()=>{c&&(clearTimeout(c),c=void 0)},u=s(()=>{o||(o=!0,l(),u.dispose(),i())});c=setTimeout(()=>{o||(o=!0,u.dispose(),i())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=ct(this._editor.container)?.current();if(!t)return;const n=Vs(t.get().attributes.common_styles);e.text!==void 0&&(n.text={...n.text||{},...e.text}),e.headings!==void 0&&(n.headings={...n.headings||{},...e.headings}),e.links!==void 0&&(n.links={...n.links||{},...e.links}),e.buttons!==void 0&&(n.buttons=nn(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:X.border,borderRadius:X.borderRadius,padding:X.padding})),e.block!==void 0&&(n.block=nn(n.block||{},e.block,["padding"],{padding:X.padding})),e.cards!==void 0&&(n.cards=nn(n.cards||{},e.cards,["border","borderRadius"],{border:X.border,borderRadius:X.borderRadiusCards}));const r=JSON.stringify(n);je(t,{common_styles:r}),this._settings().markAppearanceChanged();const s=an(n);this._prevContentSnapshot=this._getContentSnapshot(s),this._contentStylesChanged.fire(s)}},Df={...Hs,EmailSettingsApi:qs},Rf={...Hs},gm={...Rf,EmailSettingsApi:qs},Of={...Df};function Lf(){ks.addAll(Of)}var Nf=[a.defineMixin(()=>{Lf()}),Wu,Xu,Ku,a.JWTMixin,Vu,a.OAuthMixin];async function Mf(){return(await Re()).asyncMixins}var xf=of,kf=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let s;try{s=await Mf()}catch(o){throw e.failPendingWaits(o),o}t=s(e);const i=await e.getInstanceAsync(a.INSTANCE_ID);Object.assign(i,t.instance||{});for(const o of e.getInstance(a.LATE_SURFACE_LISTENERS_ID)??[])o()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},Ff=a.combineMixins([...Nf]);function ln(){let e,t=!1;const n=new Map,r=new Map;function s(){for(const i of r.values())i();r.clear()}return{event(i,o,c){const l=Symbol("subscription");return t||(n.set(l,{listener:i,priority:o,thisArg:c}),e&&r.set(l,e(i,o,c))),()=>{n.delete(l),r.get(l)?.(),r.delete(l)}},attach(i){s(),e=i;for(const[o,{listener:c,priority:l,thisArg:u}]of n)r.set(o,i(c,l,u))},dispose(){t=!0,s(),n.clear(),e=void 0}}}function Bf(e){const t=ln(),n=ln(),r=ln();return e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(Vt).then(s=>{t.attach(s.onNotify),n.attach(s.onError),r.attach(s.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(s){const i=e.getInstance(Vt);if(!i)throw new Error("[plugin] notify() вызван до загрузки редактора");i.notify(s)}}}var jf=[Fc,Mu,Bf];function Uf(e,t=jf){const n=zt(e);Hu(e);const r=Ff(e),s=xf(e),i=kf(e),o={...r.instance,...s.instance,...i.instance};for(const l of t)Object.assign(o,l(e));let c=!0;return{instance:o,async setOptions(l){await r.setOptions(l);const u=c&&n.get()===l;c=!1,u||n.set(l),await s.setOptions(l),await i.setOptions(l)}}}var Hf=class{_storage=Object.create(null);get(e){const t=this._storage[e];return t&&(!t.expires||t.expires<Date.now())?t.value:""}set(e,t,n){this._storage[e]={value:t,expires:n.expires?n.expires*1e3+Date.now():void 0}}remove(e){delete this._storage[e]}},$f="editor-runtime.react.copies",cn=8;function Le(e){return e&&typeof e=="object"?e:void 0}function zs(e){const t=Le(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Le(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function Gf(e){const t=Le(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Le(t?.default),s=r&&typeof r.version=="string"?r.version:void 0;return n??s??"unknown"}function Vf(e,t,n){return e.package===t&&e.version===n}function Yf({ourReact:e,entries:t,packageName:n,version:r}){const s=zs(e);if(!s||!Array.isArray(t))return[];const i=[],o=new Set;for(const c of t){const l=Le(c);if(!l||!Vf(l,n,r))continue;const u=zs(l.react);!u||u===s||o.has(u)||(o.add(u),i.push({package:n,version:r,reactVersion:Gf(l.react),react:l.react}))}return i}function qf({packageName:e,copies:t}){const n=[`[${e}] A second copy of React is on this page (singleton invariant broken).`,`The editor runs on its own React, the plugin got another one from ${e}/runtime/react.`,`This shows up as "Cannot read properties of null (reading 'useState')" and takes down the whole`,"editor, not just the plugin panel: plugin components render inside the editor tree.","","Found:"];for(const r of t.slice(0,cn))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>cn&&n.push(` …and ${t.length-cn} more`),n.push("","Likely root cause: the editor is loaded from its UMD entry (a <script> on the page), while the","plugin was built as an ESM package by the host bundler. Those two never share a React.","","Fix it either way:"," • build the plugin on globals — it then takes React from the page registry, or"," • load the editor from its ESM entry and build both with the same bundler."),n.join(`
2129
+ `)}var Ks=new Set;function zf({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.7",log:n=r=>{}}={}){const r=s=>{try{const i=globalThis[Symbol.for($f)],o=Yf({ourReact:s,entries:i,packageName:e,version:t}).filter(c=>!Ks.has(c.react));if(!o.length)return;o.forEach(c=>Ks.add(c.react)),n(qf({packageName:e,copies:o}))}catch{}};try{const s=st()?.modules?.React;if(s&&typeof s.then=="function"){s.then(r,()=>{});return}r(s)}catch{}}async function Kf(e,t,n){a.throwIfAborted(e.signal);const r=t??a.DependencyResolver.createChild();zt(r);const s=r.getInstance(a.DISPOSABLE_ID);async function i(){r.inject(a.COOKIE_MANAGER_ID,new Hf),zf();const o=Uf(r),c={...o.instance,container:r,async reset(l){if(a.throwIfAborted(l.signal),s.isDisposed())throw it();return await o.setOptions(l),c}};r.inject(a.INSTANCE_ID,c);try{if(n?.onInstance?.(c),await o.setOptions(e),a.throwIfAborted(e.signal),s.isDisposed()||await r.getInstance(a.PLUGIN_COLLECTION_ID)?.activate(),e.devTools)try{const l=r.getInstance(a.PLUGIN_COLLECTION_ID);l&&await(await Re()).initDevTools(r,l)}catch{}return a.throwIfAborted(e.signal),a.getEmitter(r,a.APP_LOAD_EVENT_ID).fire(c),c}catch(l){throw s.dispose(),l}}try{return await a.raceWithAbortSignal(i(),e.signal)}catch(o){throw s.isDisposed()||s.dispose(),o}}var Ne=new WeakMap;function Wf(e){return e?Ne.get(e):void 0}function Ws(e){try{e.getInstance(a.DISPOSABLE_ID)?.dispose()}catch{}try{e.dispose()}catch{}}function Xf(e,t){if(!e)return;const n=Ne.get(e);n&&n!==t&&Ws(n),Ne.set(e,t)}function Jf(e,t){e&&Ne.get(e)===t&&Ne.delete(e)}function Qf(e){const t=a.DependencyResolver.createChild();return Ze(e)&&t.inject(a.SECURITY_MODULE_ID,Qe(e)),t}var Me=new WeakMap,Zf="data-emailmaker-config-styles";function ep(e){return typeof e=="string"?e.trim():""}function Xs(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function tp(e,t,n){if(!e||typeof document>"u")return null;const r=ep(t),s=Me.get(e),i=n||e;if(!r)return s&&(s.remove(),Me.delete(e)),null;if(s)return s.textContent!==r&&(s.textContent=r),(s.parentNode!==i||s!==i.firstChild)&&Xs(i,s),s;const o=document.createElement("style");return o.setAttribute(Zf,"true"),o.textContent=r,Xs(i,o),Me.set(e,o),o}function np(e){if(!e)return;const t=Me.get(e);t&&(t.remove(),Me.delete(e))}var Em=!1;function Js(){return!1}var vm=28,rp=`
2130
2130
  .blocks-app-initial-spinner-wrapper {
2131
2131
  width: 100%;
2132
2132
  height: 100%;
@@ -2155,11 +2155,11 @@ __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/
2155
2155
  100% {
2156
2156
  transform: rotate(360deg);
2157
2157
  }
2158
- }`;function sp(){return()=>{}}function ip(e,t){if(!Xs()||!e||typeof document>"u")return sp();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(o=>{o.remove()});const n=document.createElement("div");n.classList.add("blocks-app-initial-spinner-wrapper");const r=document.createElement("div");r.classList.add("blocks-app-initial-spinner"),n.appendChild(r);const s=document.createElement("style");s.setAttribute(t,"true"),s.textContent=rp,document.head?.appendChild(s),e.appendChild(n);let i=!1;return()=>{i||(i=!0,n.remove(),s.remove())}}function op(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function ap({report:e}={}){const t=new Map,n=new Set,r=e??(s=>{});return{run(s,i){const o=t.get(s);if(o!==void 0)return o;const c=i().catch(l=>{throw n.has(s)||(n.add(s),r(l)),op(l)||t.delete(s),l});return t.set(s,c),c},clear(){t.clear(),n.clear()},size(){return t.size}}}var ln=ap();function Js(){ln.clear()}a.setApiOriginFailoverHook(()=>ln.clear());var Qs=new WeakMap,Zs=new WeakMap;function lp(e,t){let n=Zs.get(t);n||(n=new Map,Zs.set(t,n));const r=n.get(e);if(r!==void 0)return r;const s=t.getInstance(a.CUSTOM_FETCH_ID),i=a.createTransport({baseUrl:e,customFetch:s?.execute??fetch},t);return n.set(e,i),i}function cn(e){return a.resolveExplicitApiBaseUrl(e)}function cp(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function dp(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function up(e){if(!e.getAuthToken)return;const t=await e.getAuthToken(e.user,e.project,void 0),n=String(t||"").trim();return n?`Bearer ${n}`:void 0}function fp(e,t){return async({baseUrl:n})=>{const r=cn(n);if(!r)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const s=new Headers({Accept:"application/json"});if(e.getAuthToken&&!await up(e))throw dp();const i=t();if(!i)throw new Error("[Loader] appInit requires the instance container");const o=new In(lp(r,i)),c={headers:Object.fromEntries(s.entries()),credentials:"same-origin",failoverAttemptTimeout:qt(e)||void 0},l=await o.app_init_create({},c);if(!l.ok)throw cp(l.status,l.statusText);return l.data}}function pp(e){return JSON.stringify({baseUrl:cn(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function mp(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function hp(e){return t=>ln.run(pp(t),()=>(U("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>U("appInit:end",{kind:"network"}))))}function gp(e,t){if(Qe(e)||!e.appInit&&!cn(e.baseUrl)||!mp(e))return e;const n=e.appInit??fp(e,t);let r=Qs.get(n);return r||(r=hp(n),Qs.set(n,r)),{...e,appInit:r}}var ei=0;function Ep(){return ei}function vp(){ei+=1,Js()}var ti=new WeakMap,ni=new WeakMap,bp=3e4;function _p(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function yp(e,t){try{const n=a.decodeJwt(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+bp}function Sp(e){const t=new Map,n=new Map;return async(r,s,i)=>{const o=_p(r,s);if(i)return n.delete(o),t.delete(o),Js(),e(r,s,i);const c=n.get(o);if(c&&!t.has(o)){if(c.expiresAtMs>Date.now())return c.token;n.delete(o)}let l=t.get(o);return l===void 0&&(U("authToken:start",{kind:"network"}),l=Promise.resolve(e(r,s,i)).then(u=>{const d=String(u||"").trim();return d&&n.set(o,{token:u,expiresAtMs:yp(d,Date.now())}),u}).finally(()=>{U("authToken:end",{kind:"network"}),t.delete(o)}),t.set(o,l)),l}}function wp(e){if(Qe(e))return e;const t=e.getAuthToken;if(!t)return e;let n=ti.get(t);const r=Ep();return(!n||ni.get(t)!==r)&&(n=Sp(t),ti.set(t,n),ni.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(s=>{}),{...e,getAuthToken:n}}var dn=new WeakMap;function ri(e){const t=(dn.get(e)??0)+1;return dn.set(e,t),t}function Ip(e,t){return dn.get(e)===t}var Tp=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),Ap=new Set(["setEmailMeta","setBlockMeta","notify"]),si=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function ii(e){if(/^handle[A-Z]/.test(e))return"event";if(Tp.has(e))return"async";if(Ap.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(si.has(e))return"notReady"}function Cp(e){return si.get(e)??"await `ready` first"}function oi(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function Pp(e,t){let n,r=0,s="pending",i,o,c;const l=new Set,u=[];let d,p;const m=new Promise((A,O)=>{d=A,p=O});m.catch(()=>{});const v=A=>n?.[A],y=A=>{const O=v(A.name);A.dispose||typeof O!="function"||(A.dispose=O(...A.args))},E=()=>l.forEach(y),g=()=>{for(const A of l)A.dispose?.(),A.dispose=void 0},b=()=>E(),_=()=>{c?.delete(b),c=void 0},w=()=>{g(),l.clear(),_(),u.length=0,n=void 0},P=()=>s==="failed"?i:st(),D=(A,O,x)=>{if(s==="failed"||s==="destroyed")throw P();const C=v(A);if(typeof C!="function")throw oi(A);return C.apply(x,O)},h=()=>s==="ready"?Promise.resolve():s==="pending"?m:Promise.reject(P()),I=(A,O)=>{if(s==="failed"||s==="destroyed")throw P();if(s==="ready"&&typeof v(A)!="function")throw oi(A);const x={name:A,args:O};return l.add(x),y(x),()=>{l.delete(x),x.dispose?.(),x.dispose=void 0}},f=()=>{const A=e.element;return A!==void 0&&typeof A!="string"?A:void 0},S=new Proxy({},{get(A,O,x){if(typeof O!="string"||O==="then")return;const C=ii(O);if(C==="event")return(...L)=>I(O,L);if(n&&O in n)return Reflect.get(n,O,x);switch(C){case"async":return(...L)=>h().then(()=>D(O,L,x));case"queued":return(...L)=>{if(s!=="pending")return D(O,L,x);u.push({name:O,args:L})};case"element":return f;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${O}\` is not available before the editor is ready: ${Cp(O)}`);default:return O in Object.prototype?Reflect.get(Object.prototype,O,x):void 0}},has(A,O){return typeof O!="string"?!1:n!==void 0&&O in n||ii(O)!==void 0}}),T=Object.create(S);return Object.defineProperty(T,"ready",{get:()=>o,enumerable:!0}),Object.defineProperty(T,"destroy",{enumerable:!0,value:()=>{if(s==="destroyed"||s==="failed")return;if(s==="pending"){s="destroyed",o?.catch(()=>{}),t(a.createAbortError("[emailmaker] editor was destroyed before it was ready"));return}const A=n!==void 0&&Ip(n,r),O=n;s="destroyed",w(),A&&O?.destroy()}}),{handle:T,bind:A=>{n!==A&&(g(),_(),n=A,E(),s==="pending"&&(c=A.container.getOrCreateInstance(a.LATE_SURFACE_LISTENERS_ID,()=>new Set),c.add(b)))},settle:()=>{const A=n;if(s==="destroyed"){w(),A&&(ri(A),A.destroy());const O=a.createAbortError("[emailmaker] editor was destroyed before it was ready");throw i=O,p(O),O}A&&(r=ri(A)),s="ready",_();for(const O of u.splice(0))try{D(O.name,O.args,T)}catch(x){queueMicrotask(()=>{throw x})}d()},fail:A=>{s!=="destroyed"&&(s="failed",i=A),w(),p(A)},setReady:A=>{o=A}}}var un="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function Dp(){return a.createAbortError(un)}function ai(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===un}function Rp(e,t,n){if(typeof document>"u")return;let r=!1,s;const i=()=>{r=!0,s?.disconnect(),s=void 0},o=()=>{r||(i(),t())};if(n.addDispose(i),!e.isConnected){queueMicrotask(o);return}s=new MutationObserver(()=>{e.isConnected||o()});let c=e.parentNode;for(;c;)s.observe(c,{childList:!0}),c=c.parentNode}function Op(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:s}=e;if(t===void 0||!(n instanceof Element))return r;const i=new AbortController;return Rp(n,()=>{n.id,i.abort(Dp())},s),a.composeAbortSignals(r,i.signal)}var fn="Superseded by newer init() on the same mount element";function li(){return a.createAbortError(fn)}function ci(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===fn}var Ze=new Map,et=new WeakMap;function Lp(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function Np(e){if(!e)return{release:()=>{}};const t=Lp(e);et.get(e)?.abort(li()),t&&Ze.get(t)?.abort(li());const n=new AbortController;return et.set(e,n),t&&Ze.set(t,n),{signal:n.signal,release:()=>{et.get(e)===n&&et.delete(e),t&&Ze.get(t)===n&&Ze.delete(t)}}}var Mp=En({FileManagerApiError:()=>xp}),xp=class pi extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,s){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,pi)}},kp=En({mapHttpStatusToErrorCode:()=>a.mapHttpStatusToErrorCode});function Fp(e,t){return{...e,element:t}}function pn(){return()=>{}}function Bp(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?pn():(tp(t,e.config?.styles,t),()=>{np(t)})}function jp(e){if(!Xs()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:pn()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:pn()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=ip(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function di(e){return e instanceof DOMException&&e.name==="AbortError"}function ui(e){try{e.destroy()}catch{}}function mn(e,...t){const n=a.ELEMENT_MAP.get(e);t.some(r=>r!==void 0&&r===n)&&a.ELEMENT_MAP.delete(e)}var Up="1.1.85-dev.6";async function Hp(e){await tf(typeof __emailmaker__<"u"?__emailmaker__:void 0)}async function $p(e){return fi(e).ready}function fi(e){U(z.initStart);const t=new AbortController,n=a.composeAbortSignals(e.signal,t.signal),r=Pp(e,i=>t.abort(i)),s=Gp({...e,signal:n},r.bind).then(()=>(U(z.initEnd),r.settle(),r.handle),i=>{throw r.fail(i),i});return r.setReady(s),r.handle}async function Gp(e,t){a.throwIfAborted(e.signal);const n=new a.Disposable;let r;try{const s=await a.waitForElement(e.element,n,e.signal),i=Op({hostElementOption:e.element,resolvedElement:s,externalSignal:e.signal,disposable:n}),o=Np(s);r=o.release;const c=a.composeAbortSignals(i,o.signal);return a.throwIfAborted(c),await a.raceWithAbortSignal(Vp(e,s,t,c),c)}finally{r?.(),n.dispose()}}async function Vp(e,t,n,r){a.throwIfAborted(r),vp();const s=Fp(e,t),i=wp(s);let o;const c=gp(i,()=>o),l=r!=null?{...c,signal:r}:c;if(t){const v=a.ELEMENT_MAP.get(t);if(v){let y;try{y=await v,a.throwIfAborted(r)}catch(E){if(a.throwIfAborted(r),mn(t,v),di(E))throw E;y=void 0}if(y)if(y.getElement()===t)try{return o=Wf(t),n(y),await y.reset(l)}catch(E){if(a.throwIfAborted(r),ci(E)||ai(E)||di(E)&&r?.aborted)throw E;mn(t,v,y),ui(y)}else mn(t,v,y),ui(y)}}a.throwIfAborted(r);const u=Bp(c),d=jp(c),p=r!=null?{...d.options,signal:r}:d.options;let m;try{o=Qf(p),Xf(t,o),Yt(o).set(p),await Xt(),U(z.coreReady),a.throwIfAborted(r),a.throwIfAborted(r),m=Kf(p,o,{onInstance:n}),t&&a.ELEMENT_MAP.set(t,m);const v=await m;if(r?.aborted&&(v.destroy(),a.throwIfAborted(r)),t)if(a.ELEMENT_MAP.get(t)===m)a.ELEMENT_MAP.set(t,v);else throw v.destroy(),a.throwIfAborted(r),a.createAbortError(r?.reason);return v}catch(v){throw u(),d.cleanup(),o&&(Ks(o),Jf(t,o)),t&&m&&a.ELEMENT_MAP.get(t)===m&&a.ELEMENT_MAP.delete(t),v}}async function Yp(e){return(await De()).parseAMP(e)}typeof window<"u"&&(_e()&&Mi(),rf(typeof __emailmaker__<"u"?__emailmaker__:void 0)),K.ELEMENT_DETACHED_ABORT_MESSAGE=un,K.SUPERSEDED_INIT_ABORT_MESSAGE=fn,K.create=fi,Object.defineProperty(K,"errors",{enumerable:!0,get:function(){return Mp}}),Object.defineProperty(K,"helpers",{enumerable:!0,get:function(){return kp}}),K.init=$p,K.isElementDetachedError=ai,K.isSupersededInitError=ci,K.parseAMP=Yp,K.pluginRegistry=Ms,K.preload=Hp,K.version=Up});
2158
+ }`;function sp(){return()=>{}}function ip(e,t){if(!Js()||!e||typeof document>"u")return sp();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(o=>{o.remove()});const n=document.createElement("div");n.classList.add("blocks-app-initial-spinner-wrapper");const r=document.createElement("div");r.classList.add("blocks-app-initial-spinner"),n.appendChild(r);const s=document.createElement("style");s.setAttribute(t,"true"),s.textContent=rp,document.head?.appendChild(s),e.appendChild(n);let i=!1;return()=>{i||(i=!0,n.remove(),s.remove())}}function op(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function ap({report:e}={}){const t=new Map,n=new Set,r=e??(s=>{});return{run(s,i){const o=t.get(s);if(o!==void 0)return o;const c=i().catch(l=>{throw n.has(s)||(n.add(s),r(l)),op(l)||t.delete(s),l});return t.set(s,c),c},clear(){t.clear(),n.clear()},size(){return t.size}}}var dn=ap();function Qs(){dn.clear()}a.setApiOriginFailoverHook(()=>dn.clear());var Zs=new WeakMap,ei=new WeakMap;function lp(e,t){let n=ei.get(t);n||(n=new Map,ei.set(t,n));const r=n.get(e);if(r!==void 0)return r;const s=t.getInstance(a.CUSTOM_FETCH_ID),i=a.createTransport({baseUrl:e,customFetch:s?.execute??fetch},t);return n.set(e,i),i}function un(e){return a.resolveExplicitApiBaseUrl(e)}function cp(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function dp(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function up(e){if(!e.getAuthToken)return;const t=await e.getAuthToken(e.user,e.project,void 0),n=String(t||"").trim();return n?`Bearer ${n}`:void 0}function fp(e,t){return async({baseUrl:n})=>{const r=un(n);if(!r)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const s=new Headers({Accept:"application/json"});if(e.getAuthToken&&!await up(e))throw dp();const i=t();if(!i)throw new Error("[Loader] appInit requires the instance container");const o=new An(lp(r,i)),c={headers:Object.fromEntries(s.entries()),credentials:"same-origin",failoverAttemptTimeout:Kt(e)||void 0},l=await o.app_init_create({},c);if(!l.ok)throw cp(l.status,l.statusText);return l.data}}function pp(e){return JSON.stringify({baseUrl:un(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function mp(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function hp(e){return t=>dn.run(pp(t),()=>(H("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>H("appInit:end",{kind:"network"}))))}function gp(e,t){if(Ze(e)||!e.appInit&&!un(e.baseUrl)||!mp(e))return e;const n=e.appInit??fp(e,t);let r=Zs.get(n);return r||(r=hp(n),Zs.set(n,r)),{...e,appInit:r}}var ti=0;function Ep(){return ti}function vp(){ti+=1,Qs()}var ni=new WeakMap,ri=new WeakMap,bp=3e4;function _p(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function yp(e,t){try{const n=a.decodeJwt(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+bp}function Sp(e){const t=new Map,n=new Map;return async(r,s,i)=>{const o=_p(r,s);if(i)return n.delete(o),t.delete(o),Qs(),e(r,s,i);const c=n.get(o);if(c&&!t.has(o)){if(c.expiresAtMs>Date.now())return c.token;n.delete(o)}let l=t.get(o);return l===void 0&&(H("authToken:start",{kind:"network"}),l=Promise.resolve(e(r,s,i)).then(u=>{const d=String(u||"").trim();return d&&n.set(o,{token:u,expiresAtMs:yp(d,Date.now())}),u}).finally(()=>{H("authToken:end",{kind:"network"}),t.delete(o)}),t.set(o,l)),l}}function Ip(e){if(Ze(e))return e;const t=e.getAuthToken;if(!t)return e;let n=ni.get(t);const r=Ep();return(!n||ri.get(t)!==r)&&(n=Sp(t),ni.set(t,n),ri.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(s=>{}),{...e,getAuthToken:n}}var _e=new WeakMap;function fn(e){const t=(_e.get(e)??0)+1;return _e.set(e,t),t}function wp(e,t,n){_e.get(e)===t&&_e.set(e,n)}function si(e,t){return _e.get(e)===t}function Tp(e){return _e.get(e)??0}var Ap=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),Cp=new Set(["setEmailMeta","setBlockMeta","notify"]),ii=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function oi(e){if(/^handle[A-Z]/.test(e))return"event";if(Ap.has(e))return"async";if(Cp.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(ii.has(e))return"notReady"}function Pp(e){return ii.get(e)??"await `ready` first"}function ai(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function Dp(e,t){let n,r=0,s,i="pending",o,c,l;const u=new Set,d=[];let p,m;const v=new Promise((C,O)=>{p=C,m=O});v.catch(()=>{});const y=C=>n?.[C],E=C=>{const O=y(C.name);C.dispose||typeof O!="function"||(C.dispose=O(...C.args))},g=()=>u.forEach(E),b=()=>{for(const C of u)C.dispose?.(),C.dispose=void 0},_=()=>g(),I=()=>{l?.delete(_),l=void 0},P=()=>{b(),u.clear(),I(),d.length=0,n=void 0},D=()=>i==="failed"?o:it(),h=(C,O,A)=>{if(i==="failed"||i==="destroyed")throw D();const L=y(C);if(typeof L!="function")throw ai(C);return L.apply(A,O)},w=()=>i==="ready"?Promise.resolve():i==="pending"?v:Promise.reject(D()),f=(C,O)=>{if(i==="failed"||i==="destroyed")throw D();if(i==="ready"&&typeof y(C)!="function")throw ai(C);const A={name:C,args:O};return u.add(A),E(A),()=>{u.delete(A),A.dispose?.(),A.dispose=void 0}},S=()=>{const C=e.element;return C!==void 0&&typeof C!="string"?C:void 0},T=new Proxy({},{get(C,O,A){if(typeof O!="string"||O==="then")return;const L=oi(O);if(L==="event")return(...k)=>f(O,k);if(n&&O in n)return Reflect.get(n,O,A);switch(L){case"async":return(...k)=>w().then(()=>h(O,k,A));case"queued":return(...k)=>{if(i!=="pending")return h(O,k,A);d.push({name:O,args:k})};case"element":return S;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${O}\` is not available before the editor is ready: ${Pp(O)}`);default:return O in Object.prototype?Reflect.get(Object.prototype,O,A):void 0}},has(C,O){return typeof O!="string"?!1:n!==void 0&&O in n||oi(O)!==void 0}}),N=Object.create(T);return Object.defineProperty(N,"ready",{get:()=>c,enumerable:!0}),Object.defineProperty(N,"destroy",{enumerable:!0,value:()=>{if(i==="destroyed"||i==="failed")return;if(i==="pending"){const A=s!==void 0&&n!==void 0&&si(n,r),L=n;i="destroyed",c?.catch(()=>{}),t(a.createAbortError("[emailmaker] editor was destroyed before it was ready")),A&&(P(),L?.destroy());return}const C=n!==void 0&&si(n,r),O=n;i="destroyed",P(),C&&O?.destroy()}}),{handle:N,bind:(C,O)=>{O?.adopt&&i==="pending"&&s===void 0?(s=Tp(C),r=fn(C)):!O?.adopt&&n!==C&&(s=void 0),n!==C&&(b(),I(),n=C,g(),i==="pending"&&(l=C.container.getOrCreateInstance(a.LATE_SURFACE_LISTENERS_ID,()=>new Set),l.add(_)))},settle:()=>{const C=n;if(i==="destroyed"){P(),C&&(fn(C),C.destroy());const O=a.createAbortError("[emailmaker] editor was destroyed before it was ready");throw o=O,m(O),O}C&&s===void 0&&(r=fn(C)),i="ready",I();for(const O of d.splice(0))try{h(O.name,O.args,N)}catch(A){queueMicrotask(()=>{throw A})}p()},fail:C=>{i!=="destroyed"&&(i="failed",o=C,n&&s!==void 0&&wp(n,r,s)),P(),m(C)},setReady:C=>{c=C}}}var pn="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function Rp(){return a.createAbortError(pn)}function li(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===pn}function Op(e,t,n){if(typeof document>"u")return;let r=!1,s;const i=()=>{r=!0,s?.disconnect(),s=void 0},o=()=>{r||(i(),t())};if(n.addDispose(i),!e.isConnected){queueMicrotask(o);return}s=new MutationObserver(()=>{e.isConnected||o()});let c=e.parentNode;for(;c;)s.observe(c,{childList:!0}),c=c.parentNode}function Lp(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:s}=e;if(t===void 0||!(n instanceof Element))return r;const i=new AbortController;return Op(n,()=>{n.id,i.abort(Rp())},s),a.composeAbortSignals(r,i.signal)}var mn="Superseded by newer init() on the same mount element";function Np(){return a.createAbortError(mn)}function ci(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===mn}var et=new Map,tt=new WeakMap;function Mp(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function xp(e){if(!e)return{previous:Promise.resolve(),release:()=>{}};const t=Mp(e),n=t?et.get(t):void 0;n&&n.element!==e&&n.controller.abort(Np());const r=tt.get(e)??Promise.resolve();let s;const i=new Promise(l=>{s=l});tt.set(e,i);const o=new AbortController,c={element:e,controller:o};return t&&et.set(t,c),{signal:o.signal,previous:r,release:()=>{s(),tt.get(e)===i&&tt.delete(e),t&&et.get(t)===c&&et.delete(t)}}}var kp=bn({FileManagerApiError:()=>Fp}),Fp=class fi extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,s){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,fi)}},Bp=bn({mapHttpStatusToErrorCode:()=>a.mapHttpStatusToErrorCode});function jp(e,t){return{...e,element:t}}function hn(){return()=>{}}function Up(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?hn():(tp(t,e.config?.styles,t),()=>{np(t)})}function Hp(e){if(!Js()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:hn()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:hn()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=ip(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function $p(e,t){if(e.appInit||!("appInit"in t))return t;const n={...t};return delete n.appInit,n}function Gp(e){return e instanceof DOMException&&e.name==="AbortError"}function di(e){try{e.destroy()}catch{}}function gn(e,...t){const n=a.ELEMENT_MAP.get(e);t.some(r=>r!==void 0&&r===n)&&a.ELEMENT_MAP.delete(e)}var Vp="1.1.85-dev.7";async function Yp(e){await tf(typeof __emailmaker__<"u"?__emailmaker__:void 0)}async function qp(e){return ui(e).ready}function ui(e){H(z.initStart);const t=new AbortController,n=a.composeAbortSignals(e.signal,t.signal),r=Dp(e,i=>t.abort(i)),s=zp({...e,signal:n},r.bind).then(()=>(H(z.initEnd),r.settle(),r.handle),i=>{throw r.fail(i),i});return r.setReady(s),r.handle}async function zp(e,t){a.throwIfAborted(e.signal);const n=new a.Disposable;let r,s;try{const i=await a.waitForElement(e.element,n,e.signal),o=Lp({hostElementOption:e.element,resolvedElement:i,externalSignal:e.signal,disposable:n}),c=xp(i);r=c.release;const l=a.composeAbortSignals(o,c.signal);return a.throwIfAborted(l),await a.raceWithAbortSignal(c.previous,l),s=Kp(e,i,t,l),await a.raceWithAbortSignal(s,l)}finally{const i=r;s!==void 0&&i?s.then(i,i):i?.(),n.dispose()}}async function Kp(e,t,n,r){a.throwIfAborted(r),vp();const s=jp(e,t),i=Ip(s);let o;const c=gp(i,()=>o),l=r!=null?{...c,signal:r}:c;if(t){const v=a.ELEMENT_MAP.get(t);if(v){let y;try{y=await v,a.throwIfAborted(r)}catch{a.throwIfAborted(r),gn(t,v),y=void 0}if(y)if(y.getElement()===t)try{return o=Wf(t),n(y,{adopt:!0}),await y.reset($p(e,l))}catch(E){if(a.throwIfAborted(r),ci(E)||li(E)||Gp(E)&&r?.aborted)throw E;gn(t,v,y),di(y)}else gn(t,v,y),di(y)}}a.throwIfAborted(r);const u=Up(c),d=Hp(c),p=r!=null?{...d.options,signal:r}:d.options;let m;try{o=Qf(p),Xf(t,o),zt(o).set(p),await Qt(),H(z.coreReady),a.throwIfAborted(r),a.throwIfAborted(r),m=Kf(p,o,{onInstance:n}),t&&a.ELEMENT_MAP.set(t,m);const v=await m;if(r?.aborted&&(v.destroy(),a.throwIfAborted(r)),t)if(a.ELEMENT_MAP.get(t)===m)a.ELEMENT_MAP.set(t,v);else throw v.destroy(),a.throwIfAborted(r),a.createAbortError(r?.reason);return v}catch(v){throw u(),d.cleanup(),o&&(Ws(o),Jf(t,o)),t&&m&&a.ELEMENT_MAP.get(t)===m&&a.ELEMENT_MAP.delete(t),v}}async function Wp(e){return(await Re()).parseAMP(e)}typeof window<"u"&&(ye()&&Ni(),rf(typeof __emailmaker__<"u"?__emailmaker__:void 0)),K.ELEMENT_DETACHED_ABORT_MESSAGE=pn,K.SUPERSEDED_INIT_ABORT_MESSAGE=mn,K.create=ui,Object.defineProperty(K,"errors",{enumerable:!0,get:function(){return kp}}),Object.defineProperty(K,"helpers",{enumerable:!0,get:function(){return Bp}}),K.init=qp,K.isElementDetachedError=li,K.isSupersededInitError=ci,K.parseAMP=Wp,K.pluginRegistry=ks,K.preload=Yp,K.version=Vp});
2159
2159
 
2160
2160
 
2161
2161
  // Возвращаем API из entry модуля
2162
2162
  return __emailmaker__.syncRequire("emailmaker.js");
2163
2163
  });
2164
2164
 
2165
- __emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/15ea858c.js":[],"static/core/1922419a.js":[],"static/core/1c31ec91.js":["static/core/dd291b53.js","static/core/8130abb3.js","static/core/422d6166.js"],"static/core/1cb0ff80.js":[],"static/core/370f04c3.js":[],"static/core/422d6166.js":["static/core/8130abb3.js"],"static/core/43a8b244.js":[],"static/core/48270509.js":["static/core/d240cf62.js","static/core/ad7afbf4.js","__delivery__/libs","static/core/b262f9ad.js"],"static/core/6933d533.js":[],"static/core/6a5804ca.js":[],"static/core/7010b77d.js":["static/core/ad7afbf4.js","__delivery__/libs"],"static/core/72c8c438.js":["static/core/dd291b53.js"],"static/core/7b8ce310.js":[],"static/core/7c0a1f19.js":[],"static/core/7cc4b0e9.js":[],"static/core/8130abb3.js":[],"static/core/8927fdd0.js":["static/core/e6f6edff.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/8a5b1c18.js":[],"static/core/8bf56b5b.js":[],"static/core/918c30e2.js":[],"static/core/922df02d.js":["static/core/f0138633.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/9bc03055.js":["static/core/370f04c3.js","__delivery__/libs","monaco"],"static/core/9ce867fe.js":[],"static/core/9f7f5230.js":["static/core/e6f6edff.js"],"static/core/ad7afbf4.js":["__delivery__/libs"],"static/core/adf163ad.js":[],"static/core/af5819b6.js":["static/core/f0138633.js","static/core/b262f9ad.js","static/core/d240cf62.js","static/core/7010b77d.js","__delivery__/libs"],"static/core/afb434bd.js":[],"static/core/b262f9ad.js":["static/core/e6f6edff.js","__delivery__/libs"],"static/core/baf39a20.js":[],"static/core/c54e9dcb.js":["static/core/8130abb3.js"],"static/core/ceff9046.js":[],"static/core/d240cf62.js":["static/core/b262f9ad.js","__delivery__/libs"],"static/core/dbb931dd.js":[],"static/core/dc224a5b.js":[],"static/core/dd291b53.js":[],"static/core/e6f6edff.js":[],"static/core/f0138633.js":[],"static/monaco/editor.api-DqgksfDR.js":[],"monaco":["static/monaco/editor.api-DqgksfDR.js","static/monaco/lspLanguageFeatures-BnvITcKb.js"],"static/monaco/lspLanguageFeatures-BnvITcKb.js":["static/monaco/editor.api-DqgksfDR.js"],"emailmaker.js":[],"static/umd/d84cba13.js":[]},"bundles":{"static/core/ad7afbf4.js":["static/core/49caf02a.js","static/core/243fc7ac.js","static/core/5ff8810d.js","static/core/de7377ec.js"],"static/core/72c8c438.js":["static/core/a54d9b28.js"],"static/core/8927fdd0.js":["static/core/be880f91.js"],"static/core/7010b77d.js":["static/core/61378c9e.js"],"static/core/48270509.js":["static/core/1dc142a7.js"],"core":["static/core/5dc34752.js","static/core/af34343f.js","static/core/5f7f72e9.js","static/core/92c24b83.js","static/core/639e22b1.js"]}});
2165
+ __emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/147d6029.js":["static/core/f0138633.js","static/core/b262f9ad.js","static/core/6996109c.js","static/core/7916de44.js","__delivery__/libs"],"static/core/15ea858c.js":[],"static/core/1922419a.js":[],"static/core/1c31ec91.js":["static/core/dd291b53.js","static/core/8130abb3.js","static/core/422d6166.js"],"static/core/1cb0ff80.js":[],"static/core/370f04c3.js":[],"static/core/422d6166.js":["static/core/8130abb3.js"],"static/core/43a8b244.js":[],"static/core/48cd36c4.js":["__delivery__/libs"],"static/core/6933d533.js":[],"static/core/6996109c.js":["static/core/b262f9ad.js","__delivery__/libs"],"static/core/6a5804ca.js":[],"static/core/72c8c438.js":["static/core/dd291b53.js"],"static/core/7916de44.js":["static/core/48cd36c4.js","__delivery__/libs"],"static/core/7b8ce310.js":[],"static/core/7c0a1f19.js":[],"static/core/7cc4b0e9.js":[],"static/core/8130abb3.js":[],"static/core/8927fdd0.js":["static/core/e6f6edff.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/8a5b1c18.js":[],"static/core/8bf56b5b.js":[],"static/core/918c30e2.js":[],"static/core/922df02d.js":["static/core/f0138633.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/99c5ef1b.js":["static/core/6996109c.js","static/core/48cd36c4.js","__delivery__/libs","static/core/b262f9ad.js"],"static/core/9bc03055.js":["static/core/370f04c3.js","__delivery__/libs","monaco"],"static/core/9ce867fe.js":[],"static/core/9f7f5230.js":["static/core/e6f6edff.js"],"static/core/adf163ad.js":[],"static/core/afb434bd.js":[],"static/core/b262f9ad.js":["static/core/e6f6edff.js","__delivery__/libs"],"static/core/baf39a20.js":[],"static/core/c54e9dcb.js":["static/core/8130abb3.js"],"static/core/ceff9046.js":[],"static/core/dbb931dd.js":[],"static/core/dc224a5b.js":[],"static/core/dd291b53.js":[],"static/core/e6f6edff.js":[],"static/core/f0138633.js":[],"static/monaco/editor.api-DqgksfDR.js":[],"monaco":["static/monaco/editor.api-DqgksfDR.js","static/monaco/lspLanguageFeatures-BnvITcKb.js"],"static/monaco/lspLanguageFeatures-BnvITcKb.js":["static/monaco/editor.api-DqgksfDR.js"],"emailmaker.js":[],"static/umd/d84cba13.js":[]},"bundles":{"static/core/48cd36c4.js":["static/core/49caf02a.js","static/core/243fc7ac.js","static/core/5ff8810d.js","static/core/de7377ec.js"],"static/core/72c8c438.js":["static/core/a54d9b28.js"],"static/core/8927fdd0.js":["static/core/be880f91.js"],"static/core/7916de44.js":["static/core/61378c9e.js"],"static/core/99c5ef1b.js":["static/core/27c931ef.js"],"core":["static/core/5dc34752.js","static/core/af34343f.js","static/core/5f7f72e9.js","static/core/92c24b83.js","static/core/639e22b1.js"]}});