{"ScriptPreparationCode":"const ptag=(u,G,F,a,J,w=\u0022_id\u0022,L=\u0022_def\u0022,A=\u0022_lvl\u0022,Y=\u0022PTAG_\u0022,K=\u0022_FORCE\u0022,U={},x=()=\u003E{},B=(I,E=\u0022s\u0022)=\u003E(typeof I)[0]==E,C=B(globalThis,\u0022o\u0022)?globalThis:U,i=([I,E,m],T)=\u003E[E??C[Y\u002BI]??m,C[Y\u002BI\u002BK]].map((O)=\u003ET\u003E3?B(O)?JSON.parse(O):O:O),[[Q,n],[V,X],[f,c],[v,k]]=[[\u0022ID\u0022,u,\u0022{}\u0022],[\u0022LVL\u0022,G,5],[\u0022PLG\u0022,a],[\u0022DEF\u0022,null,U]].map(i),H={debug:[5,\u0022\u003E\u0022,\u0022#89A\u0022],log:[4,\u0022\u003E\u0022,\u0022#2AE\u0022],info:[4,\u0022i\u0022,\u0022#1AA\u0022],check:[3,\u0022?\u0022,\u0022#D6D\u0022],warn:[2,\u0022!\u0022,\u0022#F77\u0022],error:[1,\u0022X\u0022,\u0022#F36\u0022],_dl:[\u0022[\u0022,\u0022]\u0022,\u0022|\u0022],_css:[\u0022color:#0000;margin:-1px 0 -1px -1ch;padding:1px;\u0022,\u0022border-radius:2px;background:^^^;color:^^;\u0022,\u0022color:^;\u0022,\u0022border-right:2px solid ^;\u0022,\u0022color:^;font-weight:900;font-family:Menlo,Consolas,monospace;margin:-1px 0;padding:1px 3px;\u0022],...v,...F??U,...k??U},M=(I,E=H)=\u003E({...E,...I??H}),N=console)=\u003Enew Proxy({[w]:Q,[L]:M(),[A]:V},{get:(I,E)=\u003E{let m=I[L]??H,T=m[E];X=C[Y\u002B\u0022LVL\u0022\u002BK];let O=~~(X??I[A]),Z=E==A||E==w||E==L?I[E]:O\u0026\u0026(O==-1||!T\u0026\u0026(E in N))?N[E]??N.log:!O||T?.[0]\u003EO?x:null;if(!Z\u0026\u0026((I[E]??x)===x||0\u003EJ)){I[L]=T?m:M({[E]:[5,E,\u0022#a58\u0022]},m),T=I[L][E];let D=(n??I[w]??\u0022\u0022).replace(\u0022{}\u0022,E),$=c??f,[_,b,S,P,r,W,q]=$?$(T,E,D,I):T;if(_!==T[0]){if(B(_,\u0022f\u0022))return _;D=B(_)?_:D}q=k?._dl??q??m._dl,W=k?._css??W??m._css;let h=J??(\u0022NO_COLOR\u0022in C||!(P??m._fg!=\u0022\u0022)?0:3),[t,g,d]=q.map((R)=\u003Eh?\u0060%c${R}%c\u0060:R),[z,s,l,p,o]=W;I[E]=(N[r??E]??N.log).bind(N,t\u002B(E==b?\u0022*\u0022:b)\u002Bg\u002BD\u002Bd,...h?[z,s,z,l,z\u002Bp,\u0022\u0022].map((R)=\u003ER?((o??\u0022\u0022)\u002BR).replace(/\\^\u002B/g,(j)=\u003E(j==\u0022^\u0022?P??S:j==\u0022^^\u0022?P??m._fg:S)??\u0022#000c\u0022):R):[])}return Z||I[E]},set:(I,E,m)=\u003E{I[E]=E==A?m??V:E==w?m??Q:M(m,I[L]);for(let T in I[L])I[T]=x;return!0}});\r\nconst ptagi=(u,G,F,a,J,w=\u0022_id\u0022,L=\u0022_def\u0022,A=\u0022_lvl\u0022,Y=\u0022PTAG_\u0022,K=\u0022_FORCE\u0022,U={},x=()=\u003E{},B=(I,E=\u0022s\u0022)=\u003E(typeof I)[0]==E,C=B(globalThis,\u0022o\u0022)?globalThis:U,i=([I,E,m],T)=\u003E[E??C[Y\u002BI]??m,C[Y\u002BI\u002BK]].map((O)=\u003ET\u003E3?B(O)?JSON.parse(O):O:O),[[Q,n],[V,X],[f,c],[v,k]]=[[\u0022ID\u0022,u,\u0022{}\u0022],[\u0022LVL\u0022,G,5],[\u0022PLG\u0022,a],[\u0022DEF\u0022,null,U]].map(i),H={debug:[5,\u0022\u003E\u0022,\u0022#89A\u0022],log:[4,\u0022\u003E\u0022,\u0022#2AE\u0022],info:[4,\u0022i\u0022,\u0022#1AA\u0022],check:[3,\u0022?\u0022,\u0022#D6D\u0022],warn:[2,\u0022!\u0022,\u0022#F77\u0022],error:[1,\u0022X\u0022,\u0022#F36\u0022],_dl:[\u0022[\u0022,\u0022]\u0022,\u0022|\u0022],_css:[\u0022color:#0000;margin:-1px 0 -1px -1ch;padding:1px;\u0022,\u0022border-radius:2px;color:#282828;color:light-dark(#FFF, #282828);background:^^^;background:light-dark(oklch(from ^^^ calc(l - .018) c h), ^^^);\u0022,\u0022color:^;color:light-dark(oklch(from ^ calc(l - .08) c h), oklch(from ^ calc(l \u002B .05) c h));\u0022,\u0022border-right:2px solid ^;border-right-color:light-dark(oklch(from ^ calc(l - .018) c h), ^);\u0022,\u0022color:^;font-weight:900;font-family:Menlo,Consolas,monospace;margin:-1px 0;padding:1px 3px;\u0022],...v,...F??U,...k??U},M=(I,E=H)=\u003E({...E,...I??H}),N=console)=\u003Enew Proxy({[w]:Q,[L]:M(),[A]:V},{get:(I,E)=\u003E{let m=I[L]??H,T=m[E];X=C[Y\u002B\u0022LVL\u0022\u002BK];let O=~~(X??I[A]),Z=E==A||E==w||E==L?I[E]:O\u0026\u0026(O==-1||!T\u0026\u0026(E in N))?N[E]??N.log:!O||T?.[0]\u003EO?x:null;if(!Z\u0026\u0026((I[E]??x)===x||0\u003EJ)){I[L]=T?m:M({[E]:[5,E,\u0022#a58\u0022]},m),T=I[L][E];let D=(n??I[w]??\u0022\u0022).replace(\u0022{}\u0022,E),$=c??f,[_,b,S,P,r,W,q]=$?$(T,E,D,I):T;if(_!==T[0]){if(B(_,\u0022f\u0022))return _;D=B(_)?_:D}q=k?._dl??q??m._dl,W=k?._css??W??m._css;let j=J??(\u0022NO_COLOR\u0022in C||!(P??m._fg!=\u0022\u0022)?0:3),[t,g,d]=q.map((R)=\u003Ej?\u0060%c${R}%c\u0060:R),[z,s,l,p,o]=W;I[E]=(N[r??E]??N.log).bind(N,t\u002B(E==b?\u0022*\u0022:b)\u002Bg\u002BD\u002Bd,...j?[z,s,z,l,z\u002Bp,\u0022\u0022].map((R)=\u003ER?((o??\u0022\u0022)\u002BR).replace(/\\^\u002B/g,(h)=\u003E(h==\u0022^\u0022?P??S:h==\u0022^^\u0022?P??m._fg:S)??\u0022#000c\u0022):R):[])}return Z||I[E]},set:(I,E,m)=\u003E{I[E]=E==A?m??V:E==w?m??Q:M(m,I[L]);for(let T in I[L])I[T]=x;return!0}});\r\nconst ctag=(u,G,F,a,J,w=\u0022_id\u0022,L=\u0022_def\u0022,A=\u0022_lvl\u0022,Y=\u0022PTAG_\u0022,K=\u0022_FORCE\u0022,U={},x=()=\u003E{},B=(I,E=\u0022s\u0022)=\u003E(typeof I)[0]==E,C=B(globalThis,\u0022o\u0022)?globalThis:U,c=([I,E,m],T)=\u003E[E??C[Y\u002BI]??m,C[Y\u002BI\u002BK]].map((O)=\u003ET\u003E3?B(O)?JSON.parse(O):O:O),[[Q,i],[V,X],[n,f],[v,k]]=[[\u0022ID\u0022,u,\u0022{}\u0022],[\u0022LVL\u0022,G,5],[\u0022PLG\u0022,a],[\u0022DEF\u0022,null,U]].map(c),H={debug:[5,\u0022\u003E\u0022,\u0022#89A\u0022],log:[4,\u0022\u003E\u0022,\u0022#2AE\u0022],info:[4,\u0022i\u0022,\u0022#1AA\u0022],check:[3,\u0022?\u0022,\u0022#D6D\u0022],warn:[2,\u0022!\u0022,\u0022#F77\u0022],error:[1,\u0022X\u0022,\u0022#F36\u0022],_dl:[\u0022\u0022,\u0022:\u0022,\u0022:\u0022],_css:[\u0022 \u0022,\u0022 \u0022,\u0022 \u0022,\u0022 \u0022,\u0022color:^;font-weight:900;font-family:Menlo,Consolas,monospace;\u0022],...v,...F??U,...k??U},M=(I,E=H)=\u003E({...E,...I??H}),N=console)=\u003Enew Proxy({[w]:Q,[L]:M(),[A]:V},{get:(I,E)=\u003E{let m=I[L]??H,T=m[E];X=C[Y\u002B\u0022LVL\u0022\u002BK];let O=~~(X??I[A]),Z=E==A||E==w||E==L?I[E]:O\u0026\u0026(O==-1||!T\u0026\u0026(E in N))?N[E]??N.log:!O||T?.[0]\u003EO?x:null;if(!Z\u0026\u0026((I[E]??x)===x||0\u003EJ)){I[L]=T?m:M({[E]:[5,E,\u0022#a58\u0022]},m),T=I[L][E];let D=(i??I[w]??\u0022\u0022).replace(\u0022{}\u0022,E),$=f??n,[_,b,S,P,r,W,q]=$?$(T,E,D,I):T;if(_!==T[0]){if(B(_,\u0022f\u0022))return _;D=B(_)?_:D}q=k?._dl??q??m._dl,W=k?._css??W??m._css;let h=J??(\u0022NO_COLOR\u0022in C||!(P??m._fg!=\u0022\u0022)?0:3),[t,g,d]=q.map((R)=\u003Eh?\u0060%c${R}%c\u0060:R),[z,s,l,p,o]=W;I[E]=(N[r??E]??N.log).bind(N,t\u002B(E==b?\u0022*\u0022:b)\u002Bg\u002BD\u002Bd,...h?[z,s,z,l,z\u002Bp,\u0022\u0022].map((R)=\u003ER?((o??\u0022\u0022)\u002BR).replace(/\\^\u002B/g,(j)=\u003E(j==\u0022^\u0022?P??S:j==\u0022^^\u0022?P??m._fg:S)??\u0022#000c\u0022):R):[])}return Z||I[E]},set:(I,E,m)=\u003E{I[E]=E==A?m??V:E==w?m??Q:M(m,I[L]);for(let T in I[L])I[T]=x;return!0}});\r\nconst slim=(M,I,N,V,E,R=\u0027_id\u0027,z=\u0027_def\u0027,F=\u0027_lvl\u0027,S=N??{},y=[3,\u0027?\u0027,\u0027#D6D\u0027],J={debug:[5,\u0027\u003E\u0027,\u0027#89A\u0027],log:[4,\u0027\u003E\u0027,\u0027#2AE\u0027],info:[4,\u0027i\u0027,\u0027#1AA\u0027],check:y,warn:[2,\u0027!\u0027,\u0027#F77\u0027],error:[1,\u0027X\u0027,\u0027#F36\u0027],_fg:S._fg??\u0027#fff\u0027,_dl:S._dl??[\u0027\u0027,\u0027:\u0027,\u0027:\u0027],_css:S._css??[\u0027 \u0027,\u0027 \u0027,\u0027 \u0027,\u0027 \u0027,\u0027color:^;\u0027]},K=(q,j=J)=\u003E({...j,...q??J}),G=()=\u003E{},B=console)=\u003Enew Proxy({[R]:M??\u0027{}\u0027,[z]:K(),[F]:I??5},{get:(q,j)=\u003E{let f=q[z]??J,g=f[j],l=~~q[F],e=j==F||j==R||j==z?q[j]:l\u0026\u0026(-1==l||!g\u0026\u0026j in B)?B[j]??B.log:!l||g?.[0]\u003El?G:null;if(!e\u0026\u0026(q[j]??G)===G){q[z]=g?f:K({[j]:y},f);let[,l,e,c,o]=q[z][j],[_,n,s]=f._dl.map(D=\u003E\u0060%c${D}%c\u0060);q[j]=(B[o??j]??B.log).bind(B,_\u002Bl\u002Bn\u002Bq[R]?.replace(\u0027{}\u0027,j)\u002Bs,...f._css.concat(\u0027\u0027).map(D=\u003ED\u0026\u0026((f._css[4]??\u0027\u0027)\u002BD).replace(/\\^\u002B/g,r=\u003E\u0027^\u0027==r?c??e:\u0027^^\u0027==r?c??f._fg:e)))}return e||q[j]},set:(q,j,w)=\u003E{q[j]=j==F?w??I:j==R?w??M:K(w,q[z]);for(let j in q[z])q[j]=G;return!0}});\r\n","TestCases":[{"Name":"ptag","Code":"const tag = ptag();","IsDeferred":false},{"Name":"ptag (ansi ver.)","Code":"const tagi = ptagi();","IsDeferred":false},{"Name":"ctag (colon preset - simple text style)","Code":"const cag = ctag();","IsDeferred":false},{"Name":"stag (slim ver.)","Code":"const sag = slim();","IsDeferred":false},{"Name":"ptag with custom id","Code":"const tag = ptag(\u0027perf-it:{}\u0027);","IsDeferred":false},{"Name":"ptag with all params (custom id, logLevel, style, plugin, colorSpace)","Code":"const tag = ptag(\u0027{}:perfin\u0027, 5, {\r\n success: [4, \u0027aok\u0027, \u0027#0A0\u0027, \u0027#FFF\u0027],\r\n fail: [2, \u0027xxx\u0027, \u0027#F00\u0027, \u0027#FFF\u0027, \u0027error\u0027],\r\n warn: [2, \u0027WARN!NG\u0027, \u0027#FF0\u0027, \u0027#F00\u0027],\r\n yolo: [2, \u0027YOLO\u0027, \u0027#FF0\u0027],\r\n polo: [5, \u0027POLO\u0027, \u0027#FF0FF\u0027],\r\n jolo: [5, \u0027JOLO\u0027, \u0027#000\u0027],\r\n _dl: [\u0027|\u0027, \u0027|\u0027, \u0027|\u0027],\r\n _fg: \u0027#FF0\u0027,\r\n _css: [\r\n \u0027 \u0027, // all-delimiters\r\n \u0027 \u0027, // tag\r\n \u0027color:^;\u0027, // text\r\n \u0027 \u0027, // end delimiter\r\n \u0027color:^^^;background:rgba(0,0,0,0.0);font-weight:900;\u0027, // all\r\n ],\r\n}, def =\u003E {\r\n const nxt = [...def];\r\n nxt[6] = [\u0060[PLUG_ME_IN][\u0060, \u0027][\u0027, \u0027]\u0027];\r\n return nxt;\r\n}, 3);","IsDeferred":false}]}