@phantomclient/plugin 0.1.1 → 0.1.2

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.
@@ -0,0 +1,429 @@
1
+ import "./api-DhaU9Jsd.js";
2
+ const A = 1;
3
+ function b(t) {
4
+ return typeof t == "object" && t !== null && t.phantom === A && typeof t.type == "string";
5
+ }
6
+ function j(t) {
7
+ return b(t);
8
+ }
9
+ function D(t) {
10
+ return b(t);
11
+ }
12
+ function M(t, e = "") {
13
+ return `phantom-plugin://${t}/${e.replace(/^\/+/, "")}`;
14
+ }
15
+ const B = "__phantom/frame.html", N = "__phantom/runtime.js", G = "__phantom/runtime.css", H = 5299, F = "/__phantom/plugin.json", x = 15e8, q = 1e6, R = 32, T = 4;
16
+ function z(t, e, a) {
17
+ if (typeof e != "string" || !e) throw new TypeError("A prop is named by its id");
18
+ const r = (s) => t.changeProp(e, s, a);
19
+ return { id: e, move: (s, n) => r({ x: s, y: n }), hide: () => r({ shown: !1 }), show: () => r({ shown: !0 }), art: (s) => r({ art: s }), change: (s) => r(s), reset: () => r({ reset: !0 }), now: () => t.propState(e, a) };
20
+ }
21
+ function _(t, e, a) {
22
+ if (typeof e != "string" || !e) throw new TypeError("A character is named by its id");
23
+ const r = (s) => t.changeCharacter(e, s, a);
24
+ return { id: e, say: (s) => r({ say: s }), walk: (s, n) => r({ x: s, y: n, walk: !0 }), put: (s, n) => r({ x: s, y: n }), hide: () => r({ shown: !1 }), show: () => r({ shown: !0 }), change: (s) => r(s), now: () => t.characterState(e, a) };
25
+ }
26
+ const S = { held: "OBJECT_HELD", "not-held": "OBJECT_NOT_HELD", "too-many": "OBJECT_TOO_MANY", bad: "OBJECT_BAD", gone: "OBJECT_GONE" }, O = { held: "Somebody else has it.", "not-held": "Take it before changing it.", "too-many": `A room holds ${R} objects at once.`, bad: "That is not a change an object can be given.", gone: "There is no room with that object in it." };
27
+ class v extends Error {
28
+ constructor(e, a, r = O[e]) {
29
+ super(r), this.reason = e, this.object = a, this.name = "CustomRoomObjectError", this.code = S[e];
30
+ }
31
+ reason;
32
+ object;
33
+ code;
34
+ }
35
+ function U(t) {
36
+ if (t instanceof v) return t;
37
+ const e = t == null ? void 0 : t.code, a = t instanceof Error ? t.message : String(t);
38
+ for (const [r, s] of Object.entries(S)) if (e === s) return new v(r, "", a);
39
+ return new v("bad", "", a);
40
+ }
41
+ function V(t, e, a) {
42
+ if (typeof e != "string" || !e) throw new TypeError("An object is named by its id");
43
+ const r = (n) => t.changeObject(e, n, a), s = (n, d) => t.onObject((c) => {
44
+ for (const u of c.objects) {
45
+ if (u.id !== e || a !== void 0 && u.room !== a) continue;
46
+ const l = { object: u, by: c.by, yours: c.yours, took: c.took, dropped: c.dropped };
47
+ d(l) && n(l);
48
+ }
49
+ });
50
+ return { id: e, take: (n = {}) => r({ ...n, take: !0 }), drop: (n = {}) => r({ ...n, drop: !0 }), move: (n, d) => r({ x: n, y: d }), hide: () => r({ shown: !1 }), show: () => r({ shown: !0 }), mark: (n) => r({ tag: n }), reset: () => r({ reset: !0 }), change: (n) => r(n), now: () => t.objectState(e, a), onTaken: (n) => s(n, (d) => d.took), onDropped: (n) => s(n, (d) => d.dropped), onChanged: (n) => s(n, () => !0) };
51
+ }
52
+ const g = Math.ceil(1e3 / T), k = { timeout: "REALTIME_ASK_TIMEOUT", gone: "REALTIME_ASK_GONE", closed: "REALTIME_ASK_CLOSED", "no-handler": "REALTIME_ASK_NO_HANDLER", failed: "REALTIME_ASK_FAILED" };
53
+ class h extends Error {
54
+ constructor(e, a) {
55
+ super(a), this.reason = e, this.name = "RealtimeAskError", this.code = k[e];
56
+ }
57
+ reason;
58
+ code;
59
+ }
60
+ function L(t) {
61
+ if (t instanceof h) return t;
62
+ const e = t == null ? void 0 : t.code, a = t instanceof Error ? t.message : String(t);
63
+ for (const [r, s] of Object.entries(k)) if (e === s) return new h(r, a);
64
+ return new h("failed", a);
65
+ }
66
+ class E {
67
+ constructor(e, a) {
68
+ this.calls = a, this.id = e.id, this.scope = e.scope, this.name = e.name, this.part = e.part, this.self = e.you, this.list = [...e.members], this.shared = e.state ?? null;
69
+ const r = e.host === null ? null : [this.self, ...this.list].find((s) => s.id === e.host);
70
+ this.hostAt = r ?? null, this.hostIsHidden = e.hostHidden === !0 || e.host !== null && !r;
71
+ }
72
+ calls;
73
+ id;
74
+ scope;
75
+ name;
76
+ part;
77
+ self;
78
+ list;
79
+ shared;
80
+ hostAt;
81
+ hostIsHidden;
82
+ closedWith = null;
83
+ queued = null;
84
+ waiting = [];
85
+ publishing = !1;
86
+ publishTimer = null;
87
+ publishedAt = 0;
88
+ answers = null;
89
+ heard = { message: /* @__PURE__ */ new Set(), join: /* @__PURE__ */ new Set(), leave: /* @__PURE__ */ new Set(), state: /* @__PURE__ */ new Set(), presence: /* @__PURE__ */ new Set(), host: /* @__PURE__ */ new Set(), close: /* @__PURE__ */ new Set() };
90
+ queuedPresence = null;
91
+ presenceWaiting = [];
92
+ publishingPresence = !1;
93
+ presenceTimer = null;
94
+ presencePublishedAt = 0;
95
+ watchingClose = !1;
96
+ stop = () => {
97
+ };
98
+ get you() {
99
+ return this.self;
100
+ }
101
+ get open() {
102
+ return this.closedWith === null;
103
+ }
104
+ members() {
105
+ return this.list;
106
+ }
107
+ host() {
108
+ const e = this.hostAt;
109
+ return e ? e.id === this.self.id ? this.self : this.list.find((a) => a.id === e.id) ?? e : null;
110
+ }
111
+ get isHost() {
112
+ return this.hostAt !== null && this.hostAt.id === this.self.id;
113
+ }
114
+ get hosted() {
115
+ return this.hostAt !== null || this.hostIsHidden;
116
+ }
117
+ get hostHidden() {
118
+ return this.hostIsHidden && this.hostAt === null;
119
+ }
120
+ hosting() {
121
+ return { host: this.host(), you: this.isHost, hosted: this.hosted, hidden: this.hostHidden };
122
+ }
123
+ giveHost(e) {
124
+ return this.closedWith ? this.refuse() : this.calls.giveHost(this.id, e);
125
+ }
126
+ state() {
127
+ return this.shared;
128
+ }
129
+ setState(e) {
130
+ return this.closedWith ? this.refuse() : this.calls.setState(this.id, e);
131
+ }
132
+ publish(e) {
133
+ if (this.closedWith) return this.refuse();
134
+ this.queued = { state: e };
135
+ const a = new Promise((r, s) => {
136
+ this.waiting.push({ resolve: r, reject: s });
137
+ });
138
+ return this.pump(), a;
139
+ }
140
+ pump() {
141
+ if (this.publishing || this.publishTimer || !this.queued || this.closedWith) return;
142
+ const e = this.publishedAt + g - Date.now();
143
+ if (e > 0) {
144
+ this.publishTimer = setTimeout(() => {
145
+ this.publishTimer = null, this.pump();
146
+ }, e);
147
+ return;
148
+ }
149
+ const { state: a } = this.queued;
150
+ this.queued = null;
151
+ const r = this.waiting.splice(0);
152
+ this.publishing = !0, this.publishedAt = Date.now(), this.calls.setState(this.id, a).then(() => {
153
+ for (const s of r) s.resolve();
154
+ }, (s) => {
155
+ for (const n of r) n.reject(s);
156
+ }).then(() => {
157
+ this.publishing = !1, this.pump();
158
+ });
159
+ }
160
+ presence() {
161
+ return this.self.presence ?? null;
162
+ }
163
+ setPresence(e) {
164
+ return this.closedWith ? this.refuse() : (this.self = e === null ? { id: this.self.id, screenName: this.self.screenName } : { ...this.self, presence: e }, this.calls.setPresence(this.id, e));
165
+ }
166
+ publishPresence(e) {
167
+ if (this.closedWith) return this.refuse();
168
+ this.watchingClose || (this.watchingClose = !0, this.listen(this.heard.close, () => this.pumpPresence())), this.self = e === null ? { id: this.self.id, screenName: this.self.screenName } : { ...this.self, presence: e }, this.queuedPresence = { presence: e };
169
+ const a = new Promise((r, s) => {
170
+ this.presenceWaiting.push({ resolve: r, reject: s });
171
+ });
172
+ return this.pumpPresence(), a;
173
+ }
174
+ pumpPresence() {
175
+ if (this.closedWith) {
176
+ this.presenceTimer && clearTimeout(this.presenceTimer), this.presenceTimer = null, this.queuedPresence = null;
177
+ const s = this.closedWith;
178
+ for (const n of this.presenceWaiting.splice(0)) n.reject(new Error(`This channel is closed: ${s.message}`));
179
+ return;
180
+ }
181
+ if (this.publishingPresence || this.presenceTimer || !this.queuedPresence) return;
182
+ const e = this.presencePublishedAt + g - Date.now();
183
+ if (e > 0) {
184
+ this.presenceTimer = setTimeout(() => {
185
+ this.presenceTimer = null, this.pumpPresence();
186
+ }, e);
187
+ return;
188
+ }
189
+ const { presence: a } = this.queuedPresence;
190
+ this.queuedPresence = null;
191
+ const r = this.presenceWaiting.splice(0);
192
+ this.publishingPresence = !0, this.presencePublishedAt = Date.now(), this.calls.setPresence(this.id, a).then(() => {
193
+ for (const s of r) s.resolve();
194
+ }, (s) => {
195
+ for (const n of r) n.reject(s);
196
+ }).then(() => {
197
+ this.publishingPresence = !1, this.pumpPresence();
198
+ });
199
+ }
200
+ send(e) {
201
+ return this.closedWith ? this.refuse() : this.calls.send(this.id, e);
202
+ }
203
+ sendTo(e, a) {
204
+ return this.closedWith ? this.refuse() : this.calls.sendTo(this.id, e, a);
205
+ }
206
+ async ask(e, a, r) {
207
+ if (this.closedWith) throw new h("closed", `This channel is closed: ${this.closedWith.message}`);
208
+ try {
209
+ return await this.calls.ask(this.id, e, a, r);
210
+ } catch (s) {
211
+ throw L(s);
212
+ }
213
+ }
214
+ onAsk(e) {
215
+ if (typeof e != "function") throw new TypeError("Pass a handler function");
216
+ if (this.closedWith) return () => {
217
+ };
218
+ const a = e;
219
+ return this.answers = a, () => {
220
+ this.answers === a && (this.answers = null);
221
+ };
222
+ }
223
+ async leave() {
224
+ this.closedWith || (await this.calls.leave(this.id), this.hear({ kind: "close", channel: this.id, reason: "left", message: "Left the channel." }));
225
+ }
226
+ onMessage(e) {
227
+ return this.listen(this.heard.message, e);
228
+ }
229
+ onJoin(e) {
230
+ return this.listen(this.heard.join, e);
231
+ }
232
+ onLeave(e) {
233
+ return this.listen(this.heard.leave, e);
234
+ }
235
+ onState(e) {
236
+ return this.listen(this.heard.state, e);
237
+ }
238
+ onPresence(e) {
239
+ return this.listen(this.heard.presence, e);
240
+ }
241
+ onMembers(e) {
242
+ if (typeof e != "function") throw new TypeError("Pass a listener function");
243
+ if (this.closedWith) return () => {
244
+ };
245
+ const a = () => e(this.members()), r = [this.listen(this.heard.join, a), this.listen(this.heard.leave, a), this.listen(this.heard.presence, a)];
246
+ return a(), () => {
247
+ for (const s of r) s();
248
+ };
249
+ }
250
+ onHost(e) {
251
+ return this.listen(this.heard.host, e);
252
+ }
253
+ onClose(e) {
254
+ return this.listen(this.heard.close, e);
255
+ }
256
+ hear(e) {
257
+ if (!this.closedWith) switch (e.kind) {
258
+ case "message":
259
+ return this.tell(this.heard.message, e.message);
260
+ case "ask":
261
+ this.reply({ channel: e.channel, id: e.id, from: e.from, data: e.data, at: e.at });
262
+ return;
263
+ case "join": {
264
+ const a = e.member;
265
+ return this.list.some((r) => r.id === a.id) || (this.list = [...this.list, a]), this.tell(this.heard.join, a);
266
+ }
267
+ case "leave":
268
+ return this.list = this.list.filter((a) => a.id !== e.member.id), this.tell(this.heard.leave, e.member);
269
+ case "state":
270
+ return this.shared = e.state, this.tell(this.heard.state, { channel: e.channel, state: this.shared, from: e.from, at: e.at });
271
+ case "presence": {
272
+ const a = e.member;
273
+ return this.list = this.list.some((r) => r.id === a.id) ? this.list.map((r) => r.id === a.id ? a : r) : [...this.list, a], this.tell(this.heard.presence, a);
274
+ }
275
+ case "host":
276
+ return this.hostAt = e.host ?? null, this.hostIsHidden = e.hosted && e.host === null, this.tell(this.heard.host, { channel: e.channel, host: this.host(), you: this.isHost, hosted: this.hosted });
277
+ case "close": {
278
+ const a = { channel: e.channel, reason: e.reason, message: e.message };
279
+ this.closedWith = a, this.answers = null, this.publishTimer && clearTimeout(this.publishTimer), this.publishTimer = null, this.queued = null;
280
+ for (const r of this.waiting.splice(0)) r.reject(new Error(`This channel is closed: ${a.message}`));
281
+ this.list = [], this.shared = null, this.hostAt = null, this.hostIsHidden = !1, this.stop(), this.tell(this.heard.close, a);
282
+ for (const r of Object.values(this.heard)) r.clear();
283
+ return;
284
+ }
285
+ }
286
+ }
287
+ async reply(e) {
288
+ const a = this.answers;
289
+ if (!a) return this.turnDown(e, "no-handler");
290
+ let r;
291
+ try {
292
+ r = await a(e);
293
+ } catch (s) {
294
+ return console.error("An onAsk handler failed", s), this.turnDown(e, "failed");
295
+ }
296
+ try {
297
+ await this.calls.answer(e.id, r === void 0 ? null : r);
298
+ } catch (s) {
299
+ return console.error("An answer could not be sent", s), this.turnDown(e, "failed");
300
+ }
301
+ }
302
+ async turnDown(e, a) {
303
+ try {
304
+ await this.calls.decline(e.id, a);
305
+ } catch {
306
+ }
307
+ }
308
+ stopWith(e) {
309
+ this.stop = e;
310
+ }
311
+ listen(e, a) {
312
+ if (typeof a != "function") throw new TypeError("Pass a listener function");
313
+ return this.closedWith ? () => {
314
+ } : (e.add(a), () => {
315
+ e.delete(a);
316
+ });
317
+ }
318
+ tell(e, a) {
319
+ for (const r of [...e]) try {
320
+ r(a);
321
+ } catch (s) {
322
+ console.error("A real-time listener failed", s);
323
+ }
324
+ }
325
+ refuse() {
326
+ return Promise.reject(new Error(`This channel is closed: ${this.closedWith.message}`));
327
+ }
328
+ }
329
+ async function f(t, e, a) {
330
+ let r = null;
331
+ const s = [], n = (o, p) => {
332
+ r ? o === r.id && r.hear(p) : s.push({ channel: o, event: p });
333
+ }, d = [t.onMessage((o) => n(o.channel, { kind: "message", message: o })), t.onAsk((o) => n(o.channel, { kind: "ask", ...o })), t.onJoin((o) => n(o.channel, { kind: "join", ...o })), t.onLeave((o) => n(o.channel, { kind: "leave", ...o })), t.onState((o) => n(o.channel, { kind: "state", ...o })), t.onPresence((o) => n(o.channel, { kind: "presence", ...o })), t.onHost((o) => n(o.channel, { kind: "host", ...o })), t.onClose((o) => n(o.channel, { kind: "close", ...o }))], c = () => {
334
+ for (const o of d.splice(0)) o();
335
+ };
336
+ let u;
337
+ try {
338
+ u = a ? await t.open(e, a) : await t.open(e);
339
+ } catch (o) {
340
+ throw c(), o;
341
+ }
342
+ const l = new E(u, t);
343
+ l.stopWith(c), r = l;
344
+ for (const o of s.splice(0)) o.channel === l.id && l.hear(o.event);
345
+ return l;
346
+ }
347
+ const w = 5e3, W = 3e4;
348
+ async function J(t, e, a, r) {
349
+ let s = !0, n = null, d = null, c = w;
350
+ const u = r && r.presence !== void 0 ? { presence: r.presence } : void 0, l = () => u ? f(t, e, u) : f(t, e), o = (i) => {
351
+ r != null && r.onProblem ? r.onProblem(i) : console.error("A real-time channel could not be rejoined", i);
352
+ }, p = (i) => {
353
+ n = i, i.onClose(({ reason: m }) => {
354
+ n = null, s && m === "offline" && y();
355
+ });
356
+ try {
357
+ a(i);
358
+ } catch (m) {
359
+ o(m);
360
+ }
361
+ }, y = () => {
362
+ !s || d || (d = setTimeout(() => {
363
+ d = null, s && l().then((i) => {
364
+ if (!s) {
365
+ i.leave().catch(() => {
366
+ });
367
+ return;
368
+ }
369
+ c = w, p(i);
370
+ }, (i) => {
371
+ o(i), c = Math.min(c * 2, W), y();
372
+ });
373
+ }, c));
374
+ };
375
+ return p(await l()), () => {
376
+ s = !1, d && clearTimeout(d), d = null;
377
+ const i = n;
378
+ n = null, i && i.leave().catch(() => {
379
+ });
380
+ };
381
+ }
382
+ const K = ["avatar.view", "avatar.viewOf", "room.surfaces", "adventures.record", "content.replaceOnScreen", "content.load", "realtime.join", "realtime.stayIn", "customRooms.prop", "customRooms.object", "customRooms.character"], Z = { "avatar.view": "flash", "avatar.viewOf": "flash", "room.surfaces": "flash", "adventures.record": "sdk:adventures:read", "content.load": "flash", "content.replaceOnScreen": "flash", "recipes.chatShortcuts": "flash", "recipes.customChatBox": "flash", "recipes.chatHistoryPanel": "flash", "realtime.join": "sdk:realtime:act", "realtime.stayIn": "sdk:realtime:act", "customRooms.prop": "sdk:customRooms:act", "customRooms.object": "sdk:customRooms:act", "customRooms.character": "sdk:customRooms:act" }, $ = ["ui"], P = { "avatar.position": "read", "avatar.walkTo": "act", "avatar.teleport": "act", "avatar.userId": "read", "avatar.userName": "read", "avatar.perUserAvId": "read", "avatar.colors": "read", "avatar.palette": "read", "avatar.colorOf": "read", "avatar.offerColors": "act", "avatar.restoreColors": "act", "avatar.pickColor": "act", "avatar.paint": "act", "avatar.paintColor": "act", "avatar.act": "act", "avatar.list": "read", "avatar.switchTo": "act", "avatar.slots": "read", "avatar.remove": "act", "avatar.typeDefinition": "read", "avatar.isMemberOnlyType": "read", "avatar.lookup": "read", "avatar.lookupById": "read", "avatar.onSwitch": "read", "avatar.onLookup": "read", "avatar.onPaintResult": "read", "avatar.standing": "read", "avatar.idleAnimation": "read", "avatar.placeAt": "act", "avatar.playAnimation": "act", "avatar.tint": "act", "avatar.tintOf": "act", "avatar.asPhantom": "act", "avatar.setOpacity": "act", "avatar.showBubble": "act", "avatar.setMode": "act", "avatar.face": "act", "avatar.walkSpeed": "read", "avatar.setWalkSpeed": "act", "avatar.glide": "act", "avatar.setNoClip": "act", "avatar.setAirborne": "act", "avatar.walkPath": "act", "avatar.walkThrough": "act", "avatar.create": "act", "avatar.buySlot": "act", "avatar.createFirst": "act", "avatar.chooseUsable": "act", "avatar.setPendingFlag": "act", "avatar.canPayForPhoto": "read", "avatar.payForPhoto": "act", "avatar.definitionsLoaded": "read", "avatar.loadDefinitions": "read", "avatar.data": "read", "avatar.inRoom": "read", "avatar.whoIs": "read", "avatar.findInRoom": "read", "avatar.standingOf": "read", "avatar.defaultLook": "read", "avatar.buddyCardAvatar": "read", "avatar.adventurePlayers": "read", "avatar.offScreenPlayers": "read", "avatar.lastSeenAt": "read", "avatar.hosting": "read", "avatar.isHostingAdventure": "read", "avatar.suitsEnvironment": "read", "avatar.roomState": "read", "avatar.lastNameBar": "read", "avatar.onList": "read", "avatar.onRemoved": "read", "avatar.onAdded": "read", "avatar.onSlotBought": "read", "avatar.onFirstCreated": "read", "avatar.onNameBarChange": "read", "avatar.onUsableChosen": "read", "avatar.onPhotoChecked": "read", "avatar.onPhotoTaken": "read", "avatar.nameBar": "read", "avatar.setNameBar": "act", "player.login": "read", "player.onLogin": "read", "player.userName": "read", "player.uuid": "read", "player.avatarName": "read", "player.isMember": "read", "player.isModerator": "read", "player.accountType": "read", "player.isGuide": "read", "player.isSilenced": "read", "player.moderatedName": "read", "player.can": "read", "player.chatType": "read", "player.daysSinceLastLogin": "read", "player.isHostingParty": "read", "player.loginCount": "read", "player.createdAt": "read", "player.worldMapRoom": "read", "player.hasPendingFlag": "read", "player.discipline": "read", "player.onDiscipline": "read", "player.membershipDaysLeft": "read", "player.email": "read", "player.invisible": "read", "player.setInvisible": "act", "player.settingOn": "read", "player.onInvisibleChange": "read", "player.state": "read", "player.onChange": "read", "player.record": "read", "player.avatars": "read", "player.avatarOf": "read", "player.partyTimeLeft": "read", "player.onPartyHosting": "read", "player.onTradeListChange": "read", "player.clothing": "read", "player.denItemsForRoom": "read", "player.petsInDen": "read", "player.belongings": "read", "player.animalKindCount": "read", "player.animalDefaults": "read", "player.customAnimal": "read", "player.customAnimalsOf": "read", "player.animalOf": "read", "player.denRoomDefinitions": "read", "player.denRoomDefinition": "read", "player.activeDenId": "read", "player.onActiveDenChange": "read", "player.buddyCount": "read", "player.onBuddyCountChange": "read", "chat.recent": "read", "chat.say": "act", "chat.emote": "act", "chat.phrase": "read", "chat.onMessage": "read", "chat.onAdminMessage": "read", "chat.onModeration": "read", "chat.onJamAGram": "read", "chat.phraseCode": "read", "chat.canSay": "read", "chat.phrasesReady": "read", "chat.blend": "act", "chat.fade": "act", "chat.slide": "act", "chat.phrases": "read", "chat.isEmote": "read", "chat.sayPhrase": "act", "chat.sayFree": "act", "chat.permanentEmote": "act", "chat.petAction": "act", "chat.attachmentEmote": "act", "chat.showBalloon": "act", "chat.balloon": "act", "chat.log": "act", "chat.clearLog": "act", "chat.lastAdminMessage": "read", "chat.lastModeration": "read", "chat.typed": "read", "chat.isTyping": "read", "chat.onTyped": "read", "chat.setTyped": "act", "chat.clearTyped": "act", "buddies.list": "read", "buddies.online": "read", "buddies.blocked": "read", "buddies.get": "read", "buddies.isBlocked": "read", "buddies.refresh": "read", "buddies.add": "act", "buddies.remove": "act", "buddies.respond": "act", "buddies.block": "act", "buddies.unblock": "act", "buddies.locate": "read", "buddies.jumpTo": "act", "buddies.onRequest": "read", "buddies.onUpdate": "read", "buddies.onLocation": "read", "buddies.onBlockInfo": "read", "buddies.capacity": "read", "buddies.knows": "read", "buddies.details": "read", "buddies.pendingSent": "read", "buddies.isBlockingMe": "act", "buddies.showCard": "act", "buddies.closeCard": "act", "buddies.joinBuddyQuest": "act", "buddies.requests": "read", "buddies.onAddResult": "read", "buddies.onBlockChange": "read", "buddies.onList": "read", "buddies.clientList": "read", "buddies.clientBlocked": "read", "buddies.hasBlocked": "read", "buddies.cardTradeList": "read", "buddies.openCard": "read", "buddies.isListOpen": "read", "buddies.closeList": "act", "ecards.inbox": "read", "ecards.unread": "read", "ecards.get": "read", "ecards.refresh": "read", "ecards.unreadCount": "read", "ecards.remainingSends": "read", "ecards.cardMediaIds": "read", "ecards.stampMediaIds": "read", "ecards.isMessageAllowed": "read", "ecards.privacy": "read", "ecards.isComposerOpen": "read", "ecards.onReceived": "read", "ecards.onUpdated": "read", "ecards.onRemoved": "read", "ecards.onSendResult": "read", "ecards.onGiftResult": "read", "ecards.onPrivacyResult": "read", "ecards.clearCache": "act", "ecards.setPrivacy": "act", "ecards.markRead": "act", "ecards.remove": "act", "ecards.acceptGift": "act", "ecards.respondToBuddyRequest": "act", "ecards.openComposer": "act", "ecards.closeInbox": "act", "ecards.send": "act", "ecards.discardGift": "act", "ecards.lastBuddyAnswer": "read", "ecards.onBuddyAnswer": "read", "ecards.onInbox": "read", "ecards.clientInbox": "read", "ecards.clientInboxLoaded": "read", "ecards.draft": "read", "ecards.reading": "read", "playerWall.posts": "read", "playerWall.check": "read", "playerWall.privacyOf": "read", "playerWall.blockedMessages": "read", "playerWall.isOwnWallOpen": "read", "playerWall.openWallOwner": "read", "playerWall.onPosts": "read", "playerWall.post": "act", "playerWall.remove": "act", "playerWall.clear": "act", "playerWall.setPrivacy": "act", "playerWall.blockMessage": "act", "playerWall.acknowledgeNotifications": "act", "playerWall.countVisit": "act", "playerWall.openOwn": "act", "playerWall.open": "act", "playerWall.close": "act", "playerWall.myPrivacy": "read", "playerWall.cached": "read", "playerWall.hiddenPostIds": "read", "playerWall.permissions": "read", "playerWall.setParameters": "act", "playerWall.showPostAs": "act", "playerWall.removeMasterpiece": "act", "playerWall.hasOpenedOwnWall": "read", "playerWall.hasCountedVisit": "read", "playerWall.likes": "read", "playerWall.onAccess": "read", "playerWall.onPrivacy": "read", "playerWall.onPrivacyChange": "read", "playerWall.onParametersChange": "read", "playerWall.onVisitCounted": "read", "playerWall.onLikes": "read", "playerWall.onLiked": "read", "playerWall.onServiceRequest": "read", "playerWall.requestPermissions": "act", "playerWall.like": "act", "playerWall.serviceRequest": "act", "dailyGift.daysInCycle": "read", "dailyGift.statId": "read", "dailyGift.received": "read", "dailyGift.isOpen": "read", "dailyGift.current": "read", "dailyGift.onGift": "read", "dailyGift.status": "read", "dailyGift.onReady": "read", "dailyGift.open": "act", "dailyGift.keep": "act", "dailyGift.keepDiamonds": "act", "dailyGift.close": "act", "dailyGift.reject": "act", "sound.settings": "read", "sound.areSoundsMuted": "read", "sound.isMusicMuted": "read", "sound.volume": "read", "sound.musicVolume": "read", "sound.onChange": "read", "sound.muteSounds": "act", "sound.muteMusic": "act", "sound.muteAll": "act", "sound.toggleMute": "act", "sound.setVolume": "act", "sound.setSoundVolume": "act", "sound.setMusicVolume": "act", "sound.pauseMusic": "act", "sound.stopMusic": "act", "sound.stopSounds": "act", "sound.isBankLoaded": "read", "sound.pauseSounds": "act", "sound.unpauseSounds": "act", "sound.stopAll": "act", "sound.play": "act", "sound.stop": "act", "sound.onPlay": "read", "sound.onStop": "read", "sound.playEffect": "act", "sound.effects": "read", "sound.playSfx": "act", "sound.stopSfx": "act", "sound.onAudioChange": "read", "feedback.types": "read", "feedback.maxLength": "read", "feedback.isOpen": "read", "feedback.close": "act", "feedback.topics": "read", "feedback.onOpen": "read", "feedback.open": "act", "reports.report": "act", "reports.reportContent": "act", "reports.onReportResult": "read", "reports.onContentReportResult": "read", "reports.onReportSent": "read", "reports.alreadyReported": "read", "newspaper.definitions": "read", "newspaper.dataOf": "read", "newspaper.hasUnseenPages": "read", "newspaper.hasSeenFirstPage": "read", "newspaper.onPageSeen": "read", "newspaper.markSeen": "act", "newspaper.open": "act", "newspaper.definition": "read", "newspaper.available": "read", "newspaper.reading": "read", "newspaper.close": "act", "masterpieces.itemsOf": "read", "masterpieces.creatorOf": "read", "masterpieces.likes": "read", "masterpieces.onItems": "read", "masterpieces.onCreator": "read", "masterpieces.onLikes": "read", "masterpieces.onLiked": "read", "masterpieces.like": "act", "masterpieces.picture": "read", "trades.offer": "read", "trades.onOffer": "read", "trades.onConfirmRequest": "read", "trades.onComplete": "read", "trades.onEnd": "read", "trades.accept": "act", "trades.decline": "act", "trades.confirm": "act", "trades.cancel": "act", "trades.list": "read", "trades.myList": "read", "trades.request": "act", "trades.add": "act", "trades.remove": "act", "trades.onChange": "read", "trades.isTrading": "read", "trades.heldList": "read", "trades.setBusy": "act", "trades.onList": "read", "trades.onListChanged": "read", "trades.offerDraft": "read", "trades.counts": "read", "trades.listEntry": "read", "trades.openRequest": "act", "inventory.items": "read", "inventory.owned": "read", "inventory.worn": "read", "inventory.have": "read", "inventory.canWear": "read", "inventory.onChange": "read", "inventory.onUse": "read", "inventory.wear": "act", "inventory.takeOff": "act", "inventory.change": "act", "inventory.buy": "act", "inventory.recycle": "act", "inventory.wearableBy": "read", "inventory.limits": "read", "inventory.avatarSlots": "read", "inventory.onAvatarSlot": "read", "inventory.latestPrize": "read", "inventory.onPrize": "read", "inventory.describe": "read", "shops.offering": "read", "shops.item": "read", "shops.items": "read", "shops.forSale": "read", "shops.whenDefinitionsReady": "read", "shops.definition": "read", "shops.listType": "read", "shops.isOpen": "read", "shops.open": "act", "shops.close": "act", "shops.diamondItem": "read", "shops.diamondDefinition": "read", "shops.diamondList": "read", "shops.buy": "act", "shops.sell": "act", "shops.onBuy": "read", "shops.onSell": "read", "shops.onList": "read", "shops.denOffering": "read", "shops.definitionsReady": "read", "shops.isAvailable": "read", "shops.onOpen": "read", "shops.buyDiamondBundle": "act", "shops.onDiamondBundleBuy": "read", "shops.picture": "read", "pets.list": "read", "pets.active": "read", "pets.activeName": "read", "pets.get": "read", "pets.max": "read", "pets.mine": "read", "pets.kindName": "read", "pets.kindId": "read", "pets.hasUnnamedEggPet": "read", "pets.refresh": "read", "pets.sparkle": "act", "pets.activeInvId": "read", "pets.bringOut": "act", "pets.putAway": "act", "pets.free": "act", "pets.onSwitch": "read", "pets.onList": "read", "pets.onDismissed": "read", "pets.adoptionCards": "read", "pets.adoptionCard": "read", "pets.adoptionTier": "read", "pets.hasUnseenAdoption": "read", "pets.markAdoptionSeen": "act", "pets.definition": "read", "pets.appearance": "read", "pets.packBits": "read", "pets.canBringOut": "read", "pets.isUnlocked": "read", "pets.hasHatched": "read", "pets.setMasteryBadge": "act", "pets.nameEggPet": "act", "pets.create": "act", "pets.randomAppearance": "read", "pets.buy": "act", "pets.restyle": "act", "pets.adoptionChecklistOf": "read", "pets.adoptionCountOf": "read", "pets.adoptionCardDefs": "read", "pets.adoptionCardTotal": "read", "pets.hasAdoptionCards": "read", "pets.definitions": "read", "pets.unlockedKinds": "read", "pets.goesOnLandAndInOcean": "read", "pets.goesWith": "read", "pets.enviroTypeOf": "read", "pets.isGroundType": "read", "pets.kindOfBits": "read", "pets.listAsItems": "read", "pets.picture": "read", "pets.onCreated": "read", "pets.onEggNamed": "read", "pets.onMasteryBadge": "read", "pets.onRestyled": "read", "pets.onUnlocked": "read", "pets.onAdoptionChecklist": "read", "pets.onAdoptionCount": "read", "pets.onDefinitionsLoaded": "read", "pets.inWorld": "read", "room.players.list": "read", "room.players.count": "read", "room.players.get": "read", "room.players.byUserName": "read", "room.players.byAvatarName": "read", "room.players.onEnter": "read", "room.players.onLeave": "read", "room.players.onMove": "read", "room.players.onList": "read", "room.players.onPosition": "read", "room.players.refresh": "read", "room.current": "read", "room.details": "read", "room.layout": "read", "room.onLayout": "read", "room.focusCamera": "act", "room.stopWalking": "act", "room.scene": "read", "room.restoreMusic": "act", "room.players.viewOf": "read", "room.players.views": "read", "room.toScreen": "read", "room.toWorld": "read", "room.worldItem": "read", "room.takeWorldItem": "act", "room.onJoin": "read", "room.onChange": "read", "room.onJoinFailed": "read", "room.join": "act", "room.teleport": "act", "room.respawn": "act", "room.spawns": "read", "room.portals": "read", "room.bounds": "read", "room.camera": "read", "room.moveCamera": "act", "room.holdCamera": "act", "room.setZoom": "act", "room.cellAt": "read", "room.checkWall": "read", "room.nearestOpen": "read", "room.respawnPoint": "read", "room.bounceAt": "read", "room.leavePreview": "act", "room.setPathDepth": "act", "room.volumes": "read", "room.volumesAt": "read", "room.layers": "read", "room.showAvatars": "act", "room.reload": "act", "room.players.pathOf": "read", "room.onWorldItemTaken": "read", "room.joiningInvisibly": "read", "room.darkAreas": "read", "room.nearestEmptyCell": "read", "room.journeyBookItemsLeft": "read", "room.objectAt": "read", "room.setJamaaTime": "act", "room.setDenKickNotice": "act", "room.onLoaded": "read", "room.whenLoaded": "read", "room.enableVolume": "act", "room.walkToSpawn": "act", "room.showPlayers": "act", "dens.join": "act", "dens.joinOwn": "act", "dens.isOwnDen": "read", "dens.owner": "read", "dens.privacyOf": "read", "dens.setPrivacy": "act", "dens.rooms": "read", "dens.switchRoom": "act", "dens.visitors": "read", "dens.onVisitors": "read", "dens.onKicked": "read", "dens.items": "read", "dens.moveItem": "act", "dens.saveLayout": "act", "dens.inventory": "read", "dens.itemDefinition": "read", "dens.place": "act", "dens.removeItem": "act", "dens.buyItem": "act", "dens.recycleItems": "act", "dens.empty": "act", "dens.onEntered": "read", "dens.onEdited": "read", "dens.onRoomChanged": "read", "dens.onPrivacyChanged": "read", "dens.onRooms": "read", "dens.limits": "read", "dens.buyRoom": "act", "dens.recycleRooms": "act", "dens.ecoState": "read", "dens.redeemEcoCredits": "act", "dens.setEcoConsumer": "act", "dens.inOwnDen": "read", "dens.guests": "read", "dens.onGuestArrive": "read", "dens.onVisit": "read", "dens.onGuestLeave": "read", "dens.onOwnDen": "read", "dens.roomChange": "read", "dens.kickedAt": "read", "dens.lastPurchase": "read", "dens.onPurchase": "read", "dens.lastSale": "read", "dens.onSale": "read", "dens.emptiedAt": "read", "dens.onEmptied": "read", "dens.epicDens": "read", "dens.onEpicDens": "read", "dens.setPhantom": "act", "dens.onPhantom": "read", "dens.lastEcoState": "read", "dens.onEcoState": "read", "dens.lastEcoRedemption": "read", "dens.onEcoCreditsRedeemed": "read", "dens.ecoConsumers": "read", "dens.onEcoConsumers": "read", "dens.activeDenIdx": "read", "dens.onItemList": "read", "dens.serverState": "read", "dens.onState": "read", "dens.saveItems": "act", "dens.onSaved": "read", "dens.onSaving": "read", "dens.isChangePending": "read", "dens.openDenShopId": "read", "dens.heldDenShop": "read", "dens.itemAt": "read", "denShop.offering": "read", "denShop.onChange": "read", "denShop.onBuy": "read", "denShop.list": "act", "denShop.reprice": "act", "denShop.unlist": "act", "denShop.buy": "act", "denShop.onOffering": "read", "denShop.onSale": "read", "denShop.inDen": "read", "denShop.forSale": "read", "denShop.update": "act", "shops.knownShops": "read", "shops.openShop": "read", "shops.onClose": "read", "shops.limits": "read", "world.serverNode": "read", "world.shardId": "read", "world.shards": "read", "world.switchShard": "act", "world.roomCounts": "read", "world.onRoomCounts": "read", "world.requestNodeHop": "act", "world.onNodeHop": "read", "world.parties": "read", "world.customParties": "read", "world.joinParty": "act", "world.joinCustomParty": "act", "world.onPartyJoinFailed": "read", "world.onParties": "read", "world.onPartyNode": "read", "world.roomDefinition": "read", "world.goToPlayer": "act", "world.leaveRoom": "act", "world.partyDefinition": "read", "world.partyRules": "read", "world.shardName": "read", "world.hostParty": "act", "world.onHostingEnded": "read", "world.partyNode": "act", "world.hostingTimeLeft": "act", "world.showParties": "act", "world.onRoomList": "read", "world.onRandomKey": "read", "world.rooms": "read", "world.randomKey": "read", "world.lastNodeHop": "read", "world.lastPartyJoin": "read", "world.hosting": "read", "world.onHostResult": "read", "world.onCustomParties": "read", "world.onShards": "read", "world.onHostingTimeLeft": "read", "world.partyDefinitions": "read", "world.canUseAvatarHere": "read", "world.partyMasterpieces": "read", "world.onPartyMasterpieces": "read", "world.onFirstFiveMinutesRoom": "read", "world.requestFirstFiveMinutesRoom": "act", "world.joinNamedRoom": "act", "session.connected": "read", "session.mode": "read", "session.server": "read", "session.onConnectionLost": "read", "session.onConnected": "read", "session.onNodeSwitch": "read", "session.disconnect": "act", "session.requestList": "read", "session.onList": "read", "session.inMinigame": "read", "session.settingsUserName": "read", "session.sendEmailActivation": "act", "session.onEmailActivation": "read", "session.onEmailActivationRequest": "read", "session.emailValidated": "read", "session.onEmailValidated": "read", "assets.deployVersion": "read", "assets.buildVersion": "read", "assets.loadMedia": "read", "assets.requestDefPack": "read", "assets.onLoaded": "read", "assets.whenLoaded": "read", "assets.url": "read", "assets.picture": "read", "adventures.lobby": "read", "adventures.current": "read", "adventures.treasures": "read", "adventures.availableIds": "read", "adventures.definition": "read", "adventures.list": "read", "adventures.join": "act", "adventures.host": "act", "adventures.joinPrivate": "act", "adventures.joinBuddy": "act", "adventures.start": "act", "adventures.kick": "act", "adventures.leaveLobby": "act", "adventures.leave": "act", "adventures.openTreasure": "act", "adventures.keepTreasure": "act", "adventures.onJoinResult": "read", "adventures.onStart": "read", "adventures.onTreasure": "read", "adventures.onRewards": "read", "adventures.onXp": "read", "adventures.onLevelUp": "read", "adventures.onAward": "read", "adventures.onItemGiven": "read", "adventures.onPlayerLeft": "read", "adventures.onDefeated": "read", "adventures.onExited": "read", "adventures.onGiftChoice": "read", "adventures.onPlayerGiftChoice": "read", "adventures.actors": "read", "adventures.actor": "read", "adventures.collectables": "read", "adventures.health": "read", "adventures.actorPosition": "read", "adventures.trigger": "act", "adventures.pickUp": "act", "adventures.dropCarriedItem": "act", "adventures.collectTreasure": "act", "adventures.collect": "act", "adventures.crystalActors": "read", "adventures.takeRewards": "act", "adventures.clearRoomTransition": "act", "adventures.walkToActor": "act", "adventures.stopWalking": "act", "adventures.weapon": "read", "adventures.mode": "read", "adventures.attack": "act", "adventures.respawn": "act", "adventures.heal": "act", "adventures.answerQuestion": "act", "adventures.restart": "act", "adventures.pathDistances": "read", "adventures.crystals": "read", "adventures.liveActors": "read", "adventures.onCrystals": "read", "adventures.chooseReward": "act", "adventures.finishRewards": "act", "adventures.unlockedGifts": "read", "adventures.autoAcceptDialogue": "act", "adventures.stopAutoAcceptDialogue": "act", "adventures.closeDialogue": "act", "adventures.screenBlocked": "read", "adventures.closeGoalScreen": "act", "adventures.onActor": "read", "adventures.onActorIcon": "read", "adventures.onActorSeek": "read", "adventures.onAvatarSwitched": "read", "adventures.onCombatStats": "read", "adventures.onVolumeProgress": "read", "adventures.onHealth": "read", "adventures.onRewardChoice": "read", "adventures.onComplete": "read", "adventures.onEnd": "read", "adventures.phase": "read", "adventures.onPhase": "read", "adventures.contents": "read", "adventures.phantomsNear": "read", "adventures.nearestPhantom": "read", "adventures.nearestPlant": "read", "adventures.darken": "act", "adventures.lighten": "act", "adventures.darkenFromScene": "act", "adventures.playSound": "act", "adventures.playMusic": "act", "adventures.loopSound": "act", "adventures.stopLoop": "act", "adventures.onStep": "read", "adventures.npcDefinition": "read", "adventures.inspectActor": "read", "adventures.hitAt": "read", "adventures.actorTouching": "read", "adventures.pointInActor": "read", "adventures.livePlayers": "read", "adventures.inStealth": "read", "adventures.meleeTargets": "act", "adventures.speak": "act", "adventures.actorHitText": "act", "adventures.statusText": "act", "adventures.showObjective": "act", "adventures.showActor": "act", "adventures.actorSwfState": "act", "adventures.actorPath": "act", "adventures.spawnActor": "act", "adventures.torch": "act", "adventures.shake": "act", "adventures.plantSeed": "act", "adventures.validatePlantSpot": "read", "adventures.eatPhantom": "act", "adventures.onSeedGiven": "read", "adventures.onSeedPlanted": "read", "adventures.onPlantAte": "read", "adventures.onPlantEatRecoil": "read", "adventures.canPlaySideScroll": "act", "adventures.experience": "read", "adventures.playerLevel": "read", "adventures.departedPlayers": "read", "adventures.defeatedPlayers": "read", "adventures.awards": "read", "adventures.givenItems": "read", "adventures.exitConfirmed": "read", "adventures.lastBundle": "read", "adventures.actorIconShowing": "read", "adventures.actorSeeking": "read", "adventures.disguise": "read", "adventures.seeds": "read", "adventures.plants": "read", "adventures.combatStats": "read", "adventures.volumeProgress": "read", "adventures.attackTarget": "read", "adventures.playerRoom": "read", "adventures.sideScrollPosition": "read", "adventures.actorTorch": "read", "adventures.playerTorch": "read", "adventures.music": "read", "adventures.cutscene": "read", "adventures.preloadedCutscenes": "read", "adventures.soundPacks": "read", "adventures.screenFaded": "read", "adventures.lastZap": "read", "adventures.lastLaunch": "read", "adventures.respawnsGranted": "read", "adventures.shaking": "read", "adventures.lastSound": "read", "adventures.pageViews": "read", "adventures.clientStatus": "read", "adventures.actorPathToPlayer": "read", "adventures.onActorSpawned": "read", "adventures.onActorMoved": "read", "adventures.onActorHealth": "read", "adventures.onActorDied": "read", "adventures.onActorRestored": "read", "adventures.onActorSwfState": "read", "adventures.onActorPath": "read", "adventures.onCommand": "read", "adventures.onVariable": "read", "adventures.onPickUpResult": "read", "adventures.onMovedItems": "read", "adventures.onCrystalCount": "read", "adventures.onSentOut": "read", "adventures.onLobbyWaiting": "read", "adventures.onLobbyLeft": "read", "adventures.onPlayerAttacked": "read", "adventures.onBeamZap": "read", "adventures.onPhantomZap": "read", "adventures.onThrow": "read", "adventures.onSwing": "read", "adventures.onRespawnGranted": "read", "adventures.onPlayerRoomChange": "read", "adventures.onSideScroll": "read", "adventures.onTorch": "read", "adventures.onCutscene": "read", "adventures.onCutscenePreload": "read", "adventures.onFade": "read", "adventures.onShake": "read", "adventures.onSound": "read", "adventures.onMusic": "read", "adventures.onSoundPack": "read", "adventures.onPageView": "read", "adventures.movedItems": "read", "adventures.reportHit": "act", "adventures.reportPlayerHit": "act", "adventures.reportAttackOnPlayer": "act", "adventures.reportActorPosition": "act", "adventures.requestActorSeek": "act", "adventures.untrigger": "act", "adventures.reportBeamZap": "act", "adventures.reportPhantomZap": "act", "adventures.reportDestructibleHit": "act", "adventures.reportPlantAte": "act", "adventures.reportThrow": "act", "adventures.reportSwing": "act", "adventures.finishCutscene": "act", "adventures.requestRespawn": "act", "adventures.finishMinigame": "act", "adventures.finishRoomMinigame": "act", "adventures.reportSideScroll": "act", "adventures.running": "read", "adventures.objective": "read", "adventures.onObjective": "read", "adventures.actorTypeNames": "read", "adventures.openList": "act", "minigames.current": "read", "minigames.isPlaying": "read", "minigames.play": "act", "minigames.leave": "act", "minigames.send": "act", "minigames.info": "read", "minigames.leaderboard": "read", "minigames.onJoinResult": "read", "minigames.onStart": "read", "minigames.onMessage": "read", "minigames.onEnd": "read", "minigames.onPvpInvite": "read", "minigames.onJoinRequest": "read", "minigames.definition": "read", "minigames.pvpGames": "read", "minigames.invitePvp": "act", "minigames.respondToPvp": "act", "minigames.submitScore": "act", "minigames.awardGems": "act", "minigames.awardPetMastery": "act", "minigames.keepAlive": "act", "minigames.status": "read", "minigames.playing": "read", "minigames.cachedLeaderboard": "read", "minigames.gameName": "read", "minigames.isOfferingPvp": "read", "minigames.onPlayerLeft": "read", "minigames.onInfo": "read", "minigames.onRoomRemoved": "read", "minigames.join": "act", "minigames.startNow": "act", "minigames.commitScore": "act", "minigames.feedGame": "act", "minigames.readyForPvp": "act", "minigames.offerPvp": "act", "minigames.joinOfferedPvp": "act", "minigames.chat": "act", "minigames.onLeaderboard": "read", "minigames.clientLeaderboard": "read", "minigames.lastJoin": "read", "minigames.pvpInvite": "read", "minigames.serials": "read", "minigames.onGemSerial": "read", "minigames.onMasterySerial": "read", "minigames.onGemAward": "read", "minigames.onPetMasteryAward": "read", "minigames.onScore": "read", "minigames.onRound": "read", "minigames.quit": "act", "minigames.playerInfo": "read", "minigames.gameNameId": "read", "minigames.isMemberAccountType": "read", "minigames.ticTacToe.board": "read", "minigames.ticTacToe.opponent": "read", "minigames.ticTacToe.myTurn": "read", "minigames.ticTacToe.mark": "act", "minigames.ticTacToe.onRoundStart": "read", "minigames.ticTacToe.onMarked": "read", "minigames.ticTacToe.onRoundEnd": "read", "minigames.connectFour.board": "read", "minigames.connectFour.opponent": "read", "minigames.connectFour.myTurn": "read", "minigames.connectFour.drop": "act", "minigames.connectFour.onRoundStart": "read", "minigames.connectFour.onDropped": "read", "minigames.connectFour.onRoundEnd": "read", "minigames.rockPaperScissors.opponent": "read", "minigames.rockPaperScissors.choose": "act", "minigames.rockPaperScissors.onRoundStart": "read", "minigames.rockPaperScissors.onReveal": "read", "minigames.shellGame.opponent": "read", "minigames.shellGame.winningShell": "read", "minigames.shellGame.pick": "act", "minigames.shellGame.onRoundStart": "read", "minigames.shellGame.onReveal": "read", "minigames.trivia.current": "read", "minigames.trivia.answer": "act", "minigames.trivia.react": "act", "minigames.trivia.onQuestion": "read", "minigames.trueFalse.current": "read", "minigames.trueFalse.answer": "act", "minigames.trueFalse.react": "act", "minigames.trueFalse.onQuestion": "read", "achievements.stat": "read", "achievements.stats": "read", "achievements.readStat": "read", "achievements.refreshStats": "read", "achievements.setStat": "act", "achievements.of": "read", "achievements.onStatChange": "read", "achievements.onAchievement": "read", "achievements.onAchievements": "read", "achievements.definition": "read", "achievements.definitions": "read", "achievements.hasUnseen": "read", "achievements.showNew": "act", "achievements.describe": "read", "achievements.types": "read", "achievements.catalogue": "read", "achievements.held": "read", "achievements.readStats": "read", "achievements.statBit": "read", "achievements.statType": "read", "achievements.earn": "act", "achievements.onStats": "read", "achievements.definitionsByType": "read", "achievements.progress": "read", "achievements.book": "read", "membership.real": "read", "membership.onChange": "read", "membership.watch": "read", "membership.shown": "read", "membership.showing": "read", "membership.onShowing": "read", "membership.show": "act", "membership.stopShowing": "act", "membership.onUpsell": "read", "membership.upsellsHidden": "read", "membership.hideUpsells": "act", "currency.gems": "read", "currency.tickets": "read", "currency.diamonds": "read", "currency.balance": "read", "currency.read": "read", "currency.onChange": "read", "currency.watch": "read", "currency.donateGems": "act", "currency.redeemCode": "act", "currency.onRedeemResult": "read", "currency.onMembershipRedeemed": "read", "currency.canAfford": "read", "currency.wallet": "read", "currency.craftingCurrencies": "read", "currency.priceParts": "read", "currency.exchangeDefinition": "read", "currency.exchange": "act", "currency.onExchange": "read", "currency.onDonate": "read", "currency.diamondsLoaded": "read", "currency.diamondDefinitionId": "read", "currency.onClientBalance": "read", "gui.tree": "read", "gui.find": "read", "gui.findAll": "read", "gui.at": "read", "gui.text": "read", "gui.isVisible": "read", "gui.isEnabled": "read", "gui.bounds": "read", "gui.popups": "read", "gui.click": "act", "gui.setText": "act", "gui.focus": "act", "gui.closePopup": "act", "gui.onPopup": "read", "gui.onText": "read", "gui.onVisible": "read", "gui.hud": "read", "gui.hudPart": "read", "gui.clickHud": "act", "gui.chatBox": "read", "gui.setChatBox": "act", "gui.chatHistory": "read", "gui.closeChatPanel": "act", "gui.freeChatEnabled": "read", "gui.onFreeChatChange": "read", "gui.gems": "read", "gui.diamonds": "read", "gui.openMap": "act", "gui.openBuddyList": "act", "gui.open": "act", "gui.screens": "read", "gui.close": "act", "gui.isModal": "read", "gui.isReconnecting": "read", "gui.focusChat": "act", "gui.refreshHudAvatar": "act", "gui.grayHudAvatar": "act", "gui.toggleHud": "act", "gui.isDarkened": "read", "editor.isAvatarEditorOpen": "read", "editor.avatarEditorColorTab": "read", "editor.openAvatarEditorTab": "act", "editor.onAvatarEditorTab": "read", "editor.onAvatarEditorOpen": "read", "editor.onAvatarEditorClose": "read", "editor.isDenEditorOpen": "read", "editor.toggleDenEditor": "act", "editor.onDenEditorToggle": "read", "editor.refreshDenLockSettings": "act", "editor.reloadDenItems": "act", "editor.clearDenInUseItems": "act", "editor.isPetCreatorOpen": "read", "editor.petCreatorTab": "read", "editor.openPetCreatorTab": "act", "editor.petCreatorColor": "read", "editor.pickPetCreatorColor": "act", "editor.onPetCreatorColorChange": "read", "editor.onPetCreatorOpen": "read", "editor.onPetCreatorClose": "read", "editor.petCreatorPet": "read", "editor.onPetCreatorPet": "read", "popups.list": "read", "popups.read": "read", "popups.answer": "act", "popups.onOpen": "read", "popups.onClose": "read", "popups.isOpen": "read", "popups.close": "act", "screens.isOpen": "read", "screens.close": "act", "screens.onOpen": "read", "screens.onClose": "read", "screens.denSwitcherIndex": "read", "screens.serverName": "read", "ui.skin": "act", "ui.status": "read", "ui.ready": "read", "ui.readyTimeoutMs": "act", "ui.theme": "read", "ui.symbols": "read", "ui.hasSymbol": "read", "ui.symbol": "act", "ui.window": "act", "ui.button": "act", "ui.label": "act", "ui.input": "act", "ui.checkbox": "act", "ui.dropdown": "act", "ui.tabs": "act", "ui.list": "act", "ui.grid": "act", "ui.image": "act", "ui.scroll": "act", "ui.tooltip": "act", "ui.progress": "act", "ui.colors": "act", "ui.places": "read", "ui.place": "read", "ui.screens": "read", "ui.onScreen": "read", "ui.attach": "act", "ui.replace": "act", "ui.piece": "act", "ui.paletteValues": "read", "ui.feed": "act", "ui.hide": "act", "ui.clear": "act", "ui.popup.message": "act", "ui.popup.ok": "act", "ui.popup.okCancel": "act", "ui.popup.yesNo": "act", "ui.popup.titled": "act", "ui.popup.parchment": "act", "ui.popup.closeAll": "act", "localization.currentLanguage": "read", "localization.setLanguage": "act", "localization.hasLocalizations": "read", "localization.translate": "read", "localization.translatePreferred": "read", "localization.translateWithValues": "read", "localization.translateAvatarName": "read", "localization.translatePetName": "read", "localization.translateRichText": "read", "localization.isReversed": "read", "localization.languageId": "read", "localization.onLanguageChange": "read", "localization.onReady": "read", "localization.accountLanguage": "read", "localization.languageForLocale": "read", "localization.sortingLocale": "read", "localization.numberLocale": "read", "localization.countryCode": "read", "localization.word": "read", "localization.words": "read", "content.available": "read", "content.replacements": "read", "content.onRequest": "read", "content.replace": "act", "content.restore": "act", "community.available": "read", "community.hidden": "read", "community.onHidden": "read", "community.watchHidden": "read", "community.hide": "act", "community.unhide": "act", "community.report": "act", "community.nearby": "read", "community.onNearby": "read", "customRooms.available": "read", "customRooms.current": "read", "customRooms.onEnter": "read", "customRooms.onLeave": "read", "customRooms.onMove": "read", "customRooms.onChat": "read", "customRooms.onPropEnter": "read", "customRooms.onPropLeave": "read", "customRooms.onPropNear": "read", "customRooms.onPropClick": "read", "customRooms.shared": "read", "customRooms.define": "act", "customRooms.remove": "act", "customRooms.enter": "act", "customRooms.leave": "act", "customRooms.propState": "read", "customRooms.changeProp": "act", "customRooms.limits": "read", "customRooms.objectState": "read", "customRooms.objects": "read", "customRooms.onObject": "read", "customRooms.changeObject": "act", "customRooms.characterState": "read", "customRooms.characters": "read", "customRooms.onCharacterClick": "read", "customRooms.changeCharacter": "act", "customRooms.open": "act", "realtime.available": "read", "realtime.status": "read", "realtime.onStatus": "read", "realtime.channels": "read", "realtime.members": "read", "realtime.state": "read", "realtime.presence": "read", "realtime.host": "read", "realtime.onMessage": "read", "realtime.onJoin": "read", "realtime.onLeave": "read", "realtime.onState": "read", "realtime.onPresence": "read", "realtime.onHost": "read", "realtime.onClose": "read", "realtime.open": "act", "realtime.leave": "act", "realtime.send": "act", "realtime.sendTo": "act", "realtime.onAsk": "read", "realtime.ask": "act", "realtime.answer": "act", "realtime.decline": "act", "realtime.setState": "act", "realtime.setPresence": "act", "realtime.giveHost": "act", "realtime.limits": "read", "journeyBook.counts": "read", "journeyBook.unseenPages": "read", "journeyBook.unclaimedGifts": "read", "journeyBook.onChange": "read", "journeyBook.onGiftReady": "read", "journeyBook.open": "act", "journeyBook.unseenPageIds": "read", "journeyBook.showing": "read", "journeyBook.turnTo": "act", "journeyBook.close": "act", "referrals.code": "read", "referrals.clientCode": "read", "referrals.fetchCode": "read", "referrals.hasReferrer": "read", "referrals.list": "read", "referrals.everyone": "read", "referrals.onCode": "read", "referrals.onHasReferrer": "read", "referrals.onReferrerNamed": "read", "referrals.onList": "read", "referrals.rewards": "read", "referrals.onRewards": "read", "referrals.nameReferrer": "act", "avatar.noClip": "read", "avatar.onNoClip": "read", "input.bound": "read", "input.onShortcut": "read", "input.bind": "act", "input.unbind": "act", "input.bindAnywhere": "act", "input.shortcuts": "read", "view.state": "read", "view.zoom": "read", "view.zoomLimits": "read", "view.onChange": "read", "view.setZoom": "act", "view.resetZoom": "act", "view.showInterface": "act", "view.showOwnAvatar": "act", "view.showOwnNameTag": "act", "view.clean": "act", "view.restore": "act", "session.markActive": "act", "session.keepActive": "act", "session.stopKeepingActive": "act", "session.keepingActive": "read", "session.onIdleWarning": "read", "session.ready": "read", "session.whenReady": "read", "popups.skipAtLogin": "act", "popups.stopSkippingAtLogin": "act", "popups.skippingAtLogin": "read", "popups.onSkipped": "read", "gui.pinCurrency": "act", "gui.unpinCurrency": "act", "gui.currencyPinned": "read", "dens.placement": "read", "dailyGift.unwrap": "act", "dailyGift.onOpen": "read", "dailyGift.wheelOpen": "read", "dailyGift.spinWheel": "act", "dailyGift.onWheelOpen": "read", "buddies.whereabouts": "read", "buddies.whereaboutsOf": "read", "buddies.onWhereabouts": "read", "world.roomDefinitions": "read", "looks.current": "read", "looks.of": "read", "looks.plan": "read", "looks.onChange": "read", "looks.watch": "read", "looks.putOn": "act", "looks.bodyMods": "read", "looks.wearBodyMod": "act", "artStudio.isOpen": "read", "artStudio.current": "read", "artStudio.state": "read", "artStudio.palette": "read", "artStudio.picture": "read", "artStudio.painting": "read", "artStudio.planPainting": "read", "artStudio.onOpen": "read", "artStudio.onClose": "read", "artStudio.onStroke": "read", "artStudio.onToolChange": "read", "artStudio.onColorChange": "read", "artStudio.onClear": "read", "artStudio.onSubmit": "read", "artStudio.onSubmitted": "read", "artStudio.onMasterpieceBought": "read", "artStudio.onSaved": "read", "artStudio.onBrowse": "read", "artStudio.onPaintProgress": "read", "artStudio.onPaintDone": "read", "artStudio.open": "act", "artStudio.close": "act", "artStudio.setTool": "act", "artStudio.setBrushSize": "act", "artStudio.setColor": "act", "artStudio.stroke": "act", "artStudio.shape": "act", "artStudio.fill": "act", "artStudio.setCells": "act", "artStudio.clear": "act", "artStudio.undo": "act", "artStudio.paintImage": "act", "artStudio.startPainting": "act", "artStudio.stopPainting": "act", "artStudio.submit": "act", "artStudio.createMasterpiece": "act", "artStudio.openStorage": "act", "artStudio.print": "act", "artStudio.browse": "act", "artStudio.startColouring": "act", "gui.waitFor": "read", "gui.on": "read", "gui.hover": "act", "popups.waitFor": "read", "popups.onOwn": "read", "screens.list": "read", "screens.waitFor": "read", "ui.prompt": "act", "ui.stageSize": "read", "ui.onStageResize": "read", "chat.onSaid": "read", "chat.transcript": "read", "buddies.watchOnline": "read", "buddies.watchFor": "read", "trades.state": "read", "trades.onState": "read", "playerWall.thread": "read", "ui.choose": "act", "ui.notice": "act", "ui.tag": "act", "ui.tipOn": "act", "gui.onChatBox": "read", "input.onAnyKey": "read", "popups.autoAnswer": "act", "popups.stopAutoAnswering": "act", "popups.autoAnswering": "read", "sound.silence": "act", "sound.restore": "act", "localization.translateAll": "read", "editor.petCreatorLook": "read", "editor.onPetCreatorLook": "read" }, C = { "buddies.watchFor": "now", "buddies.watchOnline": "now", "community.watchHidden": "now", "currency.watch": "now", "gui.on": "now", "looks.watch": "now", "membership.watch": "now", "adventures.autoAcceptDialogue": "awaited", "chat.balloon": "awaited" };
383
+ function Q(t) {
384
+ const e = t.slice(t.lastIndexOf(".") + 1);
385
+ return /^on[A-Z]/.test(e) || Object.prototype.hasOwnProperty.call(C, t);
386
+ }
387
+ function X(t) {
388
+ return /^on[A-Z]/.test(t.slice(t.lastIndexOf(".") + 1));
389
+ }
390
+ function Y(t) {
391
+ return C[t] ?? "now";
392
+ }
393
+ function ee(t) {
394
+ return Object.prototype.hasOwnProperty.call(P, t);
395
+ }
396
+ function ae(t) {
397
+ return `sdk:${t.slice(0, t.indexOf("."))}:${P[t]}`;
398
+ }
399
+ export {
400
+ v as C,
401
+ F as D,
402
+ $ as F,
403
+ K as N,
404
+ A as P,
405
+ N as R,
406
+ P as S,
407
+ V as a,
408
+ z as b,
409
+ _ as c,
410
+ Y as d,
411
+ X as e,
412
+ D as f,
413
+ H as g,
414
+ Z as h,
415
+ Q as i,
416
+ f as j,
417
+ B as k,
418
+ q as l,
419
+ x as m,
420
+ G as n,
421
+ h as o,
422
+ C as p,
423
+ U as q,
424
+ j as r,
425
+ J as s,
426
+ ee as t,
427
+ M as u,
428
+ ae as v
429
+ };
@@ -1,16 +1,16 @@
1
1
  import { shallowReactive as l } from "vue";
