this.me 3.1.2 → 3.1.4

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/README.md CHANGED
@@ -1,92 +1,136 @@
1
- <img src="https://res.cloudinary.com/dkwnxf6gm/image/upload/v1761149332/this.me-removebg-preview_2_j1eoiy.png" alt=".me Logo" width="144" />
1
+ <picture>
2
+ <source media="(prefers-color-scheme: dark)" srcset="https://res.cloudinary.com/dkwnxf6gm/image/upload/v1769890772/this.me.png" />
3
+ <img src="https://res.cloudinary.com/dkwnxf6gm/image/upload/v1761149332/this.me-removebg-preview_2_j1eoiy.png" alt=".me Logo" width="144" />
4
+ </picture>
2
5
 
3
6
  # .me
4
- ##### **1. NPM:**
7
+
5
8
  ```bash
6
9
  npm install this.me
7
10
  ```
8
- ---
9
-
10
- ## **Start .me in 20 seconds**
11
+ ## **Start .me in 60 seconds**
11
12
  ###### Import
12
- **1) Node.js**:
13
13
  ```ts
14
14
  import ME from "this.me";
15
15
  const me = new ME();
16
16
  ```
17
- **Other modules formats and runtime targets:** CommonJS (`require`), UMD (global/script), TypeScript types.
18
17
 
19
- ###### **Declare** Your Data.
18
+ ###### **Declare** Your Identity.
20
19
  ```ts
21
- me.profile.name("Abella");
22
- me.profile.age(30);
20
+ me["@"]("jabellae");
23
21
  ```
24
22
 
25
- ###### **Read **Your Data
23
+ ###### **Declare** Your Data.
26
24
  ```ts
27
- me("profile.name"); // → "Abella"
28
- me("profile.age"); // → 30
25
+ me.profile.name("Abella.e");
26
+ me.profile.bio("Building the semantic web.");
27
+ me.profile.pic("https://neurons.me/media/neurons-grey.png");
28
+ me.users.ana.name("Ana");
29
+ me.users.ana.bio("Designing semantic interfaces.");
30
+ me.users.ana.age(22);
31
+ me.users.pablo.name("Pablo");
32
+ me.users.pablo.bio("Building distributed systems.");
33
+ me.users.pablo.age(17);
29
34
  ```
30
35
 
31
- ##### **Use in expressions**
36
+ ###### **Use in expressions**
32
37
  ```ts
33
- if (me("profile.age") > 18) {
34
- console.log("Adult");
35
- }
38
+ me.friends.ana["->"]("users.ana");
39
+ me.friends.pablo["->"]("users.pablo");
40
+ // Broadcast logic over friend pointers
41
+ me.friends["[i]"]["="]("is_adult", "age >= 18");
42
+ ```
43
+ ###### Read Your Data
44
+ ```ts
45
+ me("profile.bio"); // → "Building the semantic web."
46
+ me("friends.ana.bio");// → "Designing semantic interfaces."
47
+ me("friends.pablo.name");// → "Pablo"
48
+ me("friends.ana.is_adult");// → true
49
+ me("friends.pablo.is_adult");// → false
50
+ me("friends[age > 18].name");// → { ana: "Ana" }
36
51
  ```
37
52
 
38
53
  ---
39
54
 
40
- ## 🌳 Infinite Semantic Trees
41
- **.me** supports infinite nesting:
55
+ # Infinite Semantic Trees
56
+ **.me** supports **infinite** nesting:
42
57
 
43
58
  ```ts
44
- me.system.audio.filters.lowpass.cutoff(1200);
45
- me.system.audio.filters.lowpass.resonance(0.7);
46
- me("system.audio.filters.lowpass");
47
- // { cutoff: 1200, resonance: 0.7 }
59
+ // 1. Build your nested house
60
+ me.home.kitchen.lights.main.brightness(80); //sets the value to 80
61
+ me.home.kitchen.lights.leds.brightness(40); //sets the value to 40
62
+ // 2. Add "Master Control" Logic
63
+ me.home.kitchen.lights["="]("avg", "(main.brightness + leds.brightness) / 2"); // 80 + 40 / 2
64
+ me("home.kitchen.lights.avg"); // → 60
48
65
  ```
49
66
 
50
- You can construct any conceptual universe:
67
+ You can **bridge** distant rooms with **Pointers**:
68
+ ```ts
69
+ // Create a "Master Switch" at your root
70
+ me.main_switch["->"]("home.kitchen.lights.main");
71
+ me.main_switch.brightness(0); // Turn off the kitchen from the root
72
+ me("home.kitchen.lights.avg"); // → 20 (Reactive Auto-Update)
73
+ ```
74
+ You can construct any conceptual universe.
75
+ ### Run your coffee shops ☕:
76
+ ```ts
77
+ // 1. Build two shops as an indexed collection
78
+ me.shops[1].name("Downtown");
79
+ me.shops[1].menu.latte.price(4.5);
80
+ me.shops[1].menu.espresso.price(3.0);
81
+ me.shops[2].name("Riverside");
82
+ me.shops[2].menu.latte.price(5.0);
83
+ me.shops[2].menu.espresso.price(3.5);
84
+ // 2. Broadcast combo logic to every shop (iterator [i])
85
+ me.shops["[i]"].menu["="]("breakfast_deal", "latte.price + espresso.price - 1.5");
86
+ // 3. Read by range selector
87
+ me("shops[1..2].menu.breakfast_deal"); // → { "1": 6.0, "2": 7.0 }
88
+ // 4. Filter shops by computed value
89
+ me("shops[menu.breakfast_deal > 6].name"); // → { "2": "Riverside" }
90
+ ```
51
91
 
92
+ Or even patch ◎──▶ your **master bus** ──▶ to your **moog synth** filter ──▶◉
52
93
  ```ts
53
- me.synth.moog.grandmother.osc1.wave("triangle");
54
- me.synth.moog.grandmother.osc2.wave("square");
55
- me("synth.moog.grandmother.osc1.wave");
56
- // → "triangle"
94
+ me.studio.master_bus.input["->"]("studio.synth.moog.filter");
95
+ me.studio.master_bus.input.cutoff(1200);
96
+ me("studio.synth.moog.filter.cutoff"); // → 1200
57
97
  ```
58
98
 
59
99
  ---
60
100
 
61
- ## 🔐 Secrets: Encrypted Universes
62
- Secrets create private branches:
63
-
101
+ ## 𓂀 Secrets: Encrypted Universes
102
+ Secrets don't just hide data; they create **Private Sub-Dimensions** in your identity tree.
64
103
  ```ts
65
- me.wallet["_"]("ABC"); // declare secret scope at "wallet"
104
+ // 1. Declare a secret scope at any branch
105
+ me.wallet["_"]("vault-key-2026");
66
106
  me.wallet.balance(500);
67
- me.wallet.transactions.list([1, 2, 3]);
107
+ me.wallet.note("Private savings");
68
108
  ```
69
109
 
70
- Everything under that scope is stored in an encrypted branch blob.
71
- Secret scope roots are stealth by design:
72
-
110
+ Everything under a `["_"]` scope is **stored as an Encrypted Blob**. By design, secret roots are Stealth:
73
111
  ```ts
74
- me("wallet"); // → undefined (stealth root)
75
- me("wallet.balance"); // → 500
76
- me("wallet.transactions.list"); // → [1, 2, 3]
112
+ me("wallet"); // → undefined (The root is a ghost)
113
+ me("wallet.balance"); // → 500 (Direct path resolution works)
77
114
  ```
115
+ ###### 𓉔 Recursive Stealth:
78
116
 
79
- Secrets can nest infinitely:
117
+ **Secrets nest infinitely**. Each `["_"]` creates a deeper, independent cryptographic layer:
80
118
 
81
119
  ```ts
82
- me.wallet["_"]("ABC");
83
- me.wallet.hidden["_"]("DEEP");
84
- me.wallet.hidden.note("private");
85
-
86
- me("wallet.hidden"); // undefined (stealth root)
87
- me("wallet.hidden.note"); // → "private"
120
+ me.wallet["_"]("KEY-A");
121
+ me.wallet.hidden["_"]("KEY-B");// Nested secret scope
122
+ me.wallet.hidden.note("Deep dark secret");
123
+ me("wallet.hidden"); // → undefined
124
+ me("wallet.hidden.note");//"Deep dark secret"
88
125
  ```
89
126
 
127
+ ## 𓉐 The Rules of the Vault:
128
+ **Zero-Knowledge Roots:** You can't "list" a secret directory. If you don't know the path, the data doesn't exist for you.
129
+
130
+ **Path-Based Resolution:** There is no global unlock() call. Security is woven into the Semantic Path.
131
+ **Atomic Encryption:** Every secret branch is a self-contained encrypted universe.
132
+
133
+
90
134
  - **A secret belongs to a specific position in the identity tree.**
91
135
  - Everything under that position becomes encrypted.
92
136
  - If you declare another secret inside, it becomes a deeper encrypted scope.
@@ -94,81 +138,99 @@ me("wallet.hidden.note"); // → "private"
94
138
 
95
139
  ---
96
140
 
97
- ### 🧬 Why ME Works
98
-
99
- - Proxies infinite language surface
100
- - Path strings universal query interface
101
- - Values semantic meaning, not strict types
102
- - Secrets fractal encrypted universes
103
- - Export → deterministic declarative identity
104
- - Zero dependencies
105
- - Browser & Node compatible
141
+ ## Why .me?
142
+ - **Infinite Surface:** No schemas. If you think of a path `(me.a.b.c)`, it exists. You **define your universe as you speak.**
143
+ - **Universal Query:** Any string is a query. No SQL, no complex APIs. Just paths and brackets `[]`.
144
+ - **Fractal Privacy:** Security isn't a "plugin." It's woven into the tree. You can drop a `Secret ["_"]` anywhere, and that branch becomes a private universe.
145
+ - **Deterministic Replay:** Every state change is a "Thought." You can export your entire identity and rebuild it exactly as it was, anywhere in the world.
146
+ - **Zero Baggage:** No dependencies. No bloat. Pure logic that runs in 15ms on a browser or a server.
106
147
 
107
148
  ---
108
149
 
109
- ### 📦 Export Identity
150
+ ## 𓆣 Explain Derivations
151
+
152
+ Use `me.explain(path)` to audit how a computed value was produced.
110
153
 
111
154
  ```ts
112
- console.log(me.export());
155
+ const trace = me.explain("shops.2.menu.breakfast_deal");
156
+ console.log(trace);
113
157
  ```
114
158
 
115
- Produces a deterministic structure:
159
+ **Example trace:**
116
160
 
117
161
  ```json
118
162
  {
119
- "identityRoot": "0xabc...",
120
- "publicKey": "...",
121
- "identityHash": "...",
122
- "declarations": [
123
- { "key": "profile.name", "value": "Abella", ... },
124
- { "key": "profile.age", "value": 30, ... }
125
- ]
163
+ "path": "shops.2.menu.breakfast_deal",
164
+ "value": 7,
165
+ "derivation": {
166
+ "expression": "latte.price + espresso.price - 1.5",
167
+ "inputs": [
168
+ {
169
+ "label": "latte.price",
170
+ "path": "shops.2.menu.latte.price",
171
+ "value": 5,
172
+ "origin": "public",
173
+ "masked": false
174
+ },
175
+ {
176
+ "label": "espresso.price",
177
+ "path": "shops.2.menu.espresso.price",
178
+ "value": 3.5,
179
+ "origin": "public",
180
+ "masked": false
181
+ }
182
+ ]
183
+ },
184
+ "meta": {
185
+ "dependsOn": [
186
+ "shops.2.menu.latte.price",
187
+ "shops.2.menu.espresso.price"
188
+ ]
189
+ }
126
190
  }
127
191
  ```
128
192
 
129
- ---
130
-
131
- ### 🧠 Full Example
193
+ For runtime snapshots/debug:
132
194
 
133
195
  ```ts
134
- import { ME } from "this.me";
135
-
136
- const me = new ME("my-secret");
196
+ me.inspect(); // thoughts + index + scopes
197
+ me.exportSnapshot(); // full portable state (Phase 7B)
198
+ ```
137
199
 
138
- // Declare identity
139
- me.name.first("Abella");
140
- me.name.last("Eggleton");
141
- me.profile.role("Musician");
142
- me.profile.age(30);
200
+ # 𓃭 The Engine: Why it’s so fast?𓃭
201
+ While traditional databases get bogged down in heavy scans and slow joins, the **.me Kernel** doesn't "search" for data—it navigates a **Semantic Algebra.**
143
202
 
144
- // Semantic universes
145
- me.system.audio.filters.lowpass.cutoff(1200);
146
- me.system.audio.filters.lowpass.resonance(0.7);
203
+ #### 𓎛 Incremental Intelligence (Phase 8)
204
+ Unlike standard reactive frameworks that re-render everything, **.me** uses an **Inverted Dependency Index.**
205
+ When you define a formula (=), the Kernel maps the relationship.
206
+ On mutation, only the affected nodes wake up.
207
+ **The Result**: Local updates resolve in 15ms, achieving
208
+ complexity (where
209
+ is the specific dependency chain, not the size of the tree).
147
210
 
148
- // Encrypted branch
149
- me.wallet["_"]("XYZ");
150
- me.wallet.balance(500);
151
- me.wallet.transactions.list([1, 2, 3]);
211
+ #### 𓁟 Hermetic Sandbox (Phase C)
212
+ Security isn't a "check"; it's a grammar.
213
+ We replaced `eval()` with a custom **Shunting-yard + RPN evaluator.**
214
+ The Kernel is physically incapable of executing arbitrary code. **It only resolves math and logic** over its own validated paths.
152
215
 
153
- // Read values
154
- console.log(me("name.first")); // "Abella"
155
- console.log(me("profile.age")); // 30
216
+ #### Fractal Stealth (Phase 0 & 6)
217
+ ###### Privacy is woven into the tree's geometry.
218
+ **Stealth Roots:** Secret scopes `("_")` are invisible to standard lookups.
219
+ **Deterministic Integrity:** Calculations can cross from public to secret scopes **(Phase 6)** without ever exposing the sensitive keys in the audit trail (me.explain).
220
+ **Zero-Latency Portability** **(Phase 7A/B)**
156
221
 
157
- // Logic
158
- if (me("profile.age") > 21) {
159
- console.log("Access granted");
160
- }
222
+ ###### 𓂀𓈖𓂀 ⟐ Your identity is Deterministic ⟐ 𓂀𓈖𓂀
161
223
 
