diff --git a/app/assets/javascripts/discourse/app/components/d-editor.js b/app/assets/javascripts/discourse/app/components/d-editor.js index 09b90e5246e..318a969bb6f 100644 --- a/app/assets/javascripts/discourse/app/components/d-editor.js +++ b/app/assets/javascripts/discourse/app/components/d-editor.js @@ -390,6 +390,8 @@ export default Component.extend(TextareaTextManipulation, { this.set("preview", cooked); + let previewPromise = Promise.resolve(); + if (this.siteSettings.enable_diffhtml_preview) { const cookedElement = document.createElement("div"); cookedElement.innerHTML = cooked; @@ -407,40 +409,34 @@ export default Component.extend(TextareaTextManipulation, { true ); - loadScript("/javascripts/diffhtml.min.js").then(() => { - // changing the contents of the preview element between two uses of - // diff.innerHTML did not apply the diff correctly - window.diff.release(this.element.querySelector(".d-editor-preview")); + previewPromise = loadScript("/javascripts/diffhtml.min.js").then(() => { window.diff.innerHTML( this.element.querySelector(".d-editor-preview"), - cookedElement.innerHTML, - { - parser: { - rawElements: ["script", "noscript", "style", "template"], - }, - } + cookedElement.innerHTML ); }); } - schedule("afterRender", () => { - if (this._state !== "inDOM" || !this.element) { - return; - } + previewPromise.then(() => { + schedule("afterRender", () => { + if (this._state !== "inDOM" || !this.element) { + return; + } - const preview = this.element.querySelector(".d-editor-preview"); - if (!preview) { - return; - } + const preview = this.element.querySelector(".d-editor-preview"); + if (!preview) { + return; + } - // prevents any tab focus in preview - preview.querySelectorAll("a").forEach((anchor) => { - anchor.setAttribute("tabindex", "-1"); + // prevents any tab focus in preview + preview.querySelectorAll("a").forEach((anchor) => { + anchor.setAttribute("tabindex", "-1"); + }); + + if (this.previewUpdated) { + this.previewUpdated($(preview)); + } }); - - if (this.previewUpdated) { - this.previewUpdated($(preview)); - } }); }); }, diff --git a/app/assets/javascripts/discourse/app/lib/public-js-versions.js b/app/assets/javascripts/discourse/app/lib/public-js-versions.js index f3bb8cde403..cf3a3bae11b 100644 --- a/app/assets/javascripts/discourse/app/lib/public-js-versions.js +++ b/app/assets/javascripts/discourse/app/lib/public-js-versions.js @@ -7,7 +7,7 @@ export const PUBLIC_JS_VERSIONS = { "Chart.min.js": "chart.js/3.5.1/Chart.min.js", "chartjs-plugin-datalabels.min.js": "chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.min.js", - "diffhtml.min.js": "diffhtml/1.0.0-beta.18/diffhtml.min.js", + "diffhtml.min.js": "diffhtml/1.0.0-beta.20/diffhtml.min.js", "jquery.magnific-popup.min.js": "magnific-popup/1.1.0/jquery.magnific-popup.min.js", "pikaday.js": "pikaday/1.8.0/pikaday.js", diff --git a/package.json b/package.json index 18021b9d5b9..c1302beb5a0 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "author": "Discourse", "license": "GPL-2.0-only", "dependencies": { + "@discourse/itsatrap": "^2.0.10", "@fortawesome/fontawesome-free": "5.11.2", "@highlightjs/cdn-assets": "^10.6.0", "@json-editor/json-editor": "^2.5.2", @@ -21,7 +22,7 @@ "bootstrap": "v3.4.1", "chart.js": "3.5.1", "chartjs-plugin-datalabels": "^2.0.0", - "diffhtml": "^1.0.0-beta.18", + "diffhtml": "^1.0.0-beta.20", "eslint-config-discourse": "^1.1.8", "handlebars": "^4.7.7", "jquery": "3.5.1", @@ -41,8 +42,7 @@ "workbox-expiration": "^4.3.1", "workbox-routing": "^4.3.1", "workbox-strategies": "^4.3.1", - "workbox-sw": "^4.3.1", - "@discourse/itsatrap": "^2.0.10" + "workbox-sw": "^4.3.1" }, "devDependencies": { "@arkweid/lefthook": "^0.7.2", diff --git a/public/javascripts/diffhtml.min.js b/public/javascripts/diffhtml.min.js index 292f2654b5f..d81e24a0881 100644 --- a/public/javascripts/diffhtml.min.js +++ b/public/javascripts/diffhtml.min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):(e=e||self,t(e.diff={}))}(this,function(e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r3?x-3:0),C=3;C2&&void 0!==arguments[2]?arguments[2]:{};r.parser||(r.parser={}),t||(t=ue);var n=new Set(r.parser.rawElements?r.parser.rawElements:pe),a=new Set(r.parser.selfClosingElements||ve),o=/)-->|<(\/?)([a-z\-\_][a-z0-9\-\_]*)\s*([^>]*?)(\/?)>/gi,i=f("#document-fragment",null,[]),s=[i],d=i,c=-1;if(!e.includes("<")&&e)return Ne(d,e,t),i;for(var l,u,h=0;l=o.exec(e);h++){c>-1&&c+l[0].length0){var v=e.slice(0,p);v&&!ce.exec(v)&&Ne(d,v,t)}if(c=o.lastIndex,"!"!==l[0][1]){var m=le.exec(l[2]),g=m&&t.tags[m[1]],N=g?g.name||g:l[2];if(!l[1]&&(!l[4]&&me[d.rawNodeName]&&me[d.rawNodeName][N]&&(s.pop(),d=s[s.length-1]),d=d.childNodes[d.childNodes.push(ye(l[2],l[3],t))-1],s.push(d),r.parser.strict||n.has(N))){var y=""),b=e.indexOf(y,o.lastIndex);if(n.has(N)){-1===b?c=o.lastIndex=e.length+1:(c=b+y.length,o.lastIndex=c,l[1]=" ");var T=e.slice(l.index+l[0].length,b);Ne(d,T,t)}}if(l[1]||l[4]||a.has(N))for(;d;){if("/"===l[4]&&m){s.pop(),d=s[s.length-1];break}if(g&&d.rawNodeName===N){s.pop(),d=s[s.length-1];break}if(d.rawNodeName===N){s.pop(),d=s[s.length-1];break}var E=ge[d.rawNodeName];{if(!E||!E[N])break;s.pop(),d=s[s.length-1]}}}}var w=e.slice(-1===c?0:c);if(w&&Ne(d,w,t),i.childNodes.length&&"html"===i.childNodes[0].nodeName){var k={before:[],after:[]},S={after:[]},O=i.childNodes[0],x=!0,_=!0;if(O.childNodes=O.childNodes.filter(function(e){if("body"===e.nodeName||"head"===e.nodeName)return"head"===e.nodeName&&(x=!1),"body"===e.nodeName&&(_=!1),!0;1===e.nodeType&&(x&&_?k.before.push(e):!x&&_?k.after.push(e):_||S.after.push(e))}),O.childNodes[0]&&"head"===O.childNodes[0].nodeName){var C=O.childNodes[0].childNodes;C.unshift.apply(C,k.before),C.push.apply(C,k.after)}else{var A=f("head",null,[]);if(A){var R=A.childNodes;R.unshift.apply(R,k.before),R.push.apply(R,k.after),O.childNodes.unshift(A)}}if(O.childNodes[1]&&"body"===O.childNodes[1].nodeName){var I=O.childNodes[1].childNodes;I.push.apply(I,S.after)}else{var j=f("body",null,[]);if(j){var M=j.childNodes;M.push.apply(M,S.after),O.childNodes.push(j)}}}return i}function p(e){be(e);for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};e||(e=Ae),t||(t=Ae);var a=n.svgElements,o=void 0===a?new Set:a,i=(e.nodeName,11===t.nodeType||e.nodeType,e===Ae),s="svg"===t.nodeName||o.has(t),d=null;if(q.forEach(function(r){var n=r(e,t);n&&n===e?d=!0:n&&(t=n)}),d)return r;for(var c={old:new Map,new:new Map},l=0;lx&&O.splice(V,1),E(null,C,r,n),r.push(D.REPLACE_CHILD,C,_)}}else O.push(C),E(null,C,r,n),r.push(D.INSERT_BEFORE,e,C,null)}if(O.length!==k.length){for(var L=k.length;L1&&void 0!==arguments[1]?arguments[1]:Le,r=arguments.length>2?arguments[2]:void 0,n=f(e),a=B.get(n);if(a)return a;var o=n.nodeName,i=n.rawNodeName,s=void 0===i?o:i,d=n.childNodes,c=void 0===d?[]:d;r=r||"svg"===o;var l=null;$.forEach(function(e,t){(t=e(n))&&(l=t)}),null===l&&(l="#text"===o?t.createTextNode(n.nodeValue||""):"#document-fragment"===o?t.createDocumentFragment():r?t.createElementNS(Ve,s):t.createElement(s),"script"===o&&(l.type="no-execute"));var u=l;B.set(n,u);for(var h=0;h1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:{},r=[],n=t.ownerDocument,a=t.svgElements,o=void 0===a?new Set:a,s=e.length,d=0;;){var c=e[d];if(d===s)break;switch(c){case D.SET_ATTRIBUTE:if("break"===function(){var t=e[d+1],a=e[d+2],s=_(e[d+3]);d+=4;var c=o.has(t),l=w(t,n,c),u=l.getAttribute(a),f=x("attributeChanged",t,a,u,s);return p(t),f.length?(Promise.all(f).then(function(){return Fe(t,l,a,s)}),r.push.apply(r,i(f))):Fe(t,l,a,s),"break"}())break;case D.REMOVE_ATTRIBUTE:if("break"===function(){var t=e[d+1],a=e[d+2];d+=3;var s=o.has(t),c=w(t,n,s),l=c.getAttribute(a),u=x("attributeChanged",t,a,l,null);return p(t),u.length?(Promise.all(u).then(function(){return Ye(c,a)}),r.push.apply(r,i(u))):Ye(c,a),"break"}())break;case D.NODE_VALUE:if("break"===function(){var t=e[d+1],a=e[d+2],s=e[d+3],c=o.has(t);d+=4;var l=w(t,n,c);p(t);var u=x("textChanged",t,s,a);return u.length?(Promise.all(u).then(function(){return $e(l,a)}),r.push.apply(r,i(u))):$e(l,a),"break"}())break;case D.INSERT_BEFORE:var l=e[d+1],u=e[d+2],f=e[d+3];d+=4;var h=B.get(l);if(!h)break;var m=o.has(u);p(u);var g=f&&w(f,n,m),N=w(u,n,m);h.insertBefore(N,g||null),r.push.apply(r,i(x("attached",u)));break;case D.REPLACE_CHILD:if("break"===function(){var t=e[d+1],a=e[d+2];d+=3;var s=o.has(t),c=B.get(a),l=w(t,n,s);if(!c||!c.parentNode)return"break";p(t);var u=U.get("attached").size,f=U.get("detached").size,h=U.get("replaced").size;if(!u&&!f&&!h)return c.parentNode&&(v(a),c.parentNode.replaceChild(l,c)),"break";c.parentNode&&c.parentNode.insertBefore(l,c);var m=x("attached",t),g=x("detached",a),N=x("replaced",a,l),y=[].concat(i(m),i(g),i(N));return y.length?(Promise.all(y).then(function(){c.parentNode&&c.parentNode.removeChild(c),v(a)}),r.push.apply(r,i(y))):(c.parentNode&&c.parentNode.removeChild(c),v(a)),"break"}())break;case D.REMOVE_CHILD:if("break"===function(){var t=e[d+1];d+=2;var n=B.get(t);if(!n||!n.parentNode)return"break";var a=x("detached",t);return a.length?(Promise.all(a).then(function(){n.parentNode&&n.parentNode.removeChild(n),v(t)}),r.push.apply(r,i(a))):(n.parentNode&&n.parentNode.removeChild(n),v(t)),"break"}())break}}return r}function A(e){var t=e.domNode,r=e.state,n=e.state,a=n.measure,o=n.scriptsToExecute,s=e.patches,d=t.ownerDocument,c=e.promises||[];r.ownerDocument=d||document;var l=function(e){"script"===e.nodeName&&(o.set(e,e.attributes.type),e.attributes.type="no-execute")};$.add(l),a("patch node"),c.push.apply(c,i(C(s,r))),a("patch node"),$.delete(l),e.promises=c}function R(e){var t=e.promises;return t&&t.length?e.promise=Promise.all(t).then(function(){return e.end()}):e.promise=Promise.resolve(e.end())}function I(e){var t=e.state,r=e.markup,n=e.options,a=t.measure,o=n.inner;if("string"==typeof r){a("parsing markup for new tree");var i=h(r,void 0,n),s=i.childNodes,d=f(o?s:s[0]||s);d&&(e.newTree=d),a("parsing markup for new tree")}}function j(e){return e.replace(/[&<>]/g,function(e){return"&#".concat(e.charCodeAt(0),";")})}function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!0,r.executeScripts=!("executeScripts"in r)||r.executeScripts,r.tasks=r.tasks||qe,Je.create(e,t,r).start()}function V(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!1,r.tasks=r.tasks||qe,r.executeScripts=!("executeScripts"in r)||r.executeScripts,Je.create(e,t,r).start()}function L(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n")1?t-1:0),n=1;n/i,le=new RegExp("".concat(de,"([^_]*)__")),ue={tags:[],attributes:{},children:{}},fe=Object.assign,he=Array.isArray,pe=["script","noscript","style","code","template"],ve=["meta","img","link","input","area","br","hr","area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],me={li:{li:!0},p:{p:!0,div:!0},td:{td:!0,th:!0},th:{td:!0,th:!0}},ge={li:{ul:!0,ol:!0},a:{div:!0},b:{div:!0},i:{div:!0},p:{div:!0},td:{tr:!0,table:!0},th:{tr:!0,table:!0}},Ne=function(e,t,r){var n;if(!("childNodes"in e.attributes)){if(t&&!ce.test(t)&&!le.test(t))return e.childNodes.push(f("#text",t));for(var a=[],o=t.split(le),s=0;s0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,r=B.get(t);e?r.setAttribute("type",e):r.removeAttribute("type")}),t.previousMarkup="outerHTML"in r?r.outerHTML:"",n.executeScripts&&i.forEach(function(e,r){var n=B.get(r),a=n.cloneNode(!0);z.has(n)&&(b(n),z.set(a,t)),B.set(r,a),n.parentNode.replaceChild(a,n)}),i.clear(),a("finalize"),a("render"),m(),this.endedCallbacks.forEach(function(t){return t(e)}),this.endedCallbacks.clear(),this}},{key:"onceEnded",value:function(e){this.endedCallbacks.add(e)}}]),e}(),Ke=function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:typeof t,n=arguments.length>3?arguments[3]:void 0;if(n&&e in n)return n[e];var a="DIFF_".concat(e.replace(/[^a-zA-Z0-9]/,"")).toLowerCase();if(fe){var o=new de(ce.search);if(o.has(a))return h(decodeURIComponent(String(o.get(a))),r)}return he&&a in ae.env?h(ae.env[a],r):t}function v(e,t,n){var a=null;if(Se.protected.has(e)||Se.allocated.has(e))a=e;else if(!e||we(e)){var o=e?e.length:0;n=[];for(var i=0;i3?O-3:0),x=3;x2&&void 0!==arguments[2]?arguments[2]:{};r.parser||(r.parser={}),t||(t=Ae);var n=new Set(p("rawElements",Le,"array",r.parser)),a=new Set(p("selfClosingElements",Ie,"array",r.parser)),o=/)-->|<(\/?)([a-z\-\_][a-z0-9\-\_]*)\s*([^>]*?)(\/?)>/gi,i=v("#document-fragment",null,[]),s=[i],c=i,d=-1;if(!e.includes("<")&&e)return Ve(c,e,t),i;for(var l,u,f=0;l=o.exec(e);f++){d>-1&&d+l[0].length0){var m=e.slice(0,h);m&&!Me.exec(m)&&Ve(c,m,t)}if(d=o.lastIndex,"!"!==l[0][1]){var g=xe.exec(l[2]),N=g&&t.tags[g[1]],b=N?N.name||N:l[2];if(!l[1]&&(!l[4]&&De[c.rawNodeName]&&De[c.rawNodeName][b]&&(s.pop(),c=s[s.length-1]),c=c.childNodes[c.childNodes.push(Pe(l[2],l[3],t))-1],s.push(c),r.parser.strict||n.has(b))){var y=""),T=e.indexOf(y,o.lastIndex);if(n.has(b)){-1===T?d=o.lastIndex=e.length+1:(d=T+y.length,o.lastIndex=d,l[1]=" ");var E=e.slice(l.index+l[0].length,T);Ve(c,E,t)}}if(l[1]||l[4]||a.has(b))for(;c;){if("/"===l[4]&&g){s.pop(),c=s[s.length-1];break}if(N&&c.rawNodeName===b){s.pop(),c=s[s.length-1];break}if(c.rawNodeName===b){s.pop(),c=s[s.length-1];break}var w=je[c.rawNodeName];{if(!w||!w[b])break;s.pop(),c=s[s.length-1]}}}}var S=e.slice(-1===d?0:d);if(S&&Ve(c,S,t),i.childNodes.length&&"html"===i.childNodes[0].nodeName){var k={before:[],after:[]},R={after:[]},O=i.childNodes[0],M=!0,x=!0;if(O.childNodes=O.childNodes.filter(function(e){if("body"===e.nodeName||"head"===e.nodeName)return"head"===e.nodeName&&(M=!1),"body"===e.nodeName&&(x=!1),!0;e.nodeType===G.ELEMENT&&(M&&x?k.before.push(e):!M&&x?k.after.push(e):x||R.after.push(e))}),O.childNodes[0]&&"head"===O.childNodes[0].nodeName){var A=O.childNodes[0].childNodes;A.unshift.apply(A,k.before),A.push.apply(A,k.after)}else{var C=v("head",null,[]);if(C){var _=C.childNodes;_.unshift.apply(_,k.before),_.push.apply(_,k.after),O.childNodes.unshift(C)}}if(O.childNodes[1]&&"body"===O.childNodes[1].nodeName){var L=O.childNodes[1].childNodes;L.push.apply(L,R.after)}else{var I=v("body",null,[]);if(I){var D=I.childNodes;D.push.apply(D,R.after),O.childNodes.push(I)}}}return i}function g(e){if(He(e),e.childNodes.length)for(var t=0;t1&&(e.newTree=v(u.childNodes))}e.newTree||(e.newTree=v(n)),e.oldTree=t.oldTree;var h=e.oldTree,p=e.newTree;if(o&&h&&p){var m="string"!=typeof p.rawNodeName,N=p.nodeType===G.FRAGMENT,b=N&&!m?p.childNodes:p;e.newTree=v(d,l,b)}}function k(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];e||(e=X.OBJ),t||(t=X.OBJ);var o=n.svgElements,i=void 0===o?new Set:o,s=e.nodeName,c=t.nodeName,d=e===X.OBJ||a,l="svg"===c||i.has(t),u=null;if(te.size&&te.forEach(function(n){var a=n(e,t);a&&a===e?u=r:!1===a?u=!1:a&&(t=a)}),null!==u||!t)return u;if(c===Ze){if(s===Ze&&e.nodeValue!==t.nodeValue)return r.push(Y.NODE_VALUE,e,t.nodeValue,e.nodeValue),e.nodeValue=t.nodeValue,r;if(d)return r.push(Y.NODE_VALUE,t,t.nodeValue,null),r}var f=t.childNodes||[];if(t.nodeType===G.ELEMENT){var h=d?X.OBJ:e.attributes,p=t.attributes||{};for(var v in p){var m=p[v];v in h&&h[v]===p[v]||(d||(h[v]=m),(e&&"script"===e.nodeName||"script"!==t.nodeName||"type"!==v)&&r.push(Y.SET_ATTRIBUTE,d?t:e,v,m))}if(!d)for(var g in h)g in p||(r.push(Y.REMOVE_ATTRIBUTE,e,g),delete h[g])}if(a){for(var N=0;NA&&M.splice(F,1),r.push(Y.REPLACE_CHILD,_,C)}}else f.splice(A,0,C),x+=1}else M.push(_),k(null,_,r,n,!0),r.push(Y.INSERT_BEFORE,e,_,null);else!1===k(C,null,r,n,!0)&&f.splice(A,0,C)}if(M.length!==f.length){for(var B=f.length;B1&&void 0!==arguments[1]?arguments[1]:oe.document,r=arguments.length>2?arguments[2]:void 0,n=v(e),a=K.get(n);if(a)return a;var o=n.nodeName,i=n.rawNodeName,s=void 0===i?o:i,c=n.childNodes,d=void 0===c?[]:c;r=r||"svg"===o;var l=null,u=null;if(ee.forEach(function(e){(u=e(n))&&(l=u)}),!t)return l;null===l&&(l="#text"===o?t.createTextNode(n.nodeValue||X.STR):"#document-fragment"===o?t.createDocumentFragment():r?t.createElementNS(qe,s):t.createElement(s),"script"===o&&(l.type="no-execute"));var f=l;K.set(n,f);for(var h=0;h1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:X.OBJ,r=[],n=t.ownerDocument,a=t.svgElements,o=void 0===a?new Set:a,i=e.length,c=0;;){var d=e[c];if(c===i)break;switch(d){case Y.SET_ATTRIBUTE:if("break"===function(){var t=e[c+1],a=e[c+2],i=C(e[c+3]);c+=4;var d=o.has(t),l=R(t,n,d);if(!l)return"break";var u=l.getAttribute(a),f=A("attributeChanged",t,a,u,i);return g(t),f.length?(Promise.all(f).then(function(){return rt(t,l,a,i)}),r.push.apply(r,s(f))):rt(t,l,a,i),"break"}())break;case Y.REMOVE_ATTRIBUTE:if("break"===function(){var t=e[c+1],a=e[c+2];c+=3;var i=o.has(t),d=R(t,n,i);if(!d)return"break";var l=d.getAttribute(a),u=A("attributeChanged",t,a,l,null);return g(t),u.length?(Promise.all(u).then(function(){return nt(d,a)}),r.push.apply(r,s(u))):nt(d,a),"break"}())break;case Y.NODE_VALUE:if("break"===function(){var t=e[c+1],a=e[c+2],i=e[c+3],d=o.has(t);c+=4;var l=R(t,n,d);if(!l)return"break";g(t);var u=A("textChanged",t,i,a);return u.length?(Promise.all(u).then(function(){return at(l,a)}),r.push.apply(r,s(u))):at(l,a),"break"}())break;case Y.INSERT_BEFORE:var l=e[c+1],u=e[c+2],f=e[c+3];c+=4;var h=K.get(l);if(!h)break;var p=o.has(u);g(u);var v=f&&R(f,n,p),m=R(u,n,p);h.insertBefore(m,v||null),r.push.apply(r,s(A("attached",u)));break;case Y.REPLACE_CHILD:if("break"===function(){var t,a,i,d=e[c+1],l=e[c+2];c+=3;var u=o.has(d),f=K.get(l),h=R(d,n,u);if(!f||!f.parentNode)return"break";g(d);var p=null===(t=Z.get("attached"))||void 0===t?void 0:t.size,v=null===(a=Z.get("detached"))||void 0===a?void 0:a.size,m=null===(i=Z.get("replaced"))||void 0===i?void 0:i.size;if(!p&&!v&&!m)return f.parentNode&&(f.parentNode.replaceChild(h,f),N(l)),"break";f.parentNode&&f.parentNode.insertBefore(h,f);var b=[].concat(s(p&&A("attached",d)||X.ARR),s(v&&A("detached",l)||X.ARR),s(m&&A("replaced",l,d)||X.ARR));return b.length?(Promise.all(b).then(function(){f.parentNode&&f.parentNode.removeChild(f),N(l)}),r.push.apply(r,s(b))):(f.parentNode&&f.parentNode.removeChild(f),N(l)),"break"}())break;case Y.REMOVE_CHILD:if("break"===function(){var t=e[c+1];c+=2;var n=K.get(t);if(!n||!n.parentNode)return"break";var a=A("detached",t);return a.length?(Promise.all(a).then(function(){n.parentNode&&n.parentNode.removeChild(n),N(t)}),r.push.apply(r,s(a))):(n.parentNode&&n.parentNode.removeChild(n),N(t)),"break"}())break}}return r}function L(e){var t=e.mount,r=e.state,n=e.patches,a=r.mutationObserver,o=r.measure,i=r.scriptsToExecute;o("patch node");var c=t.ownerDocument,d=e.promises||[];r.ownerDocument=c||oe.document,a&&a.disconnect();var l=function(e){"script"===e.nodeName&&i.set(e,e.attributes.type)};ee.add(l),r.ownerDocument&&d.push.apply(d,s(_(n,r))),ee.delete(l),e.promises=d,o("patch node")}function I(e){var t=e.promises;return t&&t.length?e.promise=Promise.all(t).then(function(){return e.end()}):e.promise=Promise.resolve(e.end())}function D(e){var t=e.state,r=e.input,n=e.config,a=t.measure,o=n.inner;if("string"==typeof r){a("parsing input for new tree");var i,s=m(r,void 0,n),c=s.childNodes;i=v(o?c:c[0]||c),i&&(e.newTree=i),a("parsing input for new tree")}}function j(e){return e.replace(/[&<>]/g,function(e){return"&#".concat(e.charCodeAt(0),";")})}function V(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:X.STR,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!0,r.executeScripts=!("executeScripts"in r)||r.executeScripts,r.tasks=r.tasks||ot,st.create(e,t,r).start()}function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:X.STR,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!1,r.executeScripts=!("executeScripts"in r)||r.executeScripts,r.tasks=r.tasks||ot,st.create(e,t,r).start()}function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=v(),n=new Set(t.tasks||ot);n.delete(it.endAsPromise),n.add(function(e){return B(e.oldTree)}),t.tasks=s(n),t.inner=!0;var a="";try{a=st.create(r,e,t).start()}catch(e){throw w(r),e}return w(r),a}function F(e){var t=ft(e);return t.length?" "+t.map(function(t){var r=e[t],n=!r,a="object"==typeof r||"function"==typeof r;return"".concat(t).concat(n||a?"":'="'.concat(String(r),'"'))}).join(" "):""}function B(e){var t="";if(!e)return t;var r=e.childNodes,n=e.nodeType,a=e.nodeName,o=e.nodeValue,i=e.attributes;if(11===n)for(var s=0;s").concat(c,"")}}else t+="<".concat(a).concat(F(i),">");return t}function z(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n")1?t-1:0),n=1;n/i,xe=new RegExp("".concat(Oe,"([^_]*)__")),Ae={tags:[],attributes:{},children:{}},Ce=Object.assign,_e=Array.isArray,Le=["script","noscript","style","template"],Ie=["meta","img","link","input","area","br","hr","area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],De={li:{li:!0},p:{p:!0,div:!0},td:{td:!0,th:!0},th:{td:!0,th:!0}},je={li:{ul:!0,ol:!0},a:{div:!0},b:{div:!0},i:{div:!0},p:{div:!0},td:{tr:!0,table:!0},th:{tr:!0,table:!0}},Ve=function(e,t,r){var n;if(!("childNodes"in e.attributes)){if(t&&!Me.test(t)&&!xe.test(t))return e.childNodes.push(v("#text",t));for(var a=[],o=t.split(xe),i=0;i\/=\uFDD0-\uFDEF\uFFFE\uFFFF]*)\s*(=\s*("([^"]+)"|'([^']+)'|(\S+)))?/gi;if(a=xe.exec(e))return Pe(r.tags[a[1]],t,r);for(var i,s={};i=o.exec(t||X.STR);){var c="string"==typeof e,d=i[1],l=void 0;if(""===d){var u=t.match(xe);l=u?u[0]:""}var f=i[6]||i[5]||i[4],h=l||f||(c?i[1]:f||!0),p=String(h).match(xe);if(p&&p.length)for(var m=String(h).split(xe),g=xe.exec(d),N=g?r.attributes[g[1]]:d,b=0;b0&&void 0!==arguments[0]?arguments[0]:X.STR,t=arguments.length>1?arguments[1]:void 0,r=K.get(t);e?r.setAttribute("type",e):r.removeAttribute("type")}),t.previousMarkup="outerHTML"in c?c.outerHTML:X.STR,r.executeScripts&&s.forEach(function(e,r){var n=K.get(r),a=n.cloneNode(!0);n&&(q.has(n)&&(w(n),q.set(a,t)),K.set(r,a),n.parentNode&&n.parentNode.replaceChild(a,n))}),s.clear(),Ee.memory.free.size<2*Ee.memory.allocated.size&&b(),this.endedCallbacks.forEach(function(t){return t(e)}),this.endedCallbacks.clear(),o("finalize"),o("render"),this}},{key:"onceEnded",value:function(e){this.endedCallbacks.add(e)}}],[{key:"create",value:function(t,r,n){return new e(t,r,n)}},{key:"flow",value:function(e,t){for(var r=e,n=0;ne.length)&&(t=e.length);for(var r=0,n=new Array(t);r3?x-3:0),C=3;C2&&void 0!==arguments[2]?arguments[2]:{};r.parser||(r.parser={}),t||(t=ue);var n=new Set(r.parser.rawElements?r.parser.rawElements:pe),a=new Set(r.parser.selfClosingElements||ve),o=/)-->|<(\/?)([a-z\-\_][a-z0-9\-\_]*)\s*([^>]*?)(\/?)>/gi,i=f("#document-fragment",null,[]),s=[i],d=i,c=-1;if(!e.includes("<")&&e)return Ne(d,e,t),i;for(var l,u,h=0;l=o.exec(e);h++){c>-1&&c+l[0].length0){var v=e.slice(0,p);v&&!ce.exec(v)&&Ne(d,v,t)}if(c=o.lastIndex,"!"!==l[0][1]){var m=le.exec(l[2]),g=m&&t.tags[m[1]],N=g?g.name||g:l[2];if(!l[1]&&(!l[4]&&me[d.rawNodeName]&&me[d.rawNodeName][N]&&(s.pop(),d=s[s.length-1]),d=d.childNodes[d.childNodes.push(ye(l[2],l[3],t))-1],s.push(d),r.parser.strict||n.has(N))){var y=""),b=e.indexOf(y,o.lastIndex);if(n.has(N)){-1===b?c=o.lastIndex=e.length+1:(c=b+y.length,o.lastIndex=c,l[1]=" ");var T=e.slice(l.index+l[0].length,b);Ne(d,T,t)}}if(l[1]||l[4]||a.has(N))for(;d;){if("/"===l[4]&&m){s.pop(),d=s[s.length-1];break}if(g&&d.rawNodeName===N){s.pop(),d=s[s.length-1];break}if(d.rawNodeName===N){s.pop(),d=s[s.length-1];break}var E=ge[d.rawNodeName];{if(!E||!E[N])break;s.pop(),d=s[s.length-1]}}}}var w=e.slice(-1===c?0:c);if(w&&Ne(d,w,t),i.childNodes.length&&"html"===i.childNodes[0].nodeName){var k={before:[],after:[]},S={after:[]},O=i.childNodes[0],x=!0,_=!0;if(O.childNodes=O.childNodes.filter(function(e){if("body"===e.nodeName||"head"===e.nodeName)return"head"===e.nodeName&&(x=!1),"body"===e.nodeName&&(_=!1),!0;1===e.nodeType&&(x&&_?k.before.push(e):!x&&_?k.after.push(e):_||S.after.push(e))}),O.childNodes[0]&&"head"===O.childNodes[0].nodeName){var C=O.childNodes[0].childNodes;C.unshift.apply(C,k.before),C.push.apply(C,k.after)}else{var A=f("head",null,[]);if(A){var R=A.childNodes;R.unshift.apply(R,k.before),R.push.apply(R,k.after),O.childNodes.unshift(A)}}if(O.childNodes[1]&&"body"===O.childNodes[1].nodeName){var I=O.childNodes[1].childNodes;I.push.apply(I,S.after)}else{var j=f("body",null,[]);if(j){var M=j.childNodes;M.push.apply(M,S.after),O.childNodes.push(j)}}}return i}function p(e){be(e);for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};e||(e=Ae),t||(t=Ae);var a=n.svgElements,o=void 0===a?new Set:a,i=(e.nodeName,11===t.nodeType||e.nodeType,e===Ae),s="svg"===t.nodeName||o.has(t),d=null;if(q.forEach(function(r){var n=r(e,t);n&&n===e?d=!0:n&&(t=n)}),d)return r;for(var c={old:new Map,new:new Map},l=0;lx&&O.splice(V,1),E(null,C,r,n),r.push(D.REPLACE_CHILD,C,_)}}else O.push(C),E(null,C,r,n),r.push(D.INSERT_BEFORE,e,C,null)}if(O.length!==k.length){for(var L=k.length;L1&&void 0!==arguments[1]?arguments[1]:Le,r=arguments.length>2?arguments[2]:void 0,n=f(e),a=B.get(n);if(a)return a;var o=n.nodeName,i=n.rawNodeName,s=void 0===i?o:i,d=n.childNodes,c=void 0===d?[]:d;r=r||"svg"===o;var l=null;$.forEach(function(e,t){(t=e(n))&&(l=t)}),null===l&&(l="#text"===o?t.createTextNode(n.nodeValue||""):"#document-fragment"===o?t.createDocumentFragment():r?t.createElementNS(Ve,s):t.createElement(s),"script"===o&&(l.type="no-execute"));var u=l;B.set(n,u);for(var h=0;h1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:{},r=[],n=t.ownerDocument,a=t.svgElements,o=void 0===a?new Set:a,s=e.length,d=0;;){var c=e[d];if(d===s)break;switch(c){case D.SET_ATTRIBUTE:if("break"===function(){var t=e[d+1],a=e[d+2],s=_(e[d+3]);d+=4;var c=o.has(t),l=w(t,n,c),u=l.getAttribute(a),f=x("attributeChanged",t,a,u,s);return p(t),f.length?(Promise.all(f).then(function(){return Fe(t,l,a,s)}),r.push.apply(r,i(f))):Fe(t,l,a,s),"break"}())break;case D.REMOVE_ATTRIBUTE:if("break"===function(){var t=e[d+1],a=e[d+2];d+=3;var s=o.has(t),c=w(t,n,s),l=c.getAttribute(a),u=x("attributeChanged",t,a,l,null);return p(t),u.length?(Promise.all(u).then(function(){return Ye(c,a)}),r.push.apply(r,i(u))):Ye(c,a),"break"}())break;case D.NODE_VALUE:if("break"===function(){var t=e[d+1],a=e[d+2],s=e[d+3],c=o.has(t);d+=4;var l=w(t,n,c);p(t);var u=x("textChanged",t,s,a);return u.length?(Promise.all(u).then(function(){return $e(l,a)}),r.push.apply(r,i(u))):$e(l,a),"break"}())break;case D.INSERT_BEFORE:var l=e[d+1],u=e[d+2],f=e[d+3];d+=4;var h=B.get(l);if(!h)break;var m=o.has(u);p(u);var g=f&&w(f,n,m),N=w(u,n,m);h.insertBefore(N,g||null),r.push.apply(r,i(x("attached",u)));break;case D.REPLACE_CHILD:if("break"===function(){var t=e[d+1],a=e[d+2];d+=3;var s=o.has(t),c=B.get(a),l=w(t,n,s);if(!c||!c.parentNode)return"break";p(t);var u=U.get("attached").size,f=U.get("detached").size,h=U.get("replaced").size;if(!u&&!f&&!h)return c.parentNode&&(v(a),c.parentNode.replaceChild(l,c)),"break";c.parentNode&&c.parentNode.insertBefore(l,c);var m=x("attached",t),g=x("detached",a),N=x("replaced",a,l),y=[].concat(i(m),i(g),i(N));return y.length?(Promise.all(y).then(function(){c.parentNode&&c.parentNode.removeChild(c),v(a)}),r.push.apply(r,i(y))):(c.parentNode&&c.parentNode.removeChild(c),v(a)),"break"}())break;case D.REMOVE_CHILD:if("break"===function(){var t=e[d+1];d+=2;var n=B.get(t);if(!n||!n.parentNode)return"break";var a=x("detached",t);return a.length?(Promise.all(a).then(function(){n.parentNode&&n.parentNode.removeChild(n),v(t)}),r.push.apply(r,i(a))):(n.parentNode&&n.parentNode.removeChild(n),v(t)),"break"}())break}}return r}function A(e){var t=e.domNode,r=e.state,n=e.state,a=n.measure,o=n.scriptsToExecute,s=e.patches,d=t.ownerDocument,c=e.promises||[];r.ownerDocument=d||document;var l=function(e){"script"===e.nodeName&&(o.set(e,e.attributes.type),e.attributes.type="no-execute")};$.add(l),a("patch node"),c.push.apply(c,i(C(s,r))),a("patch node"),$.delete(l),e.promises=c}function R(e){var t=e.promises;return t&&t.length?e.promise=Promise.all(t).then(function(){return e.end()}):e.promise=Promise.resolve(e.end())}function I(e){var t=e.state,r=e.markup,n=e.options,a=t.measure,o=n.inner;if("string"==typeof r){a("parsing markup for new tree");var i=h(r,void 0,n),s=i.childNodes,d=f(o?s:s[0]||s);d&&(e.newTree=d),a("parsing markup for new tree")}}function j(e){return e.replace(/[&<>]/g,function(e){return"&#".concat(e.charCodeAt(0),";")})}function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!0,r.executeScripts=!("executeScripts"in r)||r.executeScripts,r.tasks=r.tasks||qe,Je.create(e,t,r).start()}function V(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!1,r.tasks=r.tasks||qe,r.executeScripts=!("executeScripts"in r)||r.executeScripts,Je.create(e,t,r).start()}function L(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n")1?t-1:0),n=1;n/i,le=new RegExp("".concat(de,"([^_]*)__")),ue={tags:[],attributes:{},children:{}},fe=Object.assign,he=Array.isArray,pe=["script","noscript","style","code","template"],ve=["meta","img","link","input","area","br","hr","area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],me={li:{li:!0},p:{p:!0,div:!0},td:{td:!0,th:!0},th:{td:!0,th:!0}},ge={li:{ul:!0,ol:!0},a:{div:!0},b:{div:!0},i:{div:!0},p:{div:!0},td:{tr:!0,table:!0},th:{tr:!0,table:!0}},Ne=function(e,t,r){var n;if(!("childNodes"in e.attributes)){if(t&&!ce.test(t)&&!le.test(t))return e.childNodes.push(f("#text",t));for(var a=[],o=t.split(le),s=0;s0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,r=B.get(t);e?r.setAttribute("type",e):r.removeAttribute("type")}),t.previousMarkup="outerHTML"in r?r.outerHTML:"",n.executeScripts&&i.forEach(function(e,r){var n=B.get(r),a=n.cloneNode(!0);z.has(n)&&(b(n),z.set(a,t)),B.set(r,a),n.parentNode.replaceChild(a,n)}),i.clear(),a("finalize"),a("render"),m(),this.endedCallbacks.forEach(function(t){return t(e)}),this.endedCallbacks.clear(),this}},{key:"onceEnded",value:function(e){this.endedCallbacks.add(e)}}]),e}(),Ke=function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:typeof t,n=arguments.length>3?arguments[3]:void 0;if(n&&e in n)return n[e];var a="DIFF_".concat(e.replace(/[^a-zA-Z0-9]/,"")).toLowerCase();if(fe){var o=new de(ce.search);if(o.has(a))return h(decodeURIComponent(String(o.get(a))),r)}return he&&a in ae.env?h(ae.env[a],r):t}function v(e,t,n){var a=null;if(Se.protected.has(e)||Se.allocated.has(e))a=e;else if(!e||we(e)){var o=e?e.length:0;n=[];for(var i=0;i3?O-3:0),x=3;x2&&void 0!==arguments[2]?arguments[2]:{};r.parser||(r.parser={}),t||(t=Ae);var n=new Set(p("rawElements",Le,"array",r.parser)),a=new Set(p("selfClosingElements",Ie,"array",r.parser)),o=/)-->|<(\/?)([a-z\-\_][a-z0-9\-\_]*)\s*([^>]*?)(\/?)>/gi,i=v("#document-fragment",null,[]),s=[i],c=i,d=-1;if(!e.includes("<")&&e)return Ve(c,e,t),i;for(var l,u,f=0;l=o.exec(e);f++){d>-1&&d+l[0].length0){var m=e.slice(0,h);m&&!Me.exec(m)&&Ve(c,m,t)}if(d=o.lastIndex,"!"!==l[0][1]){var g=xe.exec(l[2]),N=g&&t.tags[g[1]],b=N?N.name||N:l[2];if(!l[1]&&(!l[4]&&De[c.rawNodeName]&&De[c.rawNodeName][b]&&(s.pop(),c=s[s.length-1]),c=c.childNodes[c.childNodes.push(Pe(l[2],l[3],t))-1],s.push(c),r.parser.strict||n.has(b))){var y=""),T=e.indexOf(y,o.lastIndex);if(n.has(b)){-1===T?d=o.lastIndex=e.length+1:(d=T+y.length,o.lastIndex=d,l[1]=" ");var E=e.slice(l.index+l[0].length,T);Ve(c,E,t)}}if(l[1]||l[4]||a.has(b))for(;c;){if("/"===l[4]&&g){s.pop(),c=s[s.length-1];break}if(N&&c.rawNodeName===b){s.pop(),c=s[s.length-1];break}if(c.rawNodeName===b){s.pop(),c=s[s.length-1];break}var w=je[c.rawNodeName];{if(!w||!w[b])break;s.pop(),c=s[s.length-1]}}}}var S=e.slice(-1===d?0:d);if(S&&Ve(c,S,t),i.childNodes.length&&"html"===i.childNodes[0].nodeName){var k={before:[],after:[]},R={after:[]},O=i.childNodes[0],M=!0,x=!0;if(O.childNodes=O.childNodes.filter(function(e){if("body"===e.nodeName||"head"===e.nodeName)return"head"===e.nodeName&&(M=!1),"body"===e.nodeName&&(x=!1),!0;e.nodeType===G.ELEMENT&&(M&&x?k.before.push(e):!M&&x?k.after.push(e):x||R.after.push(e))}),O.childNodes[0]&&"head"===O.childNodes[0].nodeName){var A=O.childNodes[0].childNodes;A.unshift.apply(A,k.before),A.push.apply(A,k.after)}else{var C=v("head",null,[]);if(C){var _=C.childNodes;_.unshift.apply(_,k.before),_.push.apply(_,k.after),O.childNodes.unshift(C)}}if(O.childNodes[1]&&"body"===O.childNodes[1].nodeName){var L=O.childNodes[1].childNodes;L.push.apply(L,R.after)}else{var I=v("body",null,[]);if(I){var D=I.childNodes;D.push.apply(D,R.after),O.childNodes.push(I)}}}return i}function g(e){if(He(e),e.childNodes.length)for(var t=0;t1&&(e.newTree=v(u.childNodes))}e.newTree||(e.newTree=v(n)),e.oldTree=t.oldTree;var h=e.oldTree,p=e.newTree;if(o&&h&&p){var m="string"!=typeof p.rawNodeName,N=p.nodeType===G.FRAGMENT,b=N&&!m?p.childNodes:p;e.newTree=v(d,l,b)}}function k(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];e||(e=X.OBJ),t||(t=X.OBJ);var o=n.svgElements,i=void 0===o?new Set:o,s=e.nodeName,c=t.nodeName,d=e===X.OBJ||a,l="svg"===c||i.has(t),u=null;if(te.size&&te.forEach(function(n){var a=n(e,t);a&&a===e?u=r:!1===a?u=!1:a&&(t=a)}),null!==u||!t)return u;if(c===Ze){if(s===Ze&&e.nodeValue!==t.nodeValue)return r.push(Y.NODE_VALUE,e,t.nodeValue,e.nodeValue),e.nodeValue=t.nodeValue,r;if(d)return r.push(Y.NODE_VALUE,t,t.nodeValue,null),r}var f=t.childNodes||[];if(t.nodeType===G.ELEMENT){var h=d?X.OBJ:e.attributes,p=t.attributes||{};for(var v in p){var m=p[v];v in h&&h[v]===p[v]||(d||(h[v]=m),(e&&"script"===e.nodeName||"script"!==t.nodeName||"type"!==v)&&r.push(Y.SET_ATTRIBUTE,d?t:e,v,m))}if(!d)for(var g in h)g in p||(r.push(Y.REMOVE_ATTRIBUTE,e,g),delete h[g])}if(a){for(var N=0;NA&&M.splice(F,1),r.push(Y.REPLACE_CHILD,_,C)}}else f.splice(A,0,C),x+=1}else M.push(_),k(null,_,r,n,!0),r.push(Y.INSERT_BEFORE,e,_,null);else!1===k(C,null,r,n,!0)&&f.splice(A,0,C)}if(M.length!==f.length){for(var B=f.length;B1&&void 0!==arguments[1]?arguments[1]:oe.document,r=arguments.length>2?arguments[2]:void 0,n=v(e),a=K.get(n);if(a)return a;var o=n.nodeName,i=n.rawNodeName,s=void 0===i?o:i,c=n.childNodes,d=void 0===c?[]:c;r=r||"svg"===o;var l=null,u=null;if(ee.forEach(function(e){(u=e(n))&&(l=u)}),!t)return l;null===l&&(l="#text"===o?t.createTextNode(n.nodeValue||X.STR):"#document-fragment"===o?t.createDocumentFragment():r?t.createElementNS(qe,s):t.createElement(s),"script"===o&&(l.type="no-execute"));var f=l;K.set(n,f);for(var h=0;h1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:X.OBJ,r=[],n=t.ownerDocument,a=t.svgElements,o=void 0===a?new Set:a,i=e.length,c=0;;){var d=e[c];if(c===i)break;switch(d){case Y.SET_ATTRIBUTE:if("break"===function(){var t=e[c+1],a=e[c+2],i=C(e[c+3]);c+=4;var d=o.has(t),l=R(t,n,d);if(!l)return"break";var u=l.getAttribute(a),f=A("attributeChanged",t,a,u,i);return g(t),f.length?(Promise.all(f).then(function(){return rt(t,l,a,i)}),r.push.apply(r,s(f))):rt(t,l,a,i),"break"}())break;case Y.REMOVE_ATTRIBUTE:if("break"===function(){var t=e[c+1],a=e[c+2];c+=3;var i=o.has(t),d=R(t,n,i);if(!d)return"break";var l=d.getAttribute(a),u=A("attributeChanged",t,a,l,null);return g(t),u.length?(Promise.all(u).then(function(){return nt(d,a)}),r.push.apply(r,s(u))):nt(d,a),"break"}())break;case Y.NODE_VALUE:if("break"===function(){var t=e[c+1],a=e[c+2],i=e[c+3],d=o.has(t);c+=4;var l=R(t,n,d);if(!l)return"break";g(t);var u=A("textChanged",t,i,a);return u.length?(Promise.all(u).then(function(){return at(l,a)}),r.push.apply(r,s(u))):at(l,a),"break"}())break;case Y.INSERT_BEFORE:var l=e[c+1],u=e[c+2],f=e[c+3];c+=4;var h=K.get(l);if(!h)break;var p=o.has(u);g(u);var v=f&&R(f,n,p),m=R(u,n,p);h.insertBefore(m,v||null),r.push.apply(r,s(A("attached",u)));break;case Y.REPLACE_CHILD:if("break"===function(){var t,a,i,d=e[c+1],l=e[c+2];c+=3;var u=o.has(d),f=K.get(l),h=R(d,n,u);if(!f||!f.parentNode)return"break";g(d);var p=null===(t=Z.get("attached"))||void 0===t?void 0:t.size,v=null===(a=Z.get("detached"))||void 0===a?void 0:a.size,m=null===(i=Z.get("replaced"))||void 0===i?void 0:i.size;if(!p&&!v&&!m)return f.parentNode&&(f.parentNode.replaceChild(h,f),N(l)),"break";f.parentNode&&f.parentNode.insertBefore(h,f);var b=[].concat(s(p&&A("attached",d)||X.ARR),s(v&&A("detached",l)||X.ARR),s(m&&A("replaced",l,d)||X.ARR));return b.length?(Promise.all(b).then(function(){f.parentNode&&f.parentNode.removeChild(f),N(l)}),r.push.apply(r,s(b))):(f.parentNode&&f.parentNode.removeChild(f),N(l)),"break"}())break;case Y.REMOVE_CHILD:if("break"===function(){var t=e[c+1];c+=2;var n=K.get(t);if(!n||!n.parentNode)return"break";var a=A("detached",t);return a.length?(Promise.all(a).then(function(){n.parentNode&&n.parentNode.removeChild(n),N(t)}),r.push.apply(r,s(a))):(n.parentNode&&n.parentNode.removeChild(n),N(t)),"break"}())break}}return r}function L(e){var t=e.mount,r=e.state,n=e.patches,a=r.mutationObserver,o=r.measure,i=r.scriptsToExecute;o("patch node");var c=t.ownerDocument,d=e.promises||[];r.ownerDocument=c||oe.document,a&&a.disconnect();var l=function(e){"script"===e.nodeName&&i.set(e,e.attributes.type)};ee.add(l),r.ownerDocument&&d.push.apply(d,s(_(n,r))),ee.delete(l),e.promises=d,o("patch node")}function I(e){var t=e.promises;return t&&t.length?e.promise=Promise.all(t).then(function(){return e.end()}):e.promise=Promise.resolve(e.end())}function D(e){var t=e.state,r=e.input,n=e.config,a=t.measure,o=n.inner;if("string"==typeof r){a("parsing input for new tree");var i,s=m(r,void 0,n),c=s.childNodes;i=v(o?c:c[0]||c),i&&(e.newTree=i),a("parsing input for new tree")}}function j(e){return e.replace(/[&<>]/g,function(e){return"&#".concat(e.charCodeAt(0),";")})}function V(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:X.STR,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!0,r.executeScripts=!("executeScripts"in r)||r.executeScripts,r.tasks=r.tasks||ot,st.create(e,t,r).start()}function P(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:X.STR,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.inner=!1,r.executeScripts=!("executeScripts"in r)||r.executeScripts,r.tasks=r.tasks||ot,st.create(e,t,r).start()}function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=v(),n=new Set(t.tasks||ot);n.delete(it.endAsPromise),n.add(function(e){return B(e.oldTree)}),t.tasks=s(n),t.inner=!0;var a="";try{a=st.create(r,e,t).start()}catch(e){throw w(r),e}return w(r),a}function F(e){var t=ft(e);return t.length?" "+t.map(function(t){var r=e[t],n=!r,a="object"==typeof r||"function"==typeof r;return"".concat(t).concat(n||a?"":'="'.concat(String(r),'"'))}).join(" "):""}function B(e){var t="";if(!e)return t;var r=e.childNodes,n=e.nodeType,a=e.nodeName,o=e.nodeValue,i=e.attributes;if(11===n)for(var s=0;s").concat(c,"")}}else t+="<".concat(a).concat(F(i),">");return t}function z(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n")1?t-1:0),n=1;n/i,xe=new RegExp("".concat(Oe,"([^_]*)__")),Ae={tags:[],attributes:{},children:{}},Ce=Object.assign,_e=Array.isArray,Le=["script","noscript","style","template"],Ie=["meta","img","link","input","area","br","hr","area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],De={li:{li:!0},p:{p:!0,div:!0},td:{td:!0,th:!0},th:{td:!0,th:!0}},je={li:{ul:!0,ol:!0},a:{div:!0},b:{div:!0},i:{div:!0},p:{div:!0},td:{tr:!0,table:!0},th:{tr:!0,table:!0}},Ve=function(e,t,r){var n;if(!("childNodes"in e.attributes)){if(t&&!Me.test(t)&&!xe.test(t))return e.childNodes.push(v("#text",t));for(var a=[],o=t.split(xe),i=0;i\/=\uFDD0-\uFDEF\uFFFE\uFFFF]*)\s*(=\s*("([^"]+)"|'([^']+)'|(\S+)))?/gi;if(a=xe.exec(e))return Pe(r.tags[a[1]],t,r);for(var i,s={};i=o.exec(t||X.STR);){var c="string"==typeof e,d=i[1],l=void 0;if(""===d){var u=t.match(xe);l=u?u[0]:""}var f=i[6]||i[5]||i[4],h=l||f||(c?i[1]:f||!0),p=String(h).match(xe);if(p&&p.length)for(var m=String(h).split(xe),g=xe.exec(d),N=g?r.attributes[g[1]]:d,b=0;b0&&void 0!==arguments[0]?arguments[0]:X.STR,t=arguments.length>1?arguments[1]:void 0,r=K.get(t);e?r.setAttribute("type",e):r.removeAttribute("type")}),t.previousMarkup="outerHTML"in c?c.outerHTML:X.STR,r.executeScripts&&s.forEach(function(e,r){var n=K.get(r),a=n.cloneNode(!0);n&&(q.has(n)&&(w(n),q.set(a,t)),K.set(r,a),n.parentNode&&n.parentNode.replaceChild(a,n))}),s.clear(),Ee.memory.free.size<2*Ee.memory.allocated.size&&b(),this.endedCallbacks.forEach(function(t){return t(e)}),this.endedCallbacks.clear(),o("finalize"),o("render"),this}},{key:"onceEnded",value:function(e){this.endedCallbacks.add(e)}}],[{key:"create",value:function(t,r,n){return new e(t,r,n)}},{key:"flow",value:function(e,t){for(var r=e,n=0;n