2
2
  const s = l({ role: null, development: !1, initialized: !1, plugin: { id: "", version: "" }, mode: "dark", games: [], preferences: {}, granted: { scopes: [] }, flashIds: null, kind: null, contribution: null, props: {} });
3
3
  let e = null;
4
- function o(n) {
4
+ function a(n) {
5
5
  e = n;
6
6
  }
7
- function a() {
7
+ function o() {
8
8
  return e;
9
9
  }
10
- function r(n) {
10
+ function t(n) {
11
11
  Object.assign(s, { role: null, development: n, initialized: !1, plugin: { id: "", version: "" }, mode: "dark", games: [], preferences: {}, granted: { scopes: [] }, flashIds: null, kind: null, contribution: null, props: {} });
12
12
  }
13
- function t(n) {
13
+ function r(n) {
14
14
  if (!n) return null;
15
15
  switch (n.kind) {
16
16
  case "logic":
@@ -19,15 +19,16 @@ function t(n) {
19
19
  case "command-view":
20
20
  return n.game;
21
21
  case "page":
22
+ case "widget":
22
23
  return null;
23
24
  }
24
25
  }
25
26
  const u = /* @__PURE__ */ Symbol("phantom-plugin-context");
26
27
  export {
27
28
  u as P,
28
- t as b,
29
- a as c,
29
+ r as b,
30
+ o as c,
30
31
  s as f,
31
- r,
32
- o as s
32
+ t as r,
33
+ a as s
33
34
  };