162
- // Export
163
- console.log(JSON.stringify(me.export(), null, 2));
164
- ```
224
+ By exporting **"Thoughts"** or **"Snapshots"**, you can teleport your entire state between a **MacBook Air** in **Veracruz** and a high-end server in **London.**
225
+ The behavior is identical, bit-by-bit, because the logic is part of the state.
165
226
 
166
227
  ---
167
-
168
-
169
228
  <a href="https://www.neurons.me" target="_blank">
170
- <img src="https://res.cloudinary.com/dkwnxf6gm/image/upload/v1760893633/npm-neurons-me_9b3e3a.jpg" style="zoom:16%;" /></a>
229
+ <img src="https://res.cloudinary.com/dkwnxf6gm/image/upload/v1760901388/bc75d34cf31ad2217a3cc607f41b884c022e8a7e0dc022e2678bbba5bac1cd59-removebg-preview-removebg-preview_w6c3il.png" style="zoom:21%;" /></a>
230
+
171
231
 
172
232
  ##### License
173
- MIT © 2025 by https://neurons.me
233
+ **MIT © 2025 by https://neurons.me**
174
234
  See the [LICENSE](./LICENSE) file for details.
235
+ **∴ Witness our seal**
236
+ **suiGn**
package/dist/me.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";function ve(f){return{__ptr:f}}function z(f){return!!f&&typeof f=="object"&&typeof f.__ptr=="string"&&f.__ptr.length>0}function me(f){return{__id:f}}function Yt(f){return!!f&&typeof f=="object"&&typeof f.__id=="string"&&f.__id.length>0}function be(f){return!!f&&typeof f=="object"&&typeof f.path=="string"&&typeof f.hash=="string"&&typeof f.timestamp=="number"}function E(f){return f.length===0?{scope:[],leaf:null}:{scope:f.slice(0,-1),leaf:f[f.length-1]}}function Qt(f,r){if(r.length>f.length)return!1;for(let e=0;e<r.length;e++)if(f[e]!==r[e])return!1;return!0}function Ut(f){const r=f.trim().toLowerCase();if(r.length<3||r.length>63)throw new Error(`Invalid username length: ${r.length}. Expected 3..63 characters.`);if(!/^[a-z0-9][a-z0-9-]*[a-z0-9]$/.test(r))throw new Error(`Invalid username. Use only [a-z0-9-], and start/end with [a-z0-9]. Got: ${f}`);if(r.includes("--"))throw new Error(`Invalid username. "--" is not allowed. Got: ${f}`);return r}function T(f,r){return f[r]?.kind??null}function Se(f,r){if(f.length!==1||f[0]!=="+"||!Array.isArray(r)||r.length<2)return null;const n=String(r[0]??"").trim(),i=String(r[1]??"").trim();return!n||!i||n==="+"?null:{op:n,kind:i}}function ke(f,r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);return!i||T(f,i)!=="secret"||typeof e!="string"?null:{scopeKey:n.join(".")}}function Pe(f,r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);return!i||T(f,i)!=="noise"||typeof e!="string"?null:{scopeKey:n.join(".")}}function xe(f,r,e){if(r.length===0)return null;const{leaf:n}=E(r);if(!n||T(f,n)!=="pointer"||typeof e!="string")return null;const i=e.trim().replace(/^\./,"");return i?{targetPath:i}:null}function _e(f,r,e){if(r.length===1&&T(f,r[0])==="identity")return typeof e!="string"?null:{id:Ut(e),targetPath:[]};const{scope:n,leaf:i}=E(r);return!i||T(f,i)!=="identity"||typeof e!="string"?null:{id:Ut(e),targetPath:n}}function Ae(f,r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);if(!i||T(f,i)!=="eval")return null;if(typeof e=="function")return{mode:"thunk",targetPath:n,thunk:e};if(Array.isArray(e)&&e.length>=2){const o=String(e[0]??"").trim(),l=String(e[1]??"").trim();return!o||!l?null:{mode:"assign",targetPath:n,name:o,expr:l}}return null}function Be(f,r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);if(!i||T(f,i)!=="query")return null;let o=null,l;if(Array.isArray(e)&&e.length>0)Array.isArray(e[0])&&(e.length===1||typeof e[1]=="function")?(o=e[0],l=typeof e[1]=="function"?e[1]:void 0):o=e;else return null;if(!Array.isArray(o)||o.length===0)return null;const s=o.map(c=>String(c)).map(c=>c.trim()).filter(c=>c.length>0);return s.length===0?null:{targetPath:n,paths:s,fn:l}}function Fe(f,r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);if(!i||T(f,i)!=="remove")return null;if(e==null)return{targetPath:n};if(typeof e=="string"){const o=e.split(".").filter(Boolean);return{targetPath:[...n,...o]}}return null}var we=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ee(f){return f&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f}var Xt={exports:{}};var fe;function Ce(){return fe||(fe=1,(function(f){(function(){var r="input is invalid type",e="finalize already called",n=typeof window=="object",i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var o=!n&&typeof self=="object",l=!i.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;l?i=we:o&&(i=self);for(var s=!i.JS_SHA3_NO_COMMON_JS&&!0&&f.exports,c=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",a="0123456789abcdef".split(""),p=[31,7936,2031616,520093696],g=[4,1024,262144,67108864],v=[1,256,65536,16777216],x=[6,1536,393216,100663296],P=[0,8,16,24],_=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],B=[224,256,384,512],C=[128,256],O=["hex","buffer","arrayBuffer","array","digest"],I={128:168,256:136},W=i.JS_SHA3_NO_NODE_JS||!Array.isArray?function(t){return Object.prototype.toString.call(t)==="[object Array]"}:Array.isArray,K=c&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)?function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer}:ArrayBuffer.isView,M=function(t){var u=typeof t;if(u==="string")return[t,!0];if(u!=="object"||t===null)throw new Error(r);if(c&&t.constructor===ArrayBuffer)return[new Uint8Array(t),!1];if(!W(t)&&!K(t))throw new Error(r);return[t,!1]},ne=function(t){return M(t)[0].length===0},qt=function(t){for(var u=[],h=0;h<t.length;++h)u[h]=t[h];return u},ie=function(t,u,h){return function(d){return new F(t,u,t).update(d)[h]()}},oe=function(t,u,h){return function(d,y){return new F(t,u,y).update(d)[h]()}},le=function(t,u,h){return function(d,y,m,S){return N["cshake"+t].update(d,y,m,S)[h]()}},se=function(t,u,h){return function(d,y,m,S){return N["kmac"+t].update(d,y,m,S)[h]()}},J=function(t,u,h,d){for(var y=0;y<O.length;++y){var m=O[y];t[m]=u(h,d,m)}return t},ce=function(t,u){var h=ie(t,u,"hex");return h.create=function(){return new F(t,u,t)},h.update=function(d){return h.create().update(d)},J(h,ie,t,u)},pe=function(t,u){var h=oe(t,u,"hex");return h.create=function(d){return new F(t,u,d)},h.update=function(d,y){return h.create(y).update(d)},J(h,oe,t,u)},ge=function(t,u){var h=I[t],d=le(t,u,"hex");return d.create=function(y,m,S){return ne(m)&&ne(S)?N["shake"+t].create(y):new F(t,u,y).bytepad([m,S],h)},d.update=function(y,m,S,b){return d.create(m,S,b).update(y)},J(d,le,t,u)},ye=function(t,u){var h=I[t],d=se(t,u,"hex");return d.create=function(y,m,S){return new Zt(t,u,m).bytepad(["KMAC",S],h).bytepad([y],h)},d.update=function(y,m,S,b){return d.create(y,S,b).update(m)},J(d,se,t,u)},ae=[{name:"keccak",padding:v,bits:B,createMethod:ce},{name:"sha3",padding:x,bits:B,createMethod:ce},{name:"shake",padding:p,bits:C,createMethod:pe},{name:"cshake",padding:g,bits:C,createMethod:ge},{name:"kmac",padding:g,bits:C,createMethod:ye}],N={},D=[],j=0;j<ae.length;++j)for(var R=ae[j],H=R.bits,$=0;$<H.length;++$){var Gt=R.name+"_"+H[$];if(D.push(Gt),N[Gt]=R.createMethod(H[$],R.padding),R.name!=="sha3"){var ue=R.name+H[$];D.push(ue),N[ue]=N[Gt]}}function F(t,u,h){this.blocks=[],this.s=[],this.padding=u,this.outputBits=h,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=h>>5,this.extraBytes=(h&31)>>3;for(var d=0;d<50;++d)this.s[d]=0}F.prototype.update=function(t){if(this.finalized)throw new Error(e);var u=M(t);t=u[0];for(var h=u[1],d=this.blocks,y=this.byteCount,m=t.length,S=this.blockCount,b=0,w=this.s,k,A;b<m;){if(this.reset)for(this.reset=!1,d[0]=this.block,k=1;k<S+1;++k)d[k]=0;if(h)for(k=this.start;b<m&&k<y;++b)A=t.charCodeAt(b),A<128?d[k>>2]|=A<<P[k++&3]:A<2048?(d[k>>2]|=(192|A>>6)<<P[k++&3],d[k>>2]|=(128|A&63)<<P[k++&3]):A<55296||A>=57344?(d[k>>2]|=(224|A>>12)<<P[k++&3],d[k>>2]|=(128|A>>6&63)<<P[k++&3],d[k>>2]|=(128|A&63)<<P[k++&3]):(A=65536+((A&1023)<<10|t.charCodeAt(++b)&1023),d[k>>2]|=(240|A>>18)<<P[k++&3],d[k>>2]|=(128|A>>12&63)<<P[k++&3],d[k>>2]|=(128|A>>6&63)<<P[k++&3],d[k>>2]|=(128|A&63)<<P[k++&3]);else for(k=this.start;b<m&&k<y;++b)d[k>>2]|=t[b]<<P[k++&3];if(this.lastByteIndex=k,k>=y){for(this.start=k-y,this.block=d[S],k=0;k<S;++k)w[k]^=d[k];V(w),this.reset=!0}else this.start=k}return this},F.prototype.encode=function(t,u){var h=t&255,d=1,y=[h];for(t=t>>8,h=t&255;h>0;)y.unshift(h),t=t>>8,h=t&255,++d;return u?y.push(d):y.unshift(d),this.update(y),y.length},F.prototype.encodeString=function(t){var u=M(t);t=u[0];var h=u[1],d=0,y=t.length;if(h)for(var m=0;m<t.length;++m){var S=t.charCodeAt(m);S<128?d+=1:S<2048?d+=2:S<55296||S>=57344?d+=3:(S=65536+((S&1023)<<10|t.charCodeAt(++m)&1023),d+=4)}else d=y;return d+=this.encode(d*8),this.update(t),d},F.prototype.bytepad=function(t,u){for(var h=this.encode(u),d=0;d<t.length;++d)h+=this.encodeString(t[d]);var y=(u-h%u)%u,m=[];return m.length=y,this.update(m),this},F.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,u=this.lastByteIndex,h=this.blockCount,d=this.s;if(t[u>>2]|=this.padding[u&3],this.lastByteIndex===this.byteCount)for(t[0]=t[h],u=1;u<h+1;++u)t[u]=0;for(t[h-1]|=2147483648,u=0;u<h;++u)d[u]^=t[u];V(d)}},F.prototype.toString=F.prototype.hex=function(){this.finalize();for(var t=this.blockCount,u=this.s,h=this.outputBlocks,d=this.extraBytes,y=0,m=0,S="",b;m<h;){for(y=0;y<t&&m<h;++y,++m)b=u[y],S+=a[b>>4&15]+a[b&15]+a[b>>12&15]+a[b>>8&15]+a[b>>20&15]+a[b>>16&15]+a[b>>28&15]+a[b>>24&15];m%t===0&&(u=qt(u),V(u),y=0)}return d&&(b=u[y],S+=a[b>>4&15]+a[b&15],d>1&&(S+=a[b>>12&15]+a[b>>8&15]),d>2&&(S+=a[b>>20&15]+a[b>>16&15])),S},F.prototype.arrayBuffer=function(){this.finalize();var t=this.blockCount,u=this.s,h=this.outputBlocks,d=this.extraBytes,y=0,m=0,S=this.outputBits>>3,b;d?b=new ArrayBuffer(h+1<<2):b=new ArrayBuffer(S);for(var w=new Uint32Array(b);m<h;){for(y=0;y<t&&m<h;++y,++m)w[m]=u[y];m%t===0&&(u=qt(u),V(u))}return d&&(w[m]=u[y],b=b.slice(0,S)),b},F.prototype.buffer=F.prototype.arrayBuffer,F.prototype.digest=F.prototype.array=function(){this.finalize();for(var t=this.blockCount,u=this.s,h=this.outputBlocks,d=this.extraBytes,y=0,m=0,S=[],b,w;m<h;){for(y=0;y<t&&m<h;++y,++m)b=m<<2,w=u[y],S[b]=w&255,S[b+1]=w>>8&255,S[b+2]=w>>16&255,S[b+3]=w>>24&255;m%t===0&&(u=qt(u),V(u))}return d&&(b=m<<2,w=u[y],S[b]=w&255,d>1&&(S[b+1]=w>>8&255),d>2&&(S[b+2]=w>>16&255)),S};function Zt(t,u,h){F.call(this,t,u,h)}Zt.prototype=new F,Zt.prototype.finalize=function(){return this.encode(this.outputBits,!0),F.prototype.finalize.call(this)};var V=function(t){var u,h,d,y,m,S,b,w,k,A,U,q,G,Z,Y,Q,X,tt,et,rt,nt,it,ot,lt,st,ct,at,ut,ft,ht,dt,pt,gt,yt,vt,mt,bt,St,kt,Pt,xt,_t,At,Bt,Ft,wt,Et,Ct,Ot,It,Nt,jt,Tt,Kt,zt,Mt,Rt,Wt,Dt,$t,Vt,Lt,Jt;for(d=0;d<48;d+=2)y=t[0]^t[10]^t[20]^t[30]^t[40],m=t[1]^t[11]^t[21]^t[31]^t[41],S=t[2]^t[12]^t[22]^t[32]^t[42],b=t[3]^t[13]^t[23]^t[33]^t[43],w=t[4]^t[14]^t[24]^t[34]^t[44],k=t[5]^t[15]^t[25]^t[35]^t[45],A=t[6]^t[16]^t[26]^t[36]^t[46],U=t[7]^t[17]^t[27]^t[37]^t[47],q=t[8]^t[18]^t[28]^t[38]^t[48],G=t[9]^t[19]^t[29]^t[39]^t[49],u=q^(S<<1|b>>>31),h=G^(b<<1|S>>>31),t[0]^=u,t[1]^=h,t[10]^=u,t[11]^=h,t[20]^=u,t[21]^=h,t[30]^=u,t[31]^=h,t[40]^=u,t[41]^=h,u=y^(w<<1|k>>>31),h=m^(k<<1|w>>>31),t[2]^=u,t[3]^=h,t[12]^=u,t[13]^=h,t[22]^=u,t[23]^=h,t[32]^=u,t[33]^=h,t[42]^=u,t[43]^=h,u=S^(A<<1|U>>>31),h=b^(U<<1|A>>>31),t[4]^=u,t[5]^=h,t[14]^=u,t[15]^=h,t[24]^=u,t[25]^=h,t[34]^=u,t[35]^=h,t[44]^=u,t[45]^=h,u=w^(q<<1|G>>>31),h=k^(G<<1|q>>>31),t[6]^=u,t[7]^=h,t[16]^=u,t[17]^=h,t[26]^=u,t[27]^=h,t[36]^=u,t[37]^=h,t[46]^=u,t[47]^=h,u=A^(y<<1|m>>>31),h=U^(m<<1|y>>>31),t[8]^=u,t[9]^=h,t[18]^=u,t[19]^=h,t[28]^=u,t[29]^=h,t[38]^=u,t[39]^=h,t[48]^=u,t[49]^=h,Z=t[0],Y=t[1],wt=t[11]<<4|t[10]>>>28,Et=t[10]<<4|t[11]>>>28,ut=t[20]<<3|t[21]>>>29,ft=t[21]<<3|t[20]>>>29,$t=t[31]<<9|t[30]>>>23,Vt=t[30]<<9|t[31]>>>23,_t=t[40]<<18|t[41]>>>14,At=t[41]<<18|t[40]>>>14,yt=t[2]<<1|t[3]>>>31,vt=t[3]<<1|t[2]>>>31,Q=t[13]<<12|t[12]>>>20,X=t[12]<<12|t[13]>>>20,Ct=t[22]<<10|t[23]>>>22,Ot=t[23]<<10|t[22]>>>22,ht=t[33]<<13|t[32]>>>19,dt=t[32]<<13|t[33]>>>19,Lt=t[42]<<2|t[43]>>>30,Jt=t[43]<<2|t[42]>>>30,Kt=t[5]<<30|t[4]>>>2,zt=t[4]<<30|t[5]>>>2,mt=t[14]<<6|t[15]>>>26,bt=t[15]<<6|t[14]>>>26,tt=t[25]<<11|t[24]>>>21,et=t[24]<<11|t[25]>>>21,It=t[34]<<15|t[35]>>>17,Nt=t[35]<<15|t[34]>>>17,pt=t[45]<<29|t[44]>>>3,gt=t[44]<<29|t[45]>>>3,lt=t[6]<<28|t[7]>>>4,st=t[7]<<28|t[6]>>>4,Mt=t[17]<<23|t[16]>>>9,Rt=t[16]<<23|t[17]>>>9,St=t[26]<<25|t[27]>>>7,kt=t[27]<<25|t[26]>>>7,rt=t[36]<<21|t[37]>>>11,nt=t[37]<<21|t[36]>>>11,jt=t[47]<<24|t[46]>>>8,Tt=t[46]<<24|t[47]>>>8,Bt=t[8]<<27|t[9]>>>5,Ft=t[9]<<27|t[8]>>>5,ct=t[18]<<20|t[19]>>>12,at=t[19]<<20|t[18]>>>12,Wt=t[29]<<7|t[28]>>>25,Dt=t[28]<<7|t[29]>>>25,Pt=t[38]<<8|t[39]>>>24,xt=t[39]<<8|t[38]>>>24,it=t[48]<<14|t[49]>>>18,ot=t[49]<<14|t[48]>>>18,t[0]=Z^~Q&tt,t[1]=Y^~X&et,t[10]=lt^~ct&ut,t[11]=st^~at&ft,t[20]=yt^~mt&St,t[21]=vt^~bt&kt,t[30]=Bt^~wt&Ct,t[31]=Ft^~Et&Ot,t[40]=Kt^~Mt&Wt,t[41]=zt^~Rt&Dt,t[2]=Q^~tt&rt,t[3]=X^~et&nt,t[12]=ct^~ut&ht,t[13]=at^~ft&dt,t[22]=mt^~St&Pt,t[23]=bt^~kt&xt,t[32]=wt^~Ct&It,t[33]=Et^~Ot&Nt,t[42]=Mt^~Wt&$t,t[43]=Rt^~Dt&Vt,t[4]=tt^~rt&it,t[5]=et^~nt&ot,t[14]=ut^~ht&pt,t[15]=ft^~dt&gt,t[24]=St^~Pt&_t,t[25]=kt^~xt&At,t[34]=Ct^~It&jt,t[35]=Ot^~Nt&Tt,t[44]=Wt^~$t&Lt,t[45]=Dt^~Vt&Jt,t[6]=rt^~it&Z,t[7]=nt^~ot&Y,t[16]=ht^~pt&lt,t[17]=dt^~gt&st,t[26]=Pt^~_t&yt,t[27]=xt^~At&vt,t[36]=It^~jt&Bt,t[37]=Nt^~Tt&Ft,t[46]=$t^~Lt&Kt,t[47]=Vt^~Jt&zt,t[8]=it^~Z&Q,t[9]=ot^~Y&X,t[18]=pt^~lt&ct,t[19]=gt^~st&at,t[28]=_t^~yt&mt,t[29]=At^~vt&bt,t[38]=jt^~Bt&wt,t[39]=Tt^~Ft&Et,t[48]=Lt^~Kt&Mt,t[49]=Jt^~zt&Rt,t[0]^=_[d],t[1]^=_[d+1]};if(s)f.exports=N;else for(j=0;j<D.length;++j)i[D[j]]=N[D[j]]})()})(Xt)),Xt.exports}var Oe=Ce();const Ie=Ee(Oe),{keccak256:de}=Ie;function ee(f){return new TextEncoder().encode(f)}function Ne(f){const r=f.startsWith("0x")?f.slice(2):f,e=new Uint8Array(r.length/2);for(let n=0;n<e.length;n++)e[n]=parseInt(r.substring(n*2,n*2+2),16);return e}function je(f){let r="";for(let e=0;e<f.length;e++)r+=f[e].toString(16).padStart(2,"0");return"0x"+r}function te(f,r,e){const n=JSON.stringify(f),i=ee(n),o=de(r+":"+e.join(".")),l=ee(o),s=new Uint8Array(i.length);for(let c=0;c<i.length;c++)s[c]=i[c]^l[c%l.length];return je(s)}function Ht(f,r,e){try{const n=Ne(f),i=de(r+":"+e.join(".")),o=ee(i),l=new Uint8Array(n.length);for(let c=0;c<n.length;c++)l[c]=n[c]^o[c%o.length];const s=new TextDecoder().decode(l);return JSON.parse(s)}catch{return null}}function Te(f){if(typeof f!="string"||!f.startsWith("0x"))return!1;const r=f.slice(2);return r.length<2||r.length%2!==0?!1:/^[0-9a-fA-F]+$/.test(r)}function Ke(f){const r=[];let e="",n=0,i=null;for(let l=0;l<f.length;l++){const s=f[l];if(i){e+=s,s===i&&(i=null);continue}if(s==='"'||s==="'"){i=s,e+=s;continue}if(s==="["){n++,e+=s;continue}if(s==="]"){n=Math.max(0,n-1),e+=s;continue}if(s==="."&&n===0){const c=e.trim();c&&r.push(c),e="";continue}e+=s}const o=e.trim();return o&&r.push(o),r}function ze(f,r,e){if(r.length===0){if(e.length===1&&typeof e[0]=="string"){const p=e[0].trim(),g=p.startsWith("_")||p.startsWith("~")||p.startsWith("@"),v=p.includes("."),x=/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(p);if(v||g||x){const P=Ke(p);return f.readPath(P)}}if(e.length===0)return f.createProxy([]);const c=f.normalizeArgs(e),a=f.postulate([],c);return a!==void 0?a:f.createProxy([])}const n=f.normalizeArgs(e),i=f.postulate(r,n),{scope:o,leaf:l}=f.splitPath(r),s=l?f.opKind(l):null;if(f.isThought(i)){const c=s?o:r;return f.createProxy(c)}return i!==void 0?i:f.createProxy(r)}function Me(f,r,e={}){const{path:n,expression:i}=r,o=Se(n,i);if(o)return{kind:"return",value:{define:o}};const l=ke(f,n,i);if(l)return{kind:"commit",instructions:[{path:l.scopeKey?l.scopeKey.split(".").filter(Boolean):[],op:"secret",value:i}]};const s=Pe(f,n,i);if(s)return{kind:"commit",instructions:[{path:s.scopeKey?s.scopeKey.split(".").filter(Boolean):[],op:"noise",value:i}]};const c=xe(f,n,i);if(c){const{scope:x}=E(n);return{kind:"commit",instructions:[{path:x,op:"ptr",value:ve(c.targetPath)}]}}const a=_e(f,n,i);if(a)return{kind:"commit",instructions:[{path:a.targetPath,op:"id",value:me(a.id)}]};const p=Fe(f,n,i);if(p)return{kind:"commit",instructions:[{path:p.targetPath,op:"remove",value:"-"}]};const g=Ae(f,n,i);if(g){if(g.mode==="assign")return{kind:"commit",instructions:[{path:[...g.targetPath,g.name],op:"derive",value:{kind:"expr",source:g.expr}}]};if(!e.evaluateThunk)throw new Error('Non-serializable derivation: "=" thunk requires `evaluateThunk` or serializable DNA.');const x=e.evaluateThunk(g.thunk);return g.targetPath.length===0?{kind:"return",value:x}:{kind:"commit",instructions:[{path:g.targetPath,op:"derive",value:x}]}}const v=Be(f,n,i);if(v){if(!e.readPath)return{kind:"commit",instructions:[{path:v.targetPath,op:"query",value:{paths:v.paths}}]};const x=v.paths.map(_=>e.readPath(_.split(".").filter(Boolean))),P=v.fn?v.fn(...x):x;return v.targetPath.length===0?{kind:"return",value:P}:{kind:"commit",instructions:[{path:v.targetPath,op:"query",value:P}]}}return{kind:"commit",instructions:[{path:n,op:"set",value:i}]}}const he="+";function L(f){let r=2166136261;for(let e=0;e<f.length;e++)r^=f.charCodeAt(e),r=Math.imul(r,16777619);return("00000000"+(r>>>0).toString(16)).slice(-8)}class re{constructor(r){this.localSecrets={},this.localNoises={},this.encryptedBranches={},this.index={},this._shortTermMemory=[],this.operators={_:{kind:"secret"},"~":{kind:"noise"},__:{kind:"pointer"},"->":{kind:"pointer"},"@":{kind:"identity"},"=":{kind:"eval"},"?":{kind:"query"},"-":{kind:"remove"}},this.localSecrets={},this.localNoises={},this.encryptedBranches={},this.index={},this.operators={_:{kind:"secret"},"~":{kind:"noise"},__:{kind:"pointer"},"->":{kind:"pointer"},"@":{kind:"identity"},"=":{kind:"eval"},"?":{kind:"query"},"-":{kind:"remove"}},this._shortTermMemory=[],r!==void 0&&this.postulate([],r),this.rebuildIndex();const e=this.createProxy([]);return Object.setPrototypeOf(e,re.prototype),Object.assign(e,this),e}get shortTermMemory(){return this._shortTermMemory}inspect(r){const e=r?.last;return{thoughts:typeof e=="number"&&Number.isFinite(e)&&e>0?this._shortTermMemory.slice(-Math.floor(e)):this._shortTermMemory.slice(),index:{...this.index},encryptedScopes:Object.keys(this.encryptedBranches),secretScopes:Object.keys(this.localSecrets),noiseScopes:Object.keys(this.localNoises)}}isRemoveCall(r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);if(!i||this.opKind(i)!=="remove")return null;if(e==null)return{targetPath:n};if(typeof e=="string"){const o=e.split(".").filter(Boolean);return{targetPath:[...n,...o]}}return null}createProxy(r){const e=this,n=(...i)=>ze({createProxy:o=>e.createProxy(o),normalizeArgs:o=>e.normalizeArgs(o),readPath:o=>e.readPath(o),postulate:(o,l)=>e.postulate(o,l),opKind:o=>e.opKind(o),splitPath:E,isThought:be},r,i);return new Proxy(n,{get(i,o){if(typeof o=="symbol")return i[o];if(o in e){const s=e[o];return typeof s=="function"?s.bind(e):s}const l=[...r,String(o)];return e.createProxy(l)},apply(i,o,l){return Reflect.apply(i,void 0,l)}})}normalizeArgs(r){if(r.length!==0)return r.length===1?r[0]:r}opKind(r){return this.operators[r]?.kind??null}isSecretScopeCall(r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);return!i||this.opKind(i)!=="secret"||typeof e!="string"?null:{scopeKey:n.join(".")}}isNoiseScopeCall(r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);return!i||this.opKind(i)!=="noise"||typeof e!="string"?null:{scopeKey:n.join(".")}}isPointerCall(r,e){if(r.length===0)return null;const{leaf:n}=E(r);if(!n||this.opKind(n)!=="pointer"||typeof e!="string")return null;const i=e.trim().replace(/^\./,"");return i?{targetPath:i}:null}isIdentityCall(r,e){if(r.length===1&&this.opKind(r[0])==="identity")return typeof e!="string"?null:{id:Ut(e),targetPath:[]};const{scope:n,leaf:i}=E(r);return!i||this.opKind(i)!=="identity"||typeof e!="string"?null:{id:Ut(e),targetPath:n}}isEvalCall(r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);if(!i||this.opKind(i)!=="eval")return null;if(typeof e=="function")return{mode:"thunk",targetPath:n,thunk:e};if(Array.isArray(e)&&e.length>=2){const o=String(e[0]??"").trim(),l=String(e[1]??"").trim();return!o||!l?null:{mode:"assign",targetPath:n,name:o,expr:l}}return null}isQueryCall(r,e){if(r.length===0)return null;const{scope:n,leaf:i}=E(r);if(!i||this.opKind(i)!=="query")return null;let o=null,l;if(Array.isArray(e)&&e.length>0)Array.isArray(e[0])&&(e.length===1||typeof e[1]=="function")?(o=e[0],l=typeof e[1]=="function"?e[1]:void 0):o=e;else return null;if(!Array.isArray(o)||o.length===0)return null;const s=o.map(c=>String(c)).map(c=>c.trim()).filter(c=>c.length>0);return s.length===0?null:{targetPath:n,paths:s,fn:l}}isDefineOpCall(r,e){if(r.length!==1||r[0]!==he||!Array.isArray(e)||e.length<2)return null;const i=String(e[0]??"").trim(),o=String(e[1]??"").trim();return!i||!o||i===he?null:{op:i,kind:o}}commitThoughtOnly(r,e,n,i){const o=r.join("."),l=this.computeEffectiveSecret(r),s=JSON.stringify({path:o,operator:e,expression:n,value:i,effectiveSecret:l}),c=L(s),a=Date.now(),p={path:o,operator:e,expression:n,value:i,effectiveSecret:l,hash:c,timestamp:a};return this._shortTermMemory.push(p),this.rebuildIndex(),p}commitValueMapping(r,e,n=null){let i=e;const o=r.join("."),l=this.computeEffectiveSecret(r),s=this.resolveBranchScope(r);if(s&&s.length===0&&this.localSecrets[""]&&this.localSecrets[o],s&&s.length>0){const c=this.computeEffectiveSecret(s),a=r.slice(s.length),p=this.getBranchBlob(s);let g={};if(p&&c){const v=Ht(p,c,s);v&&typeof v=="object"&&(g=v)}if(a.length===0)(typeof g!="object"||g===null)&&(g={}),g.expression=e;else{let v=g;for(let x=0;x<a.length-1;x++){const P=a[x];(!v[P]||typeof v[P]!="object")&&(v[P]={}),v=v[P]}v[a[a.length-1]]=e}if(c){const v=te(g,c,s);this.setBranchBlob(s,v)}i=e}else if(l){const c=n!=="="&&n!=="?";z(e)||Yt(e)||!c?i=e:i=te(e,l,r)}else i=e;return this.commitThoughtOnly(r,n,e,i)}commitMapping(r,e=null){switch(r.op){case"set":return this.commitValueMapping(r.path,r.value,e);case"ptr":return this.commitValueMapping(r.path,r.value,"__");case"id":return this.commitValueMapping(r.path,r.value,"@");case"secret":{if(typeof r.value!="string")return;const n=r.path.join(".");return this.localSecrets[n]=r.value,this.commitThoughtOnly(r.path,"_","***","***")}default:return}}tryResolveEvalToken(r,e){const n=c=>{if(typeof c=="number"&&Number.isFinite(c))return c;if(typeof c=="string"){const a=Number(c);if(Number.isFinite(a))return a}return null};if(r.startsWith("__ptr.")){const c=this.getIndex(e);if(!z(c))return{ok:!1};const a=r.slice(6).split(".").filter(Boolean),p=[...c.__ptr.split(".").filter(Boolean),...a],g=this.readPath(p),v=n(g);return v===null?{ok:!1}:{ok:!0,value:v}}const i=r.split(".").filter(Boolean),o=[...e,...i];let l=this.readPath(o);l==null&&(l=this.readPath(i));const s=n(l);return s===null?{ok:!1}:{ok:!0,value:s}}tryEvaluateAssignExpression(r,e){const n=String(e??"").trim();if(!n)return{ok:!1};if(/['"`]/.test(n))return{ok:!1};if(!/^[\w.\s+\-*/%()[\]<>!=&|]+$/.test(n))return{ok:!1};const i=String.raw`[A-Za-z_][A-Za-z0-9_]*(?:\[(?:"[^"]*"|'[^']*'|[^\]]+)\])*`,o=new RegExp(String.raw`__ptr(?:\.${i})*|${i}(?:\.${i})*`,"g"),l={true:!0,false:!1,null:null,undefined:void 0,NaN:NaN,Infinity:1/0},s=[],c=new Map;let a=!1;const p=n.replace(o,g=>{let v=c.get(g);if(v===void 0)if(Object.prototype.hasOwnProperty.call(l,g))v=s.length,s.push(l[g]),c.set(g,v);else{const x=this.tryResolveEvalToken(g,r);if(!x.ok)return a=!0,g;v=s.length,s.push(x.value),c.set(g,v)}return`__v[${v}]`});if(a)return{ok:!1};if(!/^[\s\d+\-*/%().<>=!&|\[\]_v]+$/.test(p))return{ok:!1};try{const g=Function("__v",`"use strict"; return (${p});`)(s);if(typeof g=="number"&&Number.isFinite(g))return{ok:!0,value:g};if(typeof g=="boolean")return{ok:!0,value:g}}catch{return{ok:!1}}return{ok:!1}}postulate(r,e,n=null){let i=r;const o=this.isDefineOpCall(i,e);if(o){this.operators[o.op]={kind:o.kind};return}const{leaf:l}=E(i),s=l?this.opKind(l):null;if(s===null||s==="secret"||s==="pointer"||s==="identity"){const x=Me(this.operators,{path:i,expression:e});if(x.kind==="commit"){const P=new Set(["set","secret","ptr","id"]);if(x.instructions.every(B=>P.has(B.op))){let B;for(const C of x.instructions){const O=this.commitMapping(C,n);O&&(B=O)}if(B)return B}}}const a=this.isEvalCall(i,e);if(a){if(a.mode==="thunk"){const B=a.thunk();return a.targetPath.length===0?B:this.postulate(a.targetPath,B,"=")}if(this.pathContainsIterator(a.targetPath)){const B=this.collectIteratorIndices(a.targetPath);let C;for(const O of B){const I=this.normalizeSelectorPath(this.substituteIteratorInPath(a.targetPath,O)),W=this.normalizeSelectorPath([...I,a.name]),K=this.substituteIteratorInExpression(a.expr,O),M=this.tryEvaluateAssignExpression(I,K);C=this.postulate(W,M.ok?M.value:K,"=")}return C}if(this.pathContainsFilterSelector(a.targetPath)){const B=this.collectFilteredScopes(a.targetPath);let C;for(const O of B){const I=this.normalizeSelectorPath(O),W=this.normalizeSelectorPath([...I,a.name]),K=this.tryEvaluateAssignExpression(I,a.expr);C=this.postulate(W,K.ok?K.value:a.expr,"=")}return C}const x=this.normalizeSelectorPath([...a.targetPath,a.name]),P=this.normalizeSelectorPath(a.targetPath),_=this.tryEvaluateAssignExpression(P,a.expr);return _.ok?this.postulate(x,_.value,"="):this.postulate(x,a.expr,"=")}const p=this.isQueryCall(i,e);if(p){const x=p.paths.map(_=>this.readPath(_.split(".").filter(Boolean))),P=p.fn?p.fn(...x):x;return p.targetPath.length===0?P:this.postulate(p.targetPath,P,"?")}const g=this.isRemoveCall(i,e);if(g){this.removeSubtree(g.targetPath);return}const v=this.isNoiseScopeCall(i,e);if(v){this.localNoises[v.scopeKey]=e;const x=v.scopeKey?v.scopeKey.split(".").filter(Boolean):[];return this.commitThoughtOnly(x,"~","***","***")}return this.commitValueMapping(i,e,n)}removeSubtree(r){const e=r.join(".");for(const a of Object.keys(this.localSecrets)){if(e===""){delete this.localSecrets[a];continue}(a===e||a.startsWith(e+"."))&&delete this.localSecrets[a]}for(const a of Object.keys(this.localNoises)){if(e===""){delete this.localNoises[a];continue}(a===e||a.startsWith(e+"."))&&delete this.localNoises[a]}for(const a of Object.keys(this.encryptedBranches)){if(e===""){delete this.encryptedBranches[a];continue}if(a===e||a.startsWith(e+".")){delete this.encryptedBranches[a];continue}const p=a.split(".").filter(Boolean);if(!Qt(r,p)||r.length<=p.length)continue;const g=this.computeEffectiveSecret(p);if(!g)continue;const v=this.getBranchBlob(p);if(!v)continue;const x=Ht(v,g,p);if(!x||typeof x!="object")continue;const P=r.slice(p.length);let _=x;for(let B=0;B<P.length-1;B++){const C=P[B];if(!_||typeof _!="object"||!(C in _)){_=null;break}_=_[C]}if(_&&typeof _=="object"){delete _[P[P.length-1]];const B=te(x,g,p);this.setBranchBlob(p,B)}}const n=r.join("."),i=Date.now(),o=this.computeEffectiveSecret(r),l=JSON.stringify({path:n,operator:"-",expression:"-",value:"-",effectiveSecret:o}),s=L(l),c={path:n,operator:"-",expression:"-",value:"-",effectiveSecret:o,hash:s,timestamp:i};this._shortTermMemory.push(c),this.rebuildIndex()}computeEffectiveSecret(r){let e=null,n=null;this.localNoises[""]!==void 0&&(e="",n=this.localNoises[""]);for(let o=1;o<=r.length;o++){const l=r.slice(0,o).join(".");this.localNoises[l]!==void 0&&(e=l,n=this.localNoises[l])}let i="root";n?i=L("noise::"+n):this.localSecrets[""]&&(i=L(i+"::"+this.localSecrets[""])),e===null||e===""||e.split(".").filter(Boolean).length;for(let o=1;o<=r.length;o++){const l=r.slice(0,o).join(".");if(this.localSecrets[l]){if(e!==null&&e!==""){const s=e+".";if(!(l===e||l.startsWith(s)))continue}i=L(i+"::"+this.localSecrets[l])}}return i==="root"?"":i}rebuildIndex(){const r={};for(const e of this._shortTermMemory){const n=e.path,i=n.split(".").filter(Boolean),o=this.resolveBranchScope(i),l=o&&o.length>0&&Qt(i,o);if(e.operator==="-"){if(n===""){for(const c of Object.keys(r))delete r[c];continue}const s=n+".";for(const c of Object.keys(r))(c===n||c.startsWith(s))&&delete r[c];continue}l||(r[n]=e.value)}this.index=r}getIndex(r){return this.index[r.join(".")]}setIndex(r,e){this.index[r.join(".")]=e}resolveIndexPointerPath(r,e=8){let n=r;for(let i=0;i<e;i++){const o=this.getIndex(n);if(z(o)){n=o.__ptr.split(".").filter(Boolean);continue}let l=!1;for(let s=n.length-1;s>=0;s--){const c=n.slice(0,s),a=this.getIndex(c);if(!z(a))continue;const p=a.__ptr.split(".").filter(Boolean),g=n.slice(s);n=[...p,...g],l=!0;break}if(!l)return{path:n,raw:o}}return{path:n,raw:void 0}}setBranchBlob(r,e){const n=r.join(".");this.encryptedBranches[n]=e}getBranchBlob(r){const e=r.join(".");return this.encryptedBranches[e]}resolveBranchScope(r){let e=null;this.localSecrets[""]&&(e=[]);for(let n=1;n<=r.length;n++){const i=r.slice(0,n),o=i.join(".");this.localSecrets[o]&&(e=i)}return e}normalizeSelectorPath(r){const e=[];for(const n of r){const i=String(n).trim();if(!i)continue;const o=i.indexOf("[");if(o===-1){e.push(i);continue}const l=i.slice(0,o).trim(),s=i.slice(o);l&&e.push(l);const c=Array.from(s.matchAll(/\[([^\]]*)\]/g));if(c.map(p=>p[0]).join("")!==s){e.push(s);continue}for(const p of c){let g=(p[1]??"").trim();(g.startsWith('"')&&g.endsWith('"')||g.startsWith("'")&&g.endsWith("'"))&&(g=g.slice(1,-1)),g&&e.push(g)}}return e}pathContainsIterator(r){return r.some(e=>e.includes("[i]"))}substituteIteratorInPath(r,e){return r.map(n=>n.split("[i]").join(`[${e}]`))}substituteIteratorInExpression(r,e){return String(r??"").split("[i]").join(`[${e}]`)}collectIteratorIndices(r){const e=r.findIndex(o=>o.includes("[i]"));if(e===-1)return[];const n=[];for(let o=0;o<=e;o++){const l=r[o];if(o===e){const s=l.split("[i]").join("").trim();s&&n.push(s)}else n.push(l)}const i=new Set;for(const o of Object.keys(this.index)){const l=o.split(".").filter(Boolean);if(l.length<=n.length)continue;let s=!0;for(let c=0;c<n.length;c++)if(l[c]!==n[c]){s=!1;break}s&&i.add(l[n.length])}return Array.from(i).sort((o,l)=>{const s=Number(o),c=Number(l),a=Number.isFinite(s),p=Number.isFinite(c);return a&&p?s-c:a?-1:p?1:o.localeCompare(l)})}parseFilterExpression(r){const n=String(r??"").trim().match(/^(.+?)\s*(>=|<=|==|!=|>|<)\s*(.+)$/);if(!n)return null;const i=n[1].trim(),o=n[2],l=n[3].trim();return!i||!l?null:{left:i,op:o,right:l}}parseLogicalFilterExpression(r){const e=String(r??"").trim();if(!e)return null;const n=e.split(/\s*(&&|\|\|)\s*/).filter(l=>l.length>0);if(n.length===0)return null;const i=[],o=[];for(let l=0;l<n.length;l++)if(l%2===0){const s=this.parseFilterExpression(n[l]);if(!s)return null;i.push(s)}else{const s=n[l];if(s!=="&&"&&s!=="||")return null;o.push(s)}return i.length===0||o.length!==Math.max(0,i.length-1)?null:{clauses:i,ops:o}}compareValues(r,e,n){switch(e){case">":return r>n;case"<":return r<n;case">=":return r>=n;case"<=":return r<=n;case"==":return r==n;case"!=":return r!=n;default:return!1}}parseLiteralOrPath(r){const e=r.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{kind:"literal",value:e.slice(1,-1)};if(e==="true")return{kind:"literal",value:!0};if(e==="false")return{kind:"literal",value:!1};if(e==="null")return{kind:"literal",value:null};const n=Number(e);return Number.isFinite(n)?{kind:"literal",value:n}:{kind:"path",parts:this.normalizeSelectorPath(e.split(".").filter(Boolean))}}resolveRelativeFirst(r,e){const n=this.readPath([...r,...e]);return n??this.readPath(e)}evaluateFilterClauseForScope(r,e){const n=this.normalizeSelectorPath(e.left.split(".").filter(Boolean)),i=this.resolveRelativeFirst(r,n);if(i==null)return!1;const o=this.parseLiteralOrPath(e.right),l=o.kind==="literal"?o.value:this.resolveRelativeFirst(r,o.parts);return l==null?!1:this.compareValues(i,e.op,l)}evaluateLogicalFilterForScope(r,e){const n=this.parseLogicalFilterExpression(e);if(!n)return!1;let i=this.evaluateFilterClauseForScope(r,n.clauses[0]);for(let o=1;o<n.clauses.length;o++){const l=this.evaluateFilterClauseForScope(r,n.clauses[o]);i=n.ops[o-1]==="&&"?i&&l:i||l}return i}collectChildrenForPrefix(r){const e=new Set;for(const n of Object.keys(this.index)){const i=n.split(".").filter(Boolean);if(i.length<=r.length)continue;let o=!0;for(let l=0;l<r.length;l++)if(i[l]!==r[l]){o=!1;break}o&&e.add(i[r.length])}return Array.from(e)}parseSelectorSegment(r){const e=String(r??"").trim(),n=e.indexOf("["),i=e.lastIndexOf("]");if(n<=0||i<=n||i!==e.length-1)return null;const o=e.slice(0,n).trim(),l=e.slice(n+1,i).trim();return!o||!l?null:{base:o,selector:l}}parseSelectorKeys(r){const e=r.trim();if(e.startsWith("[")&&e.endsWith("]")){const i=e.slice(1,-1).trim();return i?i.split(",").map(l=>l.trim()).filter(Boolean).map(l=>l.startsWith('"')&&l.endsWith('"')||l.startsWith("'")&&l.endsWith("'")?l.slice(1,-1):l):[]}const n=e.match(/^(-?\d+)\s*\.\.\s*(-?\d+)$/);if(n){const i=Number(n[1]),o=Number(n[2]);if(!Number.isFinite(i)||!Number.isFinite(o))return null;const l=i<=o?1:-1,s=[];if(Math.abs(o-i)>1e4)return null;for(let a=i;l>0?a<=o:a>=o;a+=l)s.push(String(a));return s}return null}parseTransformSelector(r){const n=r.trim().match(/^([A-Za-z_][A-Za-z0-9_]*)\s*=>\s*(.+)$/);if(!n)return null;const i=n[1].trim(),o=n[2].trim();return!i||!o?null:{varName:i,expr:o}}evaluateTransformPath(r){const e=r.findIndex(a=>{const p=this.parseSelectorSegment(a);return p?this.parseTransformSelector(p.selector)!==null:!1});if(e===-1)return;const n=this.parseSelectorSegment(r[e]);if(!n)return;const i=this.parseTransformSelector(n.selector);if(!i)return;const o=[...r.slice(0,e),n.base];if(r.slice(e+1).length>0)return;const s=this.collectChildrenForPrefix(o),c={};for(const a of s){const p=[...o,a],g=i.expr.replace(new RegExp(String.raw`\b${i.varName}\.`,"g"),""),v=this.tryEvaluateAssignExpression(p,g);v.ok&&(c[a]=v.value)}return c}evaluateSelectionPath(r){const e=r.findIndex(c=>this.parseSelectorSegment(c)!==null);if(e===-1)return;const n=this.parseSelectorSegment(r[e]);if(!n)return;const i=this.parseSelectorKeys(n.selector);if(i===null)return;const o=[...r.slice(0,e),n.base],l=r.slice(e+1),s={};for(const c of i){const a=[...o,c],p=l.length===0?this.buildPublicSubtree(a):this.readPath([...a,...l]);p!==void 0&&(s[c]=p)}return s}buildPublicSubtree(r){const e=r.join("."),n={};let i=!1;for(const[o,l]of Object.entries(this.index)){if(o===e)return l;if(!o.startsWith(e+"."))continue;const s=o.slice(e.length+1).split(".").filter(Boolean);let c=n;for(let a=0;a<s.length-1;a++){const p=s[a];(!c[p]||typeof c[p]!="object")&&(c[p]={}),c=c[p]}c[s[s.length-1]]=l,i=!0}return i?n:void 0}evaluateFilterPath(r){const e=r.findIndex(c=>this.parseLogicalFilterExpression(c)!==null);if(e===-1)return;const n=r[e],i=r.slice(0,e),o=r.slice(e+1);if(i.length===0)return;const l=this.collectChildrenForPrefix(i),s={};for(const c of l){const a=[...i,c];this.evaluateLogicalFilterForScope(a,n)&&(o.length===0?s[c]=this.buildPublicSubtree(a):s[c]=this.readPath([...a,...o]))}return s}pathContainsFilterSelector(r){return r.some(e=>{const n=this.parseSelectorSegment(e);return n?this.parseLogicalFilterExpression(n.selector)!==null:!1})}collectFilteredScopes(r){const e=r.findIndex(c=>{const a=this.parseSelectorSegment(c);return a?this.parseLogicalFilterExpression(a.selector)!==null:!1});if(e===-1)return[];const n=this.parseSelectorSegment(r[e]);if(!n)return[];const i=[...r.slice(0,e),n.base],o=r.slice(e+1),l=this.collectChildrenForPrefix(i),s=[];for(const c of l){const a=[...i,c];this.evaluateLogicalFilterForScope(a,n.selector)&&s.push([...a,...o])}return s}readPath(r){const e=this.evaluateTransformPath(r);if(e!==void 0)return e;const n=this.evaluateSelectionPath(r);if(n!==void 0)return n;r=this.normalizeSelectorPath(r);const i=this.evaluateFilterPath(r);if(i!==void 0)return i;const o=this.resolveBranchScope(r);if(o&&o.length>0&&Qt(r,o)){if(r.length===o.length)return;const p=this.computeEffectiveSecret(o);if(!p)return null;const g=this.getBranchBlob(o);if(!g)return;const v=Ht(g,p,o);if(!v||typeof v!="object")return;const x=r.slice(o.length);let P=v;for(const _ of x){if(!P||typeof P!="object")return;P=P[_]}return z(P)?this.readPath(P.__ptr.split(".").filter(Boolean)):(Yt(P),P)}const l=this.getIndex(r);if(z(l))return l;const s=this.resolveIndexPointerPath(r),c=s.raw;if(c===void 0)return s.path.length===r.length&&s.path.every((g,v)=>g===r[v])?void 0:this.readPath(s.path);if(z(c))return this.readPath(c.__ptr.split(".").filter(Boolean));if(Yt(c)||!Te(c))return c;const a=this.computeEffectiveSecret(r);return a?Ht(c,a,r):null}}module.exports=re;
1
+ "use strict";function ye(f){return{__ptr:f}}function D(f){return!!f&&typeof f=="object"&&typeof f.__ptr=="string"&&f.__ptr.length>0}function me(f){return{__id:f}}function Xt(f){return!!f&&typeof f=="object"&&typeof f.__id=="string"&&f.__id.length>0}function be(f){return!!f&&typeof f=="object"&&typeof f.path=="string"&&typeof f.hash=="string"&&typeof f.timestamp=="number"}function I(f){return f.length===0?{scope:[],leaf:null}:{scope:f.slice(0,-1),leaf:f[f.length-1]}}function qt(f,r){if(r.length>f.length)return!1;for(let t=0;t<r.length;t++)if(f[t]!==r[t])return!1;return!0}function Zt(f){const r=f.trim().toLowerCase();if(r.length<3||r.length>63)throw new Error(`Invalid username length: ${r.length}. Expected 3..63 characters.`);if(!/^[a-z0-9][a-z0-9-]*[a-z0-9]$/.test(r))throw new Error(`Invalid username. Use only [a-z0-9-], and start/end with [a-z0-9]. Got: ${f}`);if(r.includes("--"))throw new Error(`Invalid username. "--" is not allowed. Got: ${f}`);return r}function K(f,r){return f[r]?.kind??null}function ke(f,r){if(f.length!==1||f[0]!=="+"||!Array.isArray(r)||r.length<2)return null;const n=String(r[0]??"").trim(),i=String(r[1]??"").trim();return!n||!i||n==="+"?null:{op:n,kind:i}}function Se(f,r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);return!i||K(f,i)!=="secret"||typeof t!="string"?null:{scopeKey:n.join(".")}}function Pe(f,r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);return!i||K(f,i)!=="noise"||typeof t!="string"?null:{scopeKey:n.join(".")}}function xe(f,r,t){if(r.length===0)return null;const{leaf:n}=I(r);if(!n||K(f,n)!=="pointer"||typeof t!="string")return null;const i=t.trim().replace(/^\./,"");return i?{targetPath:i}:null}function _e(f,r,t){if(r.length===1&&K(f,r[0])==="identity")return typeof t!="string"?null:{id:Zt(t),targetPath:[]};const{scope:n,leaf:i}=I(r);return!i||K(f,i)!=="identity"||typeof t!="string"?null:{id:Zt(t),targetPath:n}}function Be(f,r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);if(!i||K(f,i)!=="eval")return null;if(typeof t=="function")return{mode:"thunk",targetPath:n,thunk:t};if(Array.isArray(t)&&t.length>=2){const o=String(t[0]??"").trim(),s=String(t[1]??"").trim();return!o||!s?null:{mode:"assign",targetPath:n,name:o,expr:s}}return null}function Ae(f,r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);if(!i||K(f,i)!=="query")return null;let o=null,s;if(Array.isArray(t)&&t.length>0)Array.isArray(t[0])&&(t.length===1||typeof t[1]=="function")?(o=t[0],s=typeof t[1]=="function"?t[1]:void 0):o=t;else return null;if(!Array.isArray(o)||o.length===0)return null;const a=o.map(l=>String(l)).map(l=>l.trim()).filter(l=>l.length>0);return a.length===0?null:{targetPath:n,paths:a,fn:s}}function Ee(f,r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);if(!i||K(f,i)!=="remove")return null;if(t==null)return{targetPath:n};if(typeof t=="string"){const o=t.split(".").filter(Boolean);return{targetPath:[...n,...o]}}return null}var Fe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function we(f){return f&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f}var te={exports:{}};var fe;function Ne(){return fe||(fe=1,(function(f){(function(){var r="input is invalid type",t="finalize already called",n=typeof window=="object",i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var o=!n&&typeof self=="object",s=!i.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;s?i=Fe:o&&(i=self);for(var a=!i.JS_SHA3_NO_COMMON_JS&&!0&&f.exports,l=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",c="0123456789abcdef".split(""),d=[31,7936,2031616,520093696],v=[4,1024,262144,67108864],y=[1,256,65536,16777216],S=[6,1536,393216,100663296],p=[0,8,16,24],_=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],A=[224,256,384,512],B=[128,256],F=["hex","buffer","arrayBuffer","array","digest"],O={128:168,256:136},E=i.JS_SHA3_NO_NODE_JS||!Array.isArray?function(e){return Object.prototype.toString.call(e)==="[object Array]"}:Array.isArray,j=l&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)?function(e){return typeof e=="object"&&e.buffer&&e.buffer.constructor===ArrayBuffer}:ArrayBuffer.isView,T=function(e){var u=typeof e;if(u==="string")return[e,!0];if(u!=="object"||e===null)throw new Error(r);if(l&&e.constructor===ArrayBuffer)return[new Uint8Array(e),!1];if(!E(e)&&!j(e))throw new Error(r);return[e,!1]},W=function(e){return T(e)[0].length===0},Gt=function(e){for(var u=[],h=0;h<e.length;++h)u[h]=e[h];return u},ie=function(e,u,h){return function(g){return new N(e,u,e).update(g)[h]()}},oe=function(e,u,h){return function(g,m){return new N(e,u,m).update(g)[h]()}},se=function(e,u,h){return function(g,m,b,P){return z["cshake"+e].update(g,m,b,P)[h]()}},le=function(e,u,h){return function(g,m,b,P){return z["kmac"+e].update(g,m,b,P)[h]()}},J=function(e,u,h,g){for(var m=0;m<F.length;++m){var b=F[m];e[b]=u(h,g,b)}return e},ae=function(e,u){var h=ie(e,u,"hex");return h.create=function(){return new N(e,u,e)},h.update=function(g){return h.create().update(g)},J(h,ie,e,u)},de=function(e,u){var h=oe(e,u,"hex");return h.create=function(g){return new N(e,u,g)},h.update=function(g,m){return h.create(m).update(g)},J(h,oe,e,u)},ge=function(e,u){var h=O[e],g=se(e,u,"hex");return g.create=function(m,b,P){return W(b)&&W(P)?z["shake"+e].create(m):new N(e,u,m).bytepad([b,P],h)},g.update=function(m,b,P,k){return g.create(b,P,k).update(m)},J(g,se,e,u)},ve=function(e,u){var h=O[e],g=le(e,u,"hex");return g.create=function(m,b,P){return new Qt(e,u,b).bytepad(["KMAC",P],h).bytepad([m],h)},g.update=function(m,b,P,k){return g.create(m,P,k).update(b)},J(g,le,e,u)},ce=[{name:"keccak",padding:y,bits:A,createMethod:ae},{name:"sha3",padding:S,bits:A,createMethod:ae},{name:"shake",padding:d,bits:B,createMethod:de},{name:"cshake",padding:v,bits:B,createMethod:ge},{name:"kmac",padding:v,bits:B,createMethod:ve}],z={},V=[],M=0;M<ce.length;++M)for(var R=ce[M],q=R.bits,$=0;$<q.length;++$){var Yt=R.name+"_"+q[$];if(V.push(Yt),z[Yt]=R.createMethod(q[$],R.padding),R.name!=="sha3"){var ue=R.name+q[$];V.push(ue),z[ue]=z[Yt]}}function N(e,u,h){this.blocks=[],this.s=[],this.padding=u,this.outputBits=h,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=h>>5,this.extraBytes=(h&31)>>3;for(var g=0;g<50;++g)this.s[g]=0}N.prototype.update=function(e){if(this.finalized)throw new Error(t);var u=T(e);e=u[0];for(var h=u[1],g=this.blocks,m=this.byteCount,b=e.length,P=this.blockCount,k=0,C=this.s,x,w;k<b;){if(this.reset)for(this.reset=!1,g[0]=this.block,x=1;x<P+1;++x)g[x]=0;if(h)for(x=this.start;k<b&&x<m;++k)w=e.charCodeAt(k),w<128?g[x>>2]|=w<<p[x++&3]:w<2048?(g[x>>2]|=(192|w>>6)<<p[x++&3],g[x>>2]|=(128|w&63)<<p[x++&3]):w<55296||w>=57344?(g[x>>2]|=(224|w>>12)<<p[x++&3],g[x>>2]|=(128|w>>6&63)<<p[x++&3],g[x>>2]|=(128|w&63)<<p[x++&3]):(w=65536+((w&1023)<<10|e.charCodeAt(++k)&1023),g[x>>2]|=(240|w>>18)<<p[x++&3],g[x>>2]|=(128|w>>12&63)<<p[x++&3],g[x>>2]|=(128|w>>6&63)<<p[x++&3],g[x>>2]|=(128|w&63)<<p[x++&3]);else for(x=this.start;k<b&&x<m;++k)g[x>>2]|=e[k]<<p[x++&3];if(this.lastByteIndex=x,x>=m){for(this.start=x-m,this.block=g[P],x=0;x<P;++x)C[x]^=g[x];H(C),this.reset=!0}else this.start=x}return this},N.prototype.encode=function(e,u){var h=e&255,g=1,m=[h];for(e=e>>8,h=e&255;h>0;)m.unshift(h),e=e>>8,h=e&255,++g;return u?m.push(g):m.unshift(g),this.update(m),m.length},N.prototype.encodeString=function(e){var u=T(e);e=u[0];var h=u[1],g=0,m=e.length;if(h)for(var b=0;b<e.length;++b){var P=e.charCodeAt(b);P<128?g+=1:P<2048?g+=2:P<55296||P>=57344?g+=3:(P=65536+((P&1023)<<10|e.charCodeAt(++b)&1023),g+=4)}else g=m;return g+=this.encode(g*8),this.update(e),g},N.prototype.bytepad=function(e,u){for(var h=this.encode(u),g=0;g<e.length;++g)h+=this.encodeString(e[g]);var m=(u-h%u)%u,b=[];return b.length=m,this.update(b),this},N.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,u=this.lastByteIndex,h=this.blockCount,g=this.s;if(e[u>>2]|=this.padding[u&3],this.lastByteIndex===this.byteCount)for(e[0]=e[h],u=1;u<h+1;++u)e[u]=0;for(e[h-1]|=2147483648,u=0;u<h;++u)g[u]^=e[u];H(g)}},N.prototype.toString=N.prototype.hex=function(){this.finalize();for(var e=this.blockCount,u=this.s,h=this.outputBlocks,g=this.extraBytes,m=0,b=0,P="",k;b<h;){for(m=0;m<e&&b<h;++m,++b)k=u[m],P+=c[k>>4&15]+c[k&15]+c[k>>12&15]+c[k>>8&15]+c[k>>20&15]+c[k>>16&15]+c[k>>28&15]+c[k>>24&15];b%e===0&&(u=Gt(u),H(u),m=0)}return g&&(k=u[m],P+=c[k>>4&15]+c[k&15],g>1&&(P+=c[k>>12&15]+c[k>>8&15]),g>2&&(P+=c[k>>20&15]+c[k>>16&15])),P},N.prototype.arrayBuffer=function(){this.finalize();var e=this.blockCount,u=this.s,h=this.outputBlocks,g=this.extraBytes,m=0,b=0,P=this.outputBits>>3,k;g?k=new ArrayBuffer(h+1<<2):k=new ArrayBuffer(P);for(var C=new Uint32Array(k);b<h;){for(m=0;m<e&&b<h;++m,++b)C[b]=u[m];b%e===0&&(u=Gt(u),H(u))}return g&&(C[b]=u[m],k=k.slice(0,P)),k},N.prototype.buffer=N.prototype.arrayBuffer,N.prototype.digest=N.prototype.array=function(){this.finalize();for(var e=this.blockCount,u=this.s,h=this.outputBlocks,g=this.extraBytes,m=0,b=0,P=[],k,C;b<h;){for(m=0;m<e&&b<h;++m,++b)k=b<<2,C=u[m],P[k]=C&255,P[k+1]=C>>8&255,P[k+2]=C>>16&255,P[k+3]=C>>24&255;b%e===0&&(u=Gt(u),H(u))}return g&&(k=b<<2,C=u[m],P[k]=C&255,g>1&&(P[k+1]=C>>8&255),g>2&&(P[k+2]=C>>16&255)),P};function Qt(e,u,h){N.call(this,e,u,h)}Qt.prototype=new N,Qt.prototype.finalize=function(){return this.encode(this.outputBits,!0),N.prototype.finalize.call(this)};var H=function(e){var u,h,g,m,b,P,k,C,x,w,U,Z,G,Y,Q,X,tt,et,rt,nt,it,ot,st,lt,at,ct,ut,ft,ht,pt,dt,gt,vt,yt,mt,bt,kt,St,Pt,xt,_t,Bt,At,Et,Ft,wt,Nt,Ct,Ot,It,jt,Tt,zt,Mt,Kt,Dt,Rt,Wt,Vt,$t,Ht,Lt,Jt;for(g=0;g<48;g+=2)m=e[0]^e[10]^e[20]^e[30]^e[40],b=e[1]^e[11]^e[21]^e[31]^e[41],P=e[2]^e[12]^e[22]^e[32]^e[42],k=e[3]^e[13]^e[23]^e[33]^e[43],C=e[4]^e[14]^e[24]^e[34]^e[44],x=e[5]^e[15]^e[25]^e[35]^e[45],w=e[6]^e[16]^e[26]^e[36]^e[46],U=e[7]^e[17]^e[27]^e[37]^e[47],Z=e[8]^e[18]^e[28]^e[38]^e[48],G=e[9]^e[19]^e[29]^e[39]^e[49],u=Z^(P<<1|k>>>31),h=G^(k<<1|P>>>31),e[0]^=u,e[1]^=h,e[10]^=u,e[11]^=h,e[20]^=u,e[21]^=h,e[30]^=u,e[31]^=h,e[40]^=u,e[41]^=h,u=m^(C<<1|x>>>31),h=b^(x<<1|C>>>31),e[2]^=u,e[3]^=h,e[12]^=u,e[13]^=h,e[22]^=u,e[23]^=h,e[32]^=u,e[33]^=h,e[42]^=u,e[43]^=h,u=P^(w<<1|U>>>31),h=k^(U<<1|w>>>31),e[4]^=u,e[5]^=h,e[14]^=u,e[15]^=h,e[24]^=u,e[25]^=h,e[34]^=u,e[35]^=h,e[44]^=u,e[45]^=h,u=C^(Z<<1|G>>>31),h=x^(G<<1|Z>>>31),e[6]^=u,e[7]^=h,e[16]^=u,e[17]^=h,e[26]^=u,e[27]^=h,e[36]^=u,e[37]^=h,e[46]^=u,e[47]^=h,u=w^(m<<1|b>>>31),h=U^(b<<1|m>>>31),e[8]^=u,e[9]^=h,e[18]^=u,e[19]^=h,e[28]^=u,e[29]^=h,e[38]^=u,e[39]^=h,e[48]^=u,e[49]^=h,Y=e[0],Q=e[1],wt=e[11]<<4|e[10]>>>28,Nt=e[10]<<4|e[11]>>>28,ft=e[20]<<3|e[21]>>>29,ht=e[21]<<3|e[20]>>>29,$t=e[31]<<9|e[30]>>>23,Ht=e[30]<<9|e[31]>>>23,Bt=e[40]<<18|e[41]>>>14,At=e[41]<<18|e[40]>>>14,yt=e[2]<<1|e[3]>>>31,mt=e[3]<<1|e[2]>>>31,X=e[13]<<12|e[12]>>>20,tt=e[12]<<12|e[13]>>>20,Ct=e[22]<<10|e[23]>>>22,Ot=e[23]<<10|e[22]>>>22,pt=e[33]<<13|e[32]>>>19,dt=e[32]<<13|e[33]>>>19,Lt=e[42]<<2|e[43]>>>30,Jt=e[43]<<2|e[42]>>>30,Mt=e[5]<<30|e[4]>>>2,Kt=e[4]<<30|e[5]>>>2,bt=e[14]<<6|e[15]>>>26,kt=e[15]<<6|e[14]>>>26,et=e[25]<<11|e[24]>>>21,rt=e[24]<<11|e[25]>>>21,It=e[34]<<15|e[35]>>>17,jt=e[35]<<15|e[34]>>>17,gt=e[45]<<29|e[44]>>>3,vt=e[44]<<29|e[45]>>>3,lt=e[6]<<28|e[7]>>>4,at=e[7]<<28|e[6]>>>4,Dt=e[17]<<23|e[16]>>>9,Rt=e[16]<<23|e[17]>>>9,St=e[26]<<25|e[27]>>>7,Pt=e[27]<<25|e[26]>>>7,nt=e[36]<<21|e[37]>>>11,it=e[37]<<21|e[36]>>>11,Tt=e[47]<<24|e[46]>>>8,zt=e[46]<<24|e[47]>>>8,Et=e[8]<<27|e[9]>>>5,Ft=e[9]<<27|e[8]>>>5,ct=e[18]<<20|e[19]>>>12,ut=e[19]<<20|e[18]>>>12,Wt=e[29]<<7|e[28]>>>25,Vt=e[28]<<7|e[29]>>>25,xt=e[38]<<8|e[39]>>>24,_t=e[39]<<8|e[38]>>>24,ot=e[48]<<14|e[49]>>>18,st=e[49]<<14|e[48]>>>18,e[0]=Y^~X&et,e[1]=Q^~tt&rt,e[10]=lt^~ct&ft,e[11]=at^~ut&ht,e[20]=yt^~bt&St,e[21]=mt^~kt&Pt,e[30]=Et^~wt&Ct,e[31]=Ft^~Nt&Ot,e[40]=Mt^~Dt&Wt,e[41]=Kt^~Rt&Vt,e[2]=X^~et&nt,e[3]=tt^~rt&it,e[12]=ct^~ft&pt,e[13]=ut^~ht&dt,e[22]=bt^~St&xt,e[23]=kt^~Pt&_t,e[32]=wt^~Ct&It,e[33]=Nt^~Ot&jt,e[42]=Dt^~Wt&$t,e[43]=Rt^~Vt&Ht,e[4]=et^~nt&ot,e[5]=rt^~it&st,e[14]=ft^~pt&gt,e[15]=ht^~dt&vt,e[24]=St^~xt&Bt,e[25]=Pt^~_t&At,e[34]=Ct^~It&Tt,e[35]=Ot^~jt&zt,e[44]=Wt^~$t&Lt,e[45]=Vt^~Ht&Jt,e[6]=nt^~ot&Y,e[7]=it^~st&Q,e[16]=pt^~gt&lt,e[17]=dt^~vt&at,e[26]=xt^~Bt&yt,e[27]=_t^~At&mt,e[36]=It^~Tt&Et,e[37]=jt^~zt&Ft,e[46]=$t^~Lt&Mt,e[47]=Ht^~Jt&Kt,e[8]=ot^~Y&X,e[9]=st^~Q&tt,e[18]=gt^~lt&ct,e[19]=vt^~at&ut,e[28]=Bt^~yt&bt,e[29]=At^~mt&kt,e[38]=Tt^~Et&wt,e[39]=zt^~Ft&Nt,e[48]=Lt^~Mt&Dt,e[49]=Jt^~Kt&Rt,e[0]^=_[g],e[1]^=_[g+1]};if(a)f.exports=z;else for(M=0;M<V.length;++M)i[V[M]]=z[V[M]]})()})(te)),te.exports}var Ce=Ne();const Oe=we(Ce),{keccak256:pe}=Oe;function re(f){return new TextEncoder().encode(f)}function Ie(f){const r=f.startsWith("0x")?f.slice(2):f,t=new Uint8Array(r.length/2);for(let n=0;n<t.length;n++)t[n]=parseInt(r.substring(n*2,n*2+2),16);return t}function je(f){let r="";for(let t=0;t<f.length;t++)r+=f[t].toString(16).padStart(2,"0");return"0x"+r}function ee(f,r,t){const n=JSON.stringify(f),i=re(n),o=pe(r+":"+t.join(".")),s=re(o),a=new Uint8Array(i.length);for(let l=0;l<i.length;l++)a[l]=i[l]^s[l%s.length];return je(a)}function Ut(f,r,t){try{const n=Ie(f),i=pe(r+":"+t.join(".")),o=re(i),s=new Uint8Array(n.length);for(let l=0;l<n.length;l++)s[l]=n[l]^o[l%o.length];const a=new TextDecoder().decode(s);return JSON.parse(a)}catch{return null}}function Te(f){if(typeof f!="string"||!f.startsWith("0x"))return!1;const r=f.slice(2);return r.length<2||r.length%2!==0?!1:/^[0-9a-fA-F]+$/.test(r)}function ze(f){const r=[];let t="",n=0,i=null;for(let s=0;s<f.length;s++){const a=f[s];if(i){t+=a,a===i&&(i=null);continue}if(a==='"'||a==="'"){i=a,t+=a;continue}if(a==="["){n++,t+=a;continue}if(a==="]"){n=Math.max(0,n-1),t+=a;continue}if(a==="."&&n===0){const l=t.trim();l&&r.push(l),t="";continue}t+=a}const o=t.trim();return o&&r.push(o),r}function Me(f,r,t){if(r.length===0){if(t.length===1&&typeof t[0]=="string"){const d=t[0].trim(),v=d.startsWith("_")||d.startsWith("~")||d.startsWith("@"),y=d.includes("."),S=/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(d);if(y||v||S){const p=ze(d);return f.readPath(p)}}if(t.length===0)return f.createProxy([]);const l=f.normalizeArgs(t),c=f.postulate([],l);return c!==void 0?c:f.createProxy([])}const n=f.normalizeArgs(t),i=f.postulate(r,n),{scope:o,leaf:s}=f.splitPath(r),a=s?f.opKind(s):null;if(f.isThought(i)){const l=a?o:r;return f.createProxy(l)}return i!==void 0?i:f.createProxy(r)}function Ke(f,r,t={}){const{path:n,expression:i}=r,o=ke(n,i);if(o)return{kind:"return",value:{define:o}};const s=Se(f,n,i);if(s)return{kind:"commit",instructions:[{path:s.scopeKey?s.scopeKey.split(".").filter(Boolean):[],op:"secret",value:i}]};const a=Pe(f,n,i);if(a)return{kind:"commit",instructions:[{path:a.scopeKey?a.scopeKey.split(".").filter(Boolean):[],op:"noise",value:i}]};const l=xe(f,n,i);if(l){const{scope:S}=I(n);return{kind:"commit",instructions:[{path:S,op:"ptr",value:ye(l.targetPath)}]}}const c=_e(f,n,i);if(c)return{kind:"commit",instructions:[{path:c.targetPath,op:"id",value:me(c.id)}]};const d=Ee(f,n,i);if(d)return{kind:"commit",instructions:[{path:d.targetPath,op:"remove",value:"-"}]};const v=Be(f,n,i);if(v){if(v.mode==="assign")return{kind:"commit",instructions:[{path:[...v.targetPath,v.name],op:"derive",value:{kind:"expr",source:v.expr}}]};if(!t.evaluateThunk)throw new Error('Non-serializable derivation: "=" thunk requires `evaluateThunk` or serializable DNA.');const S=t.evaluateThunk(v.thunk);return v.targetPath.length===0?{kind:"return",value:S}:{kind:"commit",instructions:[{path:v.targetPath,op:"derive",value:S}]}}const y=Ae(f,n,i);if(y){if(!t.readPath)return{kind:"commit",instructions:[{path:y.targetPath,op:"query",value:{paths:y.paths}}]};const S=y.paths.map(_=>t.readPath(_.split(".").filter(Boolean))),p=y.fn?y.fn(...S):S;return y.targetPath.length===0?{kind:"return",value:p}:{kind:"commit",instructions:[{path:y.targetPath,op:"query",value:p}]}}return{kind:"commit",instructions:[{path:n,op:"set",value:i}]}}const he="+";function L(f){let r=2166136261;for(let t=0;t<f.length;t++)r^=f.charCodeAt(t),r=Math.imul(r,16777619);return("00000000"+(r>>>0).toString(16)).slice(-8)}class ne{constructor(r){this.localSecrets={},this.localNoises={},this.encryptedBranches={},this.index={},this._shortTermMemory=[],this.derivations={},this.refSubscribers={},this.unsafeEval=!1,this.operators={_:{kind:"secret"},"~":{kind:"noise"},__:{kind:"pointer"},"->":{kind:"pointer"},"@":{kind:"identity"},"=":{kind:"eval"},"?":{kind:"query"},"-":{kind:"remove"}},this.localSecrets={},this.localNoises={},this.encryptedBranches={},this.index={},this.operators={_:{kind:"secret"},"~":{kind:"noise"},__:{kind:"pointer"},"->":{kind:"pointer"},"@":{kind:"identity"},"=":{kind:"eval"},"?":{kind:"query"},"-":{kind:"remove"}},this._shortTermMemory=[],r!==void 0&&this.postulate([],r),this.rebuildIndex();const t=this.createProxy([]);return Object.setPrototypeOf(t,ne.prototype),Object.assign(t,this),t}get shortTermMemory(){return this._shortTermMemory}inspect(r){const t=r?.last;return{thoughts:typeof t=="number"&&Number.isFinite(t)&&t>0?this._shortTermMemory.slice(-Math.floor(t)):this._shortTermMemory.slice(),index:{...this.index},encryptedScopes:Object.keys(this.encryptedBranches),secretScopes:Object.keys(this.localSecrets),noiseScopes:Object.keys(this.localNoises)}}explain(r){const t=this.normalizeSelectorPath(String(r??"").split(".").filter(Boolean)),n=t.join("."),i=this.readPath(t),o=this.derivations[n];if(!o)return{path:n,value:i,derivation:null,meta:{dependsOn:[]}};const s=o.refs.map(a=>{const l=this.normalizeSelectorPath(a.path.split(".").filter(Boolean)),c=this.resolveBranchScope(l),d=!!(c&&c.length>0&&qt(l,c)),v=this.readPath(l);return{label:a.label,path:a.path,value:d?"●●●●":v,origin:d?"stealth":"public",masked:d}});return{path:n,value:i,derivation:{expression:o.expression,inputs:s},meta:{dependsOn:o.refs.map(a=>a.path),lastComputedAt:o.lastComputedAt}}}cloneValue(r){const t=globalThis.structuredClone;return typeof t=="function"?t(r):JSON.parse(JSON.stringify(r))}exportSnapshot(){return this.cloneValue({shortTermMemory:this._shortTermMemory,localSecrets:this.localSecrets,localNoises:this.localNoises,encryptedBranches:this.encryptedBranches,operators:this.operators})}importSnapshot(r){const t=this.cloneValue(r??{});this._shortTermMemory=Array.isArray(t.shortTermMemory)?t.shortTermMemory:[],this.localSecrets=t.localSecrets&&typeof t.localSecrets=="object"?t.localSecrets:{},this.localNoises=t.localNoises&&typeof t.localNoises=="object"?t.localNoises:{},this.encryptedBranches=t.encryptedBranches&&typeof t.encryptedBranches=="object"?t.encryptedBranches:{},this.derivations={},this.refSubscribers={};const n={_:{kind:"secret"},"~":{kind:"noise"},__:{kind:"pointer"},"->":{kind:"pointer"},"@":{kind:"identity"},"=":{kind:"eval"},"?":{kind:"query"},"-":{kind:"remove"}};this.operators=t.operators&&typeof t.operators=="object"?{...n,...t.operators}:n,this.rebuildIndex()}rehydrate(r){this.importSnapshot(r)}replayThoughts(r){this.localSecrets={},this.localNoises={},this.encryptedBranches={},this.index={},this._shortTermMemory=[],this.derivations={},this.refSubscribers={};for(const t of r||[]){const n=String(t.path||"").split(".").filter(Boolean);if(t.operator==="_"){this.postulate([...n,"_"],typeof t.expression=="string"?t.expression:"***");continue}if(t.operator==="~"){this.postulate([...n,"~"],typeof t.expression=="string"?t.expression:"***");continue}if(t.operator==="@"){const i=t.expression&&t.expression.__id||t.value&&t.value.__id||t.value;typeof i=="string"&&i.length>0&&this.postulate([...n,"@"],i);continue}if(t.operator==="__"||t.operator==="->"){const i=t.expression&&t.expression.__ptr||t.value&&t.value.__ptr||t.value;typeof i=="string"&&i.length>0&&this.postulate([...n,"__"],i);continue}if(t.operator==="-"){this.removeSubtree(n);continue}if(t.operator==="="||t.operator==="?"){this.postulate(n,t.value,t.operator);continue}this.postulate(n,t.expression,t.operator)}this.rebuildIndex()}isRemoveCall(r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);if(!i||this.opKind(i)!=="remove")return null;if(t==null)return{targetPath:n};if(typeof t=="string"){const o=t.split(".").filter(Boolean);return{targetPath:[...n,...o]}}return null}createProxy(r){const t=this,n=(...i)=>Me({createProxy:o=>t.createProxy(o),normalizeArgs:o=>t.normalizeArgs(o),readPath:o=>t.readPath(o),postulate:(o,s)=>t.postulate(o,s),opKind:o=>t.opKind(o),splitPath:I,isThought:be},r,i);return new Proxy(n,{get(i,o){if(typeof o=="symbol")return i[o];if(o in t){const a=t[o];return typeof a=="function"?a.bind(t):a}const s=[...r,String(o)];return t.createProxy(s)},apply(i,o,s){return Reflect.apply(i,void 0,s)}})}normalizeArgs(r){if(r.length!==0)return r.length===1?r[0]:r}opKind(r){return this.operators[r]?.kind??null}isSecretScopeCall(r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);return!i||this.opKind(i)!=="secret"||typeof t!="string"?null:{scopeKey:n.join(".")}}isNoiseScopeCall(r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);return!i||this.opKind(i)!=="noise"||typeof t!="string"?null:{scopeKey:n.join(".")}}isPointerCall(r,t){if(r.length===0)return null;const{leaf:n}=I(r);if(!n||this.opKind(n)!=="pointer"||typeof t!="string")return null;const i=t.trim().replace(/^\./,"");return i?{targetPath:i}:null}isIdentityCall(r,t){if(r.length===1&&this.opKind(r[0])==="identity")return typeof t!="string"?null:{id:Zt(t),targetPath:[]};const{scope:n,leaf:i}=I(r);return!i||this.opKind(i)!=="identity"||typeof t!="string"?null:{id:Zt(t),targetPath:n}}isEvalCall(r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);if(!i||this.opKind(i)!=="eval")return null;if(typeof t=="function")return{mode:"thunk",targetPath:n,thunk:t};if(Array.isArray(t)&&t.length>=2){const o=String(t[0]??"").trim(),s=String(t[1]??"").trim();return!o||!s?null:{mode:"assign",targetPath:n,name:o,expr:s}}return null}isQueryCall(r,t){if(r.length===0)return null;const{scope:n,leaf:i}=I(r);if(!i||this.opKind(i)!=="query")return null;let o=null,s;if(Array.isArray(t)&&t.length>0)Array.isArray(t[0])&&(t.length===1||typeof t[1]=="function")?(o=t[0],s=typeof t[1]=="function"?t[1]:void 0):o=t;else return null;if(!Array.isArray(o)||o.length===0)return null;const a=o.map(l=>String(l)).map(l=>l.trim()).filter(l=>l.length>0);return a.length===0?null:{targetPath:n,paths:a,fn:s}}isDefineOpCall(r,t){if(r.length!==1||r[0]!==he||!Array.isArray(t)||t.length<2)return null;const i=String(t[0]??"").trim(),o=String(t[1]??"").trim();return!i||!o||i===he?null:{op:i,kind:o}}getPrevThoughtHash(){return this._shortTermMemory[this._shortTermMemory.length-1]?.hash??""}extractExpressionRefs(r){const t=String(r??"").trim();if(!t)return[];const n=String.raw`[A-Za-z_][A-Za-z0-9_]*(?:\[(?:"[^"]*"|'[^']*'|[^\]]+)\])*`,i=new RegExp(String.raw`__ptr(?:\.${n})*|${n}(?:\.${n})*`,"g"),o=new Set(["true","false","null","undefined","NaN","Infinity"]),s=new Set,a=t.match(i)||[];for(const l of a)o.has(l)||s.add(l);return Array.from(s)}resolveRefPath(r,t){if(!r||r.startsWith("__ptr."))return null;const n=this.normalizeSelectorPath(r.split(".").filter(Boolean));if(n.length===0)return null;const i=this.normalizeSelectorPath([...t,...n]).join("."),o=this.normalizeSelectorPath(n).join(".");return r.includes(".")?o:i}unregisterDerivation(r){const t=this.derivations[r];if(t){for(const n of t.refs){const i=this.refSubscribers[n.path]||[];this.refSubscribers[n.path]=i.filter(o=>o!==r),this.refSubscribers[n.path].length===0&&delete this.refSubscribers[n.path]}delete this.derivations[r]}}registerDerivation(r,t,n){const i=r.join(".");this.unregisterDerivation(i);const o=this.extractExpressionRefs(n),s=[],a=new Set;for(const l of o){const c=this.resolveRefPath(l,t);if(!c||a.has(c))continue;a.add(c),s.push({label:l,path:c});const d=this.refSubscribers[c]||[];d.includes(i)||d.push(i),this.refSubscribers[c]=d}this.derivations[i]={expression:n,evalScope:[...t],refs:s,lastComputedAt:Date.now()}}recomputeTarget(r){const t=this.derivations[r];if(!t)return!1;const n=this.normalizeSelectorPath(r.split(".").filter(Boolean)),i=this.tryEvaluateAssignExpression(t.evalScope,t.expression);return this.postulate(n,i.ok?i.value:t.expression,"="),t.lastComputedAt=Date.now(),!0}invalidateFromPath(r){const t=this.normalizeSelectorPath(r).join(".");if(!t)return;const n=[t],i=new Set;for(;n.length>0;){const o=n.shift(),s=this.refSubscribers[o]||[];for(const a of s){if(i.has(a))continue;i.add(a),this.recomputeTarget(a)&&n.push(a)}}}clearDerivationsByPrefix(r){const t=r.join(".");for(const n of Object.keys(this.derivations))(t===""||n===t||n.startsWith(t+"."))&&this.unregisterDerivation(n)}commitThoughtOnly(r,t,n,i){const o=r.join("."),s=this.computeEffectiveSecret(r),a=this.getPrevThoughtHash(),l=JSON.stringify({path:o,operator:t,expression:n,value:i,effectiveSecret:s,prevHash:a}),c=L(l),d=Date.now(),v={path:o,operator:t,expression:n,value:i,effectiveSecret:s,hash:c,prevHash:a,timestamp:d};return this._shortTermMemory.push(v),this.rebuildIndex(),v}commitValueMapping(r,t,n=null){let i=t;const o=r.join("."),s=this.computeEffectiveSecret(r),a=this.resolveBranchScope(r);if(a&&a.length===0&&this.localSecrets[""]&&this.localSecrets[o],a&&a.length>0){const l=this.computeEffectiveSecret(a),c=r.slice(a.length),d=this.getBranchBlob(a);let v={};if(d&&l){const y=Ut(d,l,a);y&&typeof y=="object"&&(v=y)}if(c.length===0)(typeof v!="object"||v===null)&&(v={}),v.expression=t;else{let y=v;for(let S=0;S<c.length-1;S++){const p=c[S];(!y[p]||typeof y[p]!="object")&&(y[p]={}),y=y[p]}y[c[c.length-1]]=t}if(l){const y=ee(v,l,a);this.setBranchBlob(a,y)}i=t}else if(s){const l=n!=="="&&n!=="?";D(t)||Xt(t)||!l?i=t:i=ee(t,s,r)}else i=t;return this.commitThoughtOnly(r,n,t,i)}commitMapping(r,t=null){switch(r.op){case"set":return this.commitValueMapping(r.path,r.value,t);case"ptr":return this.commitValueMapping(r.path,r.value,"__");case"id":return this.commitValueMapping(r.path,r.value,"@");case"secret":{if(typeof r.value!="string")return;const n=r.path.join(".");return this.localSecrets[n]=r.value,this.commitThoughtOnly(r.path,"_","***","***")}default:return}}tryResolveEvalTokenValue(r,t){if(r.startsWith("__ptr.")){const s=this.getIndex(t);if(!D(s))return{ok:!1};const a=r.slice(6).split(".").filter(Boolean),l=[...s.__ptr.split(".").filter(Boolean),...a],c=this.readPath(l);return c==null?{ok:!1}:{ok:!0,value:c}}const n=r.split(".").filter(Boolean),i=[...t,...n];let o=this.readPath(i);return o==null&&(o=this.readPath(n)),o==null?{ok:!1}:{ok:!0,value:o}}tokenizeEvalExpression(r){const t=[],n=String.raw`[A-Za-z_][A-Za-z0-9_]*(?:\[(?:"[^"]*"|'[^']*'|[^\]]+)\])*`,i=new RegExp(String.raw`^(?:__ptr(?:\.${n})*|${n}(?:\.${n})*)`),o={true:!0,false:!1,null:null,undefined:void 0,NaN:NaN,Infinity:1/0},s=new Set([">=","<=","==","!=","&&","||"]),a=new Set(["+","-","*","/","%","<",">","!"]);let l=0;for(;l<r.length;){const c=r[l];if(/\s/.test(c)){l++;continue}if(c==="("){t.push({kind:"lparen"}),l++;continue}if(c===")"){t.push({kind:"rparen"}),l++;continue}const d=r.slice(l,l+2);if(s.has(d)){t.push({kind:"op",value:d}),l+=2;continue}if(a.has(c)){t.push({kind:"op",value:c}),l++;continue}if(/\d/.test(c)||c==="."&&/\d/.test(r[l+1]??"")){let y=l;for(;y<r.length&&/[0-9]/.test(r[y]);)y++;if(r[y]===".")for(y++;y<r.length&&/[0-9]/.test(r[y]);)y++;if(r[y]==="e"||r[y]==="E"){let p=y+1;(r[p]==="+"||r[p]==="-")&&p++;let _=!1;for(;p<r.length&&/[0-9]/.test(r[p]);)_=!0,p++;if(!_)return null;y=p}const S=Number(r.slice(l,y));if(!Number.isFinite(S))return null;t.push({kind:"literal",value:S}),l=y;continue}const v=r.slice(l).match(i);if(v&&v[0]){const y=v[0];Object.prototype.hasOwnProperty.call(o,y)?t.push({kind:"literal",value:o[y]}):t.push({kind:"identifier",value:y}),l+=y.length;continue}return null}return t}tryEvaluateAssignExpression(r,t){const n=String(t??"").trim();if(!n)return{ok:!1};if(!/^[A-Za-z0-9_\s+\-*/%().<>=!&|\[\]"']+$/.test(n))return{ok:!1};if(this.unsafeEval)return{ok:!1};const i=this.tokenizeEvalExpression(n);if(!i||i.length===0)return{ok:!1};const o={"u-":7,"!":7,"*":6,"/":6,"%":6,"+":5,"-":5,"<":4,"<=":4,">":4,">=":4,"==":3,"!=":3,"&&":2,"||":1},s=new Set(["u-","!"]),a=[],l=[];let c="start";for(const S of i){if(S.kind==="literal"||S.kind==="identifier"){a.push(S),c="value";continue}if(S.kind==="lparen"){l.push(S),c="lparen";continue}if(S.kind==="rparen"){let _=!1;for(;l.length>0;){const A=l.pop();if(A.kind==="lparen"){_=!0;break}a.push(A)}if(!_)return{ok:!1};c="rparen";continue}let p=S.value;if(p==="-"&&(c==="start"||c==="op"||c==="lparen"))p="u-";else{if(p==="!"&&(c==="value"||c==="rparen"))return{ok:!1};if(p!=="!"&&(c==="start"||c==="op"||c==="lparen"))return{ok:!1}}for(;l.length>0;){const _=l[l.length-1];if(_.kind!=="op")break;const A=o[_.value]??-1,B=o[p]??-1;if(B<0)return{ok:!1};if(!(s.has(p)?B<A:B<=A))break;a.push(l.pop())}l.push({kind:"op",value:p}),c="op"}if(c==="op"||c==="lparen"||c==="start")return{ok:!1};for(;l.length>0;){const S=l.pop();if(S.kind==="lparen")return{ok:!1};a.push(S)}const d=S=>{if(typeof S=="number"&&Number.isFinite(S))return S;if(typeof S=="string"){const p=Number(S);if(Number.isFinite(p))return p}return null},v=[];for(const S of a){if(S.kind==="literal"){v.push(S.value);continue}if(S.kind==="identifier"){const E=this.tryResolveEvalTokenValue(S.value,r);if(!E.ok)return{ok:!1};v.push(E.value);continue}const p=S.value;if(p==="u-"||p==="!"){if(v.length<1)return{ok:!1};const E=v.pop();if(p==="u-"){const j=d(E);if(j===null)return{ok:!1};v.push(-j)}else v.push(!E);continue}if(v.length<2)return{ok:!1};const _=v.pop(),A=v.pop();if(p==="&&"||p==="||"){v.push(p==="&&"?!!A&&!!_:!!A||!!_);continue}if(p==="=="||p==="!="){v.push(p==="=="?A==_:A!=_);continue}if(p==="<"||p==="<="||p===">"||p===">="){const E=d(A),j=d(_);if(E===null||j===null)return{ok:!1};p==="<"&&v.push(E<j),p==="<="&&v.push(E<=j),p===">"&&v.push(E>j),p===">="&&v.push(E>=j);continue}const B=d(A),F=d(_);if(B===null||F===null)return{ok:!1};let O;if(p==="+")O=B+F;else if(p==="-")O=B-F;else if(p==="*")O=B*F;else if(p==="/")O=B/F;else if(p==="%")O=B%F;else return{ok:!1};if(!Number.isFinite(O))return{ok:!1};v.push(O)}if(v.length!==1)return{ok:!1};const y=v[0];return typeof y=="number"&&Number.isFinite(y)?{ok:!0,value:y}:typeof y=="boolean"?{ok:!0,value:y}:{ok:!1}}postulate(r,t,n=null){let i=r;const o=this.isDefineOpCall(i,t);if(o){this.operators[o.op]={kind:o.kind};return}const{leaf:s}=I(i),a=s?this.opKind(s):null;if(a===null||a==="secret"||a==="pointer"||a==="identity"){const p=Ke(this.operators,{path:i,expression:t});if(p.kind==="commit"){const _=new Set(["set","secret","ptr","id"]);if(p.instructions.every(B=>_.has(B.op))){let B;const F=[];for(const O of p.instructions){const E=this.commitMapping(O,n);E&&(B=E,F.push(E.path.split(".").filter(Boolean)))}if(B){for(const O of F)this.invalidateFromPath(O);return B}}}}const c=this.isEvalCall(i,t);if(c){if(c.mode==="thunk"){const B=c.thunk();return c.targetPath.length===0?B:this.postulate(c.targetPath,B,"=")}if(this.pathContainsIterator(c.targetPath)){const B=this.collectIteratorIndices(c.targetPath);let F;for(const O of B){const E=this.normalizeSelectorPath(this.substituteIteratorInPath(c.targetPath,O)),j=this.normalizeSelectorPath([...E,c.name]),T=this.substituteIteratorInExpression(c.expr,O);this.registerDerivation(j,E,T);const W=this.tryEvaluateAssignExpression(E,T);F=this.postulate(j,W.ok?W.value:T,"=")}return F}if(this.pathContainsFilterSelector(c.targetPath)){const B=this.collectFilteredScopes(c.targetPath);let F;for(const O of B){const E=this.normalizeSelectorPath(O),j=this.normalizeSelectorPath([...E,c.name]);this.registerDerivation(j,E,c.expr);const T=this.tryEvaluateAssignExpression(E,c.expr);F=this.postulate(j,T.ok?T.value:c.expr,"=")}return F}const p=this.normalizeSelectorPath([...c.targetPath,c.name]),_=this.normalizeSelectorPath(c.targetPath);this.registerDerivation(p,_,c.expr);const A=this.tryEvaluateAssignExpression(_,c.expr);return A.ok?this.postulate(p,A.value,"="):this.postulate(p,c.expr,"=")}const d=this.isQueryCall(i,t);if(d){const p=d.paths.map(A=>this.readPath(A.split(".").filter(Boolean))),_=d.fn?d.fn(...p):p;return d.targetPath.length===0?_:this.postulate(d.targetPath,_,"?")}const v=this.isRemoveCall(i,t);if(v){this.removeSubtree(v.targetPath);return}const y=this.isNoiseScopeCall(i,t);if(y){this.localNoises[y.scopeKey]=t;const p=y.scopeKey?y.scopeKey.split(".").filter(Boolean):[];return this.commitThoughtOnly(p,"~","***","***")}const S=this.commitValueMapping(i,t,n);return this.invalidateFromPath(i),S}removeSubtree(r){this.clearDerivationsByPrefix(r);const t=r.join(".");for(const d of Object.keys(this.localSecrets)){if(t===""){delete this.localSecrets[d];continue}(d===t||d.startsWith(t+"."))&&delete this.localSecrets[d]}for(const d of Object.keys(this.localNoises)){if(t===""){delete this.localNoises[d];continue}(d===t||d.startsWith(t+"."))&&delete this.localNoises[d]}for(const d of Object.keys(this.encryptedBranches)){if(t===""){delete this.encryptedBranches[d];continue}if(d===t||d.startsWith(t+".")){delete this.encryptedBranches[d];continue}const v=d.split(".").filter(Boolean);if(!qt(r,v)||r.length<=v.length)continue;const y=this.computeEffectiveSecret(v);if(!y)continue;const S=this.getBranchBlob(v);if(!S)continue;const p=Ut(S,y,v);if(!p||typeof p!="object")continue;const _=r.slice(v.length);let A=p;for(let B=0;B<_.length-1;B++){const F=_[B];if(!A||typeof A!="object"||!(F in A)){A=null;break}A=A[F]}if(A&&typeof A=="object"){delete A[_[_.length-1]];const B=ee(p,y,v);this.setBranchBlob(v,B)}}const n=r.join("."),i=Date.now(),o=this.computeEffectiveSecret(r),s=this.getPrevThoughtHash(),a=JSON.stringify({path:n,operator:"-",expression:"-",value:"-",effectiveSecret:o,prevHash:s}),l=L(a),c={path:n,operator:"-",expression:"-",value:"-",effectiveSecret:o,hash:l,prevHash:s,timestamp:i};this._shortTermMemory.push(c),this.rebuildIndex()}computeEffectiveSecret(r){let t=null,n=null;this.localNoises[""]!==void 0&&(t="",n=this.localNoises[""]);for(let o=1;o<=r.length;o++){const s=r.slice(0,o).join(".");this.localNoises[s]!==void 0&&(t=s,n=this.localNoises[s])}let i="root";n?i=L("noise::"+n):this.localSecrets[""]&&(i=L(i+"::"+this.localSecrets[""])),t===null||t===""||t.split(".").filter(Boolean).length;for(let o=1;o<=r.length;o++){const s=r.slice(0,o).join(".");if(this.localSecrets[s]){if(t!==null&&t!==""){const a=t+".";if(!(s===t||s.startsWith(a)))continue}i=L(i+"::"+this.localSecrets[s])}}return i==="root"?"":i}rebuildIndex(){const r={},t=this._shortTermMemory.map((n,i)=>({t:n,i})).sort((n,i)=>n.t.timestamp!==i.t.timestamp?n.t.timestamp-i.t.timestamp:n.t.hash!==i.t.hash?n.t.hash<i.t.hash?-1:1:n.i-i.i).map(n=>n.t);for(const n of t){const i=n.path,o=i.split(".").filter(Boolean),s=this.resolveBranchScope(o),a=s&&s.length>0&&qt(o,s);if(n.operator==="-"){if(i===""){for(const c of Object.keys(r))delete r[c];continue}const l=i+".";for(const c of Object.keys(r))(c===i||c.startsWith(l))&&delete r[c];continue}a||(r[i]=n.value)}this.index=r}getIndex(r){return this.index[r.join(".")]}setIndex(r,t){this.index[r.join(".")]=t}resolveIndexPointerPath(r,t=8){let n=r;for(let i=0;i<t;i++){const o=this.getIndex(n);if(D(o)){n=o.__ptr.split(".").filter(Boolean);continue}let s=!1;for(let a=n.length-1;a>=0;a--){const l=n.slice(0,a),c=this.getIndex(l);if(!D(c))continue;const d=c.__ptr.split(".").filter(Boolean),v=n.slice(a);n=[...d,...v],s=!0;break}if(!s)return{path:n,raw:o}}return{path:n,raw:void 0}}setBranchBlob(r,t){const n=r.join(".");this.encryptedBranches[n]=t}getBranchBlob(r){const t=r.join(".");return this.encryptedBranches[t]}resolveBranchScope(r){let t=null;this.localSecrets[""]&&(t=[]);for(let n=1;n<=r.length;n++){const i=r.slice(0,n),o=i.join(".");this.localSecrets[o]&&(t=i)}return t}normalizeSelectorPath(r){const t=[];for(const n of r){const i=String(n).trim();if(!i)continue;const o=i.indexOf("[");if(o===-1){t.push(i);continue}const s=i.slice(0,o).trim(),a=i.slice(o);s&&t.push(s);const l=Array.from(a.matchAll(/\[([^\]]*)\]/g));if(l.map(d=>d[0]).join("")!==a){t.push(a);continue}for(const d of l){let v=(d[1]??"").trim();(v.startsWith('"')&&v.endsWith('"')||v.startsWith("'")&&v.endsWith("'"))&&(v=v.slice(1,-1)),v&&t.push(v)}}return t}pathContainsIterator(r){return r.some(t=>t.includes("[i]"))}substituteIteratorInPath(r,t){return r.map(n=>n.split("[i]").join(`[${t}]`))}substituteIteratorInExpression(r,t){return String(r??"").split("[i]").join(`[${t}]`)}collectIteratorIndices(r){const t=r.findIndex(o=>o.includes("[i]"));if(t===-1)return[];const n=[];for(let o=0;o<=t;o++){const s=r[o];if(o===t){const a=s.split("[i]").join("").trim();a&&n.push(a)}else n.push(s)}const i=new Set;for(const o of Object.keys(this.index)){const s=o.split(".").filter(Boolean);if(s.length<=n.length)continue;let a=!0;for(let l=0;l<n.length;l++)if(s[l]!==n[l]){a=!1;break}a&&i.add(s[n.length])}return Array.from(i).sort((o,s)=>{const a=Number(o),l=Number(s),c=Number.isFinite(a),d=Number.isFinite(l);return c&&d?a-l:c?-1:d?1:o.localeCompare(s)})}parseFilterExpression(r){const n=String(r??"").trim().match(/^(.+?)\s*(>=|<=|==|!=|>|<)\s*(.+)$/);if(!n)return null;const i=n[1].trim(),o=n[2],s=n[3].trim();return!i||!s?null:{left:i,op:o,right:s}}parseLogicalFilterExpression(r){const t=String(r??"").trim();if(!t)return null;const n=t.split(/\s*(&&|\|\|)\s*/).filter(s=>s.length>0);if(n.length===0)return null;const i=[],o=[];for(let s=0;s<n.length;s++)if(s%2===0){const a=this.parseFilterExpression(n[s]);if(!a)return null;i.push(a)}else{const a=n[s];if(a!=="&&"&&a!=="||")return null;o.push(a)}return i.length===0||o.length!==Math.max(0,i.length-1)?null:{clauses:i,ops:o}}compareValues(r,t,n){switch(t){case">":return r>n;case"<":return r<n;case">=":return r>=n;case"<=":return r<=n;case"==":return r==n;case"!=":return r!=n;default:return!1}}parseLiteralOrPath(r){const t=r.trim();if(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))return{kind:"literal",value:t.slice(1,-1)};if(t==="true")return{kind:"literal",value:!0};if(t==="false")return{kind:"literal",value:!1};if(t==="null")return{kind:"literal",value:null};const n=Number(t);return Number.isFinite(n)?{kind:"literal",value:n}:{kind:"path",parts:this.normalizeSelectorPath(t.split(".").filter(Boolean))}}resolveRelativeFirst(r,t){const n=this.readPath([...r,...t]);return n??this.readPath(t)}evaluateFilterClauseForScope(r,t){const n=this.normalizeSelectorPath(t.left.split(".").filter(Boolean)),i=this.resolveRelativeFirst(r,n);if(i==null)return!1;const o=this.parseLiteralOrPath(t.right),s=o.kind==="literal"?o.value:this.resolveRelativeFirst(r,o.parts);return s==null?!1:this.compareValues(i,t.op,s)}evaluateLogicalFilterForScope(r,t){const n=this.parseLogicalFilterExpression(t);if(!n)return!1;let i=this.evaluateFilterClauseForScope(r,n.clauses[0]);for(let o=1;o<n.clauses.length;o++){const s=this.evaluateFilterClauseForScope(r,n.clauses[o]);i=n.ops[o-1]==="&&"?i&&s:i||s}return i}collectChildrenForPrefix(r){const t=new Set;for(const n of Object.keys(this.index)){const i=n.split(".").filter(Boolean);if(i.length<=r.length)continue;let o=!0;for(let s=0;s<r.length;s++)if(i[s]!==r[s]){o=!1;break}o&&t.add(i[r.length])}return Array.from(t)}parseSelectorSegment(r){const t=String(r??"").trim(),n=t.indexOf("["),i=t.lastIndexOf("]");if(n<=0||i<=n||i!==t.length-1)return null;const o=t.slice(0,n).trim(),s=t.slice(n+1,i).trim();return!o||!s?null:{base:o,selector:s}}parseSelectorKeys(r){const t=r.trim();if(t.startsWith("[")&&t.endsWith("]")){const i=t.slice(1,-1).trim();return i?i.split(",").map(s=>s.trim()).filter(Boolean).map(s=>s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'")?s.slice(1,-1):s):[]}const n=t.match(/^(-?\d+)\s*\.\.\s*(-?\d+)$/);if(n){const i=Number(n[1]),o=Number(n[2]);if(!Number.isFinite(i)||!Number.isFinite(o))return null;const s=i<=o?1:-1,a=[];if(Math.abs(o-i)>1e4)return null;for(let c=i;s>0?c<=o:c>=o;c+=s)a.push(String(c));return a}return null}parseTransformSelector(r){const n=r.trim().match(/^([A-Za-z_][A-Za-z0-9_]*)\s*=>\s*(.+)$/);if(!n)return null;const i=n[1].trim(),o=n[2].trim();return!i||!o?null:{varName:i,expr:o}}evaluateTransformPath(r){const t=r.findIndex(c=>{const d=this.parseSelectorSegment(c);return d?this.parseTransformSelector(d.selector)!==null:!1});if(t===-1)return;const n=this.parseSelectorSegment(r[t]);if(!n)return;const i=this.parseTransformSelector(n.selector);if(!i)return;const o=[...r.slice(0,t),n.base];if(r.slice(t+1).length>0)return;const a=this.collectChildrenForPrefix(o),l={};for(const c of a){const d=[...o,c],v=i.expr.replace(new RegExp(String.raw`\b${i.varName}\.`,"g"),""),y=this.tryEvaluateAssignExpression(d,v);y.ok&&(l[c]=y.value)}return l}evaluateSelectionPath(r){const t=r.findIndex(l=>this.parseSelectorSegment(l)!==null);if(t===-1)return;const n=this.parseSelectorSegment(r[t]);if(!n)return;const i=this.parseSelectorKeys(n.selector);if(i===null)return;const o=[...r.slice(0,t),n.base],s=r.slice(t+1),a={};for(const l of i){const c=[...o,l],d=s.length===0?this.buildPublicSubtree(c):this.readPath([...c,...s]);d!==void 0&&(a[l]=d)}return a}buildPublicSubtree(r){const t=r.join("."),n={};let i=!1;for(const[o,s]of Object.entries(this.index)){if(o===t)return s;if(!o.startsWith(t+"."))continue;const a=o.slice(t.length+1).split(".").filter(Boolean);let l=n;for(let c=0;c<a.length-1;c++){const d=a[c];(!l[d]||typeof l[d]!="object")&&(l[d]={}),l=l[d]}l[a[a.length-1]]=s,i=!0}return i?n:void 0}evaluateFilterPath(r){const t=r.findIndex(l=>this.parseLogicalFilterExpression(l)!==null);if(t===-1)return;const n=r[t],i=r.slice(0,t),o=r.slice(t+1);if(i.length===0)return;const s=this.collectChildrenForPrefix(i),a={};for(const l of s){const c=[...i,l];this.evaluateLogicalFilterForScope(c,n)&&(o.length===0?a[l]=this.buildPublicSubtree(c):a[l]=this.readPath([...c,...o]))}return a}pathContainsFilterSelector(r){return r.some(t=>{const n=this.parseSelectorSegment(t);return n?this.parseLogicalFilterExpression(n.selector)!==null:!1})}collectFilteredScopes(r){const t=r.findIndex(l=>{const c=this.parseSelectorSegment(l);return c?this.parseLogicalFilterExpression(c.selector)!==null:!1});if(t===-1)return[];const n=this.parseSelectorSegment(r[t]);if(!n)return[];const i=[...r.slice(0,t),n.base],o=r.slice(t+1),s=this.collectChildrenForPrefix(i),a=[];for(const l of s){const c=[...i,l];this.evaluateLogicalFilterForScope(c,n.selector)&&a.push([...c,...o])}return a}readPath(r){const t=this.evaluateTransformPath(r);if(t!==void 0)return t;const n=this.evaluateSelectionPath(r);if(n!==void 0)return n;r=this.normalizeSelectorPath(r);const i=this.evaluateFilterPath(r);if(i!==void 0)return i;const o=this.resolveBranchScope(r);if(o&&o.length>0&&qt(r,o)){if(r.length===o.length)return;const d=this.computeEffectiveSecret(o);if(!d)return null;const v=this.getBranchBlob(o);if(!v)return;const y=Ut(v,d,o);if(!y||typeof y!="object")return;const S=r.slice(o.length);let p=y;for(const _ of S){if(!p||typeof p!="object")return;p=p[_]}return D(p)?this.readPath(p.__ptr.split(".").filter(Boolean)):(Xt(p),p)}const s=this.getIndex(r);if(D(s))return s;const a=this.resolveIndexPointerPath(r),l=a.raw;if(l===void 0)return a.path.length===r.length&&a.path.every((v,y)=>v===r[y])?void 0:this.readPath(a.path);if(D(l))return this.readPath(l.__ptr.split(".").filter(Boolean));if(Xt(l)||!Te(l))return l;const c=this.computeEffectiveSecret(r);return c?Ut(l,c,r):null}}module.exports=ne;