UNPKG

css-doodle

Version:

A web component for visual art & creative coding

2 lines 102 kB
/*! css-doodle v0.51.0 MIT licensed */ (()=>{var e=[":",";",",","(",")","[","]","{","}","\u03c0","\xb1","+","-","*","/","%",'"',"'","`","@","=","^","\xdf","_","<",">","&","|","!","?","~","\u2264","\u2265","\u2260"],t={escape:e=>"\\"==e,space:e=>/[\r\n\t\s]/.test(e),digit:e=>/^[0-9]$/.test(e),sign:e=>/^[+-]$/.test(e),dot:e=>"."==e,quote:e=>/^["'`]$/.test(e),symbol:t=>e.includes(t),hexNum:e=>/^[0-9a-f]$/i.test(e),hex:(e,n,r)=>"0"==e&&t.letter(n,"x")&&t.hexNum(r),expWithSign:(e,n,r)=>t.letter(e,"e")&&t.sign(n)&&t.digit(r),exp:(e,n)=>t.letter(e,"e")&&t.digit(n),dots:(e,n)=>t.dot(e)&&t.dot(n),letter:(e,t)=>String(e).toLowerCase()==String(t).toLowerCase(),comment:(e,t)=>"/"==e&&"*"==t,inlineComment:(e,t)=>"/"==e&&"/"===t,selfClosedTag:(e,t)=>"/"==e&&">"==t,closedTag:(e,t)=>"<"==e&&"/"==t},n=class{constructor({type:e,value:t,pos:n,status:r}){this.type=e,this.value=t,this.pos=n,r&&(this.status=r)}isSymbol(e){return 0==arguments.length?"Symbol"==this.type:(arguments.length>1&&(e=Array.from(arguments)),Array.isArray(e)?e.some((e=>e===this.value)):e===this.value)}isSpace(){return"Space"==this.type}isNumber(){return"Number"==this.type}isWord(){return"Word"==this.type}};function r(e){let t=-1,n=e.length,r=-1,s=0;return{curr:(n=0)=>e[t+n],next(n=1){let i=e[t+=n];return"\n"===i?(s++,r=0):r+=n,i},end:()=>t>=n,get:()=>({prev:e[t-1],curr:e[t+0],next:e[t+1],next2:e[t+2],next3:e[t+3],pos:[r,s]})}}function s(e){for(;e.next();){let{curr:n,prev:r}=e.get();if(t.comment(n,r))break}}function i(e){for(;e.next()&&"\n"!==e.curr(););}function l(e){return[":",";",",","{","}","(",")","[","]"].includes(e)}function a(e){let n="";for(;!e.end();){let{curr:r,next:s}=e.get();n+=r;let i=t.symbol(s)||t.space(s)||t.digit(s);if(n.length&&i&&!t.closedTag(r,s))break;e.next()}return n.trim()}function o(e){let n="";for(;!e.end();){let{curr:r,next:s}=e.get();if(n+=r,!t.space(s))break;e.next()}return n}function u(e){let n="",r=!1;for(;!e.end();){let{curr:s,next:i,next2:l,next3:a}=e.get();if(n+=s,r&&t.dot(i))break;if(t.dot(s)&&(r=!0),t.dots(i,l))break;if(t.expWithSign(i,l,a))n+=e.next()+e.next();else if(t.exp(i,l))n+=e.next();else if(!t.digit(i)&&!t.dot(i))break;e.next()}return n}function c(e){let n="0x";for(e.next(2);!e.end();){let{curr:r,next:s}=e.get();if(n+=r,!t.hexNum(s))break;e.next()}return n}function h(e){return e[e.length-1]}function p(e,p={}){let f=r(String(e).trim()),d=[],m=[];for(;f.next();){let{prev:e,curr:r,next:g,next2:v,pos:y}=f.get();if(t.comment(r,g))s(f);else if(p.ignoreInlineComment&&t.inlineComment(r,g))i(f);else if(t.hex(r,g,v)){let e=c(f);d.push(new n({type:"Number",value:e,pos:y}))}else if(t.digit(r)||t.digit(g)&&t.dot(r)&&!t.dots(e,r)){let e=u(f);d.push(new n({type:"Number",value:e,pos:y}))}else if(t.symbol(r)){let e=h(d),s=t.digit(g)||t.dot(g)&&t.digit(v),i=e&&(e.isNumber()||e.isWord()||e.isSymbol(")"));if("-"===r&&s&&!i){let e=u(f);d.push(new n({type:"Number",value:e,pos:y}));continue}let l={type:"Symbol",value:r,pos:y};if(m.length&&t.escape(e.value)){d.pop();let e=a(f);e.length&&d.push(new n({type:"Word",value:e,pos:y}))}else{if(t.quote(r)){h(m)==r?(m.pop(),l.status="close"):(m.push(r),l.status="open")}d.push(new n(l))}}else if(t.space(r)){let e=o(f),t=h(d),{next:s}=f.get();if(!m.length&&t){let n=t.value,i=l(n)&&")"!==n,a=l(s)&&"("!==s;if(i||a)continue;e=p.preserveLineBreak?r:" "}d.length&&s&&s.trim()&&d.push(new n({type:"Space",value:e,pos:y}))}else{let e=a(f);e.length&&d.push(new n({type:"Word",value:e,pos:y}))}}let g=h(d);return g&&g.isSpace()&&(d.length=d.length-1),d}function f(e){let t=[];for(;e.next();){let{curr:n,next:r}=e.get();if("var"===n.value){if(r&&r.isSymbol("(")){e.next();let n=d(e);g(n.name)&&t.push(n)}}else if(t.length&&!n.isSymbol(","))break}return t}function d(e){let t={},n=[];for(;e.next();){let{curr:r,next:s}=e.get();if(r.isSymbol(")",";")&&!t.name){t.name=m(n);break}r.isSymbol(",")?(void 0===t.name&&(t.name=m(n),n=[]),t.name&&(t.fallback=f(e))):n.push(r)}return t}function m(e){return e.map((e=>e.value)).join("")}function g(e){return void 0!==e&&(!(e.length<=2)&&(!e.substr(2).startsWith("-")&&!!e.startsWith("--")))}var v=function(e){return f(r(p(e)))};function y(e,t,n){return e=Number(e)||0,Math.max(t,Math.min(n,e))}function b(e,t){for(let[n,r]of Object.entries(t))e[n]=e[r];return e}function x(e){return/^[a-zA-Z]$/.test(e)}function _(e){return null==e}function $(e){return _(e)||Number.isNaN(e)}function k(e){return _(e)||""===e}function w(e){let t=t=>(...n)=>e(t,...n);return t.lazy=!0,t}function S(e,t,n){return"c-"+e+"-"+t+"-"+n}function j(e){let t=e;for(;t&&!_(t.value);)t=t.value;return"object"==typeof t&&"value"in t?t.value??"":t??""}function A(e,t,n=0){let r=new Image;r.crossOrigin="anonymous",r.src=e,r.onload=function(){setTimeout(t,n)}}function N(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function E(e){let t=document.createElement("textarea");return t.innerHTML=e,t.value}function C(e,t=0){e=String(e);let n=3735928559^t,r=1103547991^t;for(let t,s=0;s<e.length;s++)t=e.charCodeAt(s),n=Math.imul(n^t,2654435761),r=Math.imul(r^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)}function T(e,t,n){return t+e*(n-t)}function R(e=""){return e+Math.random().toString(32).slice(2)}function P(e){return _(e)?[]:Array.isArray(e)?e:[e]}function M(e,t="\n"){return(e||[]).join(t)}function z(e,t=1){return _(e)?"":e[e.length-t]}function O(e){return e[0]}var I=function(e,t={symbol:",",noSpace:!1,verbose:!1}){let n=[],s=[],i=[],l=[],a="",o=t.symbol||",",u={},c={},h=[];if(k(e))return n;Array.isArray(o)||(o=[o]),o.forEach((e=>{let[t,n=1/0]=String(e).split(/\s+/);u[t]=0,c[t]=n}));const f=Object.keys(c),d=r(p(e));function m(){h=f.filter((e=>u[e]<c[e]))}function g(e){return t.noSpace?e.isSymbol(h):e.isSymbol(h)||e.isSpace()}function v(e){let r=function(e){return e.map((e=>e.value)).join("")}(e);t.verbose?(a.length||r.length)&&n.push({group:a,value:r}):n.push(r)}for(m();d.next();){let{prev:e,curr:n,next:r}=d.get();n.isSymbol("(")&&i.push(n.value),n.isSymbol(")")&&i.pop(),"open"===n.status&&l.push(n.value),"close"===n.status&&l.pop();let o=!i.length&&!l.length;if(o){let i=t.noSpace&&n.isSpace()&&g(r),l=t.noSpace&&n.isSpace()&&g(e);if(n.isSpace()&&!s.length)continue;if(i||l)continue}if(o&&g(n)){u[n.value]+=1;v(s),a=n.value,s=[],m()}else s.push(n)}return s.length&&v(s),n},L=["xlink:actuate","xlink:arcrole","xlink:href","xlink:role","xlink:show","xlink:title","xlink:type","xml:base","xml:lang","xml:space"];function W(e,t){let n,r=[],s=[],i=[],l=!1;for(;e.next();){let{curr:t,next:a}=e.get();t.isSymbol("(")&&!s.length?i.push(t):t.isSymbol(")")&&!s.length&&i.pop(),t.isSymbol("'",'"')&&("open"===t.status?s.push(t):s.pop());let o=!s.length&&!i.length&&(!a||t.isSymbol(";")||a.isSymbol("}"));if(t.isSymbol("'",'"')&&a&&a.isSymbol("}")&&!s.length&&(o=!0),!i.length&&!s.length&&t.isSymbol("{")){let t=Y(r);if(!t.length)continue;let s=t.pop(),i=G(...t,s);for(n=X(D(e,V(s,{type:"block",name:s,value:[]})),i);s=t.pop();)n=X(V(s,{type:"block",name:s,value:[n]}),i);l=!0;break}if(r.push(t),o)break}return r.length&&!n?(t._valueTokens=r,t.value=B(r)):n&&(t.value=n),l&&(t.value.inline=!0),t.origin&&(t.origin.value=t.value),t}function U(e){let t=[],n=[];for(;e.next();){let{curr:r}=e.get();if(r.isSymbol("{"))t.push(r.value);else if(r.isSymbol("}")){if(!t.length)break;t.pop()}n.push(r.value)}return n.join("")}function D(e,t){let n=[],r=[],s=t&&t.type||"",i=[];for(;e.next();){let{prev:l,curr:a,next:o}=e.get();a.isSymbol("(")&&i.push(a.value),a.isSymbol(")")&&i.length&&i.pop();let u=!o||a.isSymbol("}");if(Z(s)&&u){if(!o&&n.length&&!a.isSymbol("}")){"string"==typeof n[n.length-1].value&&(n[n.length-1].value+=";"+a.value)}t.value=n;break}if(a.isSymbol("{")){let s=Y(r);if(!s.length)continue;G(t.name)&&(s=[B(r)]);let i=s.pop(),l=G(...s,t.name,i);const a=[...s,i],o=a.indexOf("style");if(o>=0){let t="";const r=a.slice(o+1);r.length>0&&(t=r.join(" ")+"{"),t+=U(e),r.length>0&&(t+="}"),n.push({type:"block",name:"style",value:t})}else{let t=X(D(e,V(i,{type:"block",name:i,value:[]})),l);for(;i=s.pop();)t=X(V(i,{type:"block",name:i,value:[t]}),l);n.push(t)}r=[]}else if(a.isSymbol(":")&&!i.length&&!F(l,o)&&r.length){let i=q(r,(e=>e.isSymbol(","))),l={type:"statement",name:"unknown",value:""};i.length>1&&(l.origin={name:i});let a=W(e,l),o=I(a.value),u=i.length>1&&o.length===i.length;i.forEach(((e,t)=>{let r=Object.assign({},a,{name:e});/^\-\-/.test(e)&&(r.variable=!0),u&&(r.value=o[t]),/viewBox/i.test(e)&&(r.detail=H(r.value,r._valueTokens)),delete r._valueTokens,n.push(r)})),Z(s)&&(t.value=n),r=[]}else a.isSymbol(";")?n.length&&r.length&&(n[n.length-1].value+=";"+B(r),r=[]):r.push(a)}return n.length&&Z(s)&&(t.value=n),s?t:n}function F(e,t){let n=e&&e.value,r=t&&t.value;return L.includes(n+":"+r)}function B(e){return e.filter(((t,n)=>!t.isSymbol(";","}")||n!==e.length-1)).map((e=>e.value)).join("")}function X(e,t){let n=e.name||"";if(t)return e;let r=n.split(/[#.]/)[0];if(!r)return e;let s=n.match(/#([^.#]+)/);s&&e.value.push({type:"statement",name:"id",value:s[1]});let i=n.match(/\.([^.#]+)/g);if(i){let t=i.map((e=>e.slice(1))).join(" ");e.value.push({type:"statement",name:"class",value:t})}return e.name=r,e}function q(e,t){let n=[],r=[];return e.forEach((e=>{t(e)?(n.push(B(r)),r=[]):r.push(e)})),r.length&&n.push(B(r)),n}function Y(e){let t,n=[],s=r(e);for(;s.next();){let{prev:e,curr:r,next:i}=s.get(),l=e&&i&&"x"===r.value&&e.isNumber()&&i.isNumber();(!r.isWord()||t||l)&&n.length?n[n.length-1]=(n[n.length-1]+r.value).trim():n.push(r.value.trim()),r.isSymbol()?t=!0:r.isSpace()||(t=!1)}return n}function H(e,t){const n={value:[]};let r;if(!Array.isArray(t))return n;for(let e of t)e.isSpace()||e.isSymbol(",",";")||(n.value.length<4&&e.isNumber()?n.value.push(Number(e.value)):e.isNumber()&&r?(n[r]=Number(e.value),r=null):e.isWord()&&(r=e.value));return n}function V(e,t){let n=Object.assign({},t);if(/\*\s*[0-9]/.test(e)){let[t,r]=e.split("*");r&&(n.times=r.trim(),n.pureName=t.trim())}return n}function G(...e){return e.includes("style")}function Z(e){return"block"===e}var K=function(e,t){return function(e){let t,n=[];for(let r of e.value)"svg"===r.name&&(t=r),r.variable&&n.push(r);if(t&&Array.isArray(t.value)){for(let e of n)t.value.find((t=>t.name==e.name))||t.value.unshift(e);return t}return e}(D(r(p(e)),t||{type:"block",name:"svg",value:[]}))};function J(e,t){let n="";if("block"===e.type){let t=Array.isArray(e.value)&&e.value[0]&&e.value[0].inline;if(e.times?n+="@M"+e.times+"("+e.pureName+"{":n+=e.name+"{","style"===e.name)n+=e.value;else if(Array.isArray(e.value)&&e.value.length){let t="";for(let r of e.value)n+=J(r,t),r.origin&&(t=r.origin.name.join(","))}e.times?n+="})":t||(n+="}")}else if("statement"===e.type){let r=e.origin&&t===e.origin.name.join(","),s=e.origin?e.origin.name.join(","):e.name,i=e.origin?e.origin.value:e.value;r||(n+=i&&i.type?s+":"+J(i):s+":"+i+";")}return n}function Q(e){return J(e).trim()}var ee={func:(e="")=>({type:"func",name:e,arguments:[]}),argument:()=>({type:"argument",value:[]}),text:(e="")=>({type:"text",value:e}),pseudo:(e="")=>({type:"pseudo",selector:e,styles:[]}),cond:(e="")=>({type:"cond",name:e,styles:[],arguments:[]}),rule:(e="")=>({type:"rule",property:e,value:[]}),keyframes:(e="")=>({type:"keyframes",name:e,steps:[]}),step:(e="")=>({type:"step",name:e,styles:[]})},te={white_space:e=>/[\s\n\t]/.test(e),line_break:e=>/\n/.test(e),number:e=>!isNaN(e),pair:e=>['"',"(",")","'"].includes(e),pair_of:(e,t)=>({'"':'"',"'":"'","(":")"}[e]==t),selector(e){let t,n=e.index(),r=[],s=[],i=!1;for(;!e.end();){if(t=e.next(),'"'===t||"'"===t||"`"===t){t===z(s)?s.pop():s.length||s.push(t)}if("("==t&&r.push(t),")"==t&&r.pop(),!r.length&&!s.length){if("{"===t){i=!0;break}if(";"===t||"}"===t){i=!1;break}}}return e.index(n),i}},ne={"\u03c0":Math.PI,"\u220f":Math.PI};function re(e){return/^@(canvas|shaders|doodle)/.test(e)}function se(e=""){let t=0,n=1,r=1;return{curr:(n=0)=>e[t+n],end:()=>e.length<=t,info:()=>({index:t,col:n,line:r}),index:e=>void 0===e?t:t=e,range:(t,n)=>e.substring(t,n),next(){let s=e[t++];return"\n"==s?(r++,n=0):n++,s}}}function ie(e,{col:t,line:n}){console.warn(`(at line ${n}, column ${t}) ${e}`)}function le(e,t){return function(n,r){let s=n.index(),i="";for(;!n.end();){let r=n.next();if(e(r)){t&&(i+=r);break}i+=r}return r&&n.index(s),i}}function ae(e,t){return le((e=>/[^\w@]/.test(e)))(e,t)}function oe(e){return le((e=>/[\s\{]/.test(e)))(e)}function ue(e,t){return le((e=>te.line_break(e)||"{"==e),!0)(e,t)}function ce(e,t){let n,r=ee.step();for(;!e.end()&&"}"!=(n=e.curr());)if(te.white_space(n))e.next();else{if(r.name.length){if(r.styles.push(Se(e,t)),"}"==e.curr())break}else r.name=_e(e,(e=>"{"===e));e.next()}return r}function he(e,t){const n=[];let r;for(;!e.end()&&"}"!=(r=e.curr());)te.white_space(r)||n.push(ce(e,t)),e.next();return n}function pe(e,t){let n,r=ee.keyframes();for(;!e.end()&&"}"!=(n=e.curr());)if(r.name.length){if("{"==n||"{"==e.curr(-1)){e.next(),r.steps=he(e,t);break}e.next()}else if(ae(e),r.name=oe(e),!r.name.length){ie("missing keyframes name",e.info());break}return r}function fe(e,t={}){for(e.next();!e.end();){let n=e.curr();if(t.inline){if("\n"==n)break}else if("*"==(n=e.curr())&&"/"==e.curr(1))break;e.next()}t.inline||(e.next(),e.next())}function de(e){for(e.next();!e.end();){if(">"==e.curr())break;e.next()}}function me(e,t,n,r={}){let s,i=[],l=[],a=[],o="",u="";for(;!e.end();){s=e.curr();let h=e.curr(-1),p=e.index();if(/[\('"`]/.test(s)&&"\\"!==h)a.length&&"("!==s&&s===z(a)?a.pop():a.push(s),o+=s;else if(!n&&("@"==s||"$"===s||"."===h&&t))l.length||(o=o.trimLeft()),o.length&&(l.push(ee.text(o)),o=""),l.push(xe(e,r));else if(n&&/[)]/.test(s)||!n&&/[,)]/.test(s))if(a.length)")"==s&&"("===z(a)&&a.pop(),o+=s;else{if(o.length&&(l.length?/\S/.test(o)&&l.push(ee.text(o)):l.push(ee.text((c=o).trim().length?te.number(+c)?+c:c.trim():c)),o.trim().startsWith("\xb1")&&!n)){let e=o.trim().slice(1),t=structuredClone(l);z(t).value="-"+e,i.push(ve(t)),z(l).value=e}if(i.push(ve(l)),[l,o]=[[],""],")"==s)break}else ne[s]&&!/[0-9]/.test(e.curr(-1))&&(s=ne[s]),o+=s;let f=e.curr(1);if(!(!t||")"!=f&&void 0!==f&&";"!=f&&/[0-9a-zA-Z_\-.]/.test(e.curr())||a.length)){l.length&&i.push(ve(l));break}u+=e.range(p,e.index()+1),e.next()}var c;return[ge(i),u]}function ge(e){let t=z(e[0]);return t&&"text"===t.type&&!String(t.value).trim().length&&(e[0]=e[0].slice(0,-1)),e}function ve(e){let t=e.map((e=>{if("text"==e.type&&"string"==typeof e.value){let t=String(e.value);t.includes("`")&&(e.value=t=t.replace(/`/g,'"')),e.value=t}return e})),n=O(t)||{},r=z(t)||{};if("text"==n.type&&"text"==r.type){let e=O(n.value),s=z(r.value);"string"==typeof n.value&&"string"==typeof r.value&&te.pair_of(e,s)&&(n.value=n.value.slice(1),r.value=r.value.slice(0,r.value.length-1),t.cluster=!0)}return t}function ye(e){let t=JSON.stringify(e);return t.includes("pureName")&&t.includes("times")}function be(e){return/^@svg$/i.test(e)}function xe(e,t={}){let n,r=ee.func(),s=e.curr(),i=!1,l="$"===s;for("@"===s?e.next():s="@";!e.end();){n=e.curr();let l=e.curr(1),a="."==n&&/[a-zA-Z@$]/.test(l);if("("==n||a){i=!0,e.next();let[n,l]=me(e,a,re(s),t);if(be(s)){let e=K(l),r=0;for(let n of e.value)n.variable&&(t[n.name]=Ce(`${"\n".repeat(r++)} ${n.name}:${n.value}`)[0].value);if(/\d\s*{/.test(l)&&ye(e)){let r=Q(e);r+=")",n=me(se(r),a,re(s),t)[0]}}r.arguments=n,r.variables=t;break}if(/[0-9a-zA-Z_\-.%]/.test(n)&&(s+=n),!i&&"("!==l&&!/[0-9a-zA-Z_\-.%]/.test(l))break;e.next()}let{fname:a,extra:o}=function(e){let t="",n="";if(/\D$/.test(e)&&!/\d+[x-]\d+/.test(e)||Math[e.slice(1)])return{fname:e,extra:n};for(let r=e.length-1;r>=0;r--){let s=e[r],i=e[r-1],l=e[r+1];if(!(/[\d.]/.test(s)||("x"==s||"-"==s)&&/\d/.test(i)&&/\d/.test(l))){t=e.substring(0,r+1);break}n=s+n}return{fname:t,extra:n}}(s);if(r.name=l?"@$"+s.slice(1):a,o.length&&r.arguments.unshift([{type:"text",value:o}]),l&&r.name.length>2){if(!r.arguments.length){let e=r.name.substring(0,2),t=r.name.substring(2);r.name=e,r.arguments.push([{type:"text",value:t}])}if(/\d$/.test(r.name)){let e=r.name.substring(0,2),t=r.name.substring(2);r.name=e,r.arguments[0][0].value=t}}return r.position=e.info().index,r}function _e(e,t=()=>{}){let n,r=ee.text(),s=0,i=!0;const l=[];l[s]=[];let a=[],o=[];for(;!e.end();){if(n=e.curr(),i&&te.white_space(n)){e.next();continue}if(i=!1,"\n"!=n||te.white_space(e.curr(-1)))if(","!=n||a.length){if((/[;}<]/.test(n)||t(n))&&!o.length){r.value.length&&(l[s].push(r),r=ee.text());break}if("@"!==n&&"$"!==n||!/[\w-\(%]/.test(e.curr(1)))if('"'===n||"'"===n){n===z(o)?o.pop():o.length||o.push(n),r.value+=n}else te.white_space(n)&&te.white_space(e.curr(-1))||("("==n&&a.push(n),")"==n&&a.pop(),ne[n]&&!/[0-9]/.test(e.curr(-1))&&(n=ne[n]),r.value+=n);else r.value.length&&(l[s].push(r),r=ee.text()),l[s].push(xe(e))}else r.value.length&&(l[s].push(r),r=ee.text()),l[++s]=[],i=!0;else r.value+=" ";let u=e.curr();if((";"===u||"}"==u||t(u))&&!o.length)break;e.next()}return r.value.length&&l[s].push(r),l}function $e(e){let t,n="";for(;!e.end()&&"{"!=(t=e.curr());)n+=t,e.next();return n=n.trim(),n}function ke(e){let t,n="",r=[],s={};for(;!e.end();){if("("==(t=e.curr())){n.length&&(s.name?r.push({keyword:n}):s.name=n,n=""),e.next();let t=me(e)[0];r.push({arguments:t})}else if(te.white_space(t))te.white_space(t)&&!s.name?(s.name=n,n=""):te.white_space(t)&&n.length&&(r.push({keyword:n}),n="");else{if("{"==t||")"==t){n.length&&(s.name?r.push({keyword:n}):s.name=n);break}n+=t}e.next()}let[i,...l]=(s.name||"").trim().split(/\s+/);return{name:i,addition:l,segments:r,position:e.info().index}}function we(e,t){let n,r=ee.pseudo();for(;!e.end();){if(n=e.curr(),"/"==n&&"*"==e.curr(1))fe(e);else{if("}"==n)break;if(te.white_space(n)){e.next();continue}if(r.selector)if(":"==n){let n=we(e,t);n.selector&&r.styles.push(n)}else if("&"==n)r.styles.push(je(e,t));else{let n=Se(e,t);if("@use"==n.property?r.styles=r.styles.concat(n.value):n.property&&r.styles.push(n),"}"==e.curr())break}else r.selector=$e(e)}e.next()}return r}function Se(e,t){let n,r=ee.rule(),s=e.index(),i=[],l=[],a="";for(;!e.end();){if(n=e.curr(),"/"==n&&"*"==e.curr(1)&&fe(e),'"'===n||"'"===n||"`"===n){n===z(l)?l.pop():l.length||l.push(n)}if("("==n&&i.push(n),")"==n&&i.pop(),i.length||l.length)a+=n;else{if("}"==n)break;if(";"===n&&a.trim().length){r.property.length||(r.type="at-rule",r.value=a+n),e.next();break}if(":"===n){r.property=a.trim(),"@use"==r.property?r.value=Ee(e,t):(e.next(),r.value=_e(e));break}a+=n}e.next()}let o=e.index();return r.raw=()=>e.range(s,o).trim(),r}function je(e,t){let n,r=ee.cond();for(;!e.end();){if(n=e.curr(),"/"==n&&"*"==e.curr(1))fe(e);else{if("}"==n)break;if(r.name.length)if(":"==n){let t=we(e);t.selector&&r.styles.push(t)}else if("&"==n)r.styles.push(je(e));else if("@"==n&&"@keyframes"===ae(e,!0)){let n=pe(e,t);r.styles.push(n)}else if("@"!=n||ue(e,!0).includes(":")){if(te.white_space(n)){e.next();continue}if(te.selector(e)){let n=je(e,t);n.name.length&&r.styles.push(n)}else{let n=Se(e,t);if(n.property&&r.styles.push(n),"}"==e.curr())break}}else r.styles.push(je(e));else Object.assign(r,ke(e))}e.next()}return r}function Ae(e,t){let n="";return e&&e.get_variable&&(n=e.get_variable(t)),n}function Ne(e,t){e.forEach&&e.forEach((e=>{if("text"==e.type&&e.value){let n=v(e.value);e.value=n.reduce(((e,n)=>{let r,s="",i="";s=Ae(t,n.name),!s&&n.fallback&&n.fallback.every((e=>{if(i=Ae(t,e.name),i)return s=i,!1}));try{r=Ce(s,t)}catch(e){}return r&&e.push.apply(e,r),e}),[])}"func"==e.type&&e.arguments&&e.arguments.forEach((e=>{Ne(e,t)}))}))}function Ee(e,t){return e.next(),(_e(e)||[]).reduce(((e,n)=>{Ne(n,t);let[r]=n;return r.value&&r.value.length&&e.push(...r.value),e}),[])}function Ce(e,t){const n=se(e),r=[];for(;!n.end();){let e=n.curr();if(te.white_space(e))n.next();else{if("/"==e&&"*"==n.curr(1))fe(n);else if(":"==e){let e=we(n,t);e.selector&&r.push(e)}else if("@"==e&&"@keyframes"===ae(n,!0)){let e=pe(n,t);r.push(e)}else if("<"==e)de(n);else if(te.selector(n)){let e=je(n,t);e.name.length&&r.push(e)}else if(!te.white_space(e)){let e=Se(n,t);(e.property||"at-rule"===e.type)&&r.push(e)}n.next()}}return r}function Te(e,t=64){const[n,r,s]=[1,t,t*t];let[i,l,a]=(e+"").replace(/\s+/g,"").replace(/[,\uff0cxX]+/g,"x").split("x").map((e=>parseInt(e)));const o=1==i||1==l?s:r,u=1==i&&1==l?s:n,c={x:y(i||n,1,o),y:y(l||i||n,1,o),z:y(a||n,1,u)};return Object.assign({},c,{count:c.x*c.y*c.z,ratio:c.x/c.y})}function Re(e){return/^texture\w*$|^(fragment|vertex)$/.test(e)}function Pe(){return new n({type:"LineBreak",value:"\n"})}function Me(e){let t=e[0],n=e[e.length-1];for(;t&&t.isSymbol("(")&&n&&n.isSymbol(")");)t=(e=e.slice(1,e.length-1))[0],n=e[e.length-1];return e}function ze(e){return Me(e).map((e=>e.value)).join("")}var Oe=function(e){let t,n,s=r(Me(p(e,{preserveLineBreak:!0,ignoreInlineComment:!0}))),i=[],l=[],a={textures:[]};for(;s.next();){let{curr:e,next:r}=s.get();if(e.isSymbol("{")){if(i.length)l.push(e);else{let n=ze(l);Re(n)?(t=n,l=[]):l.push(e)}i.push("{")}else if(e.isSymbol("}"))if(i.pop(),!i.length&&t){let e=ze(l);t&&e.length&&(t.startsWith("texture")?a.textures.push({name:t,value:e}):a[t]=e,l=[]),t=null}else l.push(e);else k(n)||n==e.pos[1]||(l.push(Pe()),n=null),t&&t.startsWith("texture")||e.isWord()&&e.value.startsWith("#")&&(l.push(Pe()),n=r.pos[1]),l.push(e)}return k(a.fragment)&&(a.fragment=ze(l),a.textures=a.textures||[]),a},Ie=new Map;var Le=function(e){if(Ie.has(e))return Ie.get(e);let t=r(p(e)),n={},s={commands:[],valid:!0};for(;t.next();){let{curr:e}=t.get();if(!e.isSpace()&&!e.isSymbol(","))if(e.isWord())n.name&&(s.commands.push(n),n={}),n.name=e.value,n.value=[],"MmLlHhVvCcSsQqTtAaZz".includes(e.value)?"mlhvcsqtaz".includes(e.value)?n.type="relative":n.type="absolute":(n.type="unknown",s.valid=!1);else if(n.value){let r=e.value;if(e.isNumber())r=Number(e.value);else if(e.isSymbol("-")||e.isSymbol("+")){let{next:n}=t.get();n&&n.isNumber()&&(t.next(),r=Number(e.value+n.value))}n.value.push(r)}else n.name||(s.valid=!1)}return n.name&&s.commands.push(n),Ie.set(e,s),s};var We=function(e){let t=r(p(e)),n={},s=!1;for(;t.next();){let{prev:e,curr:r,next:i}=t.get(),l=s&&(r.isWord()||r.isSymbol())&&e&&e.isNumber()&&!i;if(r.isNumber())n.value=Number(r.value),s=!0;else{if(!l)break;n.unit=r.value}}return n},Ue='xmlns="http://www.w3.org/2000/svg"',De='xmlns="http://www.w3.org/1999/xhtml"',Fe='xmlns:xlink="http://www.w3.org/1999/xlink"';function Be(e,t){return`url("data:image/svg+xml;utf8,${encodeURIComponent(e)+(t?`#${t}`:"")}")`}function Xe(e){return e.includes("<svg")||(e=`<svg ${Ue} ${Fe}>${e}</svg>`),e.includes("xmlns")||(e=e.replace(/<svg([\s>])/,`<svg ${Ue} ${Fe}$1`)),e}var qe=function(){let e=0;return(t="")=>`${t}-${++e}`}(),Ye=class{constructor(e,t=""){if(!e)throw new Error("Tag name is required");this.id=Symbol(),this.name=e,this.body=[],this.attrs={},this.isTextNode()&&(this.body=t)}isTextNode(){return"text-node"===this.name}find(e){let t=e.attrs.id,n=e.name;if(Array.isArray(this.body)&&void 0!==t)return this.body.find((e=>e.attrs.id===t&&e.name===n))}findSpareDefs(){return this.body.find((e=>"defs"===e.name&&!e.attrs.id))}append(e){Array.isArray(e)||(e=[e]);for(let t of e)this.isTextNode()||this.body.push(t)}merge(e){for(let[t,n]of Object.entries(e.attrs))this.attrs[t]=n;Array.isArray(e.body)&&this.body.push(...e.body)}attr(e,t){if(!this.isTextNode())return void 0===t?this.attrs[e]:this.attrs[e]=t}toString(){if(this.isTextNode())return He(this.body);let e=[""],t=[];for(let[t,n]of Object.entries(this.attrs))n=He(n),e.push(`${t}="${n}"`);for(let e of this.body)t.push(e.toString());return t.join("").length||/svg/i.test(this.name)?`<${this.name}${e.join(" ")}>${t.join("")}</${this.name}>`:`<${this.name}${e.join(" ")}/>`}};function He(e){let t=(e=String(e)).startsWith('"')&&e.endsWith('"'),n=e.startsWith("'")&&e.endsWith("'");return t||n?e.substring(1,e.length-1):e}function Ve(e,t,n,r){let s;if(t||(t=new Ye("root")),"block"===e.type)if("style"===e.name){let n=new Ye("style");n.append(e.value),t.append(n)}else{let i=new Ye(e.name);if(r||(r=i).attr("xmlns",Ue.split("=")[1]),"defs"===e.name){let e=r.findSpareDefs();e&&(i=e)}for(let t of e.value){e.parent=n;let l=Ve(t,i,e,r);l&&(s=l)}let l=e&&e.inline&&"defs"!==e.name,a=n&&n.inline&&"defs"===n.name,o=a&&1==n.value.length;if(l||a){let t=e.value.find((e=>"statement"===e.type&&"id"===e.name));t?s=t.value:(o||l)&&(s=qe(e.name),i.attr("id",s))}let u=t.find(i);if(u)u.merge(i);else if("defs"===e.name){let e=r.findSpareDefs();e&&!i.attrs.id?i.id!==e.id&&e.append(i.body):r.append(i)}else t.append(i)}if("statement"===e.type&&!e.variable)if("content"===e.name){let n=new Ye("text-node",e.value);t.append(n)}else if(e.name.startsWith("style ")){let n=(e.name.split("style ")[1]||"").trim();if(n.length){let r=t.attr("style")||"";t.attr("style",r+function(e,t){return`${e}:${t};`}(n,e.value))}}else{let s=e.value;if(s&&"block"===s.type){let t=Ve(e.value,r,e,r);_(t)?s="":(s=`url(#${t})`,"xlink:href"!==e.name&&"href"!==e.name||(s=`#${t}`))}if(/viewBox/i.test(e.name))s=function(e){let t=e.detail.value,n=e.detail.padding||e.detail.p||e.detail.expand;if(!t.length)return"";let[r,s,i,l]=t;return n&&([r,s,i,l]=[r-n,s-n,i+2*n,l+2*n]),`${r} ${s} ${i} ${l}`}(e),s&&t.attr(e.name,s);else if("draw"!==e.name&&"animate"!==e.name||"path"!==(i=n&&n.name)&&"line"!==i&&"circle"!==i&&"ellipse"!==i&&"rect"!==i&&"polygon"!==i&&"polyline"!==i)t.attr(e.name,s);else{let[e,n]=String(s).split(/\s+/);("indefinite"===e||"infinite"===e||/\d$/.test(e))&&([e,n]=[n,e]),"infinite"===n&&(n="indefinite"),t.attr("stroke-dasharray",10),t.attr("pathLength",10);let r=new Ye("animate");r.attr("attributeName","stroke-dashoffset"),r.attr("from",10),r.attr("to",0),r.attr("dur",e),n&&r.attr("repeatCount",n),t.append(r)}e.name.includes("xlink:")&&r.attr("xmlns:xlink",Fe.split("=")[1])}var i;return n?s:r.toString()}function Ge(e){return Ve(e)}var Ze=["auto","reverse"],Ke=["deg","rad","grad","turn"];var Je=function(e){let t=r(p(e)),n=!1,s="",i={direction:"",angle:""};for(;t.next();){let{prev:e,curr:r,next:l}=t.get();if(r.isWord()&&Ze.includes(r.value))i.direction=r.value,n=!0;else if(r.isNumber())i.angle=Number(r.value),n=!0;else if(r.isWord()&&e&&e.isNumber()&&Ke.includes(r.value))s=r.value;else if(r.isSpace()&&""!==i.direction&&""!==i.angle)break}return n||(i.direction="auto"),function(e,t){let{angle:n}=e;""===n&&(n=0);"rad"===t&&(n/=Math.PI/180);"grad"===t&&(n*=.9);"turn"===t&&(n*=360);return Object.assign({},e,{angle:n})}(i,s)};function Qe(e,t,n){return["fill-rule","fill"].includes(e)?t:n?`-1 * (${t})`:t}function et(e){return e.map((e=>e.value)).join("")}var tt=function(e){let t,n=r(p(e)),s={},i=[],l=!1;for(;n.next();){let{prev:e,curr:r,next:a}=n.get();if(r.isSymbol(":")&&!t)t=et(i),i=[];else if(r.isSymbol(";")&&t)s[t]=Qe(t,et(i),l),i=[],t=null,l=!1;else if(!r.isSymbol(";")){let n=e&&e.isSymbol("-"),s=a&&a.isSymbol("-"),o=r.isSymbol("-");t||i.length||!o||n||s||a&&a.isSymbol(":")?i.push(r):l=!0}}return i.length&&t&&(s[t]=Qe(t,et(i),l)),s},nt=new class{constructor(){this.cache=new Map}clear(){this.cache.clear()}set(e,t){if(_(e))return"";let n=this.getKey(e);return this.cache.set(n,t),t}has(e){let t=this.getKey(e);return this.cache.has(t)}get(e){let t=this.getKey(e);return this.cache.get(t)}getKey(e){return _(e)?"":C("string"==typeof e?e:JSON.stringify(e))}};function rt(e,t){return(...n)=>{let r=e+n.join("-");return nt.get(r)||nt.set(r,t(...n))}}var st={"\u03c0":Math.PI,gcd(e,t){for(;t;)[e,t]=[t,e%t];return e},match:(e,t,n)=>e?t:n},it={"^":7,"**":7,"*":6,"/":6,"\xf7":6,"%":6,"&":5,"|":5,"+":4,"-":4,"<":3,"<<":3,">":3,">>":3,"=":3,"==":3,"\u2264":3,"<=":3,"\u2265":3,">=":3,"\u2260":3,"!=":3,"\u2227":2,"&&":2,"\u2228":2,"||":2,"(":1,")":1},lt=new Set(["**","==","!=","<=",">=","&&","||","<<",">>"]),at=/^-?(\d+\.?\d*|\d*\.?\d+)(e[+-]?\d+)?$/i,ot=/^-/,ut=/\d/,ct=/^[<>&|]+$/,ht=/[()]/,pt=/^-\D/;function ft(e){return Object.prototype.hasOwnProperty.call(it,e)}function dt(e){if(nt.has(e))return nt.get(e);const t=function(e){const t=[];let n=0;for(;n<e.length;){const r=e[n],{type:s,value:i}=r;if("Space"!==s)if("Number"!==s)if("Word"!==s)if("Symbol"!==s)n++;else{if(","===i){t.push({type:"comma",value:i}),n++;continue}if("!"===i){const r=e[n+1];if(r&&"="===r.value){t.push({type:"operator",value:"!="}),n+=2;continue}t.push({type:"operator",value:i}),n++;continue}if(")"===i){t.push({type:"operator",value:i});const r=e[n+1],s=r&&(ft(r.value)||ct.test(r.value)||"!"===r.value);r&&("Number"===r.type||"Word"===r.type||"Symbol"===r.type&&"("===r.value||"Symbol"===r.type&&!s&&","!==r.value&&")"!==r.value)&&t.push({type:"operator",value:"*"}),n++;continue}const r=e[n+1];if(r&&"Symbol"===r.type){const e=i+r.value;if(lt.has(e)){t.push({type:"operator",value:e}),n+=2;continue}}if("+"===i||"-"===i){const r=z(t);if(!t.length||r&&"operator"===r.type&&!ht.test(r.value)){let r="-"===i?-1:1,s=n+1;for(;s<e.length;){for(;s<e.length&&"Space"===e[s].type;)s++;const t=e[s];if(!t||"+"!==t.value&&"-"!==t.value)break;"-"===t.value&&(r*=-1),s++}for(;s<e.length&&"Space"===e[s].type;)s++;const l=e[s];if(l&&("Number"===l.type||"Word"===l.type)){const e=(-1===r?"-":"")+l.value;t.push({type:"number",value:e}),n=s+1;continue}if(!t.length){t.push({type:"number",value:-1===r?"-1":"1"}),t.push({type:"operator",value:"*"}),n=s;continue}}}if(ft(i)){t.push({type:"operator",value:i}),n++;continue}const s=r&&"Symbol"===r.type&&/[(),]/.test(r.value),l=r&&(ft(r.value)||ct.test(r.value)||"!"===r.value);if(r&&("Number"===r.type||"Word"===r.type||"Symbol"===r.type)&&!s&&!l){t.push({type:"number",value:i}),t.push({type:"operator",value:"*"}),n++;continue}t.push({type:"number",value:i}),n++}else{if(ft(i)||"!"===i||ct.test(i)){const r=e[n+1];if(r&&("Word"===r.type||"Symbol"===r.type)){const e=i+r.value;if(lt.has(e)){t.push({type:"operator",value:e}),n+=2;continue}}t.push({type:"operator",value:i}),n++;continue}const r=e[n+1];if(r&&"Number"===r.type&&ot.test(r.value)){t.push({type:"number",value:i}),t.push({type:"operator",value:"-"}),t.push({type:"number",value:r.value.slice(1)}),n+=2;continue}if(r&&"Number"===r.type&&!ot.test(r.value)){t.push({type:"number",value:i+r.value}),n+=2;continue}if(r&&"("===r.value){t.push({type:"number",value:i}),n++;continue}const s=r&&"Symbol"===r.type&&/[(),]/.test(r.value),l=r&&(ft(r.value)||ct.test(r.value)||"!"===r.value);if(r&&"Symbol"===r.type&&!s&&!l){t.push({type:"number",value:i}),t.push({type:"operator",value:"*"}),n++;continue}t.push({type:"number",value:i}),n++}else{const r=e[n+1],s=r&&(ft(r.value)||ct.test(r.value)||"!"===r.value),l=r&&"Symbol"===r.type&&/[,]/.test(r.value),a=/e[+-]?\d+$/i.test(i);if(r&&"("===r.value){t.push({type:"number",value:i}),t.push({type:"operator",value:"*"}),n++;continue}if(a&&r&&"Word"===r.type){t.push({type:"number",value:i}),t.push({type:"operator",value:"*"}),n++;continue}if(r&&("Word"===r.type||"Symbol"===r.type)&&!s&&!l){t.push({type:"number",value:i+r.value}),n+=2;continue}t.push({type:"number",value:i}),n++}else n++}return t}(p(String(e)));return nt.set(e,t)}function mt(e){const t=dt(e),n=[],r=[];for(let e=0;e<t.length;e++){const{type:s,value:i}=t[e],l=t[e+1]||{};if("number"===s){const n=at.test(i)||"-"===i||"+"===i;if("("!==l.value||n)n?r.push({type:"number",value:i}):r.push({type:"variable",value:i});else{const{args:n,endIndex:s}=gt(t,e+1);r.push({type:"function",name:i,value:n}),e=s}}else if("operator"===s)if("("===i)n.push(i);else if(")"===i){for(;n.length&&"("!==z(n);)r.push({type:"operator",value:n.pop()});n.pop()}else{const e="^"===i||"**"===i;for(;n.length;){const t=z(n),s=it[t],l=it[i];if(!(e?s>l:s>=l))break;{const e=n.pop();ht.test(e)||r.push({type:"operator",value:e})}}n.push(i)}}for(;n.length;)r.push({type:"operator",value:n.pop()});return r}function gt(e,t){const n=[];let r=0;const s=[];let i=t;for(e[i]&&"("===e[i].value&&(r=1,i++);i<e.length;){const t=e[i],{value:l}=t;if("("===l)r++,s.push(l);else if(")"===l){if(r--,0===r){s.length&&n.push(mt(s.join("")));break}s.push(l)}else","===l&&1===r?(s.length&&n.push(mt(s.join(""))),s.length=0):s.push(l);i++}return{args:n,endIndex:i}}function vt(e,t={},n=[]){const r=[];let s=0;for(;s<e.length;){let{name:i,value:l,type:a}=e[s++];if("variable"===a){let e=t[l];$(e)&&(e=Math[l]),$(e)&&(e=bt(l,t,n)),$(e)&&pt.test(l)&&(e=bt("-1"+l.slice(1),t,n)),void 0===e&&(e=0),"number"!=typeof e&&(n.push(e),xt(n)?(e=0,n.length=0):e=vt(mt(e),t,n)),r.push(e)}else if("function"===a){let e=!1;ot.test(i)&&(e=!0,i=i.slice(1));let s=l.map((e=>vt(e,t,n)));const a=i.split(".");let o;for(;o=a.pop();){if(!o)continue;const e=t[o]||Math[o];s="function"==typeof e?Array.isArray(s)?e(...s):e(s):0}e&&(s*=-1),r.push(s)}else if(ut.test(l))r.push(l);else{const t=r.pop(),n=r.pop();s>=e.length&&void 0===n?r.push(t):r.push(yt(l,Number(n),Number(t)))}}return Number(r[0])||0}function yt(e,t,n){switch(e){case"+":return t+n;case"-":return t-n;case"*":return t*n;case"%":return t%n;case"|":return t|n;case"&":return t&n;case"<":return t<n;case">":return t>n;case"^":case"**":return t**n;case"\xf7":case"/":return t/n;case"=":case"==":return t===n?1:0;case"\u2264":case"<=":return t<=n;case"\u2265":case">=":return t>=n;case"\u2260":case"!=":return t!==n?1:0;case"\u2227":case"&&":return t&&n;case"\u2228":case"||":return t||n;case"<<":return t<<n;case">>":return t>>n;default:return 0}}function bt(e,t,n){const r=e.match(/([\d.\-]+)(.*)/);if(!r)return;const[,s,i]=r,l=t[i];return void 0===l?l:"number"==typeof l?Number(s)*l:(n.push(l),xt(n)?(n.length=0,0):s*vt(mt(l),t,n))}function xt(e){if(e.length>50)return!0;if(e.length<4)return!1;const t=e[e.length-1];for(let n=2;n<=4;n++)if(e[e.length-n]!==t)return!1;return!0}function _t(e,t){return vt(mt(e),t?Object.assign({},st,t):st)}var{cos:$t,sin:kt,abs:wt,atan2:St,PI:jt}=Math,At={circle:"\n split:180;scale:.99\n ",triangle:"\n rotate:30;scale:1.1;move:0 .2\n ",pentagon:"\n split:5;rotate:54\n ",hexagon:"\n split:6;rotate:30;scale:.98\n ",octagon:"\n split:8;rotate:22.5;scale:.99\n ",star:"\n split:10;r:cos(5t);rotate:-18;scale:.99\n ",infinity:"\n split:180;scale:.99;x:cos(t)*.99 / (sin(t)^2 + 1);y:x * sin(t)\n ",heart:"\n split:180;rotate:180;a:cos(t)*13/18 - cos(2t)*5/18;b:cos(3t)/18 + cos(4t)/18;x:(.75 * sin(t)^3) * 1.2;y:(a - b + .2) * -1.1\n ",bean:"\n split:180;r:sin(t)^3 + cos(t)^3;move:-.35 .35;",bicorn:"\n split:180;x:cos(t);y:sin(t)^2 / (2 + sin(t)) - .5\n ",drop:"\n split:180;rotate:90;scale:.95;x:sin(t);y:(1 + sin(t)) * cos(t) / 1.6\n ",fish:"\n split:240;x:cos(t) - sin(t)^2 / sqrt(2) - .04;y:sin(2t)/2\n ",whale:"\n split:240;rotate:180;R:3.4 * (sin(t)^2 - .5) * cos(t);x:cos(t) * R + .75;y:sin(t) * R * 1.2\n ",windmill:"\n split:18;R:seq(.618, 1, 0);T:seq(t-.55, t, t);x:R * cos(T);y:R * sin(T)\n ",vase:"\n split:240;scale:.3;x:sin(4t) + sin(t) * 1.4;y:cos(t) + cos(t) * 4.8 + .3\n ",clover:(e=3)=>(4==(e=y(e,3,5))&&(e=2),`\n split:240;r:cos(${e}t);scale:.98\n`),hypocycloid:(e=3)=>`\n split:240;scale:${[.34,.25,.19][(e=y(e,3,5))-3]};k:${e};x:(k-1)*cos(t) + cos((k-1)*t);y:(k-1)*sin(t) - sin((k-1)*t)\n`,bud:(e=3)=>`\n split:240;scale:.8;r:1 + .2 * cos(${e=y(e,3,10)}t)\n`},Nt=class{constructor(e,t,n){this.x=e,this.y=t,this.extra=n}valueOf(){return this.x+" "+this.y}toString(){return this.valueOf()}};function Et(e,t){t||(t=e=>[$t(e),kt(e)]);let n,r,s=e.split||180,i=e.turn||1,l=e.frame,a=e.fill||e["fill-rule"],o=Je(e.direction||e.dir||""),u=e.unit,c=2*jt*i/s,h=[],p=void 0===e.scale?1:e.scale,f=([e,t,n=0,r=0])=>{if("evenodd"==e||"nonzero"==e)return h.push(new Nt(e,"",""));let[s,i]=Ct(e,-t,p),[l,a]=Ct(n,-r,p),c=function(e,t,n,r,s){let i=180*St(t+r,e-n)/jt;"reverse"===s.direction&&(i-=180);s.direction||(i=90);s.angle&&(i+=s.angle);return i}(s,i,l,a,o);void 0!==u&&"%"!==u?"none"!==u&&(s+=u,i+=u):(s=50*(s+1)+"%",i=50*(i+1)+"%"),h.push(new Nt(s,i,c))};"nonzero"!=a&&"evenodd"!=a||f([a,"",""]);for(let e=0;e<s;++e){let r=t(c*e,e);e||(n=r),f(r)}if(void 0!==l){f(n);let e=l/100;i>1&&(e*=2),0==e&&(e=.002);for(let n=0;n<s;++n){let s=-c*n,[i,l,a=0,o=0]=t(s,n),u=St(l+o,i-a),h=[i-e*$t(u),l-e*kt(u)];n||(r=h),f(h)}f(r),f(n)}return h}function Ct(e,t,n){let r=I(n),s=parseFloat(r[0])||1;return[e*s,t*(void 0!==r[1]?parseFloat(r[1])||1:s)]}function Tt(e,{min:t,max:n}){let r=y(parseInt(e.vertices||e.points||e.split)||0,t,n),s=k(e.x)?"cos(t)":e.x,i=k(e.y)?"sin(t)":e.y,l=k(e.r)?"":e.r,a=k(e.t)?"":e.t,{unit:o,value:u}=We(l);o&&!e[o]&&"t"!==o&&(k(e.unit)&&(e.unit=o),l=e.r=u),e.degree&&(e.rotate=e.degree),e.origin&&(e.move=e.origin),e.split=r;let c=e.rotate&&Number(e.rotate)||0,h=0,p=Object.assign({},e,{t:0,"\u03b8":0,i:0,seq:(...e)=>e.length?e[h%e.length]:"",range:(e,t=0)=>((e=Number(e)||0)>(t=Number(t)||0)&&([e,t]=[t,e]),e+wt(t-e)/(r-1)*h)});return Et(e,((t,n)=>{h=n,p.t=p["\u03b8"]=a||t,p.i=n+1;let r=_t(s,p),o=_t(i,p),u=0,f=0;if(l){let e=_t(l,p);0==e&&(e=1e-5),a&&(t=_t(a,p)),r=e*$t(t),o=e*kt(t)}return c&&([r,o]=function(e,t,n){let r=-jt/180*n;return[e*$t(r)-t*kt(r),t*$t(r)+e*kt(r)]}(r,o,c)),e.move&&([r,o,u,f]=function(e,t,n){let r=I(n),s=parseFloat(r[0])||0,i=void 0!==r[1]?parseFloat(r[1])||0:s;return[e+s,t-i,s,i]}(r,o,e.move)),[r,o,u,f]}))}function Rt(e,t={},n){let r=t.min||3,s=t.max||3600,i=e+"|"+r+"|"+s+(n?"|m":"");if(nt.has(i))return nt.get(i);let l="",[a,...o]=I(e),u=!1;switch(typeof At[a]){case"function":l=At[a](...o),u=!0;break;case"string":l=At[a],u=!0;break;default:l=e}let c=tt(l);"function"==typeof n&&(c=n(c));let h=Tt(c,{min:r,max:s});return nt.set(i,{rules:c,points:h,preset:u})}function Pt(e,t){let n=t.map((e=>j(e()))),r="",s=[];if(n.length>0){let e=n[0];if(/^-?[\d.]/.test(e)){let{angle:t}=Je(e);r=`gradientTransform:rotate(${t});`}else/^(rotate|translate|scale|skewX|skewY|matrix)\s*\(/.test(e)&&(r=`gradientTransform:${e};`);if(1==n.length&&e.indexOf(",")>-1){let t=I(e,{noSpace:!0});t.length>1&&(n=t)}}r&&(n=n.slice(1));for(let e of n)if("string"==typeof e){let[t,n,r]=I(e);if(!t)continue;s.push({color:t,offset:n,opacity:r})}let i=s.length;return`${e}{${r} ${s.map((({color:e,offset:t,opacity:n},r)=>{!t&&i>=1&&(t=(i>1?r/(i-1)*100:0)+"%");let s=`stop-color:${e}`;return n&&(s+=`;stop-opacity:${n}`),`stop{${t?`offset:${t};`:""} ${s}}`})).join(" ")}}`}var Mt=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];function zt(e,t,n){return t+e*(n-t)}function Ot(e,t,n,r){let s=15&e,i=s<8?t:n,l=s<4?n:12==s||14==s?t:r;return(1&s?-i:i)+(2&s?-l:l)}var It=class{constructor(e=Math.random){let t=function(e,t){let n=[...e],r=e.length;for(;r;){let e=~~(t()*r--),s=n[r];n[r]=n[e],n[e]=s}return n}(Mt,e);this.p=[].concat(t,t)}noise(e,t,n){let{p:r}=this,[s,i,l]=[e,t,n].map((e=>255&Math.floor(e)));[e,t,n]=[e,t,n].map((e=>e-Math.floor(e)));let[a,o,u]=[e,t,n].map((e=>e*e*e*(e*(6*e-15)+10))),c=r[s]+i,h=r[c]+l,p=r[c+1]+l,f=r[s+1]+i,d=r[f]+l,m=r[f+1]+l;return zt(u,zt(o,zt(a,Ot(r[h],e,t,n),Ot(r[d],e-1,t,n)),zt(a,Ot(r[p],e,t-1,n),Ot(r[m],e-1,t-1,n))),zt(o,zt(a,Ot(r[h+1],e,t,n-1),Ot(r[d+1],e-1,t,n-1)),zt(a,Ot(r[p+1],e,t-1,n-1),Ot(r[m+1],e-1,t-1,n-1))))}};function Lt(e){let t=864e5,n=`${e}-animation`;return{name:e,ticks:t,"animation-name":n,animation:(e="0s")=>`86400000ms steps(10368000) ${e} infinite ${n}`}}var Wt=Lt("cssd-utime"),Ut=Lt("cssd-UTime"),Dt="cssd-umousex",Ft="cssd-umousey",Bt="cssd-uwidth",Xt="cssd-uheight";function qt(e){return(...t)=>{let n=[],r=[];for(let e of t){let{unit:t,value:s}=We(e);void 0!==t&&n.push(t),void 0!==s&&r.push(s)}let s=e(...r),i=n.find((e=>void 0!==e));return void 0===i?s:Array.isArray(s)?s.map((e=>e+i)):s+i}}function Yt(e){return(...t)=>{let n=t.map((e=>String(e).charCodeAt(0))),r=e(...n);return Array.isArray(r)?r.map((e=>String.fromCharCode(e))):String.fromCharCode(r)}}function*Ht(e,t){let n=e.charCodeAt(0),r=t.charCodeAt(0),s=n<=r?1:-1,i=Math.abs(r-n)+1;for(let e=0;e<i;e++)yield String.fromCharCode(n+e*s)}function Vt(e){let t=String(e);if(91!==t.charCodeAt(0)||93!==t.charCodeAt(t.length-1))return[];let n=[],r="",s=!1;for(let e=1,i=t.length-1;e<i;++e){let i=t[e];if("-"!==i)s?(s=!1,r?(n.push([r,i]),r=""):n.push(i)):(r&&n.push(r),r=i);else{if(s)continue;s=!0}}return r&&n.push(r),s&&n.push("-"),n}function*Gt(e){for(let t=0,n=e.length;t<n;t++){let n=e[t];"string"==typeof n?yield n:yield*Ht(n[0],n[1])}}var Zt=rt("build_range",(e=>[...Gt(Vt(e))]));function Kt(e){return(...t)=>e(...t.flatMap((e=>String(e).startsWith("[")?Zt(e):e)))}var Jt=class{constructor(e){this.prev=this.next=null,this.data=e}},Qt=class{constructor(e=20){this._limit=e,this._size=0}push(e){this._size>=this._limit&&(this.root=this.root.next,this.root.prev=null);let t=new Jt(e);this.root?(t.prev=this.tail,this.tail.next=t,this.tail=t):this.root=this.tail=t,this._size++}last(e=1){let t=this.tail;for(;--e&&t.prev;)t=t.prev;return t.data}};function en(e,t){let n={},r=!0;for(let s=0;s<e.length;++s){let i=e[s],l=t[s];if(/=/.test(i)){let[e,s]=I(i,{symbol:"=",noSpace:!0});void 0!==s?(t.includes(e)&&(n[e]=s),r=!1):n[l]=i}else r&&(n[l]=i)}return n}var tn=1e-6;function nn(e,t,n,r){const s=3*e,i=3*(n-e)-s,l=1-s-i,a=3*t,o=3*(r-t)-a,u=1-a-o,c=(e,t,n,r)=>((e*r+t)*r+n)*r,h=(e,t,n,r)=>(3*e*r+2*t)*r+n;return e=>e<=0?0:e>=1?1:c(u,o,a,function(e){let t=e;for(let n=0;n<8;n++){const n=c(l,i,s,t)-e;if(Math.abs(n)<tn)return t;const r=h(l,i,s,t);if(Math.abs(r)<tn)break;t=Math.max(0,Math.min(1,t-n/r))}let n=0,r=1;for(let a=0;a<20;a++){t=(n+r)/2;const a=c(l,i,s,t);if(Math.abs(a-e)<tn)break;a<e?n=t:r=t}return t}(e))}var rn={ease:nn(.25,.1,.25,1),easeIn:nn(.42,0,1,1),easeOut:nn(0,0,.58,1),easeInOut:nn(.42,0,.58,1),linear:e=>e};function sn(e){if("function"==typeof e)return e;const t=String(e).trim(),n=rn[function(e){return e.trim().toLowerCase().replace(/[-\s]/g,"").replace(/(?<=ease|in|out)(in|out)/gi,(e=>e[0].toUpperCase()+e.slice(1)))}(t)];if(n)return n;const r=function(e){if(!/^cubic-bezier\s*\(/i.test(e))return null;const t=e.match(/-?[\d.]+/g)?.map(Number);return 4===t?.length&&t.every((e=>!isNaN(e)))?t:null}(t);return r?nn(...r):(s=t,e=>_t(s,{t:e}));var s}var ln=/^[\+\*\-\/%][\-\.\d\s]/,an=/[\+\*\-\/%]$/,on=/var\(/,un=/^calc\(/,cn=/^[a-zA-Z]/;function hn(e){return w(((t,n,...r)=>{if(!r||!n)return"";let s=j(n()),i=s;/\D/.test(s)&&!/\d+[x-]\d+/.test(s)&&(i=_t(s),0===i&&(i=s));let l=Math.random();return function(e,t){let[n,r=1]=String(e).split(/[x-]/),[s,i]=[Math.ceil(n),Math.ceil(r)];$(s)&&(s=1),$(i)&&(i=1),n=y(s,0,65536),r=y(i,0,65536);let l=n*r,a=[],o=1;if(/x/.test(e))for(let e=1;e<=r;++e)for(let s=1;s<=n;++s)a.push(t(o,s,e,l,n,r,o)),o++;else if(/-/.test(e))if(l=Math.abs(n-r)+1,n<=r)for(let e=n;e<=r;++e)a.push(t(e,e,1,l,l,1,o++));else for(let e=n;e>=r;--e)a.push(t(e,e,1,l,l,1,o++));else for(let e=1;e<=n;++e)a.push(t(e,e,1,n,n,1,o++));return a}(i,((...e)=>r.map((t=>j(t(...e,l)))).join(","))).join(e)}))}function pn(e,t,n){return e[t]||(e[t]=new Qt(1024)),e[t].push(n),n}function fn(e){return-1*e}function dn(e,t,n){switch(e){case"+":return t+n;case"-":return t-n;case"*":return t*n;case"/":return t/n;case"%":return t%n;default:return 0}}function mn(e,t){return[`calc(${e})`,t]}function gn(e,t){if(k(t)||k(e))return[];if(ln.test(t)){let n=t[0],{unit:r="",value:s}=We(t.slice(1).trim()||0);return on.test(e)?mn("%"===n?`mod(${e}, ${s})`:`${e} ${n} ${s}`,r):[dn(n,Number(e),Number(s)),r]}if(an.test(t)){let n=t.slice(-1),{unit:r="",value:s}=We(t.slice(0,-1).trim()||0);return on.test(e)?mn("%"===n?`mod(${s}, ${e})`:`${s} ${n} ${e}`,r):[dn(n,Number(s),Number(e)),r]}{let{unit:n="",value:r}=We(t||0);return[Number(e)+(Number(r)||0),n]}}function vn(e){let t="";return(...n)=>{for(let r of n){let[n,s]=gn(e,r);e=n,!t&&s&&(t=s)}return un.test(e)?`calc(${e} * 1${t})`:e+t}}function yn(e){return(t="",...n)=>{if(cn.test(t)){return vn(sn(t)(e))(...n)}let r=[].concat(t,n).filter((e=>""!==e));return vn(e)(...r)}}function bn(e){return({count:t,extra:n,grid:r})=>{let s=z(n);return(...n)=>{let i=n.join(","),[l=t,a,o,u=r.count]=s||[],{points:c,rules:h}=Rt(i,{min:1,max:65536,count:u},(t=>(delete t.fill,delete t["fill-rule"],delete t.frame,t.split||t.points?t.hasPoints=!0:t.points=u,e&&(t.unit=t.unit||"none"),t)));return h.hasPoints?c:c[l-1]}}}function xn(e){let t=e?1:2;return()=>(...e)=>{for(let n=e.length-t;n>=0;--n)e.push(e[n]);return e}}function _n(e,t,n=!1){return({context:r,extra:s,upextra:i,position:l,shuffle:a},o)=>{let u=z(o&&i.length?i:s),c=u?z(u):"",h=o?e.toUpperCase():e,p=l+c,f=`${h}-counter${p}`,d=`${h}-values${p}`;return Kt(((...e)=>{r[f]||(r[f]=0),r[f]+=1;let s=e;n&&(r[d]||(r[d]=a(e||[])),s=r[d]);let i=e.length,l=u&&u[6];l??=r[f];let o=t(s,(l-1)%i,i);return pn(r,"last_pick",o)}))}}var $n=b({i:({count:e})=>vn(e),y:({y:e})=>vn(e),x:({x:e})=>vn(e),z:({z:e})=>vn(e),I:({grid:e})=>vn(e.count),Y:({grid:e})=>vn(e.y),X:({grid:e})=>vn(e.x),Z:({grid:e})=>vn(e.z),iI:({count:e,grid:t})=>yn(e/t.count),Ii:({count:e,grid:t})=>yn((t.count-e+1)/t.count),xX:({x:e,grid:t})=>yn(e/t.x),Xx:({x:e,grid:t})=>yn((t.x-e+1)/t.x),yY:({y:e,grid:t})=>yn(e/t.y),Yy:({y:e,grid:t})=>yn((t.y-e+1)/t.y),id:({x:e,y:t,z:n})=>r=>S(e,t,n),dx:({x:e,grid:t})=>vn(e-.5-t.x/2),dy:({y:e,grid:t})=>vn(e-.5-t.y/2),n({extra:e}){let t=z(e);return t?vn(t[0]):"@n"},nx({extra:e}){let t=z(e);return t?vn(t[1]):"@nx"},ny({extra:e}){let t=z(e);return t?vn(t[2]):"@ny"},nd({extra:e}){let t=z(e);if(t){let e=t[0],n=t[3];return t=>(t=Number(t)||0,vn(e-.5-t-n/2))}return"@nd"},N({extra:e}){let t=z(e);return t?vn(t[3]):"@N"},nN({extra:e}){let t=z(e);return t?yn(t[0]/t[3]):"@nN"},Nn({extra:e}){let t=z(e);if(t){let e=t[0],n=t[3];return yn((n-e+1)/n)}return"@Nn"},m:hn(","),M:hn(" "),"\xb5":hn(""),match({extra:e,x:t,y:n,z:r,count:s,grid:i}){let[l,a,o,u]=z(e)||[],c={x:t,y:n,z:r,i:s,I:i.count,X:i.x,Y:i.y,Z:i.z};return _(l)||(c.n=l),_(a)||(c.nx=a),_(o)||(c.ny=o),_(u)||(c.N=u),(...e)=>{if(e.length<=1)return"";if(e.length<=3){let[t,n,r=""]=e;return!!_t(t,c)?n:r}for(let t=0;t<e.length;t+=2){let n=e[t],r=e[t+1];if(_(r))return n;if(_t(n,c))return r}}},p:({context:e,pick:t})=>Kt(((...n)=>{n.length||(n=e.last_pick_args||[]);let r=t(n);return e.last_pick_args=n,pn(e,"last_pick",r)})),P({context:e,pick:t,position:n}){let r="P-counter"+n;return Kt(((...n)=>{let s=!0;n.length||(n=e.last_pick_args||[],s=!1);let i=e.last_pick,l=i?i.last(1):"";if(s&&(e[r]||(e[r]={}),l=e[r].last_pick),n.length>1){let e=n.findIndex((e=>e===l));-1!==e&&n.splice(e,1)}let a=t(n);return e.last_pick_args=n,s&&(e[r].last_pick=a),pn(e,"last_pick",a)}))},pl:_n("pl",((e,t)=>e[t])),PL:e=>$n.pl(e,!0),pr:_n("pr",((e,t,n)=>e[n-t-1])),PR:e=>$n.pr(e,!0),pd:_n("pd",((e,t)=>e[t]),!0),PD:e=>$n.pd(e,!0),lp:({context:e})=>(t=1)=>{let n=e.last_pick;return n?n.last(t):""},r:({context:e,rand:t})=>(...n)=>{let r=(n.length&&n.every(x)?Yt:qt)(t)(...n);return pn(e,"last_rand",r)},ri:({context:e,rand:t})=>(...n)=>{let r=(n.every(x)?Yt:qt)(((...e)=>Math.round(t(...e))))(...n);return pn(e,"last_rand",r)},rn({x:e,y:t,context:n,position:r,grid:s,extra:i,random:l}){let a="noise-2d"+r,o=a+"offset-x",u=a+"offset-y",[c,h,p,f,d,m]=z(i)||[],g=c&&f;return(...r)=>{let{from:i=0,to:c=i,frequency:f=1,scale:v=1,octave:b=1}=en(r,["from","to","frequency","scale","octave"]);f=y(f,0,1/0),v=y(v,0,1/0),b=y(b,1,100),1==r.length&&([i,c]=[0,i]),n[a]||(n[a]=new It(l)),n[o]||(n[o]=l()),n[u]||(n[u]=l());let _=x(i)&&x(c)?Yt:qt,$=n[a],k=n[o],w=n[u],S=(g?(h-1)/d:(e-1)/s.x)+k,j=(g?(p-1)/m:(t-1)/s.y)+w;(d<=1||s.x<=1)&&(S=k+.5),(m<=1||s.y<=1)&&(j=w+.5),0==S&&0==j&&(S=k,j=w);let A=$.noise(S*f,j*f,0)*v;for(let e=1;e<b;++e){let t=2*e;A+=$.noise(S*f*t,j*f*t,0)*(v/t)}let N=_(((e,t)=>function(e,t,n,r=1){let s=Math.sqrt(.5)*r,i=(e+s)/(2*s);return i=y(i,0,1),T(i,t*r,n*r)}(A,e,t,v)));return pn(n,"last_rand",N(i,c))}},lr:({context:e})=>(t=1)=>{let n=e.last_rand;return n?n.last(t):""},stripe:()=>(...e)=>{let t,n=e.map(j).flat(),r=n.length,s=0,i=[];if(!r)return"";n.forEach((e=>{let[t,n]=I(e);void 0!==n?i.push(n):s+=1}));let l=i.length?`(100% - ${i.join(" - ")}) / ${s}`:`100% / ${r}`;return n.map(((e,n)=>{if(i.length){let[n,r]=I(e);return t=(t?t+" + ":"")+(void 0!==r?r:l),`${n} 0 calc(${t})`}return`${e} 0 ${100/r*(n+1)}%`})).join(",")},calc:()=>(e,t)=>_t(j(e),t),hex:()=>e=>parseInt(j(e)).toString(16),svg:w(((e,...t)=>{let n=t.map((e=>j(e()))).join(",");if(!n.startsWith("<")){n=Ge(K(n))}return Be(Xe(n))})),"svg-filter":w(((e,...t)=>{let n=t.map((e=>j(e()))),r=n.join(","),s=R("filter-");if(n.every((e=>/^[\-\d.]/.test(e)||/^(\w+)/.test(e)&&!/[{}<>]/.test(e)))){let{frequency:t,scale:s,octave:i,seed:l=e.seed,blur:a,erode:o,dilate:u}=en(n,["frequency","scale","octave","seed","blur","erode","dilate"]);if(r="\n x:-20%;y:-20%;width:140%;height:140%;",_(u)||(r+=`\n feMorphology{operator:dilate;radius:${u};}`),_(o)||(r+=`\n feMorphology{operator:erode;radius:${o};}`),_(a)||(r+=`\n feGaussianBlur{stdDeviation:${a};}`),!_(t)){let[e,n=e]=I(t);i=i?`numOctaves:${i};`:"",r+=`\n feTurbulence{type:fractalNoise;baseFrequency:${e} ${n};seed:${l};${i}}`,s&&(r+=`\n feDisplacementMap{in:SourceGraphic;scale:${s};}`)}}if(!r.startsWith("<")){r=Ge(K(r,{type:"block",name:"filter"}))}return Be(Xe(r).replace(/<filter([\s>])/,`<filter id="${s}"$1`),s)})),"svg-pattern":w(((e,...t)=>{let n=t.map((e=>j(e()))).join(",");return Be(Ge(K(`\n viewBox:0 0 1 1;preserveAspectRatio:xMidYMid slice;rect{width, height:100%;fill:defs pattern{${n}}}`)))})),"svg-polygon":w(((e,...t)=>{let n=t.map((e=>j(e()))).join(","),{rules:r,points:s}=Rt(n,{min:3,max:65536},(e=>(delete e.fram