@netnodeag/kraftwerk 0.78.0 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/remote.js +1 -1
- package/dist/server/api/workspace.js +6 -4
- package/dist/server/relay.d.ts +7 -1
- package/dist/server/relay.js +13 -4
- package/package.json +2 -2
- package/web/dist/assets/{dist-C90kUzps.js → dist-A0LN_JdM.js} +1 -1
- package/web/dist/assets/dist-B04mMuvH.js +1 -0
- package/web/dist/assets/{dist-B-yVL5lk.js → dist-BTD8k55t.js} +1 -1
- package/web/dist/assets/{dist-D0rjnN8S.js → dist-BasQkRXA.js} +1 -1
- package/web/dist/assets/{dist-CpLdAqFQ.js → dist-D93lSM0a.js} +1 -1
- package/web/dist/assets/{dist-DQbifCX0.js → dist-DdOsafun.js} +1 -1
- package/web/dist/assets/{dist-B9EMB1Ie.js → dist-DgP31lcC.js} +1 -1
- package/web/dist/assets/{dist-DHRhdODt.js → dist-E48sO9Gc.js} +1 -1
- package/web/dist/assets/{dist-Crnb8VVO.js → dist-cNijUfNl.js} +1 -1
- package/web/dist/assets/{dist-D4SDXoGw.js → dist-wtIUmbnn.js} +1 -1
- package/web/dist/assets/{dist-BTc878j7.js → dist-xLZN2eGO.js} +1 -1
- package/web/dist/assets/{editor-DHAdW1g_.js → editor-BQlHN7qT.js} +3 -3
- package/web/dist/assets/{index-D7JVAjll.js → index-C7ddpWNC.js} +3 -3
- package/web/dist/index.html +1 -1
- package/web/dist-remote/assets/index-D6Wznb5o.js +27 -0
- package/web/dist-remote/index.html +2 -2
- package/web/dist-remote/sw.js +1 -1
- package/web/dist/assets/dist-lSJ-O7kT.js +0 -1
- package/web/dist-remote/assets/index-2nAI1HTV.js +0 -13
package/dist/cli/remote.js
CHANGED
|
@@ -49,7 +49,7 @@ export function registerRemoteCommand(program) {
|
|
|
49
49
|
remote
|
|
50
50
|
.command("on")
|
|
51
51
|
.description("Turn remote access on: the daemon connects to the relay")
|
|
52
|
-
.option("--url <url>", "The cloud whose relay to use (default: the kraftwerk cloud)")
|
|
52
|
+
.option("--url <url>", "The cloud whose relay to use (default: this machine's cloud — env, cloud.json, else the kraftwerk cloud)")
|
|
53
53
|
.action(async (opts) => {
|
|
54
54
|
if (opts.url && !/^https?:\/\//.test(opts.url)) {
|
|
55
55
|
console.error(chalk.red("✖ --url is the cloud's address, e.g. https://srv.kraftwerk-cloud.netnode.cloud"));
|
|
@@ -63,8 +63,10 @@ export const workspaceRoutes = [
|
|
|
63
63
|
const ws = await resolveWorkspace(workspaceRoot()).catch(() => null);
|
|
64
64
|
const name = ws?.config.name ?? (ws ? path.basename(ws.root) : "");
|
|
65
65
|
const root = ws?.root ?? workspaceRoot();
|
|
66
|
-
|
|
67
|
-
const
|
|
66
|
+
// A member sees their workspace, not the host machine: no local paths, no other workspaces.
|
|
67
|
+
const member = c.trust.kind === "member";
|
|
68
|
+
const manual = member ? [] : (ws?.config.switcher ?? []);
|
|
69
|
+
const discovered = member || c.query.get("probe") === "1" ? [] : placeInHub(await discoverWorkspaces());
|
|
68
70
|
// Manual switcher entries keep their configured name/icon; discovered
|
|
69
71
|
// workspaces that duplicate one (same url, running) only contribute
|
|
70
72
|
// the live flag. Stopped workspaces never collide — they carry a root,
|
|
@@ -82,8 +84,8 @@ export const workspaceRoutes = [
|
|
|
82
84
|
workspaceIcon: ws?.config.icon ?? "",
|
|
83
85
|
workspaceColor: ws?.config.color ?? "",
|
|
84
86
|
workspaceNamed: !!ws?.config.name,
|
|
85
|
-
workspaceRoot: root,
|
|
86
|
-
workspaceRootLabel: tildify(root),
|
|
87
|
+
workspaceRoot: member ? "" : root,
|
|
88
|
+
workspaceRootLabel: member ? "" : tildify(root),
|
|
87
89
|
};
|
|
88
90
|
return {
|
|
89
91
|
version: await getPkgVersion(),
|
package/dist/server/relay.d.ts
CHANGED
|
@@ -49,7 +49,13 @@ export interface RelayStatus {
|
|
|
49
49
|
since?: string;
|
|
50
50
|
}
|
|
51
51
|
export declare function readRelaySettings(): Promise<RelaySettings | null>;
|
|
52
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* Turn the relay on or off (creating the machine's key on first use).
|
|
54
|
+
* `url` switches relays explicitly and sticks across off/on. Without it,
|
|
55
|
+
* turning ON re-derives the URL only while the stored one is the untouched
|
|
56
|
+
* default — a machine whose cloud is elsewhere (env, cloud.json) then
|
|
57
|
+
* relays through that cloud, while an explicit `--url` choice is kept.
|
|
58
|
+
*/
|
|
53
59
|
export declare function setRelay(enabled: boolean, url?: string): Promise<RelaySettings>;
|
|
54
60
|
/**
|
|
55
61
|
* The machine's key pair and secret, created (with the relay staying off)
|
package/dist/server/relay.js
CHANGED
|
@@ -5,6 +5,7 @@ import os from "node:os";
|
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { daemonHandshake, exportKeyPair, generateKeyPair, importKeyPair, relayId, toBase64, fromBase64, fromBase64Url, } from "../client/relay.js";
|
|
7
7
|
import { CLOUD_DEFAULT_URL } from "../config.js";
|
|
8
|
+
import { machineCloud } from "../core/cloud.js";
|
|
8
9
|
import { dropPushToken } from "../core/devices.js";
|
|
9
10
|
import { checkMemberSession, closeMemberSession, MEMBER_HEADER, openMemberSession } from "./members.js";
|
|
10
11
|
const settingsFile = () => path.join(os.homedir(), ".kraftwerk", "relay.json");
|
|
@@ -26,14 +27,22 @@ async function writeRelaySettings(s) {
|
|
|
26
27
|
await fs.writeFile(tmp, JSON.stringify(s, null, 2), { mode: 0o600 });
|
|
27
28
|
await fs.rename(tmp, file);
|
|
28
29
|
}
|
|
29
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Turn the relay on or off (creating the machine's key on first use).
|
|
32
|
+
* `url` switches relays explicitly and sticks across off/on. Without it,
|
|
33
|
+
* turning ON re-derives the URL only while the stored one is the untouched
|
|
34
|
+
* default — a machine whose cloud is elsewhere (env, cloud.json) then
|
|
35
|
+
* relays through that cloud, while an explicit `--url` choice is kept.
|
|
36
|
+
*/
|
|
30
37
|
export async function setRelay(enabled, url) {
|
|
31
38
|
let s = await readRelaySettings();
|
|
39
|
+
const follow = !url && enabled && (!s || s.url === CLOUD_DEFAULT_URL);
|
|
40
|
+
const effective = url ?? (follow ? (await machineCloud()).url : undefined);
|
|
32
41
|
if (!s) {
|
|
33
42
|
const pair = await exportKeyPair(await generateKeyPair());
|
|
34
|
-
s = { enabled, url:
|
|
43
|
+
s = { enabled, url: effective || CLOUD_DEFAULT_URL, ...pair, secret: randomBytes(32).toString("base64url") };
|
|
35
44
|
}
|
|
36
|
-
s = { ...s, enabled, ...(
|
|
45
|
+
s = { ...s, enabled, ...(effective ? { url: effective.replace(/\/+$/, "") } : {}) };
|
|
37
46
|
await writeRelaySettings(s);
|
|
38
47
|
return s;
|
|
39
48
|
}
|
|
@@ -56,7 +65,7 @@ export async function ensureRelayKeys() {
|
|
|
56
65
|
throw err;
|
|
57
66
|
}
|
|
58
67
|
const pair = await exportKeyPair(await generateKeyPair());
|
|
59
|
-
const fresh = { enabled: false, url:
|
|
68
|
+
const fresh = { enabled: false, url: (await machineCloud()).url, ...pair, secret: randomBytes(32).toString("base64url") };
|
|
60
69
|
await writeRelaySettings(fresh);
|
|
61
70
|
return fresh;
|
|
62
71
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netnodeag/kraftwerk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Open-source agentic workspace for teams
|
|
3
|
+
"version": "0.79.0",
|
|
4
|
+
"description": "Open-source agentic workspace for teams \u2014 where people and AI agents get work done together: agents (Claude Code, Codex, Pi), skills, shared knowledge, repeatable workflows, and deterministic verification",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agents",
|
|
7
7
|
"workflow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,D as t,F as n,L as r,R as i,Ut as a,V as o,n as s,r as c,s as l,u,v as d,vt as f}from"./dist-CYzOYk_e.js";import{n as p}from"./dist-Crnb8VVO.js";var m=1,h=2,g=3,_=183,v=4,y=184,b=5,x=185,S=6;function C(e){return e>=65&&e<=90||e>=97&&e<=122}var w=new s(e=>{let t=e.pos;for(;;){let{next:n}=e;if(n<0)break;if(n==123){let n=e.peek(1);if(n==123){if(e.pos>t)break;e.acceptToken(m,2);return}if(n==37){if(e.pos>t)break;let n=2,r=2;for(;;){let t=e.peek(n);if(t==32||t==10)++n;else if(t==35)for(++n;;){let t=e.peek(n);if(t<0||t==10)break;n++}else if(t==45&&r==2)r=++n;else{let i=t==101&&e.peek(n+1)==110&&e.peek(n+2)==100;e.acceptToken(i?g:h,r);return}}}}if(e.advance(),n==10)break}e.pos>t&&e.acceptToken(_)});function T(e,t,n){return new s(r=>{let i=r.pos;for(;;){let{next:t}=r;if(t==123&&r.peek(1)==37){let t=2;for(;;t++){let e=r.peek(t);if(e!=32&&e!=10)break}let a=``;for(;;t++){let e=r.peek(t);if(!C(e))break;a+=String.fromCharCode(e)}if(a==e){if(r.pos>i)break;r.acceptToken(n,2);break}}else if(t<0)break;if(r.advance(),t==10)break}r.pos>i&&r.acceptToken(t)})}var E=T(`endcomment`,x,b),D=T(`endraw`,y,v),O=new s(e=>{if(e.next==35){for(e.advance();!(e.next==10||e.next<0||(e.next==37||e.next==125)&&e.peek(1)==125);)e.advance();e.acceptToken(S)}}),k={__proto__:null,contains:34,or:38,and:38,true:52,false:52,empty:54,forloop:57,tablerowloop:59,continue:61,in:135,with:199,for:201,as:203,if:239,endif:243,unless:249,endunless:253,elsif:257,else:261,case:267,endcase:271,when:275,endfor:283,tablerow:289,endtablerow:293,break:297,cycle:303,echo:307,render:311,include:315,assign:319,capture:325,endcapture:329,increment:333,decrement:337},A={__proto__:null,if:90,endif:94,elsif:98,else:102,unless:108,endunless:112,case:118,endcase:122,when:126,for:132,endfor:140,tablerow:146,endtablerow:150,break:154,continue:158,cycle:162,comment:168,endcomment:174,raw:180,endraw:186,echo:190,render:194,include:206,assign:210,capture:216,endcapture:220,increment:224,decrement:228,liquid:232},j=c.deserialize({version:14,states:"MfQYOPOOOOOP'#F}'#F}OhOaO'#CdOyQhO'#CfO!hQxO'#DUO$ROPO'#DXO$aOPO'#DbO$oOPO'#DgO$}OPO'#DnO%]OPO'#DuO%kOSO'#EQO%pOQO'#EWO%uOPO'#EjO&TQxO'#F{OOOP'#Gj'#GjOOOP'#G`'#G`OOOP'#F|'#F|QYOPOOOOOP-E9{-E9{OOQW'#Cg'#CgO&nQ!jO,59QO&uQ!jO'#GaOyQhO'#CtOOQW'#Ge'#GeOOQW'#Gf'#GfOOQW'#Gg'#GgOOQW'#Ga'#GaOOOP,59p,59pO*SQhO,59pOyQhO,59tOyQhO,59xO*^QhO,59zOyQhO,59}OyQhO,5:SOyQhO,5:WO!cQhO,5:ZO!cQhO,5:bO*cQhO,5:fO*hQhO,5:hO*mQhO,5:jO*rQhO,5:mO*wQhO,5:sOyQhO,5:xOyQhO,5:zOyQhO,5;QOyQhO,5;SOyQhO,5;VOyQhO,5;ZOyQhO,5;]O,WQhO,5;_O,_OPO'#CdOOOP,59s,59sO$ROPO,59sO,mQxO'#F{OOOP,59|,59|O$aOPO,59|O,uQxO'#F{OOOP,5:R,5:RO$oOPO,5:RO,}QxO'#F{OOOP,5:Y,5:YO$}OPO,5:YO-VQxO'#F{OOOP,5:a,5:aO%]OPO,5:aO-_QxO'#F{OOOS'#GT'#GTO-gOSO'#ETO-oOSO,5:lOOOQ'#GU'#GUO-tOQO'#EZO-|OQO,5:rOOOP,5;U,5;UO%uOPO,5;UO.RQxO'#F{O.ZQhO,5<gOOOP-E9z-E9zO.`Q#|O,59SOyQhO,59VOyQhO,59WOyQhO,59WO.eQhO'#C}OOQW'#GO'#GOO.jQhO1G.lOOOP1G.l1G.lOyQhO,59WOyQhO,59[O/TQ!jO,59`O/[Q!jO'#CgO1kQ!jO'#GiO3gQhO'#DROOQW'#Gi'#GiO3lQhO'#GhO5fQhO1G/[OOOP1G/[1G/[O5fQhO1G/[O5nQ!jO1G/`O5uQ!jO1G/dOOOP1G/f1G/fO5|Q!jO1G/iO6TQ!jO1G/nO6[Q!jO1G/rO6fQhO1G/uO6fQhO1G/|OOOP1G0Q1G0QOOOP1G0S1G0SO6kQhO1G0UOOOS1G0X1G0XOOOQ1G0_1G0_O6vQ!jO1G0dO6}Q!jO1G0fO7_Q!jO1G0lO7fQ!jO1G0nO7mQ!jO1G0qO7tQ!jO1G0uO7{Q!jO1G0wOOQW'#Gm'#GmOOQW'#Gp'#GpOyQhO'#EvO8SQhO'#EuOOQW'#Gr'#GrOyQhO'#E{O8ZQhO'#EzOOQW'#Gt'#GtOyQhO'#FPOOQW'#Gu'#GuOOQW'#FR'#FROOQW'#Gv'#GvOyQhO'#FUO8bQhO'#FTOOQW'#Gx'#GxOyQhO'#FYO!cQhO'#F]O8iQhO'#F[OOQW'#Gz'#GzO!cQhO'#FaO8pQhO'#F`OOQW'#G|'#G|OOQW'#Fe'#FeOOQW'#Fg'#FgOOQW'#G}'#G}O8wQhO'#FhOOQW'#HO'#HOOyQhO'#FjOOQW'#HP'#HPOyQhO'#FlOOQW'#HQ'#HQOyQhO'#FnOOQW'#HR'#HROyQhO'#FpOOQW'#HS'#HSOyQhO'#FsO8|QhO'#FrOOQW'#HU'#HUOyQhO'#FwOOQW'#HV'#HVOyQhO'#FyOOQW'#Go'#GoOOQW'#GW'#GWO9TQhO1G0yOOOP1G0y1G0yOOOP1G/_1G/_O9[QhO,59vOOOP1G/h1G/hO9aQhO,5:POOOP1G/m1G/mO9fQhO,5:UOOOP1G/t1G/tO9kQhO,5:_OOOP1G/{1G/{O9pQhO,5:dOOOS-E:R-E:ROOOP1G0W1G0WO9uQxO'#EUOOOQ-E:S-E:SOOOP1G0^1G0^O9zQxO'#E[OOOP1G0p1G0pO:PQhO,5;XOOOP1G2R1G2ROOQW1G.n1G.nO:UQ!jO1G.qO<uQ!jO1G.rO<|Q!jO1G.rOOQW'#DP'#DPO?[QhO,59iOOQW-E9|-E9|OOOP7+$W7+$WOAUQ!jO1G.rOA]Q!jO1G.vOyQhO1G.zOyQhO,59mO)eQhO'#GPOCkQhO,5=SOOOP7+$v7+$vOEeQhO7+$vOOOP7+$z7+$zOOOP7+%O7+%OOOOP7+%T7+%TOOOP7+%Y7+%YOyQhO'#GQOEmQhO7+%^OOOP7+%^7+%^OOQW'#Gk'#GkOyQhO7+%aOyQhO7+%hOEuQhO'#GSOEzQhO7+%pOOOP7+%p7+%pOFSQhO7+%pOFXQhO7+&OOOOP7+&O7+&OOOQW'#Gl'#GlO!cQhO'#EbOyQhO'#EbOOQW'#GV'#GVOFaQhO7+&QOOOP7+&Q7+&QOOOP7+&W7+&WOFoQhO7+&YOOOP7+&Y7+&YOOOP7+&]7+&]OOOP7+&a7+&aOOOP7+&c7+&cOFwQ!jO,5;bOOQW'#Gq'#GqOOQW'#Ex'#ExOOQW,5;a,5;aO8SQhO,5;aOHWQ!jO,5;gOOQW'#Gs'#GsOOQW'#E}'#E}OOQW,5;f,5;fO8ZQhO,5;fOIgQ!jO,5;kOKYQ!jO,5;pOOQW'#Gw'#GwOOQW'#FW'#FWOOQW,5;o,5;oO8bQhO,5;oOLiQ!jO,5;tO6fQhO,5;wOOQW'#Gy'#GyOOQW'#F^'#F^OOQW,5;v,5;vO8iQhO,5;vO6fQhO,5;{OOQW'#G{'#G{OOQW'#Fc'#FcOOQW,5;z,5;zO8pQhO,5;zON_QhO,5<SO!!UQ!jO,5<UO!#wQ!jO,5<WO!%pQ!jO,5<YO!'cQ!jO,5<[O!)UQ!jO,5<_OOQW'#HT'#HTOOQW'#Fu'#FuOOQW,5<^,5<^O8|QhO,5<^O!*eQ!jO,5<cO!,WQ!jO,5<eOOQW-E:U-E:UOOOP7+&e7+&eOOOP1G/b1G/bOOOP1G/k1G/kOOOP1G/p1G/pOOOP1G/y1G/yOOOP1G0O1G0OO!-yQhO,5:pO!.OQhO,5:vOOOP1G0s1G0sOOQW7+$]7+$]O)eQhO1G/TO!.TQ!jO7+$fO!.[Q!jO1G/XOOQW,5<k,5<kOOQW-E9}-E9}OOOP<<Hb<<HbO!0WQ!jO,5<lOOQW-E:O-E:OOOOP<<Hx<<HxO!1|Q!jO<<H{O!2WQ!jO<<ISOOQW,5<n,5<nOOQW-E:Q-E:QOOOP<<I[<<I[O!2bQhO<<I[OOOP<<Ij<<IjO!2jQhO,5:|O!2oQ!jO,5:|OOQW-E:T-E:TOOOP<<Il<<IlOOOP<<It<<ItOOQW1G0{1G0{OOQW1G1Q1G1QOOQW1G1Z1G1ZO!4kQhO1G1`OyQhO1G1cOOQW1G1b1G1bOyQhO1G1gOOQW1G1f1G1fO!6_QhO1G1nO!8RQhO1G1nO!8WQhO1G1pOOQW'#GX'#GXO!9zQhO1G1rO!;qQhO1G1vOOQW1G1x1G1xOOOP1G0[1G0[OOOP1G0b1G0bOOQW7+$o7+$oOOQW<<HQ<<HQOOQW'#DS'#DSO!=eQhO'#DrOOQW'#GR'#GRO!?OQhOAN>gOOOPAN>gAN>gO!?WQhOAN>nOOOPAN>nAN>nO!?`QhOAN>vOOOPAN>vAN>vOyQhO1G0hOOQW'#Gn'#GnO!cQhO1G0hO!?hQ!jO7+&}O!@zQ!jO7+'RO!B^QhO7+'YOOQW-E:V-E:VOyQhO,5:^OOQW-E:P-E:POOOPG24RG24ROOOPG24YG24YOOOPG24bG24bO!DQQ!jO7+&SOOQW7+&S7+&SO!EyQhO<<JiO!GZQhO<<JmO!HkQhO<<JtO!J_Q!jO1G/x",stateData:"!Kw~O%ROSUOS~OPROQSOR]O$}PO~O$}POPWXQWXRWX$|WX~OgfOjjOkjOlgOmhOniOojOpjO%UcO~OylOzkO}mO!RnO!ToO!WpO!]qO!arO!dsO!ktO!ouO!qvO!swO!vxO!|yO#RzO#T{O#Z|O#]}O#`!OO#d!PO#f!QO#h!RO~OPROQSOR!VO$}PO~OPROQSOR!YO$}PO~OPROQSOR!]O$}PO~OPROQSOR!`O$}PO~OPROQSOR!cO$}PO~O%P!dO~O%O!gO~OPROQSOR!lO$}PO~Oy!mO~O]!oOa!wOb!qOc!rOr!sO%W!pO~OX!vO~P&YOe!xOX%TX]%TXa%TXb%TXc%TXr%TX%W%TXi%TXw%TXz%TX#V%TX#W%TX%V%TXn%TX#k%TX#m%TX#p%TX#t%TX#v%TX#y%TX#}%TX$U%TX$Y%TX$]%TX$_%TX$a%TX$c%TX$e%TX$h%TX$l%TX$n%TX#r%TX#{%TX$j%TXf%TX%U%TX#X%TX$R%TX$W%TX~OgfOjjOkjOlgOmhOniOojOpjO%U!zO~Or!sOz#QO~P)eOz#UO~Oz#[O~Oz#]O~Oo#^O~Oz#_O~Oz#`O~OniO#W#hO#k#iO#p#lO#t#oO#v#qO#y#sO#}#vO$U#zO$Y#}O$]$QO$_$SO$a$UO$c$WO$e$YO$h$[O$l$_O$n$aO~Oz$fO~P*|O$}POPWXQWXRWX~Oy!mO!P$hO~Oy!mO!Y$jO~Oy!mO!_$lO~Oy!mO!h$nO~Oy!mO!m$pO~O%P!dOT!wX~OT$sO~O%O!gOS!}X~OS$vO~Oy!mO#b$xO~Oz$yO~O^$zO~O%U%OO~OX%ROr!sO~O]!oOa!wOb!qOc!rO%W!pO~Oi%UO~P.rO]ZXaZXbZXcZXeZXrZXtvXwZXzZX%WZXXZXnZX#WZX#kZX#pZX#tZX#vZX#yZX#}ZX$UZX$YZX$]ZX$_ZX$aZX$cZX$eZX$hZX$lZX$nZX#mZX#rZX#{ZX$RZX$WZX$jZX~Or%]Xw%]Xz%]XX%]Xn%]X#W%]X#k%]X#p%]X#t%]X#v%]X#y%]X#}%]X$U%]X$Y%]X$]%]X$_%]X$a%]X$c%]X$e%]X$h%]X$l%]X$n%]X#m%]X#r%]X#{%]X$R%]X$W%]X$j%]X~P.rOt%VO~Ow%WOr%[Xz%[XX%[Xn%[X#W%[X#k%[X#p%[X#t%[X#v%[X#y%[X#}%[X$U%[X$Y%[X$]%[X$_%[X$a%[X$c%[X$e%[X$h%[X$l%[X$n%[X#m%[X#r%[X#{%[X$R%[X$W%[X$j%[X~Or!sOz%YO~Oz%[O~P.rOz%]O~P.rOz%^O~P.rOz%_O~P.rOw%`Oz%bO~P.rO!e%cO~Ot%iOw%fOz%hO~Oz%kO~P&YOw%mOz%qO#V%lO#W#hO~P.rOz%rO~P.rOz%tO~P&YOz%uO~P.rOz%vO~P.rOz%wO~P.rO#m%yO~P*|O#r&OO~P*|O#{&UO~P*|O$R&[O~P*|O$W&aO~P*|Oo&eO~O$j&kO~P*|Oz&rO~P*|Oz&sO~Oz&tO~Oz&uO~Oz&vO~Oz&wO~O!y&xO~O#P&yO~Oz&zO~O%V&{O~P.rO]!oO%W!pOX`ia`ic`ir`ii`iw`iz`i#V`i#W`i%V`in`i#k`i#m`i#p`i#t`i#v`i#y`i#}`i$U`i$Y`i$]`i$_`i$a`i$c`i$e`i$h`i$l`i$n`i#r`i#{`i$j`if`i%U`i#X`i$R`i$W`i~Ob`i~P:]OX`ir`ii`iw`iz`i#V`i#W`i%V`in`i#k`i#m`i#p`i#t`i#v`i#y`i#}`i$U`i$Y`i$]`i$_`i$a`i$c`i$e`i$h`i$l`i$n`i#r`i#{`i$j`if`i%U`i#X`i$R`i$W`i~P.rOt&|OXqarqazqanqa#Wqa#kqa#pqa#tqa#vqa#yqa#}qa$Uqa$Yqa$]qa$_qa$aqa$cqa$eqa$hqa$lqa$nqa#mqa#rqa#{qa$Rqa$Wqa$jqa~Ob!qO~P:]OXdirdiidiwdizdi#Vdi#Wdi%Vdindi#kdi#mdi#pdi#tdi#vdi#ydi#}di$Udi$Ydi$]di$_di$adi$cdi$edi$hdi$ldi$ndi#rdi#{di$jdifdi%Udi#Xdi$Rdi$Wdi~P.rOw%WOr%[az%[aX%[an%[a#W%[a#k%[a#p%[a#t%[a#v%[a#y%[a#}%[a$U%[a$Y%[a$]%[a$_%[a$a%[a$c%[a$e%[a$h%[a$l%[a$n%[a#m%[a#r%[a#{%[a$R%[a$W%[a$j%[a~Or!sOz'RO~Ow%`Oz'UO~Oo'XO~Ow%fOz'ZO~Oo'[O~Or!sOz']O~Ow%mOz'aO#V%lO#W#hO~Or!sOz'bO~On#ja#W#ja#k#ja#m#ja#p#ja#t#ja#v#ja#y#ja#}#ja$U#ja$Y#ja$]#ja$_#ja$a#ja$c#ja$e#ja$h#ja$l#ja$n#ja~P.rOn#oa#W#oa#k#oa#p#oa#r#oa#t#oa#v#oa#y#oa#}#oa$U#oa$Y#oa$]#oa$_#oa$a#oa$c#oa$e#oa$h#oa$l#oa$n#oa~P.rOn#saz#sa#W#sa#k#sa#p#sa#t#sa#v#sa#y#sa#}#sa$U#sa$Y#sa$]#sa$_#sa$a#sa$c#sa$e#sa$h#sa$l#sa$n#sa#m#sa#r#sa#{#sa$R#sa$W#sa$j#sa~P.rOn#xa#W#xa#k#xa#p#xa#t#xa#v#xa#y#xa#{#xa#}#xa$U#xa$Y#xa$]#xa$_#xa$a#xa$c#xa$e#xa$h#xa$l#xa$n#xa~P.rOw%`On#|az#|a#W#|a#k#|a#p#|a#t#|a#v#|a#y#|a#}#|a$U#|a$Y#|a$]#|a$_#|a$a#|a$c#|a$e#|a$h#|a$l#|a$n#|a#m#|a#r#|a#{#|a$R#|a$W#|a$j#|a~P.rOt'lOw%fOn$[az$[a#W$[a#k$[a#p$[a#t$[a#v$[a#y$[a#}$[a$U$[a$Y$[a$]$[a$_$[a$a$[a$c$[a$e$[a$h$[a$l$[a$n$[a#m$[a#r$[a#{$[a$R$[a$W$[a$j$[a~On$^az$^a#W$^a#k$^a#p$^a#t$^a#v$^a#y$^a#}$^a$U$^a$Y$^a$]$^a$_$^a$a$^a$c$^a$e$^a$h$^a$l$^a$n$^a#m$^a#r$^a#{$^a$R$^a$W$^a$j$^a~P&YOw%mO#V%lO#W#hOn$`az$`a#k$`a#p$`a#t$`a#v$`a#y$`a#}$`a$U$`a$Y$`a$]$`a$_$`a$a$`a$c$`a$e$`a$h$`a$l$`a$n$`a#m$`a#r$`a#{$`a$R$`a$W$`a$j$`a~P.rOn$baz$ba#W$ba#k$ba#p$ba#t$ba#v$ba#y$ba#}$ba$U$ba$Y$ba$]$ba$_$ba$a$ba$c$ba$e$ba$h$ba$l$ba$n$ba#m$ba#r$ba#{$ba$R$ba$W$ba$j$ba~P.rOn$daz$da#W$da#k$da#p$da#t$da#v$da#y$da#}$da$U$da$Y$da$]$da$_$da$a$da$c$da$e$da$h$da$l$da$n$da#m$da#r$da#{$da$R$da$W$da$j$da~P&YOn$ga#W$ga#k$ga#p$ga#t$ga#v$ga#y$ga#}$ga$U$ga$Y$ga$]$ga$_$ga$a$ga$c$ga$e$ga$h$ga$j$ga$l$ga$n$ga~P.rOn$kaz$ka#W$ka#k$ka#p$ka#t$ka#v$ka#y$ka#}$ka$U$ka$Y$ka$]$ka$_$ka$a$ka$c$ka$e$ka$h$ka$l$ka$n$ka#m$ka#r$ka#{$ka$R$ka$W$ka$j$ka~P.rOn$maz$ma#W$ma#k$ma#p$ma#t$ma#v$ma#y$ma#}$ma$U$ma$Y$ma$]$ma$_$ma$a$ma$c$ma$e$ma$h$ma$l$ma$n$ma#m$ma#r$ma#{$ma$R$ma$W$ma$j$ma~P.rOz'rO~Oz'sO~Of'uO~P.rOruiwuizuiXuinui#Wui#kui#pui#tui#vui#yui#}ui$Uui$Yui$]ui$_ui$aui$cui$eui$hui$lui$nui#mui#rui#{ui$Rui$Wui$jui~P.rOw$taz$tan$ta#W$ta#k$ta#p$ta#t$ta#v$ta#y$ta#}$ta$U$ta$Y$ta$]$ta$_$ta$a$ta$c$ta$e$ta$h$ta$l$ta$n$ta#m$ta#r$ta#{$ta$R$ta$W$ta$j$ta~P.rOz'zO%U'vO~P.rOz'|O%U'vO~P.rOw%fOz(OO~Ot(PO~O#X(QOw#Uaz#Ua#V#Ua#W#Uan#Ua#k#Ua#p#Ua#t#Ua#v#Ua#y#Ua#}#Ua$U#Ua$Y#Ua$]#Ua$_#Ua$a#Ua$c#Ua$e#Ua$h#Ua$l#Ua$n#Ua#m#Ua#r#Ua#{#Ua$R#Ua$W#Ua$j#Ua~P.rOw%`On#|iz#|i#W#|i#k#|i#p#|i#t#|i#v#|i#y#|i#}#|i$U#|i$Y#|i$]#|i$_#|i$a#|i$c#|i$e#|i$h#|i$l#|i$n#|i#m#|i#r#|i#{#|i$R#|i$W#|i$j#|i~Ow%fOn$[iz$[i#W$[i#k$[i#p$[i#t$[i#v$[i#y$[i#}$[i$U$[i$Y$[i$]$[i$_$[i$a$[i$c$[i$e$[i$h$[i$l$[i$n$[i#m$[i#r$[i#{$[i$R$[i$W$[i$j$[i~Oo(UO~Or!sOn$^iz$^i#W$^i#k$^i#p$^i#t$^i#v$^i#y$^i#}$^i$U$^i$Y$^i$]$^i$_$^i$a$^i$c$^i$e$^i$h$^i$l$^i$n$^i#m$^i#r$^i#{$^i$R$^i$W$^i$j$^i~Ow%mO#V%lO#W#hOn$`iz$`i#k$`i#p$`i#t$`i#v$`i#y$`i#}$`i$U$`i$Y$`i$]$`i$_$`i$a$`i$c$`i$e$`i$h$`i$l$`i$n$`i#m$`i#r$`i#{$`i$R$`i$W$`i$j$`i~Or!sOn$diz$di#W$di#k$di#p$di#t$di#v$di#y$di#}$di$U$di$Y$di$]$di$_$di$a$di$c$di$e$di$h$di$l$di$n$di#m$di#r$di#{$di$R$di$W$di$j$di~Ot(WOz!fX%U!fXn!fX#W!fX#k!fX#p!fX#t!fX#v!fX#y!fX#}!fX$R!fX$U!fX$Y!fX$]!fX$_!fX$a!fX$c!fX$e!fX$h!fX$l!fX$n!fX$W!fX~Oz(YO%U'vO~Oz(ZO%U'vO~Ow%fOz([O~O%U'vOn$Pq#W$Pq#k$Pq#p$Pq#t$Pq#v$Pq#y$Pq#}$Pq$R$Pq$U$Pq$Y$Pq$]$Pq$_$Pq$a$Pq$c$Pq$e$Pq$h$Pq$l$Pq$n$Pq~P.rO%U'vOn$Tq#W$Tq#k$Tq#p$Tq#t$Tq#v$Tq#y$Tq#}$Tq$U$Tq$W$Tq$Y$Tq$]$Tq$_$Tq$a$Tq$c$Tq$e$Tq$h$Tq$l$Tq$n$Tq~P.rOw%fOn$[qz$[q#W$[q#k$[q#p$[q#t$[q#v$[q#y$[q#}$[q$U$[q$Y$[q$]$[q$_$[q$a$[q$c$[q$e$[q$h$[q$l$[q$n$[q#m$[q#r$[q#{$[q$R$[q$W$[q$j$[q~Ow#Uqz#Uq#V#Uq#W#Uqn#Uq#k#Uq#p#Uq#t#Uq#v#Uq#y#Uq#}#Uq$U#Uq$Y#Uq$]#Uq$_#Uq$a#Uq$c#Uq$e#Uq$h#Uq$l#Uq$n#Uq#m#Uq#r#Uq#{#Uq$R#Uq$W#Uq$j#Uq~P.rO%U'vOn$Py#W$Py#k$Py#p$Py#t$Py#v$Py#y$Py#}$Py$R$Py$U$Py$Y$Py$]$Py$_$Py$a$Py$c$Py$e$Py$h$Py$l$Py$n$Py~O%U'vOn$Ty#W$Ty#k$Ty#p$Ty#t$Ty#v$Ty#y$Ty#}$Ty$U$Ty$W$Ty$Y$Ty$]$Ty$_$Ty$a$Ty$c$Ty$e$Ty$h$Ty$l$Ty$n$Ty~Ow%fOn$[yz$[y#W$[y#k$[y#p$[y#t$[y#v$[y#y$[y#}$[y$U$[y$Y$[y$]$[y$_$[y$a$[y$c$[y$e$[y$h$[y$l$[y$n$[y#m$[y#r$[y#{$[y$R$[y$W$[y$j$[y~Oz!fi%U!fin!fi#W!fi#k!fi#p!fi#t!fi#v!fi#y!fi#}!fi$R!fi$U!fi$Y!fi$]!fi$_!fi$a!fi$c!fi$e!fi$h!fi$l!fi$n!fi$W!fi~P.rO",goto:"Ah%zPPPPPPPP%{P%{&]'oPP'o'oPPP'oPPP'oPPPPPPPP(oP)PP)S)XP)hPP)h)xP*YP)hP)hP)h*`P*pP)h*vP+WP)hP)h+^PP+n+xP)h,OP,`P)hP)hP)hP)h,fP,v,yP)h,|P-^-aP)hP)hP-dPPP)hP)hP)h-lP-|P)hP)hP)hP.S.dP.tP.S.zP/[P.SP.SP.S/bP/rP.SP.S/x0YP.S0`P0pP.SP.S.SP.SP.SP.SP.SP.S0vP1WP.SP.SP)h1^1|2d3S3Y3d3v4Y4`4f4l5[PPPPPP5b5rPPP'o'o8h9x:O%{:V:c:i;P;S;d;t;x<Y<^<n=O=`=d=t=x>Y>^>n?O?`?p@Q@b@r@vAWm_OTUVWX[a!U!X![!_!b!k!zeRflmnpqrz{|}!O!P!Q!p!q!r!w!x#j#m#p#t#w$T$V$X$Z$]$`$b%U%V%W%`%d%e%n&|'g'i(P(WQ#YsQ#ZtQ&Z#xQ&`#{Q'^%mR(^(R!{jRflmnpqrz{|}!O!P!Q!p!q!r!w!x#j#m#p#t#w$T$V$X$Z$]$`$b%U%V%W%`%d%e%n&|'g'i(P(Wm!tdl!u#P#R#a#d%Z%j%s&f&i'm'pR%P!sV!}l%W&|U!|l%W&|a'w'V'W'y'{(S(T(_(`m^OTUVWX[a!U!X![!_!b!kmTOTUVWX[a!U!X![!_!b!kQ!TTR$g!UmUOTUVWX[a!U!X![!_!b!kQ!WUR$i!XmVOTUVWX[a!U!X![!_!b!kQ!ZVR$k![mWOTUVWX[a!U!X![!_!b!ka'x'V'W'y'{(S(T(_(`Q!^WR$m!_mXOTUVWX[a!U!X![!_!b!kQ!aXR$o!bmYOTUVWX[a!U!X![!_!b!kR!fYR$r!fmZOTUVWX[a!U!X![!_!b!kR!iZR$u!iS%o#b%pT'n&g'om[OTUVWX[a!U!X![!_!b!kQ!j[R$w!km$c!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#k!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ%{#kR'c%|m#n!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&Q#nR'd&Rm#u!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&W#uR'e&Xm#y!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&^#yR'h&_m#|!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&c#|R'j&dm$^!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&m$^R'q&nQaOQ!UTQ!XUQ![VQ!_WQ!bXQ!k[_!na!U!X![!_!b!kSQOaSbQ!Si!STUVWX[!U!X![!_!b!kQ!udQ#Pl^%Q!u#P%Z%j%s'm'pQ%Z#RQ%j#aQ%s#dQ'm&fR'p&iQ%X#OR'Q%XQ%a#XS'T%a'fR'f&YQ'y'VQ'{'WW(X'y'{(_(`Q(_(SR(`(TQ%g#^W'Y%g'k'}(aQ'k&eQ'}'[R(a(UQ!eYR$q!eQ!hZR$t!hQ%p#bR'`%pQ$e!RQ%|#kQ&R#nQ&X#uQ&_#yQ&d#|Q&n$^_&q$e%|&R&X&_&d&nQ'o&gR(V'om`OTUVWX[a!U!X![!_!b!kQdRQ!yfU!{l%W&|Q#SmQ#TnQ#VpQ#WqQ#XrQ#azQ#b{Q#c|Q#d}Q#e!OQ#f!PQ#g!QQ${!pQ$|!qQ$}!rQ%S!wQ%T!xQ%x#jQ%}#mQ&S#pQ&T#tQ&Y#wQ&f$TQ&g$VQ&h$XQ&i$ZQ&j$]Q&o$`Q&p$bQ&}%UQ'O%VQ'S%`Q'V%dQ'W%eQ'_%nQ(S'gQ(T'iQ(](PR(b(W!zjRflmnpqrz{|}!O!P!Q!p!q!r!w!x#j#m#p#t#w$T$V$X$Z$]$`$b%U%V%W%`%d%e%n&|'g'i(P(Wm$P!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ#RlR't&|S#Ol&|R'P%WQ%d#YQ%e#ZQ'g&ZR'i&`X%n#b%p&g'ol#x!R#k#n#u#y#|$^$e%|&R&X&_&d&nX%n#b%p&g'oR(R'_m$d!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#j!R#k#n#u#y#|$^$e%|&R&X&_&d&nT%z#k%|m#m!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&P#n&Rm#p!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#r!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#t!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&V#u&Xm#w!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&]#y&_m#{!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&b#|&dm$O!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$R!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$T!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$V!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$X!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$Z!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$]!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&l$^&nm$`!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$b!R#k#n#u#y#|$^$e%|&R&X&_&d&n",nodeNames:`⚠ {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : NamedArgument ParameterName , Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when ForDirective Tag for in Parameter EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement EndTag`,maxTerm:225,nodeProps:[[`closedBy`,1,`}}`,-4,2,3,4,5,`%}`,23,`)`],[`openedBy`,9,`{{`,22,`(`,42,`{%`],[`group`,-13,11,12,15,16,20,24,26,27,28,29,30,31,32,`Expression`]],skippedNodes:[0,6],repeatNodeCount:12,tokenData:")e~RmXY!|YZ!|]^!|pq!|qr#_rs#juv$[wx$gxy%Syz%X{|%^|}&x}!O&}!O!P'Z!Q![&g![!]'k!^!_'p!_!`'x!`!a'p!c!}(Q!}#O(y#P#Q)O#R#S(Q#T#o(Q#p#q)T#q#r)Y%W;'S(Q;'S;:j(s<%lO(Q~#RS%R~XY!|YZ!|]^!|pq!|~#bP!_!`#e~#jOb~~#mUOY#jZr#jrs$Ps;'S#j;'S;=`$U<%lO#j~$UOo~~$XP;=`<%l#j~$_P#q#r$b~$gOz~~$jUOY$gZw$gwx$Px;'S$g;'S;=`$|<%lO$g~%PP;=`<%l$g~%XOg~~%^Of~P%aQ!O!P%g!Q![&gP%jP!Q![%mP%rRpP!Q![%m!g!h%{#X#Y%{P&OR{|&X}!O&X!Q![&_P&[P!Q![&_P&dPpP!Q![&_P&lSpP!O!P%g!Q![&g!g!h%{#X#Y%{~&}Ow~~'QRuv$[!O!P%g!Q![&g~'`Q]S!O!P'f!Q![%m~'kOi~~'pOt~~'uPb~!_!`#e~'}Pe~!_!`#e_(ZW^WyQ%UT}!O(Q!Q![(Q!c!}(Q#R#S(Q#T#o(Q%W;'S(Q;'S;:j(s<%lO(Q_(vP;=`<%l(Q~)OO%W~~)TO%V~~)YOr~~)]P#q#r)`~)eOX~",tokenizers:[w,D,E,O,0,1,2,3],topRules:{Template:[0,7]},dynamicPrecedences:{193:1,194:1,195:1,199:1,200:1,201:1,202:1,204:1,205:1,206:1,207:1,208:1,209:1,210:1,211:1,212:1,213:1,214:1,215:1,216:1,217:1,218:1,219:1,220:1,221:1,222:1,223:1,224:1,225:1},specialized:[{term:190,get:e=>k[e]||-1},{term:41,get:e=>A[e]||-1}],tokenPrec:0});function M(e,t){return e.split(` `).map(e=>({label:e,type:t}))}var N=M(`abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where`,`function`),P=M(`cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include`,`keyword`),F=M(`empty forloop tablerowloop in with as`,`keyword`),I=M(`first index index0 last length rindex`,`property`),L=M(`col col0 col_first col_last first index index0 last length rindex rindex0 row`,`property`);function R(e){let{state:t,pos:r}=e,i=n(t).resolveInner(r,-1).enterUnfinishedNodesBefore(r),a=i.childBefore(r)?.name||i.name;if(i.name==`FilterName`)return{type:`filter`,node:i};if(e.explicit&&a==`|`)return{type:`filter`};if(i.name==`TagName`)return{type:`tag`,node:i};if(e.explicit&&a==`{%`)return{type:`tag`};if(i.name==`PropertyName`&&i.parent.name==`MemberExpression`)return{type:`property`,node:i,target:i.parent};if(i.name==`.`&&i.parent.name==`MemberExpression`)return{type:`property`,target:i.parent};if(i.name==`MemberExpression`&&a==`.`)return{type:`property`,target:i};if(i.name==`VariableName`)return{type:`expression`,from:i.from};let o=e.matchBefore(/[\w\u00c0-\uffff]+$/);return o?{type:`expression`,from:o.from}:e.explicit&&i.name!=`CommentText`&&i.name!=`StringLiteral`&&i.name!=`NumberLiteral`&&i.name!=`InlineComment`?{type:`expression`}:null}function z(e,t,n,r){let i=[];for(;;){let n=t.getChild(`Expression`);if(!n)return[];if(n.name==`VariableName`||n.name==`forloop`||n.name==`tablerowloop`){let t=e.sliceDoc(n.from,n.to);if(t==`forloop`)return i.length?[]:I;if(t==`tablerowloop`)return i.length?[]:L;i.unshift(t);break}if(n.name==`MemberExpression`){let r=n.getChild(`PropertyName`);r&&i.unshift(e.sliceDoc(r.from,r.to)),t=n}else if(n.name==`SubscriptExpression`){let r=n.getChildren(`Expression`)[1];i.unshift(r?.name==`StringLiteral`?e.sliceDoc(r.from+1,r.to-1):`[]`),t=n}else return[]}return r?r(i,e,n):[]}function B(e={}){let t=e.filters?e.filters.concat(N):N,n=e.tags?e.tags.concat(P):P,r=e.variables?e.variables.concat(F):F,{properties:i}=e;return e=>{let a=R(e);if(!a)return null;let o=a.from??(a.node?a.node.from:e.pos),s;return s=a.type==`filter`?t:a.type==`tag`?n:a.type==`expression`?r:z(e.state,a.target,e,i),s.length?{options:s,from:o,validFor:/^[\w\u00c0-\uffff]*$/}:null}}var V=o.inputHandler.of((e,t,n,r)=>r!=`%`||t!=n||e.state.doc.sliceString(t-1,n+1)!=`{}`?!1:(e.dispatch(e.state.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:`%%`},range:f.cursor(e.from+1)})),{scrollIntoView:!0,userEvent:`input.type`}),!0));function H(e){return t=>{let n=e.test(t.textAfter);return t.lineIndent(t.node.from)+(n?0:t.unit)}}var U=l.define({name:`liquid`,parser:j.configure({props:[r({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":i.keyword,"empty forloop tablerowloop":i.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":i.controlKeyword,"assign capture endcapture":i.definitionKeyword,contains:i.operatorKeyword,"render include":i.moduleKeyword,VariableName:i.variableName,TagName:i.keyword,FilterName:i.function(i.variableName),PropertyName:i.propertyName,ParameterName:i.attributeName,CompareOp:i.compareOperator,AssignOp:i.definitionOperator,LogicOp:i.logicOperator,NumberLiteral:i.number,StringLiteral:i.string,BooleanLiteral:i.bool,InlineComment:i.lineComment,CommentText:i.blockComment,"{% %} {{ }}":i.brace,"[ ]":i.bracket,"( )":i.paren,".":i.derefOperator,", .. : |":i.punctuation}),t.add({Tag:d({closing:`%}`}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":H(/^\s*(\{%-?\s*)?end\w/),IfDirective:H(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:H(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),e.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!=`Tag`?null:{from:t.to,to:n.name==`EndTag`?n.from:e.to}}})]}),languageData:{commentTokens:{line:`#`},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),W=p();function G(e){return U.configure({wrap:a(t=>t.type.isTop?{parser:e.parser,overlay:e=>e.name==`Text`||e.name==`RawText`}:null)},`liquid`)}var K=G(W.language);function q(e={}){let t=e.base||W,n=t.language==W.language?K:G(t.language);return new u(n,[t.support,n.data.of({autocomplete:B(e)}),t.language.data.of({closeBrackets:{brackets:[`{`]}}),V])}export{q as liquid};
|
|
1
|
+
import{C as e,D as t,F as n,L as r,R as i,Ut as a,V as o,n as s,r as c,s as l,u,v as d,vt as f}from"./dist-CYzOYk_e.js";import{n as p}from"./dist-cNijUfNl.js";var m=1,h=2,g=3,_=183,v=4,y=184,b=5,x=185,S=6;function C(e){return e>=65&&e<=90||e>=97&&e<=122}var w=new s(e=>{let t=e.pos;for(;;){let{next:n}=e;if(n<0)break;if(n==123){let n=e.peek(1);if(n==123){if(e.pos>t)break;e.acceptToken(m,2);return}if(n==37){if(e.pos>t)break;let n=2,r=2;for(;;){let t=e.peek(n);if(t==32||t==10)++n;else if(t==35)for(++n;;){let t=e.peek(n);if(t<0||t==10)break;n++}else if(t==45&&r==2)r=++n;else{let i=t==101&&e.peek(n+1)==110&&e.peek(n+2)==100;e.acceptToken(i?g:h,r);return}}}}if(e.advance(),n==10)break}e.pos>t&&e.acceptToken(_)});function T(e,t,n){return new s(r=>{let i=r.pos;for(;;){let{next:t}=r;if(t==123&&r.peek(1)==37){let t=2;for(;;t++){let e=r.peek(t);if(e!=32&&e!=10)break}let a=``;for(;;t++){let e=r.peek(t);if(!C(e))break;a+=String.fromCharCode(e)}if(a==e){if(r.pos>i)break;r.acceptToken(n,2);break}}else if(t<0)break;if(r.advance(),t==10)break}r.pos>i&&r.acceptToken(t)})}var E=T(`endcomment`,x,b),D=T(`endraw`,y,v),O=new s(e=>{if(e.next==35){for(e.advance();!(e.next==10||e.next<0||(e.next==37||e.next==125)&&e.peek(1)==125);)e.advance();e.acceptToken(S)}}),k={__proto__:null,contains:34,or:38,and:38,true:52,false:52,empty:54,forloop:57,tablerowloop:59,continue:61,in:135,with:199,for:201,as:203,if:239,endif:243,unless:249,endunless:253,elsif:257,else:261,case:267,endcase:271,when:275,endfor:283,tablerow:289,endtablerow:293,break:297,cycle:303,echo:307,render:311,include:315,assign:319,capture:325,endcapture:329,increment:333,decrement:337},A={__proto__:null,if:90,endif:94,elsif:98,else:102,unless:108,endunless:112,case:118,endcase:122,when:126,for:132,endfor:140,tablerow:146,endtablerow:150,break:154,continue:158,cycle:162,comment:168,endcomment:174,raw:180,endraw:186,echo:190,render:194,include:206,assign:210,capture:216,endcapture:220,increment:224,decrement:228,liquid:232},j=c.deserialize({version:14,states:"MfQYOPOOOOOP'#F}'#F}OhOaO'#CdOyQhO'#CfO!hQxO'#DUO$ROPO'#DXO$aOPO'#DbO$oOPO'#DgO$}OPO'#DnO%]OPO'#DuO%kOSO'#EQO%pOQO'#EWO%uOPO'#EjO&TQxO'#F{OOOP'#Gj'#GjOOOP'#G`'#G`OOOP'#F|'#F|QYOPOOOOOP-E9{-E9{OOQW'#Cg'#CgO&nQ!jO,59QO&uQ!jO'#GaOyQhO'#CtOOQW'#Ge'#GeOOQW'#Gf'#GfOOQW'#Gg'#GgOOQW'#Ga'#GaOOOP,59p,59pO*SQhO,59pOyQhO,59tOyQhO,59xO*^QhO,59zOyQhO,59}OyQhO,5:SOyQhO,5:WO!cQhO,5:ZO!cQhO,5:bO*cQhO,5:fO*hQhO,5:hO*mQhO,5:jO*rQhO,5:mO*wQhO,5:sOyQhO,5:xOyQhO,5:zOyQhO,5;QOyQhO,5;SOyQhO,5;VOyQhO,5;ZOyQhO,5;]O,WQhO,5;_O,_OPO'#CdOOOP,59s,59sO$ROPO,59sO,mQxO'#F{OOOP,59|,59|O$aOPO,59|O,uQxO'#F{OOOP,5:R,5:RO$oOPO,5:RO,}QxO'#F{OOOP,5:Y,5:YO$}OPO,5:YO-VQxO'#F{OOOP,5:a,5:aO%]OPO,5:aO-_QxO'#F{OOOS'#GT'#GTO-gOSO'#ETO-oOSO,5:lOOOQ'#GU'#GUO-tOQO'#EZO-|OQO,5:rOOOP,5;U,5;UO%uOPO,5;UO.RQxO'#F{O.ZQhO,5<gOOOP-E9z-E9zO.`Q#|O,59SOyQhO,59VOyQhO,59WOyQhO,59WO.eQhO'#C}OOQW'#GO'#GOO.jQhO1G.lOOOP1G.l1G.lOyQhO,59WOyQhO,59[O/TQ!jO,59`O/[Q!jO'#CgO1kQ!jO'#GiO3gQhO'#DROOQW'#Gi'#GiO3lQhO'#GhO5fQhO1G/[OOOP1G/[1G/[O5fQhO1G/[O5nQ!jO1G/`O5uQ!jO1G/dOOOP1G/f1G/fO5|Q!jO1G/iO6TQ!jO1G/nO6[Q!jO1G/rO6fQhO1G/uO6fQhO1G/|OOOP1G0Q1G0QOOOP1G0S1G0SO6kQhO1G0UOOOS1G0X1G0XOOOQ1G0_1G0_O6vQ!jO1G0dO6}Q!jO1G0fO7_Q!jO1G0lO7fQ!jO1G0nO7mQ!jO1G0qO7tQ!jO1G0uO7{Q!jO1G0wOOQW'#Gm'#GmOOQW'#Gp'#GpOyQhO'#EvO8SQhO'#EuOOQW'#Gr'#GrOyQhO'#E{O8ZQhO'#EzOOQW'#Gt'#GtOyQhO'#FPOOQW'#Gu'#GuOOQW'#FR'#FROOQW'#Gv'#GvOyQhO'#FUO8bQhO'#FTOOQW'#Gx'#GxOyQhO'#FYO!cQhO'#F]O8iQhO'#F[OOQW'#Gz'#GzO!cQhO'#FaO8pQhO'#F`OOQW'#G|'#G|OOQW'#Fe'#FeOOQW'#Fg'#FgOOQW'#G}'#G}O8wQhO'#FhOOQW'#HO'#HOOyQhO'#FjOOQW'#HP'#HPOyQhO'#FlOOQW'#HQ'#HQOyQhO'#FnOOQW'#HR'#HROyQhO'#FpOOQW'#HS'#HSOyQhO'#FsO8|QhO'#FrOOQW'#HU'#HUOyQhO'#FwOOQW'#HV'#HVOyQhO'#FyOOQW'#Go'#GoOOQW'#GW'#GWO9TQhO1G0yOOOP1G0y1G0yOOOP1G/_1G/_O9[QhO,59vOOOP1G/h1G/hO9aQhO,5:POOOP1G/m1G/mO9fQhO,5:UOOOP1G/t1G/tO9kQhO,5:_OOOP1G/{1G/{O9pQhO,5:dOOOS-E:R-E:ROOOP1G0W1G0WO9uQxO'#EUOOOQ-E:S-E:SOOOP1G0^1G0^O9zQxO'#E[OOOP1G0p1G0pO:PQhO,5;XOOOP1G2R1G2ROOQW1G.n1G.nO:UQ!jO1G.qO<uQ!jO1G.rO<|Q!jO1G.rOOQW'#DP'#DPO?[QhO,59iOOQW-E9|-E9|OOOP7+$W7+$WOAUQ!jO1G.rOA]Q!jO1G.vOyQhO1G.zOyQhO,59mO)eQhO'#GPOCkQhO,5=SOOOP7+$v7+$vOEeQhO7+$vOOOP7+$z7+$zOOOP7+%O7+%OOOOP7+%T7+%TOOOP7+%Y7+%YOyQhO'#GQOEmQhO7+%^OOOP7+%^7+%^OOQW'#Gk'#GkOyQhO7+%aOyQhO7+%hOEuQhO'#GSOEzQhO7+%pOOOP7+%p7+%pOFSQhO7+%pOFXQhO7+&OOOOP7+&O7+&OOOQW'#Gl'#GlO!cQhO'#EbOyQhO'#EbOOQW'#GV'#GVOFaQhO7+&QOOOP7+&Q7+&QOOOP7+&W7+&WOFoQhO7+&YOOOP7+&Y7+&YOOOP7+&]7+&]OOOP7+&a7+&aOOOP7+&c7+&cOFwQ!jO,5;bOOQW'#Gq'#GqOOQW'#Ex'#ExOOQW,5;a,5;aO8SQhO,5;aOHWQ!jO,5;gOOQW'#Gs'#GsOOQW'#E}'#E}OOQW,5;f,5;fO8ZQhO,5;fOIgQ!jO,5;kOKYQ!jO,5;pOOQW'#Gw'#GwOOQW'#FW'#FWOOQW,5;o,5;oO8bQhO,5;oOLiQ!jO,5;tO6fQhO,5;wOOQW'#Gy'#GyOOQW'#F^'#F^OOQW,5;v,5;vO8iQhO,5;vO6fQhO,5;{OOQW'#G{'#G{OOQW'#Fc'#FcOOQW,5;z,5;zO8pQhO,5;zON_QhO,5<SO!!UQ!jO,5<UO!#wQ!jO,5<WO!%pQ!jO,5<YO!'cQ!jO,5<[O!)UQ!jO,5<_OOQW'#HT'#HTOOQW'#Fu'#FuOOQW,5<^,5<^O8|QhO,5<^O!*eQ!jO,5<cO!,WQ!jO,5<eOOQW-E:U-E:UOOOP7+&e7+&eOOOP1G/b1G/bOOOP1G/k1G/kOOOP1G/p1G/pOOOP1G/y1G/yOOOP1G0O1G0OO!-yQhO,5:pO!.OQhO,5:vOOOP1G0s1G0sOOQW7+$]7+$]O)eQhO1G/TO!.TQ!jO7+$fO!.[Q!jO1G/XOOQW,5<k,5<kOOQW-E9}-E9}OOOP<<Hb<<HbO!0WQ!jO,5<lOOQW-E:O-E:OOOOP<<Hx<<HxO!1|Q!jO<<H{O!2WQ!jO<<ISOOQW,5<n,5<nOOQW-E:Q-E:QOOOP<<I[<<I[O!2bQhO<<I[OOOP<<Ij<<IjO!2jQhO,5:|O!2oQ!jO,5:|OOQW-E:T-E:TOOOP<<Il<<IlOOOP<<It<<ItOOQW1G0{1G0{OOQW1G1Q1G1QOOQW1G1Z1G1ZO!4kQhO1G1`OyQhO1G1cOOQW1G1b1G1bOyQhO1G1gOOQW1G1f1G1fO!6_QhO1G1nO!8RQhO1G1nO!8WQhO1G1pOOQW'#GX'#GXO!9zQhO1G1rO!;qQhO1G1vOOQW1G1x1G1xOOOP1G0[1G0[OOOP1G0b1G0bOOQW7+$o7+$oOOQW<<HQ<<HQOOQW'#DS'#DSO!=eQhO'#DrOOQW'#GR'#GRO!?OQhOAN>gOOOPAN>gAN>gO!?WQhOAN>nOOOPAN>nAN>nO!?`QhOAN>vOOOPAN>vAN>vOyQhO1G0hOOQW'#Gn'#GnO!cQhO1G0hO!?hQ!jO7+&}O!@zQ!jO7+'RO!B^QhO7+'YOOQW-E:V-E:VOyQhO,5:^OOQW-E:P-E:POOOPG24RG24ROOOPG24YG24YOOOPG24bG24bO!DQQ!jO7+&SOOQW7+&S7+&SO!EyQhO<<JiO!GZQhO<<JmO!HkQhO<<JtO!J_Q!jO1G/x",stateData:"!Kw~O%ROSUOS~OPROQSOR]O$}PO~O$}POPWXQWXRWX$|WX~OgfOjjOkjOlgOmhOniOojOpjO%UcO~OylOzkO}mO!RnO!ToO!WpO!]qO!arO!dsO!ktO!ouO!qvO!swO!vxO!|yO#RzO#T{O#Z|O#]}O#`!OO#d!PO#f!QO#h!RO~OPROQSOR!VO$}PO~OPROQSOR!YO$}PO~OPROQSOR!]O$}PO~OPROQSOR!`O$}PO~OPROQSOR!cO$}PO~O%P!dO~O%O!gO~OPROQSOR!lO$}PO~Oy!mO~O]!oOa!wOb!qOc!rOr!sO%W!pO~OX!vO~P&YOe!xOX%TX]%TXa%TXb%TXc%TXr%TX%W%TXi%TXw%TXz%TX#V%TX#W%TX%V%TXn%TX#k%TX#m%TX#p%TX#t%TX#v%TX#y%TX#}%TX$U%TX$Y%TX$]%TX$_%TX$a%TX$c%TX$e%TX$h%TX$l%TX$n%TX#r%TX#{%TX$j%TXf%TX%U%TX#X%TX$R%TX$W%TX~OgfOjjOkjOlgOmhOniOojOpjO%U!zO~Or!sOz#QO~P)eOz#UO~Oz#[O~Oz#]O~Oo#^O~Oz#_O~Oz#`O~OniO#W#hO#k#iO#p#lO#t#oO#v#qO#y#sO#}#vO$U#zO$Y#}O$]$QO$_$SO$a$UO$c$WO$e$YO$h$[O$l$_O$n$aO~Oz$fO~P*|O$}POPWXQWXRWX~Oy!mO!P$hO~Oy!mO!Y$jO~Oy!mO!_$lO~Oy!mO!h$nO~Oy!mO!m$pO~O%P!dOT!wX~OT$sO~O%O!gOS!}X~OS$vO~Oy!mO#b$xO~Oz$yO~O^$zO~O%U%OO~OX%ROr!sO~O]!oOa!wOb!qOc!rO%W!pO~Oi%UO~P.rO]ZXaZXbZXcZXeZXrZXtvXwZXzZX%WZXXZXnZX#WZX#kZX#pZX#tZX#vZX#yZX#}ZX$UZX$YZX$]ZX$_ZX$aZX$cZX$eZX$hZX$lZX$nZX#mZX#rZX#{ZX$RZX$WZX$jZX~Or%]Xw%]Xz%]XX%]Xn%]X#W%]X#k%]X#p%]X#t%]X#v%]X#y%]X#}%]X$U%]X$Y%]X$]%]X$_%]X$a%]X$c%]X$e%]X$h%]X$l%]X$n%]X#m%]X#r%]X#{%]X$R%]X$W%]X$j%]X~P.rOt%VO~Ow%WOr%[Xz%[XX%[Xn%[X#W%[X#k%[X#p%[X#t%[X#v%[X#y%[X#}%[X$U%[X$Y%[X$]%[X$_%[X$a%[X$c%[X$e%[X$h%[X$l%[X$n%[X#m%[X#r%[X#{%[X$R%[X$W%[X$j%[X~Or!sOz%YO~Oz%[O~P.rOz%]O~P.rOz%^O~P.rOz%_O~P.rOw%`Oz%bO~P.rO!e%cO~Ot%iOw%fOz%hO~Oz%kO~P&YOw%mOz%qO#V%lO#W#hO~P.rOz%rO~P.rOz%tO~P&YOz%uO~P.rOz%vO~P.rOz%wO~P.rO#m%yO~P*|O#r&OO~P*|O#{&UO~P*|O$R&[O~P*|O$W&aO~P*|Oo&eO~O$j&kO~P*|Oz&rO~P*|Oz&sO~Oz&tO~Oz&uO~Oz&vO~Oz&wO~O!y&xO~O#P&yO~Oz&zO~O%V&{O~P.rO]!oO%W!pOX`ia`ic`ir`ii`iw`iz`i#V`i#W`i%V`in`i#k`i#m`i#p`i#t`i#v`i#y`i#}`i$U`i$Y`i$]`i$_`i$a`i$c`i$e`i$h`i$l`i$n`i#r`i#{`i$j`if`i%U`i#X`i$R`i$W`i~Ob`i~P:]OX`ir`ii`iw`iz`i#V`i#W`i%V`in`i#k`i#m`i#p`i#t`i#v`i#y`i#}`i$U`i$Y`i$]`i$_`i$a`i$c`i$e`i$h`i$l`i$n`i#r`i#{`i$j`if`i%U`i#X`i$R`i$W`i~P.rOt&|OXqarqazqanqa#Wqa#kqa#pqa#tqa#vqa#yqa#}qa$Uqa$Yqa$]qa$_qa$aqa$cqa$eqa$hqa$lqa$nqa#mqa#rqa#{qa$Rqa$Wqa$jqa~Ob!qO~P:]OXdirdiidiwdizdi#Vdi#Wdi%Vdindi#kdi#mdi#pdi#tdi#vdi#ydi#}di$Udi$Ydi$]di$_di$adi$cdi$edi$hdi$ldi$ndi#rdi#{di$jdifdi%Udi#Xdi$Rdi$Wdi~P.rOw%WOr%[az%[aX%[an%[a#W%[a#k%[a#p%[a#t%[a#v%[a#y%[a#}%[a$U%[a$Y%[a$]%[a$_%[a$a%[a$c%[a$e%[a$h%[a$l%[a$n%[a#m%[a#r%[a#{%[a$R%[a$W%[a$j%[a~Or!sOz'RO~Ow%`Oz'UO~Oo'XO~Ow%fOz'ZO~Oo'[O~Or!sOz']O~Ow%mOz'aO#V%lO#W#hO~Or!sOz'bO~On#ja#W#ja#k#ja#m#ja#p#ja#t#ja#v#ja#y#ja#}#ja$U#ja$Y#ja$]#ja$_#ja$a#ja$c#ja$e#ja$h#ja$l#ja$n#ja~P.rOn#oa#W#oa#k#oa#p#oa#r#oa#t#oa#v#oa#y#oa#}#oa$U#oa$Y#oa$]#oa$_#oa$a#oa$c#oa$e#oa$h#oa$l#oa$n#oa~P.rOn#saz#sa#W#sa#k#sa#p#sa#t#sa#v#sa#y#sa#}#sa$U#sa$Y#sa$]#sa$_#sa$a#sa$c#sa$e#sa$h#sa$l#sa$n#sa#m#sa#r#sa#{#sa$R#sa$W#sa$j#sa~P.rOn#xa#W#xa#k#xa#p#xa#t#xa#v#xa#y#xa#{#xa#}#xa$U#xa$Y#xa$]#xa$_#xa$a#xa$c#xa$e#xa$h#xa$l#xa$n#xa~P.rOw%`On#|az#|a#W#|a#k#|a#p#|a#t#|a#v#|a#y#|a#}#|a$U#|a$Y#|a$]#|a$_#|a$a#|a$c#|a$e#|a$h#|a$l#|a$n#|a#m#|a#r#|a#{#|a$R#|a$W#|a$j#|a~P.rOt'lOw%fOn$[az$[a#W$[a#k$[a#p$[a#t$[a#v$[a#y$[a#}$[a$U$[a$Y$[a$]$[a$_$[a$a$[a$c$[a$e$[a$h$[a$l$[a$n$[a#m$[a#r$[a#{$[a$R$[a$W$[a$j$[a~On$^az$^a#W$^a#k$^a#p$^a#t$^a#v$^a#y$^a#}$^a$U$^a$Y$^a$]$^a$_$^a$a$^a$c$^a$e$^a$h$^a$l$^a$n$^a#m$^a#r$^a#{$^a$R$^a$W$^a$j$^a~P&YOw%mO#V%lO#W#hOn$`az$`a#k$`a#p$`a#t$`a#v$`a#y$`a#}$`a$U$`a$Y$`a$]$`a$_$`a$a$`a$c$`a$e$`a$h$`a$l$`a$n$`a#m$`a#r$`a#{$`a$R$`a$W$`a$j$`a~P.rOn$baz$ba#W$ba#k$ba#p$ba#t$ba#v$ba#y$ba#}$ba$U$ba$Y$ba$]$ba$_$ba$a$ba$c$ba$e$ba$h$ba$l$ba$n$ba#m$ba#r$ba#{$ba$R$ba$W$ba$j$ba~P.rOn$daz$da#W$da#k$da#p$da#t$da#v$da#y$da#}$da$U$da$Y$da$]$da$_$da$a$da$c$da$e$da$h$da$l$da$n$da#m$da#r$da#{$da$R$da$W$da$j$da~P&YOn$ga#W$ga#k$ga#p$ga#t$ga#v$ga#y$ga#}$ga$U$ga$Y$ga$]$ga$_$ga$a$ga$c$ga$e$ga$h$ga$j$ga$l$ga$n$ga~P.rOn$kaz$ka#W$ka#k$ka#p$ka#t$ka#v$ka#y$ka#}$ka$U$ka$Y$ka$]$ka$_$ka$a$ka$c$ka$e$ka$h$ka$l$ka$n$ka#m$ka#r$ka#{$ka$R$ka$W$ka$j$ka~P.rOn$maz$ma#W$ma#k$ma#p$ma#t$ma#v$ma#y$ma#}$ma$U$ma$Y$ma$]$ma$_$ma$a$ma$c$ma$e$ma$h$ma$l$ma$n$ma#m$ma#r$ma#{$ma$R$ma$W$ma$j$ma~P.rOz'rO~Oz'sO~Of'uO~P.rOruiwuizuiXuinui#Wui#kui#pui#tui#vui#yui#}ui$Uui$Yui$]ui$_ui$aui$cui$eui$hui$lui$nui#mui#rui#{ui$Rui$Wui$jui~P.rOw$taz$tan$ta#W$ta#k$ta#p$ta#t$ta#v$ta#y$ta#}$ta$U$ta$Y$ta$]$ta$_$ta$a$ta$c$ta$e$ta$h$ta$l$ta$n$ta#m$ta#r$ta#{$ta$R$ta$W$ta$j$ta~P.rOz'zO%U'vO~P.rOz'|O%U'vO~P.rOw%fOz(OO~Ot(PO~O#X(QOw#Uaz#Ua#V#Ua#W#Uan#Ua#k#Ua#p#Ua#t#Ua#v#Ua#y#Ua#}#Ua$U#Ua$Y#Ua$]#Ua$_#Ua$a#Ua$c#Ua$e#Ua$h#Ua$l#Ua$n#Ua#m#Ua#r#Ua#{#Ua$R#Ua$W#Ua$j#Ua~P.rOw%`On#|iz#|i#W#|i#k#|i#p#|i#t#|i#v#|i#y#|i#}#|i$U#|i$Y#|i$]#|i$_#|i$a#|i$c#|i$e#|i$h#|i$l#|i$n#|i#m#|i#r#|i#{#|i$R#|i$W#|i$j#|i~Ow%fOn$[iz$[i#W$[i#k$[i#p$[i#t$[i#v$[i#y$[i#}$[i$U$[i$Y$[i$]$[i$_$[i$a$[i$c$[i$e$[i$h$[i$l$[i$n$[i#m$[i#r$[i#{$[i$R$[i$W$[i$j$[i~Oo(UO~Or!sOn$^iz$^i#W$^i#k$^i#p$^i#t$^i#v$^i#y$^i#}$^i$U$^i$Y$^i$]$^i$_$^i$a$^i$c$^i$e$^i$h$^i$l$^i$n$^i#m$^i#r$^i#{$^i$R$^i$W$^i$j$^i~Ow%mO#V%lO#W#hOn$`iz$`i#k$`i#p$`i#t$`i#v$`i#y$`i#}$`i$U$`i$Y$`i$]$`i$_$`i$a$`i$c$`i$e$`i$h$`i$l$`i$n$`i#m$`i#r$`i#{$`i$R$`i$W$`i$j$`i~Or!sOn$diz$di#W$di#k$di#p$di#t$di#v$di#y$di#}$di$U$di$Y$di$]$di$_$di$a$di$c$di$e$di$h$di$l$di$n$di#m$di#r$di#{$di$R$di$W$di$j$di~Ot(WOz!fX%U!fXn!fX#W!fX#k!fX#p!fX#t!fX#v!fX#y!fX#}!fX$R!fX$U!fX$Y!fX$]!fX$_!fX$a!fX$c!fX$e!fX$h!fX$l!fX$n!fX$W!fX~Oz(YO%U'vO~Oz(ZO%U'vO~Ow%fOz([O~O%U'vOn$Pq#W$Pq#k$Pq#p$Pq#t$Pq#v$Pq#y$Pq#}$Pq$R$Pq$U$Pq$Y$Pq$]$Pq$_$Pq$a$Pq$c$Pq$e$Pq$h$Pq$l$Pq$n$Pq~P.rO%U'vOn$Tq#W$Tq#k$Tq#p$Tq#t$Tq#v$Tq#y$Tq#}$Tq$U$Tq$W$Tq$Y$Tq$]$Tq$_$Tq$a$Tq$c$Tq$e$Tq$h$Tq$l$Tq$n$Tq~P.rOw%fOn$[qz$[q#W$[q#k$[q#p$[q#t$[q#v$[q#y$[q#}$[q$U$[q$Y$[q$]$[q$_$[q$a$[q$c$[q$e$[q$h$[q$l$[q$n$[q#m$[q#r$[q#{$[q$R$[q$W$[q$j$[q~Ow#Uqz#Uq#V#Uq#W#Uqn#Uq#k#Uq#p#Uq#t#Uq#v#Uq#y#Uq#}#Uq$U#Uq$Y#Uq$]#Uq$_#Uq$a#Uq$c#Uq$e#Uq$h#Uq$l#Uq$n#Uq#m#Uq#r#Uq#{#Uq$R#Uq$W#Uq$j#Uq~P.rO%U'vOn$Py#W$Py#k$Py#p$Py#t$Py#v$Py#y$Py#}$Py$R$Py$U$Py$Y$Py$]$Py$_$Py$a$Py$c$Py$e$Py$h$Py$l$Py$n$Py~O%U'vOn$Ty#W$Ty#k$Ty#p$Ty#t$Ty#v$Ty#y$Ty#}$Ty$U$Ty$W$Ty$Y$Ty$]$Ty$_$Ty$a$Ty$c$Ty$e$Ty$h$Ty$l$Ty$n$Ty~Ow%fOn$[yz$[y#W$[y#k$[y#p$[y#t$[y#v$[y#y$[y#}$[y$U$[y$Y$[y$]$[y$_$[y$a$[y$c$[y$e$[y$h$[y$l$[y$n$[y#m$[y#r$[y#{$[y$R$[y$W$[y$j$[y~Oz!fi%U!fin!fi#W!fi#k!fi#p!fi#t!fi#v!fi#y!fi#}!fi$R!fi$U!fi$Y!fi$]!fi$_!fi$a!fi$c!fi$e!fi$h!fi$l!fi$n!fi$W!fi~P.rO",goto:"Ah%zPPPPPPPP%{P%{&]'oPP'o'oPPP'oPPP'oPPPPPPPP(oP)PP)S)XP)hPP)h)xP*YP)hP)hP)h*`P*pP)h*vP+WP)hP)h+^PP+n+xP)h,OP,`P)hP)hP)hP)h,fP,v,yP)h,|P-^-aP)hP)hP-dPPP)hP)hP)h-lP-|P)hP)hP)hP.S.dP.tP.S.zP/[P.SP.SP.S/bP/rP.SP.S/x0YP.S0`P0pP.SP.S.SP.SP.SP.SP.SP.S0vP1WP.SP.SP)h1^1|2d3S3Y3d3v4Y4`4f4l5[PPPPPP5b5rPPP'o'o8h9x:O%{:V:c:i;P;S;d;t;x<Y<^<n=O=`=d=t=x>Y>^>n?O?`?p@Q@b@r@vAWm_OTUVWX[a!U!X![!_!b!k!zeRflmnpqrz{|}!O!P!Q!p!q!r!w!x#j#m#p#t#w$T$V$X$Z$]$`$b%U%V%W%`%d%e%n&|'g'i(P(WQ#YsQ#ZtQ&Z#xQ&`#{Q'^%mR(^(R!{jRflmnpqrz{|}!O!P!Q!p!q!r!w!x#j#m#p#t#w$T$V$X$Z$]$`$b%U%V%W%`%d%e%n&|'g'i(P(Wm!tdl!u#P#R#a#d%Z%j%s&f&i'm'pR%P!sV!}l%W&|U!|l%W&|a'w'V'W'y'{(S(T(_(`m^OTUVWX[a!U!X![!_!b!kmTOTUVWX[a!U!X![!_!b!kQ!TTR$g!UmUOTUVWX[a!U!X![!_!b!kQ!WUR$i!XmVOTUVWX[a!U!X![!_!b!kQ!ZVR$k![mWOTUVWX[a!U!X![!_!b!ka'x'V'W'y'{(S(T(_(`Q!^WR$m!_mXOTUVWX[a!U!X![!_!b!kQ!aXR$o!bmYOTUVWX[a!U!X![!_!b!kR!fYR$r!fmZOTUVWX[a!U!X![!_!b!kR!iZR$u!iS%o#b%pT'n&g'om[OTUVWX[a!U!X![!_!b!kQ!j[R$w!km$c!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#k!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ%{#kR'c%|m#n!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&Q#nR'd&Rm#u!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&W#uR'e&Xm#y!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&^#yR'h&_m#|!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&c#|R'j&dm$^!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ&m$^R'q&nQaOQ!UTQ!XUQ![VQ!_WQ!bXQ!k[_!na!U!X![!_!b!kSQOaSbQ!Si!STUVWX[!U!X![!_!b!kQ!udQ#Pl^%Q!u#P%Z%j%s'm'pQ%Z#RQ%j#aQ%s#dQ'm&fR'p&iQ%X#OR'Q%XQ%a#XS'T%a'fR'f&YQ'y'VQ'{'WW(X'y'{(_(`Q(_(SR(`(TQ%g#^W'Y%g'k'}(aQ'k&eQ'}'[R(a(UQ!eYR$q!eQ!hZR$t!hQ%p#bR'`%pQ$e!RQ%|#kQ&R#nQ&X#uQ&_#yQ&d#|Q&n$^_&q$e%|&R&X&_&d&nQ'o&gR(V'om`OTUVWX[a!U!X![!_!b!kQdRQ!yfU!{l%W&|Q#SmQ#TnQ#VpQ#WqQ#XrQ#azQ#b{Q#c|Q#d}Q#e!OQ#f!PQ#g!QQ${!pQ$|!qQ$}!rQ%S!wQ%T!xQ%x#jQ%}#mQ&S#pQ&T#tQ&Y#wQ&f$TQ&g$VQ&h$XQ&i$ZQ&j$]Q&o$`Q&p$bQ&}%UQ'O%VQ'S%`Q'V%dQ'W%eQ'_%nQ(S'gQ(T'iQ(](PR(b(W!zjRflmnpqrz{|}!O!P!Q!p!q!r!w!x#j#m#p#t#w$T$V$X$Z$]$`$b%U%V%W%`%d%e%n&|'g'i(P(Wm$P!R#k#n#u#y#|$^$e%|&R&X&_&d&nQ#RlR't&|S#Ol&|R'P%WQ%d#YQ%e#ZQ'g&ZR'i&`X%n#b%p&g'ol#x!R#k#n#u#y#|$^$e%|&R&X&_&d&nX%n#b%p&g'oR(R'_m$d!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#j!R#k#n#u#y#|$^$e%|&R&X&_&d&nT%z#k%|m#m!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&P#n&Rm#p!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#r!R#k#n#u#y#|$^$e%|&R&X&_&d&nm#t!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&V#u&Xm#w!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&]#y&_m#{!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&b#|&dm$O!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$R!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$T!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$V!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$X!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$Z!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$]!R#k#n#u#y#|$^$e%|&R&X&_&d&nT&l$^&nm$`!R#k#n#u#y#|$^$e%|&R&X&_&d&nm$b!R#k#n#u#y#|$^$e%|&R&X&_&d&n",nodeNames:`⚠ {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : NamedArgument ParameterName , Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when ForDirective Tag for in Parameter EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement EndTag`,maxTerm:225,nodeProps:[[`closedBy`,1,`}}`,-4,2,3,4,5,`%}`,23,`)`],[`openedBy`,9,`{{`,22,`(`,42,`{%`],[`group`,-13,11,12,15,16,20,24,26,27,28,29,30,31,32,`Expression`]],skippedNodes:[0,6],repeatNodeCount:12,tokenData:")e~RmXY!|YZ!|]^!|pq!|qr#_rs#juv$[wx$gxy%Syz%X{|%^|}&x}!O&}!O!P'Z!Q![&g![!]'k!^!_'p!_!`'x!`!a'p!c!}(Q!}#O(y#P#Q)O#R#S(Q#T#o(Q#p#q)T#q#r)Y%W;'S(Q;'S;:j(s<%lO(Q~#RS%R~XY!|YZ!|]^!|pq!|~#bP!_!`#e~#jOb~~#mUOY#jZr#jrs$Ps;'S#j;'S;=`$U<%lO#j~$UOo~~$XP;=`<%l#j~$_P#q#r$b~$gOz~~$jUOY$gZw$gwx$Px;'S$g;'S;=`$|<%lO$g~%PP;=`<%l$g~%XOg~~%^Of~P%aQ!O!P%g!Q![&gP%jP!Q![%mP%rRpP!Q![%m!g!h%{#X#Y%{P&OR{|&X}!O&X!Q![&_P&[P!Q![&_P&dPpP!Q![&_P&lSpP!O!P%g!Q![&g!g!h%{#X#Y%{~&}Ow~~'QRuv$[!O!P%g!Q![&g~'`Q]S!O!P'f!Q![%m~'kOi~~'pOt~~'uPb~!_!`#e~'}Pe~!_!`#e_(ZW^WyQ%UT}!O(Q!Q![(Q!c!}(Q#R#S(Q#T#o(Q%W;'S(Q;'S;:j(s<%lO(Q_(vP;=`<%l(Q~)OO%W~~)TO%V~~)YOr~~)]P#q#r)`~)eOX~",tokenizers:[w,D,E,O,0,1,2,3],topRules:{Template:[0,7]},dynamicPrecedences:{193:1,194:1,195:1,199:1,200:1,201:1,202:1,204:1,205:1,206:1,207:1,208:1,209:1,210:1,211:1,212:1,213:1,214:1,215:1,216:1,217:1,218:1,219:1,220:1,221:1,222:1,223:1,224:1,225:1},specialized:[{term:190,get:e=>k[e]||-1},{term:41,get:e=>A[e]||-1}],tokenPrec:0});function M(e,t){return e.split(` `).map(e=>({label:e,type:t}))}var N=M(`abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where`,`function`),P=M(`cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include`,`keyword`),F=M(`empty forloop tablerowloop in with as`,`keyword`),I=M(`first index index0 last length rindex`,`property`),L=M(`col col0 col_first col_last first index index0 last length rindex rindex0 row`,`property`);function R(e){let{state:t,pos:r}=e,i=n(t).resolveInner(r,-1).enterUnfinishedNodesBefore(r),a=i.childBefore(r)?.name||i.name;if(i.name==`FilterName`)return{type:`filter`,node:i};if(e.explicit&&a==`|`)return{type:`filter`};if(i.name==`TagName`)return{type:`tag`,node:i};if(e.explicit&&a==`{%`)return{type:`tag`};if(i.name==`PropertyName`&&i.parent.name==`MemberExpression`)return{type:`property`,node:i,target:i.parent};if(i.name==`.`&&i.parent.name==`MemberExpression`)return{type:`property`,target:i.parent};if(i.name==`MemberExpression`&&a==`.`)return{type:`property`,target:i};if(i.name==`VariableName`)return{type:`expression`,from:i.from};let o=e.matchBefore(/[\w\u00c0-\uffff]+$/);return o?{type:`expression`,from:o.from}:e.explicit&&i.name!=`CommentText`&&i.name!=`StringLiteral`&&i.name!=`NumberLiteral`&&i.name!=`InlineComment`?{type:`expression`}:null}function z(e,t,n,r){let i=[];for(;;){let n=t.getChild(`Expression`);if(!n)return[];if(n.name==`VariableName`||n.name==`forloop`||n.name==`tablerowloop`){let t=e.sliceDoc(n.from,n.to);if(t==`forloop`)return i.length?[]:I;if(t==`tablerowloop`)return i.length?[]:L;i.unshift(t);break}if(n.name==`MemberExpression`){let r=n.getChild(`PropertyName`);r&&i.unshift(e.sliceDoc(r.from,r.to)),t=n}else if(n.name==`SubscriptExpression`){let r=n.getChildren(`Expression`)[1];i.unshift(r?.name==`StringLiteral`?e.sliceDoc(r.from+1,r.to-1):`[]`),t=n}else return[]}return r?r(i,e,n):[]}function B(e={}){let t=e.filters?e.filters.concat(N):N,n=e.tags?e.tags.concat(P):P,r=e.variables?e.variables.concat(F):F,{properties:i}=e;return e=>{let a=R(e);if(!a)return null;let o=a.from??(a.node?a.node.from:e.pos),s;return s=a.type==`filter`?t:a.type==`tag`?n:a.type==`expression`?r:z(e.state,a.target,e,i),s.length?{options:s,from:o,validFor:/^[\w\u00c0-\uffff]*$/}:null}}var V=o.inputHandler.of((e,t,n,r)=>r!=`%`||t!=n||e.state.doc.sliceString(t-1,n+1)!=`{}`?!1:(e.dispatch(e.state.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:`%%`},range:f.cursor(e.from+1)})),{scrollIntoView:!0,userEvent:`input.type`}),!0));function H(e){return t=>{let n=e.test(t.textAfter);return t.lineIndent(t.node.from)+(n?0:t.unit)}}var U=l.define({name:`liquid`,parser:j.configure({props:[r({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":i.keyword,"empty forloop tablerowloop":i.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":i.controlKeyword,"assign capture endcapture":i.definitionKeyword,contains:i.operatorKeyword,"render include":i.moduleKeyword,VariableName:i.variableName,TagName:i.keyword,FilterName:i.function(i.variableName),PropertyName:i.propertyName,ParameterName:i.attributeName,CompareOp:i.compareOperator,AssignOp:i.definitionOperator,LogicOp:i.logicOperator,NumberLiteral:i.number,StringLiteral:i.string,BooleanLiteral:i.bool,InlineComment:i.lineComment,CommentText:i.blockComment,"{% %} {{ }}":i.brace,"[ ]":i.bracket,"( )":i.paren,".":i.derefOperator,", .. : |":i.punctuation}),t.add({Tag:d({closing:`%}`}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":H(/^\s*(\{%-?\s*)?end\w/),IfDirective:H(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:H(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),e.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!=`Tag`?null:{from:t.to,to:n.name==`EndTag`?n.from:e.to}}})]}),languageData:{commentTokens:{line:`#`},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),W=p();function G(e){return U.configure({wrap:a(t=>t.type.isTop?{parser:e.parser,overlay:e=>e.name==`Text`||e.name==`RawText`}:null)},`liquid`)}var K=G(W.language);function q(e={}){let t=e.base||W,n=t.language==W.language?K:G(t.language);return new u(n,[t.support,n.data.of({autocomplete:B(e)}),t.language.data.of({closeBrackets:{brackets:[`{`]}}),V])}export{q as liquid};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./editor-BQlHN7qT.js";export{e as markdown};
|