@raidiant/notifai 14.4.2-beta.2 → 14.4.2-beta.5
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/CHANGELOG.md +8 -2
- package/bin/notifai.mjs +56 -8
- package/data/release.json +1 -1
- package/inventory.json +1 -1
- package/npm-adapter-files.json +10 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,12 +8,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
|
9
9
|
and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
|
10
10
|
|
|
11
|
-
## [14.4.2-beta.
|
|
11
|
+
## [14.4.2-beta.5](https://github.com/Raidiant-io/notifai/compare/v14.4.1...v14.4.2-beta.5) (2026-10-28)
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* `notifai doctor codex` helps you approve Notifai's Codex hooks. Run it in a terminal: it finds the Codex homes where they still wait, such as a T3 Code account's own home, and opens Codex's own hook review in each one, with no sign-in. You approve there and it checks the result. Notifai never approves its hooks itself, and when an agent runs the command it only says what you should run.
|
|
12
16
|
|
|
13
17
|
### Bug Fixes
|
|
14
18
|
|
|
19
|
+
* A Codex session keeps the Notifai hooks it loaded when it started. After an update adds or changes one, `notifai update --resume` no longer says the update is done for that session: it names the hooks the session is missing and says a new Codex session picks them up. `notifai doctor` names them too, and only treats it as a problem when a feature needs one (answers at turn end, Notes during a busy turn, question cards).
|
|
20
|
+
* New Codex installs no longer add an `--integration-revision` argument to their hook commands. Existing installs keep their commands exactly as they are, so nothing needs approving again. `notifai doctor` asks Codex itself whether the hooks are approved when it can.
|
|
15
21
|
* A Codex thread whose Notifai hooks Codex skips, such as one started with its own `CODEX_HOME` for another account, now shows as running in the Notifai apps once it sends. Until its hooks are approved in that home it takes no notes and can't ask questions.
|
|
16
|
-
* The agent in such a thread is told once to remind you to approve the hooks, with the step that works there. In apps that run Codex for you, such as T3 Code and Orca, that is
|
|
22
|
+
* The agent in such a thread is told once to remind you to approve the hooks, with the step that works there. In apps that run Codex for you, such as T3 Code and Orca, that is `notifai doctor codex` in a terminal, the same on every platform. In Orca one approval in `~/.codex` covers every account. `notifai init` and its done message give the same step.
|
|
17
23
|
* With a symlinked `~/.codex`, hooks you approved are no longer reported as waiting for approval.
|
|
18
24
|
|
|
19
25
|
## [14.4.1](https://github.com/Raidiant-io/notifai/compare/v14.4.0...v14.4.1) (2026-10-27)
|
package/bin/notifai.mjs
CHANGED
|
@@ -11285,9 +11285,10 @@ async function runNpmAdapter(args, { locator, platform, distribution, verify: ve
|
|
|
11285
11285
|
|
|
11286
11286
|
// apps/cli/npm/notarization.mjs
|
|
11287
11287
|
import { spawnSync } from "node:child_process";
|
|
11288
|
-
var backoff = [5e3, 15e3];
|
|
11288
|
+
var backoff = [5e3, 15e3, 4e4];
|
|
11289
11289
|
var pause = (ms) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
11290
11290
|
var rejected = (text) => /revoked|CSSMERR_TP_|invalid signature|code or signature have been modified|\brejected\b/i.test(text);
|
|
11291
|
+
var damaged = (text) => /revoked|CSSMERR_TP_|invalid signature|modified/i.test(text);
|
|
11291
11292
|
var unavailable = (text) => /NSURLErrorDomain\s+Code=-(?:1001|1003|1004|1005|1006|1009)\b/.test(text);
|
|
11292
11293
|
var snapshot = (result) => ({
|
|
11293
11294
|
status: result.status,
|
|
@@ -11296,6 +11297,49 @@ var snapshot = (result) => ({
|
|
|
11296
11297
|
stdout: String(result.stdout ?? ""),
|
|
11297
11298
|
stderr: String(result.stderr ?? "")
|
|
11298
11299
|
});
|
|
11300
|
+
var clean = (result) => !result.error && !result.signal;
|
|
11301
|
+
var TICKET_SERVICE = "https://api.apple-cloudkit.com/database/1/com.apple.gk.ticket-delivery/production/public/records/lookup";
|
|
11302
|
+
function lookupAppleTicket(file, run, options) {
|
|
11303
|
+
const display = snapshot(run("/usr/bin/codesign", ["--display", "-vvv", file], options));
|
|
11304
|
+
const cdhash = clean(display) && display.status === 0 && /^CandidateCDHashFull sha256=([0-9a-f]{64})\s*$/m.exec(display.stderr + display.stdout)?.[1];
|
|
11305
|
+
if (!cdhash) return { answer: "unknown", reason: "no-sha256-cdhash" };
|
|
11306
|
+
const record2 = `2/2/${cdhash.slice(0, 40)}`;
|
|
11307
|
+
const response = snapshot(run("/usr/bin/curl", [
|
|
11308
|
+
"-q",
|
|
11309
|
+
"--silent",
|
|
11310
|
+
"--show-error",
|
|
11311
|
+
"--proto",
|
|
11312
|
+
"=https",
|
|
11313
|
+
"--tlsv1.2",
|
|
11314
|
+
"--max-time",
|
|
11315
|
+
"10",
|
|
11316
|
+
"--request",
|
|
11317
|
+
"POST",
|
|
11318
|
+
"--header",
|
|
11319
|
+
"Content-Type: application/json",
|
|
11320
|
+
"--data",
|
|
11321
|
+
JSON.stringify({ records: [{ recordName: record2 }] }),
|
|
11322
|
+
"--write-out",
|
|
11323
|
+
"\n%{http_code}",
|
|
11324
|
+
TICKET_SERVICE
|
|
11325
|
+
], options));
|
|
11326
|
+
const lines = response.stdout.trimEnd().split("\n"), http = lines.pop();
|
|
11327
|
+
let found;
|
|
11328
|
+
try {
|
|
11329
|
+
found = JSON.parse(lines.join("\n")).records?.[0];
|
|
11330
|
+
} catch {
|
|
11331
|
+
found = void 0;
|
|
11332
|
+
}
|
|
11333
|
+
const evidence = { record: record2, http: http ?? null, curl: response.status, server_error: found?.serverErrorCode ?? null };
|
|
11334
|
+
if (!clean(response) || response.status !== 0 || http !== "200" || found?.recordName !== record2) {
|
|
11335
|
+
return { answer: "unavailable", ...evidence, stderr: response.stderr.slice(-500) };
|
|
11336
|
+
}
|
|
11337
|
+
if (found.serverErrorCode === "NOT_FOUND" && !found.recordType) return { answer: "absent", ...evidence };
|
|
11338
|
+
if (found.recordType === "DeveloperIDTicket" && !found.serverErrorCode && typeof found.fields?.signedTicket?.value === "string" && found.fields.signedTicket.value.length > 0) {
|
|
11339
|
+
return { answer: "held", ...evidence };
|
|
11340
|
+
}
|
|
11341
|
+
return { answer: "unavailable", ...evidence };
|
|
11342
|
+
}
|
|
11299
11343
|
function verifyNotarization(file, {
|
|
11300
11344
|
run = spawnSync,
|
|
11301
11345
|
pause: wait = pause,
|
|
@@ -11305,27 +11349,30 @@ function verifyNotarization(file, {
|
|
|
11305
11349
|
for (let attempt = 1; attempt <= backoff.length + 1; attempt += 1) {
|
|
11306
11350
|
const options = { encoding: "utf8", timeout: 6e4, maxBuffer: 256 * 1024, stdio: ["ignore", "pipe", "pipe"] };
|
|
11307
11351
|
const codesign = snapshot(run("/usr/bin/codesign", ["-vvvv", "-R=notarized", "--check-notarization", file], options));
|
|
11308
|
-
if (codesign.status === 0 &&
|
|
11352
|
+
if (codesign.status === 0 && clean(codesign)) {
|
|
11309
11353
|
return { stdout: codesign.stdout, stderr: codesign.stderr, attempts: attempt, failures: history };
|
|
11310
11354
|
}
|
|
11311
|
-
let classification = "rejected-or-unknown", assessment;
|
|
11355
|
+
let classification = "rejected-or-unknown", assessment, ticket;
|
|
11312
11356
|
const diagnostic = codesign.stderr + codesign.stdout;
|
|
11313
|
-
if (
|
|
11357
|
+
if (clean(codesign) && !rejected(diagnostic)) {
|
|
11314
11358
|
if (unavailable(diagnostic)) classification = "lookup-unavailable";
|
|
11315
11359
|
else if (diagnostic.includes("code failed to satisfy specified code requirement(s)")) {
|
|
11316
11360
|
assessment = snapshot(run("/usr/sbin/spctl", ["-a", "-vvv", "-t", "install", file], options));
|
|
11317
11361
|
const detail = assessment.stderr + assessment.stdout;
|
|
11318
|
-
if (
|
|
11362
|
+
if (clean(assessment) && !rejected(detail)) {
|
|
11319
11363
|
if (assessment.status === 0 && /^source=Notarized Developer ID\s*$/m.test(detail) && /: accepted\s*$/m.test(detail)) {
|
|
11320
11364
|
classification = "lookup-inconsistent";
|
|
11321
11365
|
} else if (unavailable(detail)) classification = "lookup-unavailable";
|
|
11366
|
+
} else if (clean(assessment) && assessment.status === 3 && /: rejected\s*$/m.test(detail) && /^source=Unnotarized Developer ID\s*$/m.test(detail) && !damaged(detail) && /satisfies its Designated Requirement/.test(diagnostic)) {
|
|
11367
|
+
ticket = lookupAppleTicket(file, run, options);
|
|
11368
|
+
classification = ticket.answer === "held" ? "lookup-inconsistent" : ticket.answer === "unavailable" ? "lookup-unavailable" : ticket.answer === "absent" ? "not-notarized" : "rejected-or-unknown";
|
|
11322
11369
|
}
|
|
11323
11370
|
}
|
|
11324
11371
|
}
|
|
11325
|
-
const entry = { attempt, classification, codesign, ...assessment ? { assessment } : {} };
|
|
11372
|
+
const entry = { attempt, classification, codesign, ...assessment ? { assessment } : {}, ...ticket ? { ticket } : {} };
|
|
11326
11373
|
history.push(entry);
|
|
11327
11374
|
report(entry);
|
|
11328
|
-
if (classification === "rejected-or-unknown" || attempt > backoff.length) {
|
|
11375
|
+
if (classification === "rejected-or-unknown" || classification === "not-notarized" || attempt > backoff.length) {
|
|
11329
11376
|
const error = new Error(`Apple notarization verification failed (${classification}, attempt ${attempt}): ${JSON.stringify(history)}`);
|
|
11330
11377
|
error.code = "NOTARIZATION_VERIFICATION_FAILED";
|
|
11331
11378
|
error.attempts = history;
|
|
@@ -11369,7 +11416,8 @@ function powershell(operation, data = {}, { lineInput = false, execute = execFil
|
|
|
11369
11416
|
).trim();
|
|
11370
11417
|
} catch (error) {
|
|
11371
11418
|
const last = [...String(error.stderr ?? "").matchAll(/notifai-bootstrap:([a-z-]+)/g)].at(-1)?.[1] ?? "process-start";
|
|
11372
|
-
|
|
11419
|
+
const step = /\b(?:Get|Assert|New)-Notifai\w+/.exec(operation)?.[0] ?? "helper";
|
|
11420
|
+
throw new Error(`Windows installation helper failed after ${last} in ${step} (${error.code ?? error.status ?? "unknown"}).`, { cause: error });
|
|
11373
11421
|
}
|
|
11374
11422
|
}
|
|
11375
11423
|
function windowsPackageAccess(paths, execute = execFileSync) {
|
package/data/release.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"14.4.2-beta.
|
|
1
|
+
{"version":"14.4.2-beta.5","source_revision":"49eeb821e63d0e2f7e3fa5370491840a20a0f49e"}
|
package/inventory.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC40LjItYmV0YS4yIiwic291cmNlX3JldmlzaW9uIjoiMzkzMjA1NWFlZjY0ZjI1NWU0ZjI4YzFmMjU0ZWJmNmM1YmE1NGUxZSIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMi1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MTE1Nzc3LCJzaGEyNTYiOiI1YWY0MjI2YzA2Y2ZmMTUwNmExNzVmNjVlOGM2ZDM0MTNlMTRjMjAxYzkyODIyZTI0NzMzYzU4NjkzYTRiM2UyIiwicnVudGltZV9zaGEyNTYiOiIzNWQ2MzAyZjk3YjhhZjk1MjgxODg2NGZlYTk4YWY4YmU5OTNmNTI5MjMyYTFiNWQ4NjYxYTlhNzcxOTZhMDQwIiwibGF1bmNoZXJfc2hhMjU2IjoiMWNhODY2ZTMyYjlhMDFiMDc4ZWQwYTQxYTliOTZjMjRhMzIyN2FhYzJiODdkNmZmNGUxNWY2NTEwMDNmNmUzNyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjNkZTNkYmMwMDUyOWIxZmU5NGU4MzRkZjhkY2UyOGY3MjZjZTQwODQxM2VmY2JkOGRlOTM2MmI5MGE2ZTZjYTEifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMi1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDM1OTYxNywic2hhMjU2IjoiNjYxZDllYTY4MzExMDE5ZjAwN2JmOWEyMmQwNjk0NzZmMGJjZmEzOGJlMmY2MWM5MzBmYzFkMjcwOWE3NzUwYiIsInJ1bnRpbWVfc2hhMjU2IjoiMTU0ZDIyODVjNGY4MjFiODAyN2E3Nzk4OWFhODFmMWM4Yjg0MTJiM2I3ZDg5Zjg0MzQ3OTE5N2I5YTM1ZmI5MCIsImxhdW5jaGVyX3NoYTI1NiI6IjVhMzRkYmViYTNmMjVlNGU4N2RiMWU5NTQxNjRkNDFjMGQyNDAzMjY5NWQwZmUxM2I2OWIwYWY1NDNjMWE0YzQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzZGUzZGJjMDA1MjliMWZlOTRlODM0ZGY4ZGNlMjhmNzI2Y2U0MDg0MTNlZmNiZDhkZTkzNjJiOTBhNmU2Y2ExIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS4yLWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTY2NzU0OCwic2hhMjU2IjoiODljYWQ0YWFjNDUwMjA1MTliOTlhZjVhNDUwOTYwZDhmODUzNmE4NjExNDEzZTBjMzFkMmEwOGZkNDA4YzVhMSIsInJ1bnRpbWVfc2hhMjU2IjoiZmE3NDg0MmViZTBmNjA5NmVhMDAyYjMyODdkZjdiNzdkYjgyZDYxMDExMjBmZDljNWE3Zjk0NGY0MzMwMDRkMiIsImxhdW5jaGVyX3NoYTI1NiI6ImMyYWI1ZjgwOTBjMTNmMDcwYjg3Yzg2NThiODAwM2MyYjg3OGMwYThjNWNjZGJmNWI5NDJjMTU3OTFlOGFkNzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzZGUzZGJjMDA1MjliMWZlOTRlODM0ZGY4ZGNlMjhmNzI2Y2U0MDg0MTNlZmNiZDhkZTkzNjJiOTBhNmU2Y2ExIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMi1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MjM1NDI3LCJzaGEyNTYiOiI4ZGJmYmM4YmE1ZTZkMTBmMTUyYzc4ZDcwOTliMDdmYWQ3N2FmYzVkMDY2ZjlmYjhmMjViODhiODJjMGVjZTQxIiwicnVudGltZV9zaGEyNTYiOiIwNGUxMjNlNTcwNTIzM2NmM2NlMWMxZWQ1YTJmMTFmZTQzY2U0ODBkZGNkNmZkMTAzMTZkZGIwOTBlZTllMmYyIiwibGF1bmNoZXJfc2hhMjU2IjoiODNmM2Y5NWVhNzZhMTNjYTU2YmFmM2ZjM2EwMzYyOTdjZTkwZDk1NjAzZjliNDhkMDg5ZDAzMDM3N2JhZTM5ZSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjNkZTNkYmMwMDUyOWIxZmU5NGU4MzRkZjhkY2UyOGY3MjZjZTQwODQxM2VmY2JkOGRlOTM2MmI5MGE2ZTZjYTEifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuMi13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozOTAxNzQ3Nywic2hhMjU2IjoiMjJmZGZmYjVmMWU2ZWYzOGVkNmMzOTE5MzA5N2FkNTQxMzZiNWY0MDg2NThhNDhjYjYyMzhlNWVhOWI4ODU3YSIsInJ1bnRpbWVfc2hhMjU2IjoiNjgyYjk1YmJjOWU3YjI0MTg5MDVlYmE2ODA4ZDk4ZDE1ZGJlODUxNjgxZjQxZWRlZjFhYTA5ODQyODZmMWQ2YyIsImxhdW5jaGVyX3NoYTI1NiI6IjYzMzllZjQyZjMwMDM5MWFlZTY4MzRkOTgyZDAzNWEzMTZiY2MxODBiODlhNDBjYzQ3MGI2YWVkNzk5YWRiZWQiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzZGUzZGJjMDA1MjliMWZlOTRlODM0ZGY4ZGNlMjhmNzI2Y2U0MDg0MTNlZmNiZDhkZTkzNjJiOTBhNmU2Y2ExIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS4yLXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjE2NTQ0MSwic2hhMjU2IjoiNWRhMTQ5MDM3OWNiZDRhZjMwZjU3ZmM2NDNhNjM4NTNmODMwN2VmMWQ0NjcyZDhiYTc0ODY0MmRjZjNjNjNiMCIsInJ1bnRpbWVfc2hhMjU2IjoiMWU4YzcyYTI3N2E5NWJiMGYzN2ViMGY5NzNhYmIxZTE3ZWFhOWQ1YTQ4OWZlOWU2NTJkZDdlMWVmMzlkMjM1YiIsImxhdW5jaGVyX3NoYTI1NiI6ImZiMTE3MTdjOGVhZGMxZGRjMTg3ZGQyM2I0OGIxOWYzM2M2ZTkzMDIyNjYzZmVhMjNlYTNiNjVlMDkzY2FmNDMiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiIzZGUzZGJjMDA1MjliMWZlOTRlODM0ZGY4ZGNlMjhmNzI2Y2U0MDg0MTNlZmNiZDhkZTkzNjJiOTBhNmU2Y2ExIn1dfV19","signature":"37brRRn6D7wVQMpiI3Kv1zM8QTaPV0f3i/Le35ZUoMp/6/G03T7qpoh8haiRBRvcNVWZYLUC9LuFGZoWMfcMAA=="}
|
|
1
|
+
{"key_id":"notifai-release-2026-10","payload":"eyJzY2hlbWEiOjIsInZlcnNpb24iOiIxNC40LjItYmV0YS41Iiwic291cmNlX3JldmlzaW9uIjoiNDllZWI4MjFlNjNkMGUyZjdlM2ZhNTM3MDQ5MTg0MGEyMGEwZjQ5ZSIsImxvY2FsX2NvbnRpbnVpdHkiOnsiY29udHJhY3QiOiJub3RpZmFpLXNlc3Npb24tc3RhdGUtdjIiLCJjb21wYXRpYmxlIjp7Im5vdGlmYWktc2Vzc2lvbi1zdGF0ZS12MSI6WyJidW4tZGFyd2luLWFybTY0IiwiYnVuLWRhcndpbi14NjQiLCJidW4td2luZG93cy1hcm02NCIsImJ1bi13aW5kb3dzLXg2NCJdfX0sInN0b3JlX3NjaGVtYSI6MiwibGF1bmNoZXJfc2NoZW1hIjoxLCJhcnRpZmFjdHMiOlt7InRhcmdldCI6ImJ1bi1kYXJ3aW4tYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNS1kYXJ3aW4tYXJtNjQudGFyLmd6IiwiYnl0ZXMiOjI4MTI1MDc3LCJzaGEyNTYiOiI0MmZiMWZhYjlkYWI2NTAwODNlOTVmYjE2MDgxODgzYjI2ODMzMjRiYjEwZTg0MTZkNjY4YTQ2YjY4ZWI0Yzk0IiwicnVudGltZV9zaGEyNTYiOiI5NmJkMTg5ZTk4NTU1ZTIxZmYwOTM1NzJlMGI4YThkMmI5YmIxZjJlM2RjODQ3MDg0YzA0Mzg5MDA4ZjU0YjkyIiwibGF1bmNoZXJfc2hhMjU2IjoiNjFkZTBlNjY2N2Y4MjFkOTI0NTY3NWYzNmQwZTdhOTJmYzc1NmVhMDUzM2U4YjMzYWMwMzNiZTgxMGJhYjg5YyIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjU2ZDRkNWIyYTU0NmE2NWZhMzEzOGRiY2Q5ZjVkMTA4ZWE5NDUyMTA4MzFiNzYwNjA2MGVmMGE1YzRhMmVhZGMifV19LHsidGFyZ2V0IjoiYnVuLWRhcndpbi14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNS1kYXJ3aW4teDY0LnRhci5neiIsImJ5dGVzIjozMDM2NzA5MCwic2hhMjU2IjoiNWIzZmQ5ZjI0Mjg3NGNmZTdjMjY3NTE0NzMzZWQ2NGJjYjE5YjMwNzAwN2YzZmNkNGI4NTMxNWI0MTlhOTBmZSIsInJ1bnRpbWVfc2hhMjU2IjoiODhhNjZiOTc3ZjQ2Y2YyMWRmNDc3YjE0ZTkyOWUyODMzYjgzZjkyNjU4NTMxM2JlYjQxOWEzYTkwMzQzYzQ0OCIsImxhdW5jaGVyX3NoYTI1NiI6IjhiZWQ3NzBmZWRkNWU1ZTc3ODMwNTU5MDgyMGJlNjJmN2EwZTQ1NzFlMjRjZjBkYmFiMzBhNWY1YjYxYWE5YWIiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NmQ0ZDViMmE1NDZhNjVmYTMxMzhkYmNkOWY1ZDEwOGVhOTQ1MjEwODMxYjc2MDYwNjBlZjBhNWM0YTJlYWRjIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC1hcm02NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS41LWxpbnV4LWFybTY0LnRhci5neiIsImJ5dGVzIjozOTY3NzgwOCwic2hhMjU2IjoiMzM0MWNjNTZiNjdiOTc2NDJlZDNlZTlhNDU1NTZhMDc1ZWE1NzZjNWM0YWJjNTVmNTQyYjRmNjhhZTdkNWZiYiIsInJ1bnRpbWVfc2hhMjU2IjoiOTg3Mjc0MjQ2OGZiZjg1OThlM2EyZDk3ZjY4MjNmZmMyYjMyZDgwNmNiN2ViMDY2NTIzNGVlY2ZmZWE0MzM0YyIsImxhdW5jaGVyX3NoYTI1NiI6ImMyYWI1ZjgwOTBjMTNmMDcwYjg3Yzg2NThiODAwM2MyYjg3OGMwYThjNWNjZGJmNWI5NDJjMTU3OTFlOGFkNzYiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NmQ0ZDViMmE1NDZhNjVmYTMxMzhkYmNkOWY1ZDEwOGVhOTQ1MjEwODMxYjc2MDYwNjBlZjBhNWM0YTJlYWRjIn1dfSx7InRhcmdldCI6ImJ1bi1saW51eC14NjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNS1saW51eC14NjQudGFyLmd6IiwiYnl0ZXMiOjM5MjQxNTY1LCJzaGEyNTYiOiI2ODMzYTIzZTg3OGFmMmFiODJkNDdhZGQ4YTJmNWM0YmNiY2IwYWEzOWE4ODE0YjA4MzI0NWQyZTY3MjdkNzkzIiwicnVudGltZV9zaGEyNTYiOiI5N2Y2YzdlOGQ5MDQ5OWYwOGNhMzFlZmEzNGUyOWMyNjI2ZDk4MTZiYzU1YmVjY2RiOTNmZmYzNTE1OTMxOTFjIiwibGF1bmNoZXJfc2hhMjU2IjoiODNmM2Y5NWVhNzZhMTNjYTU2YmFmM2ZjM2EwMzYyOTdjZTkwZDk1NjAzZjliNDhkMDg5ZDAzMDM3N2JhZTM5ZSIsIm1hdGVyaWFscyI6W3sicGF0aCI6IkJVTi1MSUNFTlNFLm1kIiwiYnl0ZXMiOjU2MTMsInNoYTI1NiI6ImI5Y2FmNTI3Mjg2OTFiNDA1N2UzNzEyMzJjMjIxYTEzMjg4MzE5OGJlMmYzZDJkZGY5MmM5MDQwNGM5ODRiMWEifSx7InBhdGgiOiJDT1JSRVNQT05ESU5HLVNPVVJDRVMuanNvbiIsImJ5dGVzIjoyMDIwLCJzaGEyNTYiOiJmYTRjMzQ0ODAxMTU0ODcyZDYxNzllZTJlZjQ5OTIzZGM5Zjg5MDllZjAxZTUzYjg2ZThmNTdjNjI1ODIzMjc0In0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJieXRlcyI6MTEzNDYsInNoYTI1NiI6Ijk0NGMxM2ZmMGZlNzk1ZTI5MWZkMWM0OTQ3M2Y5OGQ0ZmRmMWY3NDYzOGUwMWY4ODI3NjljZDRjYWU3OGI3M2QifSx7InBhdGgiOiJOT1RJQ0UtUFJPVkVOQU5DRS5qc29uIiwiYnl0ZXMiOjQ1MDI2NCwic2hhMjU2IjoiNTM0ZGQ1OWZkNGMxNWRkMTM4MmU4MjdmMGI4NWMxOWY3YzY5OGUyMzVmOTI5OWVhYTIwMmRiNTQwMDgzNDI4OCJ9LHsicGF0aCI6Ik5PVElDRS50eHQiLCJieXRlcyI6NjI2LCJzaGEyNTYiOiIxZGZiZjQ0OThkYzAyNmIyMDU5YzBiMGI1ZWI1ZmExZDgyYWUzMzRlNThmZjExZTdjMjk3MzMzMjdmMjVjNGViIn0seyJwYXRoIjoiUkVCVUlMRElORy5tZCIsImJ5dGVzIjozODQyLCJzaGEyNTYiOiJjZTYwNWI1ZmRiMDMxOTMzOWY5ZjgzZjJmZTdjY2NiYzdlNTcyNmZkZjQ5NGRhNmUyODQzM2JlZjgyOWViMGJlIn0seyJwYXRoIjoiU09VUkNFLU5PVElDRVMudHh0IiwiYnl0ZXMiOjkwMTc3NzEsInNoYTI1NiI6Ijg5OTc2YmVjYzI1NjU0MGU2ZDJlODA3YjQ3YTRlMDVlODg5OTgyYzA2MjJmYzA0NDEzYTdiZjdlNzdhNzdlMzcifSx7InBhdGgiOiJUSElSRC1QQVJUWS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjoyNDkxNDk2LCJzaGEyNTYiOiIxMTY0NDdlZmY3Nzg5MzUxMTc5N2VmNDc2MDExZGVjODAwMjI0ZjkxZTMzNDJlM2Q2NTcwNzA4NzEyYjRiNzcyIn0seyJwYXRoIjoibGljZW5zZXMvbnBtLWNtZC1zaGltLnR4dCIsImJ5dGVzIjo4MTMsInNoYTI1NiI6ImFmZmZkZjEyMDgxMTIyNzQ5YzRiNzFjNWIxYzExYmM2NTlkNzkyNDJkMTllMThmNWU4ZGJhYjA0YTQ1ZTM2YmIifSx7InBhdGgiOiJucG0tYWRhcHRlci1maWxlcy5qc29uIiwiYnl0ZXMiOjE2NjYsInNoYTI1NiI6IjU2ZDRkNWIyYTU0NmE2NWZhMzEzOGRiY2Q5ZjVkMTA4ZWE5NDUyMTA4MzFiNzYwNjA2MGVmMGE1YzRhMmVhZGMifV19LHsidGFyZ2V0IjoiYnVuLXdpbmRvd3MtYXJtNjQiLCJmaWxlbmFtZSI6Im5vdGlmYWktMTQuNC4yLWJldGEuNS13aW5kb3dzLWFybTY0LnppcCIsImJ5dGVzIjozOTAyNjAxNiwic2hhMjU2IjoiNTM3MjBiNTFkMDVkMTQ0MGUxNGJkZmNlZWU2OTBlYjNmODMzYzdkOTQyNzhiMTUzMDA1MjgyNWYwMTgwNWNlYyIsInJ1bnRpbWVfc2hhMjU2IjoiNWI3OTZlOTUwYmE3OTgxOWZiMWI4ZGJmNDk4N2IxN2NjNGIxODg4YmQ3YmM2OWEzOTM4MjFiNjljZjQ2ZGIwMyIsImxhdW5jaGVyX3NoYTI1NiI6IjM2MzNiODYwMzQzNjAxNzkxYmIyMTMzZjgzMmJjYzNjOWYwMDE4YTNhNTk2MmNiMjk0MzhlM2Q4ZDgzZTFhMmUiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NmQ0ZDViMmE1NDZhNjVmYTMxMzhkYmNkOWY1ZDEwOGVhOTQ1MjEwODMxYjc2MDYwNjBlZjBhNWM0YTJlYWRjIn1dfSx7InRhcmdldCI6ImJ1bi13aW5kb3dzLXg2NCIsImZpbGVuYW1lIjoibm90aWZhaS0xNC40LjItYmV0YS41LXdpbmRvd3MteDY0LnppcCIsImJ5dGVzIjo0MjE3NDE3Niwic2hhMjU2IjoiMzJiN2RkOTkxNWRhZjBmNGRjNDkxOGVmM2JhMWRkZWUxYzgxMTM0NTM3MWFiMTU3YTkwOGRlMTU4MjA5ZDZmYSIsInJ1bnRpbWVfc2hhMjU2IjoiZjY5ODMxNjU5MzFkZjdjNTUyYTdiNWQ0YTJlM2JhYjgwN2QzYTI5NmM4ZTIzOWI1ODIyYzBjNWZjYzZmMTViOCIsImxhdW5jaGVyX3NoYTI1NiI6Ijc3NzAyZWY5NmE2YTc3Y2M3YTZmYTA5ODVkZGU3NTY5ODFhMmI3NDY4MzcyYzhhM2Q3N2QyM2ZjNmM5YTc3YzAiLCJtYXRlcmlhbHMiOlt7InBhdGgiOiJCVU4tTElDRU5TRS5tZCIsImJ5dGVzIjo1NjEzLCJzaGEyNTYiOiJiOWNhZjUyNzI4NjkxYjQwNTdlMzcxMjMyYzIyMWExMzI4ODMxOThiZTJmM2QyZGRmOTJjOTA0MDRjOTg0YjFhIn0seyJwYXRoIjoiQ09SUkVTUE9ORElORy1TT1VSQ0VTLmpzb24iLCJieXRlcyI6MjAyMCwic2hhMjU2IjoiZmE0YzM0NDgwMTE1NDg3MmQ2MTc5ZWUyZWY0OTkyM2RjOWY4OTA5ZWYwMWU1M2I4NmU4ZjU3YzYyNTgyMzI3NCJ9LHsicGF0aCI6IkxJQ0VOU0UudHh0IiwiYnl0ZXMiOjExMzQ2LCJzaGEyNTYiOiI5NDRjMTNmZjBmZTc5NWUyOTFmZDFjNDk0NzNmOThkNGZkZjFmNzQ2MzhlMDFmODgyNzY5Y2Q0Y2FlNzhiNzNkIn0seyJwYXRoIjoiTk9USUNFLVBST1ZFTkFOQ0UuanNvbiIsImJ5dGVzIjo0NTAyNjQsInNoYTI1NiI6IjUzNGRkNTlmZDRjMTVkZDEzODJlODI3ZjBiODVjMTlmN2M2OThlMjM1ZjkyOTllYWEyMDJkYjU0MDA4MzQyODgifSx7InBhdGgiOiJOT1RJQ0UudHh0IiwiYnl0ZXMiOjYyNiwic2hhMjU2IjoiMWRmYmY0NDk4ZGMwMjZiMjA1OWMwYjBiNWViNWZhMWQ4MmFlMzM0ZTU4ZmYxMWU3YzI5NzMzMzI3ZjI1YzRlYiJ9LHsicGF0aCI6IlJFQlVJTERJTkcubWQiLCJieXRlcyI6Mzg0Miwic2hhMjU2IjoiY2U2MDViNWZkYjAzMTkzMzlmOWY4M2YyZmU3Y2NjYmM3ZTU3MjZmZGY0OTRkYTZlMjg0MzNiZWY4MjllYjBiZSJ9LHsicGF0aCI6IlNPVVJDRS1OT1RJQ0VTLnR4dCIsImJ5dGVzIjo5MDE3NzcxLCJzaGEyNTYiOiI4OTk3NmJlY2MyNTY1NDBlNmQyZTgwN2I0N2E0ZTA1ZTg4OTk4MmMwNjIyZmMwNDQxM2E3YmY3ZTc3YTc3ZTM3In0seyJwYXRoIjoiVEhJUkQtUEFSVFktTk9USUNFUy50eHQiLCJieXRlcyI6MjQ5MTQ5Niwic2hhMjU2IjoiMTE2NDQ3ZWZmNzc4OTM1MTE3OTdlZjQ3NjAxMWRlYzgwMDIyNGY5MWUzMzQyZTNkNjU3MDcwODcxMmI0Yjc3MiJ9LHsicGF0aCI6ImxpY2Vuc2VzL25wbS1jbWQtc2hpbS50eHQiLCJieXRlcyI6ODEzLCJzaGEyNTYiOiJhZmZmZGYxMjA4MTEyMjc0OWM0YjcxYzViMWMxMWJjNjU5ZDc5MjQyZDE5ZTE4ZjVlOGRiYWIwNGE0NWUzNmJiIn0seyJwYXRoIjoibnBtLWFkYXB0ZXItZmlsZXMuanNvbiIsImJ5dGVzIjoxNjY2LCJzaGEyNTYiOiI1NmQ0ZDViMmE1NDZhNjVmYTMxMzhkYmNkOWY1ZDEwOGVhOTQ1MjEwODMxYjc2MDYwNjBlZjBhNWM0YTJlYWRjIn1dfV19","signature":"p4mxYQYUwCMiDPwzhujVFsCsicWRdZDEgtR6/T5Xqf6tKuyIy/mfD1q+uylU1fQyc52fa/9s8W0ibm+YZVtAAQ=="}
|
package/npm-adapter-files.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"package": "@raidiant/notifai",
|
|
4
|
-
"adapter_version": "14.4.2-beta.
|
|
4
|
+
"adapter_version": "14.4.2-beta.5",
|
|
5
5
|
"native": {
|
|
6
|
-
"version": "14.4.2-beta.
|
|
7
|
-
"source_revision": "
|
|
8
|
-
"inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.4.2-beta.
|
|
6
|
+
"version": "14.4.2-beta.5",
|
|
7
|
+
"source_revision": "49eeb821e63d0e2f7e3fa5370491840a20a0f49e",
|
|
8
|
+
"inventory_url": "https://github.com/Raidiant-io/notifai/releases/download/v14.4.2-beta.5/inventory.json"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
{
|
|
12
12
|
"path": "CHANGELOG.md",
|
|
13
|
-
"bytes":
|
|
14
|
-
"sha256": "
|
|
13
|
+
"bytes": 97438,
|
|
14
|
+
"sha256": "d8cdaee64f5ec93454b83a01ada703c5969d09017254d27ca33fddc3167c2270"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"path": "LICENSE",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"path": "bin/notifai.mjs",
|
|
38
|
-
"bytes":
|
|
39
|
-
"sha256": "
|
|
38
|
+
"bytes": 530127,
|
|
39
|
+
"sha256": "f645f9fc77d343ab0b348f6146cbfdb809048e5e342838f66e6c60831e7648f0"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"path": "data/install.ps1",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
{
|
|
47
47
|
"path": "data/release.json",
|
|
48
48
|
"bytes": 89,
|
|
49
|
-
"sha256": "
|
|
49
|
+
"sha256": "a8e58e4929be314d62ab77ad6d33e10bcdd4d40639256698e9774af25dbec23b"
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"path": "package.json",
|
|
53
53
|
"bytes": 1315,
|
|
54
|
-
"sha256": "
|
|
54
|
+
"sha256": "174e0ee5541d93eceb418260abae06e928daa7931c75e0e392a623e40654dd29"
|
|
55
55
|
}
|
|
56
56
|
]
|
|
57
57
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@raidiant/notifai",
|
|
3
|
-
"version": "14.4.2-beta.
|
|
3
|
+
"version": "14.4.2-beta.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Notifications and questions from your coding agents to your phone. Your answer goes back to the exact session that asked. Claude Code, Codex, Cursor, OpenCode, OpenClaw, Hermes and Grok.",
|
|
6
6
|
"keywords": [
|