gitmark 0.0.77 → 0.0.79
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/FUNDING.md +145 -0
- package/README.md +24 -0
- package/URI.md +11 -0
- package/bin/git-mark.js +79 -10
- package/lib/unified-sighash.js +195 -0
- package/package.json +1 -1
- package/test/git-mark.test.js +114 -1
- package/test/unified_sighash.json +169 -0
- package/.claude/settings.local.json +0 -35
package/FUNDING.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
## Funding & State Contract
|
|
2
|
+
|
|
3
|
+
How a gitmark repo gets funded, where its state lives, and which tool owns
|
|
4
|
+
which field. This is the contract that [GENESIS](./GENESIS.md) and
|
|
5
|
+
[MARK](./MARK.md) operate against, and that
|
|
6
|
+
[fund-agent](https://github.com/blocktrails/fund-agent) must align to.
|
|
7
|
+
|
|
8
|
+
The guiding rule: **clean by default, publish by switch**, and **two funding
|
|
9
|
+
roles that are never confused for each other**.
|
|
10
|
+
|
|
11
|
+
> **Status: current.** This doc describes the modern (0.0.77+, blocktrails)
|
|
12
|
+
> design — config + git-notes state, `blocktrails.json` trail. Some older
|
|
13
|
+
> operation docs predate this and are being modernized step by step; where they
|
|
14
|
+
> disagree with this contract, this contract is the current one. References
|
|
15
|
+
> below are to *operations* (which map to real commands today), not to the older
|
|
16
|
+
> prose around them.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Two state modes
|
|
21
|
+
|
|
22
|
+
State splits on one question: *does it touch the committed working tree?*
|
|
23
|
+
|
|
24
|
+
### Clean (the default)
|
|
25
|
+
|
|
26
|
+
State lives where git already keeps non-tree data:
|
|
27
|
+
|
|
28
|
+
- **`git config` (local)** — the private, operational pointers
|
|
29
|
+
(`nostr.privkey`, `gitmark.network`, `gitmark.txo`). Never committed.
|
|
30
|
+
- **`git notes`** — the per-commit trail entry. Pushable
|
|
31
|
+
(`refs/notes/*`), so the history still travels with the repo and verifies,
|
|
32
|
+
without leaving anything in the working tree.
|
|
33
|
+
|
|
34
|
+
Any repo can be anchored this way without adding a single file to it. This is
|
|
35
|
+
the mode you want for an ordinary code repo you're merely timestamping.
|
|
36
|
+
|
|
37
|
+
### Publish (opt-in, `--in-repo` / `--publish`)
|
|
38
|
+
|
|
39
|
+
*Additionally* writes committed files:
|
|
40
|
+
|
|
41
|
+
- **`blocktrails.json`** — the canonical, human-readable, verifiable trail.
|
|
42
|
+
- **`.well-known/txo/txo.json`** — the funding ledger, servable over HTTP
|
|
43
|
+
(RFC 8615).
|
|
44
|
+
|
|
45
|
+
These are **serializations for outside consumers**, not the source of truth —
|
|
46
|
+
the source of truth is always the config + notes + the chain itself. Use this
|
|
47
|
+
mode when you actually want the trail visible or servable: a published soul, a
|
|
48
|
+
`gh-pages` site, a `.well-known` endpoint.
|
|
49
|
+
|
|
50
|
+
> Today both gitmark and fund-agent behave as if `--publish` were always on,
|
|
51
|
+
> because the switch has not been added yet. The fix is to make the file writes
|
|
52
|
+
> conditional and default them off.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Two funding roles
|
|
57
|
+
|
|
58
|
+
These are **two different things with different lifecycles** — not two names for
|
|
59
|
+
one value. Keeping them distinct is what makes the producer/consumer split
|
|
60
|
+
clean.
|
|
61
|
+
|
|
62
|
+
| | `nostr.voucher` | `gitmark.txo` |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| **Role** | bootstrap — fund a fresh repo | the running tip — what the next MARK spends |
|
|
65
|
+
| **Lifecycle** | transient; consumed once at GENESIS | updated on every MARK |
|
|
66
|
+
| **Form** | bearer voucher (`&key=`) — spendable cash | self-reference (`&pubkey=`) — spendable only by `nostr.privkey` |
|
|
67
|
+
| **Namespace** | `nostr.*`, beside `nostr.privkey` (a soul-bootstrap credential) | `gitmark.*` (the tool's operational state) |
|
|
68
|
+
| **Owned by** | **fund-agent** (writes it) | **gitmark** (manages it) |
|
|
69
|
+
|
|
70
|
+
### `nostr.voucher` — bootstrap
|
|
71
|
+
|
|
72
|
+
A faucet handout that gets a brand-new repo its first sats. It carries a
|
|
73
|
+
spendable key (`&key=`), so it is bearer value — as sensitive as
|
|
74
|
+
`nostr.privkey`, and like it, **local only, never `--global`**. fund-agent's job
|
|
75
|
+
ends once it has written this (and the key) into the new repo.
|
|
76
|
+
|
|
77
|
+
### `gitmark.txo` — the running tip
|
|
78
|
+
|
|
79
|
+
The latest unspent output on the repo's *own* key — the head of the mark chain.
|
|
80
|
+
Each [MARK](./MARK.md) spends it and records the new output back into
|
|
81
|
+
`gitmark.txo`. Because it references the repo's own key by pubkey (not a bearer
|
|
82
|
+
key), publishing it is safe.
|
|
83
|
+
|
|
84
|
+
> **Why `txo`, not `utxo`** — the value is a `txo:` URI, consistent with the
|
|
85
|
+
> rest of the stack (`.well-known/txo/txo.json`, the `txo:` scheme,
|
|
86
|
+
> `txo_parser`). The field always holds the *current unspent* tip, but that is
|
|
87
|
+
> an invariant of the role, not something the name needs to restate. (If the
|
|
88
|
+
> name had to scream its role, `gitmark.tip` would beat `utxo` — but consistency
|
|
89
|
+
> wins; keep `txo`.)
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## The seam: GENESIS
|
|
94
|
+
|
|
95
|
+
The two roles meet at exactly one point, and only one:
|
|
96
|
+
|
|
97
|
+
> **`git mark init` (GENESIS) reads `nostr.voucher`, sweeps it onto the repo's
|
|
98
|
+
> own key, and seeds the first `gitmark.txo`.**
|
|
99
|
+
|
|
100
|
+
After that, gitmark owns the tip. `nostr.voucher` has done its job and is spent;
|
|
101
|
+
fund-agent never touches `gitmark.txo`, and gitmark never re-reads the voucher.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
fund-agent gitmark
|
|
105
|
+
────────── ───────
|
|
106
|
+
fund the key ┐
|
|
107
|
+
write nostr.voucher├──► git mark init (GENESIS)
|
|
108
|
+
(bearer, &key=) ┘ │ sweep voucher
|
|
109
|
+
▼
|
|
110
|
+
gitmark.txo ◄──┐ (self-ref, &pubkey=)
|
|
111
|
+
│ │
|
|
112
|
+
▼ │
|
|
113
|
+
git mark (MARK)─┘ spend tip → record new tip
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Division of labour
|
|
119
|
+
|
|
120
|
+
- **fund-agent** owns **bootstrap**: fund the key, write `nostr.voucher`. It does
|
|
121
|
+
not need to know `gitmark.txo` exists.
|
|
122
|
+
- **gitmark** owns **the tip**: GENESIS seeds `gitmark.txo` from the voucher;
|
|
123
|
+
every MARK advances it. In `--publish` mode it also serializes the trail to
|
|
124
|
+
`blocktrails.json` / `.well-known/txo/txo.json`.
|
|
125
|
+
|
|
126
|
+
This keeps each tool inside its own config namespace, with a single, explicit
|
|
127
|
+
handoff field between them.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Safety
|
|
132
|
+
|
|
133
|
+
- **Local only, never `--global`.** Both `nostr.privkey` and `nostr.voucher` are
|
|
134
|
+
per-repo secrets; a `--global` write would clobber another repo's soul.
|
|
135
|
+
- **`nostr.voucher` is bearer value.** Treat the `&key=` string like cash; never
|
|
136
|
+
commit it, never publish it. Only `gitmark.txo` (the `&pubkey=` self-reference)
|
|
137
|
+
is safe to expose.
|
|
138
|
+
- **Clean mode commits nothing.** `--publish` is the only mode that writes files
|
|
139
|
+
into the tree — so publishing the trail is always a deliberate choice.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
Related operations: **GENESIS** (`git mark init`) seeds the tip; **MARK**
|
|
144
|
+
(`git mark`) advances it. The op-specific docs are being modernized to match this
|
|
145
|
+
contract.
|
package/README.md
CHANGED
|
@@ -33,6 +33,21 @@ git mark verify
|
|
|
33
33
|
git mark info
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
## Chains
|
|
37
|
+
|
|
38
|
+
Pick one with `--chain` at `git mark init`. It's recorded in `blocktrails.json` and used for every later mark.
|
|
39
|
+
|
|
40
|
+
| Chain | Network | Addresses | Explorer API |
|
|
41
|
+
|-------|---------|-----------|--------------|
|
|
42
|
+
| `tbtc4` (default) | Bitcoin testnet4 | `tb1p…` | mempool.space/testnet4 |
|
|
43
|
+
| `tbtc3` | Bitcoin testnet3 | `tb1p…` | mempool.space/testnet |
|
|
44
|
+
| `signet` | Bitcoin signet | `tb1p…` | mempool.space/signet |
|
|
45
|
+
| `btc` | Bitcoin | `bc1p…` | mempool.space |
|
|
46
|
+
| `xbt` | BLAKE2b fork of Bitcoin, from block 961,640 | `bc1p…` | mempool.kilombino.com |
|
|
47
|
+
| `txbt4` | BLAKE2b fork of testnet4, from block 150,308 | `tb1p…` | mempool.guide/testnet4 |
|
|
48
|
+
|
|
49
|
+
On `xbt` and `txbt4`, marks are signed with `SIGHASH_UNIFIED` ([spec](https://github.com/bitcoin-blake/blaketest/blob/gh-pages/unified-sighash.md)): a 65-byte signature ending `0x21` that Knots accepts on the BLAKE2b chains and SHA256d nodes reject. Coins from before the fork exist on both chains, so without this a mark could be replayed onto the original chain. `lib/unified-sighash.js` implements it and passes Knots's 166 test vectors (`test/unified_sighash.json`).
|
|
50
|
+
|
|
36
51
|
## How It Works
|
|
37
52
|
|
|
38
53
|
Each `git mark` creates a real Bitcoin transaction. The address is derived from your key + the commit hash using BIP-341 taproot key chaining:
|
|
@@ -53,8 +68,17 @@ The chain of addresses on Bitcoin mirrors the chain of commits in git. Anyone ca
|
|
|
53
68
|
| `git mark info` | Show trail state, balance, addresses |
|
|
54
69
|
| `git mark verify` | Verify all marks against Bitcoin |
|
|
55
70
|
| `git mark update` | Update blocktrails.json from git notes |
|
|
71
|
+
| `git mark badge` | Print README badge markdown. Option: `--branch` |
|
|
56
72
|
| `git mark --version` | Show version |
|
|
57
73
|
|
|
74
|
+
## Badge
|
|
75
|
+
|
|
76
|
+
`git mark badge` prints markdown for a README badge, built from the `origin` remote, the current branch (or `--branch`) and `blocktrails.json`. For example, this is the badge for [melvincarvalho/delivery-day](https://github.com/melvincarvalho/delivery-day), whose trail is on txbt4:
|
|
77
|
+
|
|
78
|
+
[](https://mempool.guide/testnet4/tx/8129190799de150153bdae7d1092c4cd505874e842cfbf429ac452956025fa51)
|
|
79
|
+
|
|
80
|
+
It's a shields.io [dynamic JSON badge](https://shields.io/badges/dynamic-json-badge) that counts `states` in the pushed trail file, and links to the latest mark on the chain's explorer. The count updates whenever `blocktrails.json` is pushed, so it shows what the repo records. `git mark verify` checks it against the chain. For remotes not on GitHub, it prints `RAW_TRAIL_URL` and `TRAIL_LINK` placeholders to fill in.
|
|
81
|
+
|
|
58
82
|
## Trail File
|
|
59
83
|
|
|
60
84
|
`blocktrails.json` in your repo root — committed, visible, verifiable:
|
package/URI.md
CHANGED
|
@@ -41,6 +41,17 @@ Gitmark was designed to be prototyped on the bitmark chain. But other chains wi
|
|
|
41
41
|
|
|
42
42
|
Supported chains, bitcoin, litecoin, liquid network
|
|
43
43
|
|
|
44
|
+
The `git mark` CLI uses these chain codes in its TXO URIs (`txo:<chain>:<txid>:<vout>`):
|
|
45
|
+
|
|
46
|
+
| Code | Chain |
|
|
47
|
+
|------|-------|
|
|
48
|
+
| `btc` | Bitcoin |
|
|
49
|
+
| `tbtc4` | Bitcoin testnet4 |
|
|
50
|
+
| `tbtc3` | Bitcoin testnet3 |
|
|
51
|
+
| `signet` | Bitcoin signet |
|
|
52
|
+
| `xbt` | Bitcoin BLAKE2b, the BLAKE2b proof-of-work fork of Bitcoin |
|
|
53
|
+
| `txbt4` | Bitcoin BLAKE2b testnet4 |
|
|
54
|
+
|
|
44
55
|
## Git tags
|
|
45
56
|
|
|
46
57
|
The : character is not available in a git tag, so if used in a tag a possible workaround may be needed
|
package/bin/git-mark.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* git mark info
|
|
10
10
|
* git mark verify
|
|
11
11
|
* git mark update
|
|
12
|
+
* git mark badge [--branch name]
|
|
12
13
|
*/
|
|
13
14
|
|
|
14
15
|
import { secp256k1, schnorr } from '@noble/curves/secp256k1';
|
|
@@ -19,6 +20,7 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
|
19
20
|
import { join, dirname } from 'path';
|
|
20
21
|
import { fileURLToPath } from 'url';
|
|
21
22
|
import { homedir } from 'os';
|
|
23
|
+
import { unifiedSighash, SIGHASH_ALL, SIGHASH_UNIFIED, SCRIPT_TYPE_TAPROOT } from '../lib/unified-sighash.js';
|
|
22
24
|
|
|
23
25
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
24
26
|
const PKG = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8'));
|
|
@@ -29,11 +31,15 @@ const TRAIL_FILE = 'blocktrails.json';
|
|
|
29
31
|
const PRIVATE_FILE = '.git/blocktrails.json';
|
|
30
32
|
const DEFAULT_CHAIN = 'tbtc4';
|
|
31
33
|
|
|
34
|
+
// unified: sign with SIGHASH_UNIFIED, so the transaction cannot be replayed onto the SHA256d chain
|
|
35
|
+
// that the BLAKE2b forks share history with.
|
|
32
36
|
const CHAINS = {
|
|
33
|
-
tbtc3: { explorer: 'https://mempool.space/testnet/api', name: 'Bitcoin Testnet3' },
|
|
34
|
-
tbtc4: { explorer: 'https://mempool.space/testnet4/api', name: 'Bitcoin Testnet4' },
|
|
35
|
-
btc: { explorer: 'https://mempool.space/api', name: 'Bitcoin' },
|
|
36
|
-
signet: { explorer: 'https://mempool.space/signet/api', name: 'Bitcoin Signet' },
|
|
37
|
+
tbtc3: { explorer: 'https://mempool.space/testnet/api', name: 'Bitcoin Testnet3', hrp: 'tb' },
|
|
38
|
+
tbtc4: { explorer: 'https://mempool.space/testnet4/api', name: 'Bitcoin Testnet4', hrp: 'tb' },
|
|
39
|
+
btc: { explorer: 'https://mempool.space/api', name: 'Bitcoin', hrp: 'bc' },
|
|
40
|
+
signet: { explorer: 'https://mempool.space/signet/api', name: 'Bitcoin Signet', hrp: 'tb' },
|
|
41
|
+
xbt: { explorer: 'https://mempool.kilombino.com/api', name: 'Bitcoin BLAKE2b', hrp: 'bc', unified: true },
|
|
42
|
+
txbt4: { explorer: 'https://mempool.guide/testnet4/api', name: 'Bitcoin BLAKE2b Testnet4', hrp: 'tb', unified: true },
|
|
37
43
|
};
|
|
38
44
|
|
|
39
45
|
// --- Blocktrails key chaining (BIP-341) ---
|
|
@@ -105,7 +111,7 @@ function pubkeyToAddress(pubkeyHex, states, chain) {
|
|
|
105
111
|
const pubBytes = hexToBytes(pubkeyHex);
|
|
106
112
|
const derived = states.length > 0 ? deriveChainedPubkey(pubBytes, states) : pubBytes;
|
|
107
113
|
const xOnly = derived.slice(1);
|
|
108
|
-
const hrp = chain
|
|
114
|
+
const hrp = CHAINS[chain]?.hrp ?? 'tb';
|
|
109
115
|
return bech32mEncode(hrp, 1, xOnly);
|
|
110
116
|
}
|
|
111
117
|
|
|
@@ -125,7 +131,7 @@ function writeU64LE(n) { const b = new Uint8Array(8); let v = BigInt(n); for (le
|
|
|
125
131
|
function concatBytes(...arrays) { const r = new Uint8Array(arrays.reduce((s, a) => s + a.length, 0)); let o = 0; for (const a of arrays) { r.set(a, o); o += a.length; } return r; }
|
|
126
132
|
function reverseTxid(txid) { return hexToBytes(txid).reverse(); }
|
|
127
133
|
|
|
128
|
-
function buildTransaction(input, outputs, privkeyBytes) {
|
|
134
|
+
function buildTransaction(input, outputs, privkeyBytes, { unified = false } = {}) {
|
|
129
135
|
const inputs = [input];
|
|
130
136
|
const internalXOnly = new Uint8Array(secp256k1.getPublicKey(privkeyBytes, true)).slice(1);
|
|
131
137
|
const untweakedHex = '5120' + bytesToHex(internalXOnly);
|
|
@@ -152,7 +158,21 @@ function buildTransaction(input, outputs, privkeyBytes) {
|
|
|
152
158
|
const shaOutputs = sha256(concatBytes(...serOutputs));
|
|
153
159
|
|
|
154
160
|
const sigs = [];
|
|
155
|
-
|
|
161
|
+
if (unified) {
|
|
162
|
+
// SIGHASH_ALL | SIGHASH_UNIFIED, carried as a 65th byte on the signature
|
|
163
|
+
const hashType = SIGHASH_ALL | SIGHASH_UNIFIED;
|
|
164
|
+
const tx = {
|
|
165
|
+
version, locktime,
|
|
166
|
+
inputs: inputs.map(i => ({ txid: reverseTxid(i.txid), vout: i.vout, sequence })),
|
|
167
|
+
outputs: outputs.map(o => ({ value: o.amount, script: o.scriptPubKey })),
|
|
168
|
+
};
|
|
169
|
+
const spent = inputs.map(i => ({ value: i.amount, script: i.scriptPubKey }));
|
|
170
|
+
for (let i = 0; i < inputs.length; i++) {
|
|
171
|
+
const sighash = unifiedSighash(tx, i, hashType, SCRIPT_TYPE_TAPROOT, spent);
|
|
172
|
+
sigs.push(concatBytes(schnorr.sign(sighash, signingKey), new Uint8Array([hashType])));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
for (let i = 0; !unified && i < inputs.length; i++) {
|
|
156
176
|
const sigMsg = concatBytes(
|
|
157
177
|
new Uint8Array([0x00, 0x00]),
|
|
158
178
|
writeU32LE(version), writeU32LE(locktime),
|
|
@@ -349,7 +369,8 @@ async function cmdInit(args) {
|
|
|
349
369
|
const rawTx = buildTransaction(
|
|
350
370
|
{ txid: txo.txid, vout: txo.vout, amount: txo.amount, scriptPubKey: hexToBytes(prevOut.scriptpubkey) },
|
|
351
371
|
[{ amount: outputAmount, scriptPubKey: baseScript }],
|
|
352
|
-
voucherKey
|
|
372
|
+
voucherKey,
|
|
373
|
+
{ unified: !!CHAINS[chain].unified }
|
|
353
374
|
);
|
|
354
375
|
const newTxid = await broadcastTx(rawTx, explorer);
|
|
355
376
|
|
|
@@ -420,7 +441,8 @@ async function cmdMark(args) {
|
|
|
420
441
|
const rawTx = buildTransaction(
|
|
421
442
|
{ txid: priv.txid, vout: priv.vout, amount: priv.amount, scriptPubKey: hexToBytes(prevOut.scriptpubkey) },
|
|
422
443
|
[{ amount: outputAmount, scriptPubKey: nextScript }],
|
|
423
|
-
signingKey
|
|
444
|
+
signingKey,
|
|
445
|
+
{ unified: !!CHAINS[chain].unified }
|
|
424
446
|
);
|
|
425
447
|
const newTxid = await broadcastTx(rawTx, explorer);
|
|
426
448
|
|
|
@@ -544,6 +566,48 @@ async function cmdVerify() {
|
|
|
544
566
|
process.exit(ok ? 0 : 1);
|
|
545
567
|
}
|
|
546
568
|
|
|
569
|
+
// --- Badge ---
|
|
570
|
+
// owner/repo from a GitHub remote URL (https, ssh or scp form), or null
|
|
571
|
+
function parseGithubRemote(url) {
|
|
572
|
+
const m = String(url || '').trim().match(/^(?:https?:\/\/|ssh:\/\/git@|git@)github\.com[:/]([^/]+)\/(.+?)(?:\.git)?\/?$/);
|
|
573
|
+
return m ? { owner: m[1], repo: m[2] } : null;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
// the explorer's web page for a transaction: its API base without /api
|
|
577
|
+
function explorerTxUrl(chain, txid) {
|
|
578
|
+
const api = CHAINS[chain]?.explorer;
|
|
579
|
+
return api ? `${api.replace(/\/api$/, '')}/tx/${txid}` : null;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
// Markdown for a shields.io dynamic JSON badge counting the marks in the pushed trail file.
|
|
583
|
+
// trailUrl: where the raw blocktrails.json is served; link: where the badge points.
|
|
584
|
+
function badgeMarkdown({ trailUrl, chain, link }) {
|
|
585
|
+
const q = new URLSearchParams({ url: trailUrl, query: '$.states.length', label: 'gitmarks', suffix: ` · ${chain}`, color: 'f7931a' });
|
|
586
|
+
const img = `https://img.shields.io/badge/dynamic/json?${q.toString().replace(/\+/g, '%20')}`;
|
|
587
|
+
return `[](${link})`;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
function cmdBadge(args) {
|
|
591
|
+
const trail = loadFullTrail();
|
|
592
|
+
if (!trail) { console.error(`No ${TRAIL_FILE} found. Run: git mark init`); process.exit(1); }
|
|
593
|
+
const branchIdx = args.indexOf('--branch');
|
|
594
|
+
const quiet = (cmd) => { try { return execSync(cmd, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] }).trim(); } catch { return ''; } };
|
|
595
|
+
const branch = (branchIdx !== -1 ? args[branchIdx + 1] : null) || quiet('git symbolic-ref --short HEAD') || 'main';
|
|
596
|
+
const remote = quiet('git remote get-url origin');
|
|
597
|
+
const gh = parseGithubRemote(remote);
|
|
598
|
+
|
|
599
|
+
// the latest mark; before the first one, the badge links to the trail file instead
|
|
600
|
+
const lastTxid = trail.txo.length ? parseTxoUri(trail.txo[trail.txo.length - 1]).txid : null;
|
|
601
|
+
const trailUrl = gh
|
|
602
|
+
? `https://raw.githubusercontent.com/${gh.owner}/${gh.repo}/${branch}/${TRAIL_FILE}`
|
|
603
|
+
: 'RAW_TRAIL_URL';
|
|
604
|
+
const link = (lastTxid && explorerTxUrl(trail.chain, lastTxid))
|
|
605
|
+
|| (gh ? `https://github.com/${gh.owner}/${gh.repo}/blob/${branch}/${TRAIL_FILE}` : 'TRAIL_LINK');
|
|
606
|
+
|
|
607
|
+
console.log(badgeMarkdown({ trailUrl, chain: trail.chain, link }));
|
|
608
|
+
if (!gh) console.error(`\nOrigin is not on GitHub: replace RAW_TRAIL_URL with the URL-encoded address the pushed ${TRAIL_FILE} is served from, and TRAIL_LINK with where the badge should point.`);
|
|
609
|
+
}
|
|
610
|
+
|
|
547
611
|
function cmdUpdate() {
|
|
548
612
|
const trail = loadTrailFromNotes();
|
|
549
613
|
if (!trail) { console.error(`No ${TRAIL_FILE} found. Run: git mark init`); process.exit(1); }
|
|
@@ -556,7 +620,8 @@ export {
|
|
|
556
620
|
taggedHash, btScalar, deriveChainedPrivkey, deriveChainedPubkey,
|
|
557
621
|
pubkeyToAddress, parseTxoUri, p2trScript, buildTransaction,
|
|
558
622
|
TRAIL_FILE, PRIVATE_FILE, CHAINS, isDirty, loadTrailFromNotes, loadFullTrail,
|
|
559
|
-
resolveVoucher, consumeVoucher
|
|
623
|
+
resolveVoucher, consumeVoucher,
|
|
624
|
+
parseGithubRemote, explorerTxUrl, badgeMarkdown
|
|
560
625
|
};
|
|
561
626
|
|
|
562
627
|
// --- CLI ---
|
|
@@ -575,6 +640,8 @@ if (isMain) {
|
|
|
575
640
|
cmdVerify();
|
|
576
641
|
} else if (cmd === 'update') {
|
|
577
642
|
cmdUpdate();
|
|
643
|
+
} else if (cmd === 'badge') {
|
|
644
|
+
cmdBadge(args.slice(1));
|
|
578
645
|
} else if (cmd === 'mark' || !cmd || (cmd && !cmd.startsWith('-'))) {
|
|
579
646
|
if (!existsSync(TRAIL_FILE) && cmd !== 'mark') {
|
|
580
647
|
console.log('Usage:');
|
|
@@ -583,6 +650,7 @@ if (isMain) {
|
|
|
583
650
|
console.log(' git mark info # show trail state');
|
|
584
651
|
console.log(' git mark verify # verify trail against Bitcoin');
|
|
585
652
|
console.log(' git mark update # update blocktrails.json from git notes');
|
|
653
|
+
console.log(' git mark badge # print README badge markdown');
|
|
586
654
|
} else {
|
|
587
655
|
cmdMark(args.slice(cmd === 'mark' ? 1 : 0));
|
|
588
656
|
}
|
|
@@ -592,5 +660,6 @@ if (isMain) {
|
|
|
592
660
|
console.log(' git mark # anchor HEAD to Bitcoin');
|
|
593
661
|
console.log(' git mark info # show trail state');
|
|
594
662
|
console.log(' git mark verify # verify trail against Bitcoin');
|
|
663
|
+
console.log(' git mark badge # print README badge markdown');
|
|
595
664
|
}
|
|
596
665
|
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// Unified opt-in signature hash (Bitcoin Knots PR #357), as shipped in
|
|
2
|
+
// v29.4.1.knots20260508. Spec: doc/unified-sighash.md in that tag, mirrored at
|
|
3
|
+
// https://github.com/bitcoin-blake/blaketest/blob/gh-pages/unified-sighash.md.
|
|
4
|
+
// Vectors: test/unified_sighash.json (166 rows).
|
|
5
|
+
//
|
|
6
|
+
// One message for every script type. A signature opts in by setting
|
|
7
|
+
// SIGHASH_UNIFIED (0x20) in its hash type byte, so SIGHASH_ALL becomes 0x21.
|
|
8
|
+
// A node that does not implement the fork computes the legacy message for the
|
|
9
|
+
// same byte and the signature fails there, which is what makes an opted-in
|
|
10
|
+
// transaction unreplayable onto the SHA256d chain.
|
|
11
|
+
|
|
12
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
13
|
+
|
|
14
|
+
export const SIGHASH_ALL = 0x01;
|
|
15
|
+
export const SIGHASH_NONE = 0x02;
|
|
16
|
+
export const SIGHASH_SINGLE = 0x03;
|
|
17
|
+
export const SIGHASH_UNIFIED = 0x20;
|
|
18
|
+
export const SIGHASH_ANYONECANPAY = 0x80;
|
|
19
|
+
|
|
20
|
+
export const SCRIPT_TYPE_BASE = 0; // bare or P2SH
|
|
21
|
+
export const SCRIPT_TYPE_WITNESS_V0 = 1;
|
|
22
|
+
export const SCRIPT_TYPE_TAPROOT = 2; // key path
|
|
23
|
+
export const SCRIPT_TYPE_TAPSCRIPT = 3;
|
|
24
|
+
|
|
25
|
+
const TAPLEAF_VERSION = 0xc0;
|
|
26
|
+
|
|
27
|
+
// ---- serialization helpers -------------------------------------------------
|
|
28
|
+
|
|
29
|
+
export function compactSize(n) {
|
|
30
|
+
if (n < 0xfd) return Uint8Array.of(n);
|
|
31
|
+
if (n <= 0xffff) return Uint8Array.of(0xfd, n & 0xff, n >> 8);
|
|
32
|
+
if (n <= 0xffffffff) return Uint8Array.of(0xfe, n & 0xff, (n >> 8) & 0xff, (n >> 16) & 0xff, (n >>> 24) & 0xff);
|
|
33
|
+
throw new Error('compactSize: value too large');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function u32le(n) {
|
|
37
|
+
return Uint8Array.of(n & 0xff, (n >> 8) & 0xff, (n >> 16) & 0xff, (n >>> 24) & 0xff);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function i64le(v) {
|
|
41
|
+
const out = new Uint8Array(8);
|
|
42
|
+
let t = BigInt.asUintN(64, BigInt(v));
|
|
43
|
+
for (let i = 0; i < 8; i++) { out[i] = Number(t & 0xffn); t >>= 8n; }
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function concat(...parts) {
|
|
48
|
+
const len = parts.reduce((a, p) => a + p.length, 0);
|
|
49
|
+
const out = new Uint8Array(len);
|
|
50
|
+
let o = 0;
|
|
51
|
+
for (const p of parts) { out.set(p, o); o += p.length; }
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function taggedHash(tag, msg) {
|
|
56
|
+
const t = sha256(new TextEncoder().encode(tag));
|
|
57
|
+
return sha256(concat(t, t, msg));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function serializeOutput(out) {
|
|
61
|
+
return concat(i64le(out.value), compactSize(out.script.length), out.script);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function serializeOutpoint(inp) {
|
|
65
|
+
return concat(inp.txid, u32le(inp.vout));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ---- transaction parsing ---------------------------------------------------
|
|
69
|
+
|
|
70
|
+
// Parses a raw transaction (legacy or segwit serialization) into
|
|
71
|
+
// { version, inputs: [{ txid, vout, scriptSig, sequence, witness }],
|
|
72
|
+
// outputs: [{ value, script }], locktime, segwit }.
|
|
73
|
+
// txid is kept in wire (little-endian) byte order.
|
|
74
|
+
export function parseTransaction(bytes) {
|
|
75
|
+
let o = 0;
|
|
76
|
+
const readCS = () => {
|
|
77
|
+
const first = bytes[o++];
|
|
78
|
+
if (first < 0xfd) return first;
|
|
79
|
+
let size = first === 0xfd ? 2 : first === 0xfe ? 4 : 8;
|
|
80
|
+
let v = 0n;
|
|
81
|
+
for (let i = 0; i < size; i++) v |= BigInt(bytes[o + i]) << BigInt(8 * i);
|
|
82
|
+
o += size;
|
|
83
|
+
return Number(v);
|
|
84
|
+
};
|
|
85
|
+
const take = (n) => { const s = bytes.subarray(o, o + n); if (s.length !== n) throw new Error('truncated'); o += n; return s; };
|
|
86
|
+
const readU32 = () => { const b = take(4); return (b[0] | (b[1] << 8) | (b[2] << 16) | (b[3] << 24)) >>> 0; };
|
|
87
|
+
const readI64 = () => { const b = take(8); let v = 0n; for (let i = 7; i >= 0; i--) v = (v << 8n) | BigInt(b[i]); return BigInt.asIntN(64, v); };
|
|
88
|
+
|
|
89
|
+
const version = readU32();
|
|
90
|
+
let segwit = false;
|
|
91
|
+
if (bytes[o] === 0x00 && bytes[o + 1] === 0x01) { segwit = true; o += 2; }
|
|
92
|
+
const nIn = readCS();
|
|
93
|
+
const inputs = [];
|
|
94
|
+
for (let i = 0; i < nIn; i++) {
|
|
95
|
+
const txid = take(32);
|
|
96
|
+
const vout = readU32();
|
|
97
|
+
const scriptSig = take(readCS());
|
|
98
|
+
const sequence = readU32();
|
|
99
|
+
inputs.push({ txid, vout, scriptSig, sequence, witness: [] });
|
|
100
|
+
}
|
|
101
|
+
const nOut = readCS();
|
|
102
|
+
const outputs = [];
|
|
103
|
+
for (let i = 0; i < nOut; i++) {
|
|
104
|
+
const value = readI64();
|
|
105
|
+
const script = take(readCS());
|
|
106
|
+
outputs.push({ value, script });
|
|
107
|
+
}
|
|
108
|
+
if (segwit) {
|
|
109
|
+
for (let i = 0; i < nIn; i++) {
|
|
110
|
+
const n = readCS();
|
|
111
|
+
for (let j = 0; j < n; j++) inputs[i].witness.push(take(readCS()));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const locktime = readU32();
|
|
115
|
+
if (o !== bytes.length) throw new Error('trailing bytes after transaction');
|
|
116
|
+
return { version, inputs, outputs, locktime, segwit };
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// ---- the message -----------------------------------------------------------
|
|
120
|
+
|
|
121
|
+
export function tapleafHash(script, version = TAPLEAF_VERSION) {
|
|
122
|
+
return taggedHash('TapLeaf', concat(Uint8Array.of(version), compactSize(script.length), script));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// tx: parsed transaction (see parseTransaction), or any object of that shape.
|
|
126
|
+
// spentOutputs: [{ value, script }] one per input, in input order.
|
|
127
|
+
// opts.scriptCode: required for script types 0 and 1 (Uint8Array, no length prefix).
|
|
128
|
+
// opts.annex: Uint8Array or undefined, taproot only.
|
|
129
|
+
// opts.tapleafHash / opts.leafScript: script type 3 only (one of them).
|
|
130
|
+
// opts.codeseparatorPos: script type 3 only, default 0xffffffff.
|
|
131
|
+
export function unifiedSighash(tx, inIdx, hashType, scriptType, spentOutputs, opts = {}) {
|
|
132
|
+
if (!(hashType & SIGHASH_UNIFIED)) throw new Error('hash type does not opt in to SIGHASH_UNIFIED');
|
|
133
|
+
if (inIdx >= tx.inputs.length) throw new Error('input index out of range');
|
|
134
|
+
if (spentOutputs.length !== tx.inputs.length) throw new Error('need one spent output per input');
|
|
135
|
+
const taproot = scriptType === SCRIPT_TYPE_TAPROOT || scriptType === SCRIPT_TYPE_TAPSCRIPT;
|
|
136
|
+
const outputType = hashType & 0x1f;
|
|
137
|
+
if (taproot) {
|
|
138
|
+
if (hashType & ~(0x1f | SIGHASH_ANYONECANPAY | SIGHASH_UNIFIED)) throw new Error('undefined hash type for taproot');
|
|
139
|
+
if (outputType !== SIGHASH_ALL && outputType !== SIGHASH_NONE && outputType !== SIGHASH_SINGLE) throw new Error('undefined hash type for taproot');
|
|
140
|
+
}
|
|
141
|
+
const anyonecanpay = !!(hashType & SIGHASH_ANYONECANPAY);
|
|
142
|
+
|
|
143
|
+
const parts = [];
|
|
144
|
+
parts.push(Uint8Array.of(0)); // epoch
|
|
145
|
+
parts.push(Uint8Array.of(hashType & 0xff)); // hash type, one byte
|
|
146
|
+
parts.push(u32le(tx.version));
|
|
147
|
+
parts.push(u32le(tx.locktime), Uint8Array.of(0)); // locktime, five bytes
|
|
148
|
+
|
|
149
|
+
if (!anyonecanpay) {
|
|
150
|
+
parts.push(sha256(concat(...tx.inputs.map(serializeOutpoint))));
|
|
151
|
+
parts.push(sha256(concat(...spentOutputs.map(s => i64le(s.value)))));
|
|
152
|
+
parts.push(sha256(concat(...spentOutputs.map(s => concat(compactSize(s.script.length), s.script)))));
|
|
153
|
+
parts.push(sha256(concat(...tx.inputs.map(i => u32le(i.sequence)))));
|
|
154
|
+
}
|
|
155
|
+
if (outputType !== SIGHASH_NONE && outputType !== SIGHASH_SINGLE) {
|
|
156
|
+
parts.push(sha256(concat(...tx.outputs.map(serializeOutput))));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
parts.push(Uint8Array.of(scriptType));
|
|
160
|
+
|
|
161
|
+
if (anyonecanpay) {
|
|
162
|
+
parts.push(serializeOutpoint(tx.inputs[inIdx]));
|
|
163
|
+
parts.push(serializeOutput(spentOutputs[inIdx]));
|
|
164
|
+
parts.push(u32le(tx.inputs[inIdx].sequence));
|
|
165
|
+
} else {
|
|
166
|
+
parts.push(u32le(inIdx));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (!taproot) {
|
|
170
|
+
if (!opts.scriptCode) throw new Error('scriptCode required for script types 0 and 1');
|
|
171
|
+
parts.push(compactSize(opts.scriptCode.length), opts.scriptCode);
|
|
172
|
+
} else {
|
|
173
|
+
if (opts.annex) {
|
|
174
|
+
parts.push(Uint8Array.of(1));
|
|
175
|
+
parts.push(sha256(concat(compactSize(opts.annex.length), opts.annex)));
|
|
176
|
+
} else {
|
|
177
|
+
parts.push(Uint8Array.of(0));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (outputType === SIGHASH_SINGLE) {
|
|
182
|
+
if (inIdx >= tx.outputs.length) throw new Error('SIGHASH_SINGLE with no matching output');
|
|
183
|
+
parts.push(sha256(serializeOutput(tx.outputs[inIdx])));
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (scriptType === SCRIPT_TYPE_TAPSCRIPT) {
|
|
187
|
+
const leaf = opts.tapleafHash || (opts.leafScript && tapleafHash(opts.leafScript));
|
|
188
|
+
if (!leaf) throw new Error('tapleaf hash required for tapscript');
|
|
189
|
+
parts.push(leaf);
|
|
190
|
+
parts.push(Uint8Array.of(0)); // key version
|
|
191
|
+
parts.push(u32le(opts.codeseparatorPos ?? 0xffffffff));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return taggedHash('UnifiedSighash', concat(...parts));
|
|
195
|
+
}
|
package/package.json
CHANGED
package/test/git-mark.test.js
CHANGED
|
@@ -6,8 +6,11 @@ import { bytesToHex, hexToBytes } from '@noble/hashes/utils';
|
|
|
6
6
|
import {
|
|
7
7
|
taggedHash, btScalar, deriveChainedPrivkey, deriveChainedPubkey,
|
|
8
8
|
pubkeyToAddress, parseTxoUri, p2trScript, CHAINS, isDirty, loadFullTrail, loadTrailFromNotes,
|
|
9
|
-
resolveVoucher, consumeVoucher
|
|
9
|
+
resolveVoucher, consumeVoucher, buildTransaction,
|
|
10
|
+
parseGithubRemote, explorerTxUrl, badgeMarkdown
|
|
10
11
|
} from '../bin/git-mark.js';
|
|
12
|
+
import { unifiedSighash, parseTransaction, SCRIPT_TYPE_TAPROOT } from '../lib/unified-sighash.js';
|
|
13
|
+
import { schnorr } from '@noble/curves/secp256k1';
|
|
11
14
|
import { writeFileSync, readFileSync, mkdtempSync, rmSync } from 'fs';
|
|
12
15
|
import { join } from 'path';
|
|
13
16
|
import { tmpdir } from 'os';
|
|
@@ -77,6 +80,14 @@ describe('Address derivation', () => {
|
|
|
77
80
|
assert.ok(addr.startsWith('bc1p'));
|
|
78
81
|
});
|
|
79
82
|
|
|
83
|
+
it('xbt uses mainnet addresses, the same as btc', () => {
|
|
84
|
+
assert.strictEqual(pubkeyToAddress(pubkey, ['abc123'], 'xbt'), pubkeyToAddress(pubkey, ['abc123'], 'btc'));
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it('txbt4 uses testnet addresses, the same as tbtc4', () => {
|
|
88
|
+
assert.strictEqual(pubkeyToAddress(pubkey, ['abc123'], 'txbt4'), pubkeyToAddress(pubkey, ['abc123'], 'tbtc4'));
|
|
89
|
+
});
|
|
90
|
+
|
|
80
91
|
it('different states produce different addresses', () => {
|
|
81
92
|
const a = pubkeyToAddress(pubkey, [], 'tbtc4');
|
|
82
93
|
const b = pubkeyToAddress(pubkey, ['commit1'], 'tbtc4');
|
|
@@ -161,6 +172,23 @@ describe('Chain registry', () => {
|
|
|
161
172
|
assert.ok(CHAINS.btc);
|
|
162
173
|
assert.ok(CHAINS.btc.explorer.includes('mempool.space/api'));
|
|
163
174
|
});
|
|
175
|
+
|
|
176
|
+
it('has xbt, the BLAKE2b mainnet, signing with SIGHASH_UNIFIED', () => {
|
|
177
|
+
assert.ok(CHAINS.xbt);
|
|
178
|
+
assert.strictEqual(CHAINS.xbt.hrp, 'bc');
|
|
179
|
+
assert.strictEqual(CHAINS.xbt.unified, true);
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
it('has txbt4, the BLAKE2b testnet4, signing with SIGHASH_UNIFIED', () => {
|
|
183
|
+
assert.ok(CHAINS.txbt4);
|
|
184
|
+
assert.ok(CHAINS.txbt4.explorer.includes('testnet4'));
|
|
185
|
+
assert.strictEqual(CHAINS.txbt4.hrp, 'tb');
|
|
186
|
+
assert.strictEqual(CHAINS.txbt4.unified, true);
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
it('SHA256d chains do not sign with SIGHASH_UNIFIED', () => {
|
|
190
|
+
for (const c of ['tbtc3', 'tbtc4', 'btc', 'signet']) assert.ok(!CHAINS[c].unified, c);
|
|
191
|
+
});
|
|
164
192
|
});
|
|
165
193
|
|
|
166
194
|
describe('Trail format', () => {
|
|
@@ -360,3 +388,88 @@ describe('Voucher resolution', () => {
|
|
|
360
388
|
}
|
|
361
389
|
});
|
|
362
390
|
});
|
|
391
|
+
|
|
392
|
+
describe('Unified sighash (Knots vectors)', () => {
|
|
393
|
+
const [header, ...rows] = JSON.parse(readFileSync(new URL('./unified_sighash.json', import.meta.url), 'utf8'));
|
|
394
|
+
|
|
395
|
+
it('has the expected vector layout', () => {
|
|
396
|
+
assert.strictEqual(header.join(), 'scriptCode,rawTx,inIdx,hashType,scriptType,spentOutputs,sighash');
|
|
397
|
+
assert.strictEqual(rows.length, 166);
|
|
398
|
+
});
|
|
399
|
+
|
|
400
|
+
it('matches every vector', () => {
|
|
401
|
+
for (const [scriptCodeHex, rawTx, inIdx, hashType, scriptType, spent, expected] of rows) {
|
|
402
|
+
const tx = parseTransaction(hexToBytes(rawTx));
|
|
403
|
+
const spentOutputs = spent.map(([value, script]) => ({ value: BigInt(value), script: hexToBytes(script) }));
|
|
404
|
+
const scriptCode = hexToBytes(scriptCodeHex);
|
|
405
|
+
const opts = scriptType === 3 ? { leafScript: scriptCode } : { scriptCode };
|
|
406
|
+
const got = bytesToHex(unifiedSighash(tx, inIdx, hashType, scriptType, spentOutputs, opts));
|
|
407
|
+
assert.strictEqual(got, expected, `type=${scriptType} hashType=0x${hashType.toString(16)} in=${inIdx}`);
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
describe('Signing', () => {
|
|
413
|
+
const key = hexToBytes('11'.repeat(32));
|
|
414
|
+
const xonly = secp256k1.getPublicKey(key, true).slice(1);
|
|
415
|
+
// spend an untweaked output, as a trail step does, so the signing key is the key itself
|
|
416
|
+
const input = { txid: 'ab'.repeat(32), vout: 1, amount: 10000, scriptPubKey: p2trScript(xonly) };
|
|
417
|
+
const outputs = [{ amount: 9700, scriptPubKey: p2trScript(new Uint8Array(32).fill(7)) }];
|
|
418
|
+
|
|
419
|
+
it('signs BIP341 by default: a 64-byte signature', () => {
|
|
420
|
+
const tx = parseTransaction(hexToBytes(buildTransaction(input, outputs, key)));
|
|
421
|
+
assert.strictEqual(tx.inputs[0].witness[0].length, 64);
|
|
422
|
+
});
|
|
423
|
+
|
|
424
|
+
it('signs SIGHASH_ALL|SIGHASH_UNIFIED when asked: 65 bytes ending 0x21, valid for the unified message', () => {
|
|
425
|
+
const tx = parseTransaction(hexToBytes(buildTransaction(input, outputs, key, { unified: true })));
|
|
426
|
+
const sig = tx.inputs[0].witness[0];
|
|
427
|
+
assert.strictEqual(sig.length, 65);
|
|
428
|
+
assert.strictEqual(sig[64], 0x21);
|
|
429
|
+
const spent = [{ value: BigInt(input.amount), script: input.scriptPubKey }];
|
|
430
|
+
const msg = unifiedSighash(tx, 0, 0x21, SCRIPT_TYPE_TAPROOT, spent);
|
|
431
|
+
assert.ok(schnorr.verify(sig.slice(0, 64), msg, xonly));
|
|
432
|
+
});
|
|
433
|
+
|
|
434
|
+
it('the unified signature does not verify against the BIP341 message', () => {
|
|
435
|
+
const plain = parseTransaction(hexToBytes(buildTransaction(input, outputs, key)));
|
|
436
|
+
const unified = parseTransaction(hexToBytes(buildTransaction(input, outputs, key, { unified: true })));
|
|
437
|
+
const bip341 = taggedHash('TapSighash', hexToBytes('0000')); // any BIP341 message will do
|
|
438
|
+
assert.ok(!schnorr.verify(unified.inputs[0].witness[0].slice(0, 64), bip341, xonly));
|
|
439
|
+
assert.notDeepStrictEqual(plain.inputs[0].witness[0], unified.inputs[0].witness[0].slice(0, 64));
|
|
440
|
+
});
|
|
441
|
+
});
|
|
442
|
+
|
|
443
|
+
describe('Badge', () => {
|
|
444
|
+
it('reads owner and repo from GitHub remotes in every form', () => {
|
|
445
|
+
for (const url of [
|
|
446
|
+
'https://github.com/melvincarvalho/delivery-day.git',
|
|
447
|
+
'https://github.com/melvincarvalho/delivery-day',
|
|
448
|
+
'git@github.com:melvincarvalho/delivery-day.git',
|
|
449
|
+
'ssh://git@github.com/melvincarvalho/delivery-day.git',
|
|
450
|
+
]) assert.deepStrictEqual(parseGithubRemote(url), { owner: 'melvincarvalho', repo: 'delivery-day' }, url);
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
it('returns null for remotes not on GitHub', () => {
|
|
454
|
+
assert.strictEqual(parseGithubRemote('https://gitlab.com/a/b.git'), null);
|
|
455
|
+
assert.strictEqual(parseGithubRemote(''), null);
|
|
456
|
+
});
|
|
457
|
+
|
|
458
|
+
it('links a transaction on the chain explorer', () => {
|
|
459
|
+
assert.strictEqual(explorerTxUrl('txbt4', 'ab'), 'https://mempool.guide/testnet4/tx/ab');
|
|
460
|
+
assert.strictEqual(explorerTxUrl('xbt', 'ab'), 'https://mempool.kilombino.com/tx/ab');
|
|
461
|
+
assert.strictEqual(explorerTxUrl('btc', 'ab'), 'https://mempool.space/tx/ab');
|
|
462
|
+
assert.strictEqual(explorerTxUrl('nope', 'ab'), null);
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
it('builds a shields.io dynamic JSON badge counting states', () => {
|
|
466
|
+
const md = badgeMarkdown({
|
|
467
|
+
trailUrl: 'https://raw.githubusercontent.com/melvincarvalho/delivery-day/gh-pages/blocktrails.json',
|
|
468
|
+
chain: 'txbt4',
|
|
469
|
+
link: 'https://mempool.guide/testnet4/tx/ab',
|
|
470
|
+
});
|
|
471
|
+
assert.strictEqual(md,
|
|
472
|
+
'[](https://mempool.guide/testnet4/tx/ab)');
|
|
474
|
+
});
|
|
475
|
+
});
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
[
|
|
2
|
+
["scriptCode", "rawTx", "inIdx", "hashType", "scriptType", "spentOutputs", "sighash"],
|
|
3
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 163, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "4a84224afd272deeaa13972fb03ea70c738d78e50b53a63af3b3a9decfb548f5"],
|
|
4
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 161, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "0c049fe49dbe9a344f2ef8d3de920aa671e37a31919f106a6250c5635c7682e1"],
|
|
5
|
+
["515151", "db27e51d021b2927dff1c4fa374ca66a750aa549f3a08db178978f57c663804273fc8dea29eb27f022008f680f8436a4c31084e27b4f296e24a932bb4121282c6962afc572f093d0c038a74ee843e462a72c0092a5b34701519c44e959aa040001561092b372", 0, 162, 1, [[1105898160581225, "52525252"], [734602758275010, "5252525252525252"]], "5ff71c408c490803bd6d0d5578685b565a3fb36a2adebadbea680ecf5ecdfd98"],
|
|
6
|
+
["555555", "8261d4630114ac830b2173f4b004875606e69603c631e3b97391b07b19a95ae77ce264854e68d2b52600c59d899c029d3ef4bd27160600055656565656055ed19d0e550700025252594e8ed4", 0, 163, 1, [[208108053237348, "535353535353"]], "ee757f740795f1b9a988013679dba04e3411cb3920f13902c292d166abc1de28"],
|
|
7
|
+
["555555555555", "8e9e7f10031aa8d4132ac174354aaf7791dc758d35814e99355dc124d7eadbcc80bab7bb548ed8120900abac52531c61cdf658b69f6b4ba1fe4944f5f199f6c2b266d8a33057a9b2b6e7aebd2fcb6e912242009afd06276eb46da6480d76077906bc9c3dd20036f26ab9cb283ed5d978ca64af90129ca29b22b187001997dcf501946edce6fa89000004545454541bbfd476", 0, 34, 1, [[1163410039776015, "5555"], [1573509303245498, "5454545454545454"], [1968264731633490, "515151515151"]], "3be6b4828e4cb388a93478044e9cf00952c534b3189280e58b2b504b9de76fc1"],
|
|
8
|
+
["535353", "55e7df1f03a2e1028e84853655014dca467ee40df143ba8bdf28c7a2bb902d962d57e75aa1553476250067f858af19515e13caeb324ef33c411dd9b184a33ffc2522321efa6c24dcbc4cc390ed8388b8f39f0005dff9359800d66f4b314f9cc34a44b7323768d15a033b74cc33270e33b1bf25d071fc3118d7fc6900103619800365c7f93ca4450300085252525252525252c463c07561ca0600025353858998a30e5c0600065353535353534beec045", 2, 35, 1, [[163193100250490, "5353"], [743032443157238, "565656"], [771531468213182, "5252"]], "aedc404d5b84a28f4b437efbff8f665f73531fb62ed313127a7529528f515d94"],
|
|
9
|
+
["535353", "e6ad961b02c022c83e6174db9e04e7bd891f3f3d1c142d871da9d56da148f73e05ba191e1b2af39995000629b79601f88ab4fe92e054991f308536b162e354d6fd33465861e4c653866dd2fdadcf276152bd00f53cecbb0373f1ac40304e00000454545454a7b7b1a26c0905000556565656566bae884b5733010006515151515151b9293e5e", 1, 163, 0, [[816052520678382, "53"], [1200074468916649, "52525252"]], "aa5445e5de67cc75f3fe6889c3385160e7c740f46bb74ffc65c26e8f085974a2"],
|
|
10
|
+
["515151515151", "8e197b4c0194140e3f6cb8a9d6ca4088e0a815b50735368cf53764d84558499518643b09740d6dea19002155ac0602c372fe59aa0e010007565656565656563f9c44ce1e3c0600055555555555419088c0", 0, 33, 1, [[163728673632716, "51515151515151"]], "f2c5bab31e7924172309e841f22885a287927cecb6e06fec9abc8902882fe659"],
|
|
11
|
+
["53535353", "c191ae6302222bfbb1b1fcf255bf70e4bfeee4e4482398a5c85db832d1cae1efcddc910d4a0cad099600c9a7f7bf4131fe9cfa33b456524d89f67ff2e9d6be2e96877ff2cda9365ef0a92b770d8179ccc0d300abe3ca6001a3b54e3aa2780400055454545454075fd08b", 0, 163, 0, [[636305368999698, "53535353535353"], [330076157602489, "5353"]], "b8606b4a5e9ae6072e532daf16f49c5904e0b05d997c43e1716764e33259fb0f"],
|
|
12
|
+
["545454545454", "4be04e38011dd936703f93d1e9ed3bb9ae122a5e7fdca264aae5d602469f9fea8301682cf68e2d9423008cc75b43039b59af49a220050004525252522ba47825e48b0000045656565664b140f97f4d0100055454545454a79dc483", 0, 35, 1, [[920584050730913, "5151515151515151"]], "1115b088476eaa61a3845aea77bbf49f790481d1ebea3db863e143533013d881"],
|
|
13
|
+
["5353535353", "d82f771a03c762b9bcd10d9528b09ff5f1b6eccbd8efedf243e091b0154d6208a0a5fe63d04b49662d00a955774acb2b49f47304438b6b901f0879f2c991afcd9a1ee470f6adcab7becf13730c66a2c6c32100d3a5ee493384cc74ec6b5a65aea9d8771ea48782f293fbefcfef502118e4fc6e40d5e4b66f9a932800d26bafb4031facd9e9a0f606000853535353535353539050eed09ac602000154528369a5897b05000151a70e72e2", 2, 163, 1, [[224504416802442, "5454"], [817796276198670, "55555555555555"], [565141390833572, "55555555555555"]], "51623c48ed0948124014f898f89e36ef76ea1a701230ff497a34963309e9965d"],
|
|
14
|
+
["5353535353535353", "0ce7e36b03f8cfd137a2982ea4bd8788e83783e09d876e542c4e0dd5ab93a8b1bb7335ec9fc30e3690004efaa735e858edda85f7368780dda7a50e9de1bc54e54f1058f16c5d68dee6e8c02e2c3c7b80b206005e3b81bc2e7c678366c26fc87ef38e63eae2c93840bf47d65b9df280260ad01ea864865df16b91a10088cd6c5e0385c8865bdd2301000256564143b719494e07000653535353535395e675fcf9710200065151515151519018f146", 0, 162, 0, [[1632138935711079, "52525252"], [1319422912685296, "5151515151515151"], [669710169783262, "525252525252"]], "79e20448c1b44c23a871578bcf8a845fa2c12aa2e7785ed0b4b3749084525cd5"],
|
|
15
|
+
["56565656565656", "6545f23b028086f79d0214a6d4a5dd1b8b94156292f62833123f2a0ee3379fe7f60782813287c8a349005068857bbe8e8c327e37f35216638c08205def4ea4135da23022a15c8f0962ac9f512dd72a32b05400c532b0dd038029a3926d0c020007555555555555559a55adaccf90000006515151515151c794d460842b030007515151515151516febe787", 1, 33, 0, [[202290887164102, "51515151"], [1694130844146557, "5454545454"]], "f504339d8836b360b938386d702797ffc105b19852b131661a2e29008de360ab"],
|
|
16
|
+
["54", "f2e5f31501665d191bf39fa61d4a577994ce636ad5c39d08d2133f6f13a6bee18e3cd7b81641bf524200536001e5011d775b73562e06000351515126b47a80", 0, 33, 0, [[1294371913045262, "54545454"]], "7882cf38b18f3a557fd005cc9bf1a0a1d6aef2a156f327cb7f8bb739f2bb8034"],
|
|
17
|
+
["5656565656", "d4a768100179d2803fd948c03b52dfaa095b0d11f3c1a5552563b267d4c1d2a2fe0aafdae8431bd34500c7cee298025af6b78797fd0600045353535357d4858bffe8040002545497cc3f69", 0, 35, 0, [[1795699524180909, "52"]], "d8257e16a63d4cc46676d55e65fce20b0b0e745f9697ae4295a524dfdd6fe6b3"],
|
|
18
|
+
["5151515151515151", "11be3d7f013ef3a14b3a5da55891b2a8f2976f275050eefda393761814ad7c5eab9fc98333bf22532b0037e4541b0307767d80b4c905000454545454ee27c3c36415000003515151a375ec4ae76503000354545488ac6127", 0, 34, 1, [[685151116676324, "56565656565656"]], "e0f5b15b26f3b376b1556c8d291629664a50f86d38ef54f74e5f7664355dd861"],
|
|
19
|
+
["5555555555555555", "a8db1517023c18cc574cca3d18fd2358b7bf6f894cdb7e84608c01816a989341329d33d5f4440ed7d1004bf6a921f1070bdf7fe3873b364f97795b5de486b4f3bfbab02b1e3d90a33069d7c9445c699ed88e005dfd5ff8019e4c7abf1ef9000004525252526379fa74", 1, 162, 0, [[1037861068100579, "56565656"], [292997311362599, "53"]], "477fdadae823c6c076c8ed775fe1ffa4e17b003e854cb7bca4895843152bc53f"],
|
|
20
|
+
["51515151", "39ff462801c880f57575d07542c218dbdd68ec41fb355a22ad0e598d6f260b4d23f1efe1d3f1e50c9800428153a5023a159e03200404000153b4e1a1cfd559070007565656565656568e75958e", 0, 35, 1, [[1747433120893827, "52"]], "0350d8fe9e75a596137effeca3c53e3d7352102e8ab059a714e77612059b1705"],
|
|
21
|
+
["55", "eb66585b0245569070c64703e8decf7f427789a5f4e4fd2047a40aba5f86b940dfb84e567535d325e60012f2d152eb9171c097960045d2bbbd3773ab8967614380171c4c2cd157208ba5c025dfea6ffc072600e546a67c013320dc550f3b020001569e2cfeca", 1, 162, 0, [[1339837780562566, "535353"], [47280137445927, "53"]], "edb050a07af9f0ae446f4afd4d47c506b2504e88bed6186fa7ed89c203b76646"],
|
|
22
|
+
["53535353", "885185060396b00b7eaf26f947fd80182ddc673de036547b3fa7c7ce629b6c3a61ddf50e6fd7d5d98300ca134365b13795851e971d5e0171769d5c9fee6bdbf83eb1d726e3b32e586e82566cb75a7d29701c00343fcdacb70a5657430fe8beba87f92fc8103e268e15d307557fc92f807dcb8b44bf7ac0207249f200ffe35ec403d840f13bca5e0200035454542de340773039030001527aea9b7b89e2050006535353535353be82fff1", 2, 161, 0, [[1197476750212980, "565656"], [1300208971588095, "56565656565656"], [614932719204853, "51"]], "d0ff2298399c0e8ce4acd11c1b4443ddaece21f2d8312764fdc0a1d9e3c8a7fa"],
|
|
23
|
+
["54", "8369532001d52f9370bac9b9136c43b323f35917537453af62e88151125907d8d62a4dddb9f92b308900a0227f42025a0724423ea60000075454545454545468ec2aab33d30400045454545405022c15", 0, 163, 1, [[1205942535772058, "5555555555"]], "ae6ab7a5792b7721735df7ceffaee33dccfa5994db75494100285c13e9bb643c"],
|
|
24
|
+
["5555", "bd4d9d75024451d2ac869ef03b1899dcdf5496eabda9a43d8079001ab8710c5234f7bb4fbec27fd6d9002d9c72568ecb5a71b8577eb246532aa69f94b8b745d52e1af6eec378420a0186f300deea54015a4000f4ebe14703557c2fceabc9050004535353535082c054bf590200075151515151515174af69e74e7507000553535353538a3deb57", 0, 161, 0, [[162846722391496, "545454"], [914576391518835, "5656565656565656"]], "e569c1c82c295293708112b992a3e5f75124cb8cdd84a39c6662a8968787e57e"],
|
|
25
|
+
["5252525252", "5176631c03dce25ef83d632907028f0b8fdf16fb874ab97f3ef6b0e6c678b7827885f142986ccdf0b20063ae820923f531eda9ce6800d3ece0730003d0ce0af1cca265fa047b2f6ba88ed80acc7c60fa0e1d0025d4c848be69649a27b49f8f1a1f1c86b40a221cc660f9b4c49357ce7c69da4f34eb14195540d18b009a122bbd03774319d663560300065353535353533410121102bc000003565656a4751b9a25b3040006565656565656e05d4e11", 0, 162, 1, [[70694319372109, "535353535353"], [863306197188295, "5252"], [2022377720725757, "5555555555555555"]], "57f83588a1a2c2b8907ed2a2725948244d2b6e31af9cddb6bd82e9a8bb084f34"],
|
|
26
|
+
["52525252", "7888ec66012388f30a92ec9ddf5128cd7c1a99d3652a15af824b99f14e775fe1518d2d6b26034e0c35000646c36a027978fd66abb804000855555555555555558a04d36febb8020003555555cc367c32", 0, 34, 0, [[2006135951209461, "56565656"]], "e54e316207bc07737d71e5eb2eb301e428078c595702226e670bf88aef64637c"],
|
|
27
|
+
["51", "f3c6d868025a9bfb9ea8073a0770dc919067a47751fbdd1e1e2e4307ccad5d7ff3796b4c37e550ba7b00352eb97253b8bbecd48730a1ae701845d31a5d4b0779d13cd60a35b671f4848384ebbcf009f5849f0045c699f40111cca21e92ba0300025555913ff480", 0, 34, 1, [[1899514873909640, "5656"], [788989441814386, "5555"]], "ce414359531a3364b6f7a4a73669e1d0402361f1298bd5504faa201faedbac90"],
|
|
28
|
+
["51515151515151", "fb16d50801f640e2031d1c9f906664f963b05b3131f6aad697828202f70db5d11212aaddb6bc7e0db1009593e6330322477a7f4f7b03000856565656565656562b14f30e631903000252524d3c9c61f819070008545454545454545474548780", 0, 33, 0, [[153288848964176, "53"]], "d869f3185496c22618cbfb99340ecfdbee4b458f1809b184ac3066b88ca47557"],
|
|
29
|
+
["555555", "cd69f27102b1ca37f5caa62ff94953c70b2f40e0cd311074da7bdc72a0af28f9b934ccb17799bfa84c001df8fe4d929098fcff75c2395e244a76c3b1246b0d5479705978daf413c77523440f1acbcc1da86e00b58d261a034da762ac718a04000255555ebc01bdf3d0030006525252525252bc9eff9da1ad030006515151515151cddefecb", 0, 34, 0, [[456722233773106, "565656"], [1568494882462828, "565656"]], "9c669228dce7378c8184b525b4006514aad1cab9f4b8fe92110856d27385f850"],
|
|
30
|
+
["5151515151", "8263fb4703d5d6499629f78aae9466df7f8714bb77c0a701d7bd8f6dcee6d0226bc78b226da0462f1100cb9fd8291803cb1311bb254266480d872847604262058ef68defa0dca107f55eef0d70cfd5a6397100b55f61f38dcdda0088b0f2941d1607863745936749adb55bffdfc34ab867afa26f893432d7d61dd300bdbd7caa014236e6f85913000002555543b0662f", 1, 162, 0, [[412982727967725, "565656"], [1066772357689088, "54545454"], [658679125219903, "56565656565656"]], "16e6db04cb7e509ed5ddf4739fc6d8e463b6c9fbf1ffa7569b9ceeadc88157bf"],
|
|
31
|
+
["535353535353", "3dfbb37902aada3dd7c658ec2a4396d98b2dd78ad5d0c909525468d1d44a6c192f1bd7d10a9d93c6ad001ff04c7df0083b99f4427f7a50487b81f054dfc1f9d0d00c715ebf390fed10ec3f914cd64569e2d800536dfd76038ae898c8ec440100055151515151cccb9affa1d80100055656565656ecce1a9ee7ee06000453535353807097d1", 1, 161, 1, [[1357156769989080, "515151515151"], [301622157684964, "5353535353"]], "3c2ad3a4b60f17c5cd37f5bd281338f08d528102ea2064810af5feed7ebba907"],
|
|
32
|
+
["5353", "ed3fb62903fea0fc29dd5272e64bbdb5dcc021a4f23a61a1c63c03b671582332859c32c5bf2174ff160028324dfbecdc381d0b8c933e28926e14a97cadc2b9a8f2f678cc866d02f430318f6a418be174065b005cdbb45eb67a337e97d1e9be02eff9aab76765eeb383e23fb6302307ca0809eac90638fcdbeb540b000ab71f65031e50a77903d00000045252525247364b24cd55000003515151b6d3615cb0700700025656269449b1", 1, 162, 1, [[877159116423461, "565656565656"], [691053912750501, "54"], [127789389442818, "53535353"]], "24816faedc8993b1261e5050e127b2dbcd522e2a3ec74b660e6207c927343bcf"],
|
|
33
|
+
["53535353", "eeac6d2901c04060aea5662fe94bdfad27417625bd8e70ad061fe3cda872ea3f2229d180e7eef827d6009dd75d3c0163a8a3f1ef45010008565656565656565651f4e54f", 0, 35, 1, [[1222326958122053, "5656565656565656"]], "1598b6665e010aa244279add7de90377c77c8757aec3c727bece77225cdcf66e"],
|
|
34
|
+
["53535353", "35d0dc4103768aa2a46f5fe90a555fb95facb2fbe14a7af5dc93bb9701ba1ffb70bb3d844aa8ddec2a00ceace1f64ebe0313b83521ded725ab41f203e57ccdaf9f03ba4ab389a7db5c4868024260b85327e10030d6b463bed2b6275d1610faca0f81b85112ed428640549d18312a80a53fbf45d7ed853e3f5cfe9600b110e599031a427084f8670600015354e5e83ac4ec0200055454545454638cc53ecfb501000853535353535353531efebb92", 2, 34, 0, [[373110680664194, "5555555555555555"], [1349102953696642, "515151515151"], [1437189224131613, "5656565656565656"]], "4b3fcdda3504f230516c8f4e4e15af365cd5fd48e0fb21c9322b3d821f8f1c8d"],
|
|
35
|
+
["55555555555555", "b00b606c020597fa0e071141a392186c78dba9c3c54928f32c271cb7e85f53113c900dedc03dc6f224009311f34c2d041d069f2fce5b4df6d89f780c3077d69aa93b7e61d4fe4914b8eeefd7aaf2888fd2b2003ac192b202cebe6b529467040004545454549baa68a5902103000555555555559668ba60", 1, 163, 0, [[23226891003301, "56565656565656"], [233749446448070, "5151"]], "bbedb024454045c2ba4ff8c4d6cc4b2c658eb0bc8df4509a6c8055893ffc709b"],
|
|
36
|
+
["5151", "3412bf5d018ef3e7fa6aca6b0708969b47a5370a751e8df1c6ebf73b5f1b238feefb9402b923b08a6d0013f7c37401b1d1fb787f8902000251511a57372f", 0, 35, 1, [[1553959806550352, "5353535353"]], "f3d8d45224806dbc4640449124e41ca7f0c2b8396bb856be04533958edf01b6a"],
|
|
37
|
+
["56565656", "af7acf77038c5d1107c9fb447ba2155f3117d2109f3c839b1040bcf7d0d5e91b4c5e42bfa3eb6697ae0050f673b90be2cab6faba8efe59c1b8b5dbf8f02ff15666d54a7e76a47f049cc4aea73c2efc3fa55f00b294b67a5b9cd9a420013543abc8c09c1045913b7983dbd742e4dff5198036e42d54f10fdf33f4e100d685f4a502ba0adb3a2eb10000025252a0de132ba03f0600025252a21bfa8f", 0, 162, 0, [[1523946665985228, "5454545454545454"], [1679236261182571, "5353535353535353"], [1520838796592660, "545454545454"]], "5f255655824d107fba06b984869aaeb58398e13f03950598373bdd8ab4efef55"],
|
|
38
|
+
["5353", "0aef7b1103e44e71025471385aa765e339772ed79c902df8db85218b74c954707ea2f8883e2ca98377004606c94e56f5317d067cbe5892d72380c7995fdf56ef29d59665b382c5d96a603400300879aa5b6c00907e9d77f5b57fb1d32bdaaabbddbad44a262c1e4faf4996e53d574d0c5d05ae11d1a654ca1bfd9300e3d0c9d00362f22f7c9d3b02000756565656565656cf09ba9ac9b7050003555555917ec415a70501000853535353535353538625dc57", 1, 161, 1, [[1057180627873127, "515151515151"], [580090499119221, "5151"], [1179137891065807, "515151515151"]], "9d51052f482d69d5ba2001d096d3d76c786ecbe558edb7768b11edb2056bae80"],
|
|
39
|
+
["53535353535353", "32774b6b019b3ef347664fd66322a096dd52729e882e6411facab29aa87824f64e55463f1e5186e62000d8fe8a680152ed6fd5f7630100065252525252523983ae8c", 0, 161, 0, [[378706398139248, "51515151"]], "4161d45329c82b14ddb8b947c4e2f4471a77e9cf7c5acec81488842212732574"],
|
|
40
|
+
["5151515151515151", "b0528e51013e3b9765d83a38b30c4a4a051a61b4fdd5849551b735e2398e0c5e8d90fc7657fd67e48e00c1988eca02f69e7104a64b07000451515151f38ba85c9fb70300085555555555555555ee78bdc0", 0, 163, 0, [[1252320266117655, "535353535353"]], "b3114255eb089959a606d835a97dcccf74e9cdcf9cb7779f8e42415ebc7ea3d5"],
|
|
41
|
+
["5656", "92fbb85a02b108eb086c93d771b80daa06b6bdb9aaaa89c33752dc8842668393853b0bca2873993adf009e415adf201817f3c2cfae5631623c119f34bfe27c688d32d12dd59dbcf992af1651a88cf321ef9c00f332f900039dd8d47ec52e0000085252525252525252b9376b12d01202000255555896159e53c904000255551bc5ccb9", 1, 34, 1, [[1449267336953663, "53535353535353"], [744778018393623, "51"]], "41e202b495557435fb45f4276794eab469431bfb0b40864de913d5ce4eff021d"],
|
|
42
|
+
["5656565656", "64a6444a02c16a3f2deecf303ceb8c7511f51b7b651aacf6a3076681d639d3ea92e19a5ac9c1f8ea9d00a858d03887ec9363d0c872d7dc3d36c0fc208e8bdd0102e5a089d3e1afbea5f3ad8c59a217a064ea00ab21f06c0269a61c64b06e05000251515b6b0d90033604000856565656565656561692cf29", 0, 34, 0, [[1864139458445320, "5454545454545454"], [697025992385199, "52"]], "cdac8f1f6718edca4359dfadb567773407c4077ceead0503b0d129996a48ff23"],
|
|
43
|
+
["5252", "cc2a0f220184cfa91629b696f8bda445973bcd0746a284a4b0f4c78ef37cc84f231a6b68829a7bdcc6009acc032d01f6901c4527e501000155da835819", 0, 33, 1, [[438341308167044, "5656565656565656"]], "e436aba06dbac2f6acbf0f23ba96b198f6678cd104f6bc2204c50104f7fc8cba"],
|
|
44
|
+
["55555555", "74b9e733027c87834c13ab3fa4c0411b754c01f1702194b59eadd4d0aea5f9e7e65d301bf5854360b100ac28e54b39a16516b8c5f6dfba63a767afc9a529effefcbfde51c05410ad5f326414bf16d74d0d4000ed2172fc0210de8db5c80601000755555555555555de7b447a9ef0010005525252525293a163fd", 1, 33, 0, [[1591686946165681, "545454545454"], [1742510675157354, "52"]], "58d7c8631e6f04f377bd960f77995af385d7e27e0089b4499378c4e216bcefc8"],
|
|
45
|
+
["545454545454", "f7e9861e02d6aa15b14a3603ad6f1266c479ecc968c421b44f8aba827bd1129c0f0f8236b9ec1c71d40003a1acd12a904fb3c11c97bcc1ddac7165377fbe388dd276ec9b9d4cdf308d078dfe39cc70caa7e1007fda54b1023e73be121b1600000155597fbebf090001000551515151514c09b0c7", 0, 163, 1, [[1087623943704477, "525252"], [620596537941401, "5656565656565656"]], "50167b57b92612489a6b486bfd892f260be3533e770e73771b5ea90d866e927c"],
|
|
46
|
+
["5555555555", "0b839b29039c3e6abe3049be47e3c8ff53e07601f931043c343d3b2549ecdf29181c8bb97c1053dd1f0013bac30127a5ed06dd116e4bd7b03bd16739fd60b4f3cdd7b9ea551072564cdfe61f1239a1e5b17a00959bb51bb874812c17d550d84843c98b30c1fbec6f7215b1d371ee4d86dccb0e7a5a43dc294d5e3800aea24fad02b66b095958090000085656565656565656f6f6fde7d00e050002535331b7d45a", 0, 33, 0, [[942989909132067, "54545454545454"], [1065505381015908, "52525252525252"], [105466261115160, "5656565656"]], "99ef88acc503b898743771e85d190c0f4fd2c80dec066f4f2f91cee09a4e9e14"],
|
|
47
|
+
["535353535353", "ebd42a0a02b75a1c5e66cf6e7dde20b612bb00772bd3573fe5eb2275111ea8651d69f1d4b494e8ce5100c890b4d7097e2e06779f9c420ea2a7e3c78496b4650e62dd391161faa604a3c733d9e72e2b40e66600d9546aac01e8740d50967500000355555526e0a6d5", 1, 33, 1, [[1597090254845911, "5454545454"], [1849715362702527, "525252525252"]], "28911b0ff2abfa96f62027f4e3a334635666014da3a8accd854c2660b7e3f13c"],
|
|
48
|
+
["5151515151", "6122994b0240a2fd12567a6b788e9a86cebbba8efbe3efa8e2e8c6f5d7a3c76f7c4d0d809b6dd02b93009d460bafc0699d8e763871eb0ab4ef537551d0a3754f8329f61340e602e25f04534c099a6626781800d766996801eb93e33dd889060007525252525252525ad58eb0", 1, 162, 0, [[534792714592855, "5454545454"], [1143380020454035, "525252"]], "56fa87b9389d3c1f375bd20612bcaba5a072a0934c114ad870009009621badf2"],
|
|
49
|
+
["54545454", "35d0523203fe8d446c46843d9348f80bf01ff3cf42180e24ae405f25383e7ce2261206564e0fc81bfa00a10042fc730ba89aa06221e69898a52479a1fc65154aef797f56b19051456bbd0ac7056b7424cffd00cd9bbb05c8c38687276b58e28c9df904a9a4100a752d0f323580ac3264eebcee02fb2931c41d169500b95050a9014be2b7d0f67700000753535353535353099ed869", 2, 34, 1, [[1906448227545585, "535353"], [1750052568419437, "515151"], [1960046859763046, "56565656"]], "0ed8f8b80da1daecb4ad3dfe0b64f6d97fd8abc7366a1e0f0797e8face817688"],
|
|
50
|
+
["51", "40170c1902bc7df6caef914ca533a5f0ccb0956003515129083470833ecb97b5f0fa3c1ddf3e1e489600af9e2eefe0ea038fddaf36ce38301dfe8e42095e7bcfbdf44d2e2645a4bffdfd77c28656576d145900e2ff8ea10381733428cb80040006565656565656a42b02a872ba0500035151515b3dfe95e6340600065353535353537ec76be1", 0, 34, 0, [[318246369043786, "52525252"], [1207164598603175, "5252"]], "86a938454ad97bc89fcc59265180d59af267da33b7b2ea482a39a8e7b642b12f"],
|
|
51
|
+
["5252525252", "bac73213016cabe75c80b65e331bb69bad133a4d1e00c426a791abaffaa62f2b73ac461995904053e0007359f042017fcd11f489fb030003545454f6151b6e", 0, 33, 0, [[826231281930411, "5252525252"]], "f86ad53c98a869a728cdb7ea92ffed334ccdac9dbfa4547ccf3b78de48d9587e"],
|
|
52
|
+
["52525252525252", "94bb113f03d587a4a12ea399dc78a8a055c81be81b6333da182e3e73c60d7e1212e3f96cbd404687c20020761b5a02be7015a02ff2cebde6e2d93db546678d647d415c3f6cee8844ef4c673a7274d5a6a88400a54b926ed8f0243ea209212199e9c02f4602403ad57916d159b9840b0ddfe1567caafe95c4a102b6009d0f8173014c15bfde48ac040008545454545454545468241a2f", 1, 34, 0, [[2058803217281745, "5454545454"], [982938228417577, "5454"], [908380707271185, "5454545454545454"]], "9faef69727610574f04896bbe5ceb18f96c7a68615dd978b7cfb03dd03ebd05f"],
|
|
53
|
+
["55555555", "bece061c0214507277902331b38e2a94953a6ea54b1e91936980b1e51349b35e46aa0626913aceda41001c61c866f8a0ae01e0aff0ee2786b4b6dbbac4537349cfc0a18f3da2ab29a61b068459e42891eedc0073b8730d02ec7dfe5699e600000352525271bdf5b4e3ca010004555555551b4b2051", 1, 33, 1, [[1166767615501852, "545454545454"], [1230938136281501, "545454545454"]], "4f522185c73a538bbcbc326f6a0187a6f073d672db27a1d52bc08fffe792be4b"],
|
|
54
|
+
["55555555555555", "deffc75f02fbebaea51dd51134057ccf576fbca32bbb24238cfdaad539b3ef0636ba2eba540ee818340059a15d9e00fcc692c97dad88dabd62a05cd35ce5d3f354474e89a2c6ab33b218388cdb3b36f363cb0079d70e25011166f791015d0400035555556bc08ef6", 1, 34, 0, [[397125469449314, "5252525252525252"], [1217515759738301, "535353535353"]], "8c524d73f70761f0a8cdf0bfbd3919832976dbf1e7fc75ea293d8fb39ee4c0e1"],
|
|
55
|
+
["55", "2505827f033de01b5cd23ee1954a33a54aaf8e20e92b0f3e8c1879a928ba6ac10a48fd0f9de64f00a1006cf145a4c56b69074e48c5786556888167519f270f9542e243cd61c10eab9937337a4d8cb96db04e001a8d76a91113553269645123bbe590897a2e34704e22ef5a0b84873d2c5e42a7d41dd8f9ee67183a00fb5dc9b302a329b243f52603000152fdc473af1ec0050003565656b3db110d", 0, 162, 1, [[1460048641394302, "51515151"], [744947550098404, "5151"], [2031272366341274, "55"]], "2ef64da119c8a69bf5628b86832a084bcaea6ced4972377756b4999601fab48c"],
|
|
56
|
+
["5252", "64c2f44f031804a14b092906a0940105cd195c399bad03c162f996e33c0abfb436fc03cda7f22fc2b800aedc9cadc80a3d0713a9d6fe33a546ebd15e63911987c160ccfae66ba73516fe388b92c0ca10fbc300fabb8ae30a64d7aa6399e46f91311a073959e78b9811c5863304cf2a83f01cf86e0a6ea3ba80147700f13e159f027bb2a7ec88c802000154b84de8de64b404000151238c97bf", 2, 161, 0, [[1354598601110044, "5656565656565656"], [1584793963228855, "5454"], [1808835124286414, "555555"]], "d941a799b0e7129d53857031acb73a056cc0ccecfe9d860a4604fce46a20a687"],
|
|
57
|
+
["565656565656", "f9f28416018e2157f91e79cca6e974aa585c77f87dade8b7832e808642eb7ae27ed372b24bf7057d9b005354b28b0387af6a4e4f090400075252525252525220332fe4e51004000456565656ac59d5d5e0b102000856565656565656566922619e", 0, 162, 0, [[608272984569083, "52525252525252"]], "a1a16b63c1cb873bf51bc593fcd899d0fde0203aaab47e9010821b02c589af7a"],
|
|
58
|
+
["535353", "096f946e02a7610d223db94cee07f348c62779689d12081034eb042fab04cfd0ca164de2f5c99c5a6c00c42af0ed844be0a320ec80122bbb235b99e4fc2d4c408b83b60f76bc6453088614939c5de8587c2600a5851666032ab3cd5da16a0000045252525247d7f81a930d0100055252525252263cb717de530100055555555555b6e134f8", 0, 163, 1, [[844299708435737, "55555555555555"], [555186177204741, "535353535353"]], "693d6925b3393c986c4869f95f882b1041e9d310ae131b1c67b7f05bda40dfd0"],
|
|
59
|
+
["565656565656", "e78d1f28015723313c0c7b198fe0304fb45e6b638fa0669f69659970efa4973eed6368540bab6fd84400937572e7030f43c1f1eeb60200045555555574bdced0bd2c03000353535363e81864da2c03000851515151515151515b17b177", 0, 33, 1, [[605598600082670, "56565656565656"]], "885cf61f29077eb60ebb8ed4c019e4ea79410b1ea1c82e04b08fa3f6b8c152cc"],
|
|
60
|
+
["56", "cf54b110030cc3118a919848d497e6c0c2e20a2bbb308f158c1f0ed8a51f31df5d3da49fac94e4a2490009051c99999157c215db6acd2631b996f38861c2402ee5ccacc572563865decfb561456c80da2714003c0728c0c1550a29dc89281e6bce622deb4c74b434aa8543287a38dca9c8555ff7fb8abd2bed3920001e76fb270119f82b20d2ed0600015347610983", 0, 161, 0, [[664651102653416, "5353"], [64623379065486, "5353"], [43389383339570, "535353535353"]], "d1b90682494ddafa9b588e7ad0f5d92f625c0850fca22ddb331e5afd38308b8a"],
|
|
61
|
+
["5353535353535353", "7c05910c02667ecf61b9feaf85eb44b6056ae134a708983c1c8910c79e74ebd74189d8d834089913ae007bb33f0cbb430cea0c89376f144a22bca7d5a816abad2d6755546b39e728a142111c5fd126a0a3b9008a5722f2027cef2e8dd6ae00000452525252c1f7abf8e91900000551515151512e54610a", 1, 33, 0, [[1171406913671892, "5656565656565656"], [1658571652576781, "515151"]], "7e79bc6e62029701d63d9d2cf778d1337fba336943b0df8a39e0182fa0318031"],
|
|
62
|
+
["5252", "bc96a8510226483c45865a363a7c33ed4a1a0356b73c0211ac78d198ae41bc9072715b452f1aa3349f00b771c163af4f3c6c4a352253f72ffab793019ac604d6cafec558537ea63322eae461095c377e4310003bf73f8903de2d6f8a464004000451515151464829c63c360100015517e0671ad4c502000256562564089e", 1, 33, 0, [[1937414447667642, "5252525252"], [1920809658592013, "55"]], "a96fefb5ad9937da8209eaf6b8973743ea366500129febb54ef74d6015dedd25"],
|
|
63
|
+
["535353535353", "7ca9151403bbcd21566ceb8c5ac75b43a68fcbbb2eb9fb32b9961067a3380967ab5f6254c299e5467d00e82d6f32602faf5c6cc179481ad5449d4fe6a07e40476424fdd8df5adbcfc3c4d1f11687d02fc66a00d1f913bfc4257a5ea86f85df0be98c20a627cc58cbc5852f5e5dab04daf3ee60eb23270ecf3ffb03006c6189760345ee580deb0504000853535353535353537ee7e75e21870600025252b0e750c0be0c02000154495af20c", 2, 163, 1, [[294063938699820, "535353"], [883217585217331, "535353535353"], [312692956659955, "51515151"]], "05faf6cd78ca14be9536b4928f232e58816c35bb4a301c3cb9af18401b3ac232"],
|
|
64
|
+
["565656", "bbf1690303f7b59027ad45925b19f697002aefb28c099fb557242fff81a728c66ce10ed9cd26be6fe1000edb446510f1114a11785348302452c2f4259585cdbaabfeb7d1d6610dd03ff52bc4270f644bef4e00d65d49f37a088d50c1e6e9613b440d99cb52ed2865839fc528db16b7b3e931ac63020a1044052a8300d1ceb4d40349f06a9411620500065555555555554a248fb4c7420400055252525252542ec865823d020004515151512abaa77a", 0, 162, 0, [[521976980244355, "565656"], [698595897305607, "5555"], [1994755805073073, "52"]], "03c8d2d8d566e94b8bc538f7506ff71876efa66f3a8eaed655d5b7026f0b2d28"],
|
|
65
|
+
["5454", "eb8458790163c0a0c8ee412637c9698ab148cdc5f174c2ca259bc1d1ab34ea6d38da323beb03752735002c6177b602fe5a39044a9e0000055151515151bf8d6e12e1d504000154db5125f7", 0, 33, 0, [[200675645002567, "555555"]], "7fd9300518a7b714c20a855f4c9fea4bcdafe099db607878bd2e20f70a44691c"],
|
|
66
|
+
["565656565656", "c0d4903302cc00ae5b1100cc4eed8e755ad369fd56bf48f2c727a611bac38252183cb7a8b2a643afc000621b4a25a696db2929e54fca59c830f75772f40b7969f74a01b7db18d6bcc77950baf7185862a368001ffdb14d02d17247ee7f1f0500065656565656562d957036025b01000251515fe75edb", 0, 163, 0, [[423625685470699, "515151515151"], [1863656394812684, "535353535353"]], "5ad463350128ce008f1457330a11a33204931e610b42b47b0dfc01272bdd46fb"],
|
|
67
|
+
["525252", "a5f5207d038edfc19de0014c431fc72d08a1755fba095a0f328c7c7e353b5c6ff8cd7881b5e63896e800d33dbe06e25d6d48da852b613d6063ee91d37f2516d896f3b416ab9983c534a86408efc2e7d4820c005f3731d0d529302b9bd43dc923b4e1c05d242166e5bdab31a5cacd83cd00fb9f5d0196c9c2d273d20024f02bdc036ca5f124c60f06000156a69e34610e5905000753535353535353d6edf2441da80000025454176c268e", 2, 33, 0, [[1277866882885161, "5151"], [1681081571303942, "56565656"], [213609591266786, "5151515151"]], "ac91c710ee601e96e21cb6d9ea4fcd615d9a970bc31c58ff759e541da6e30e0e"],
|
|
68
|
+
["54", "1ed9ce3f0277d0f3ca7a41090855de7140075ce3fec5498a39d79c0d52ec27e05d132c63ddc3cdaa61009e4e50e65b780ea054d714c5fd283b9038dda9da7059a43d9e09b51c74ae8b36912a8f2d8cfa97b1002b5b0e59016f7e58c3c736030008525252525252525207349375", 0, 34, 1, [[837245506677229, "55555555"], [133405604410804, "5252525252525252"]], "a767c527c31045a7f1489cc887356ec1915b4922ec240a9146165379fe7d99d0"],
|
|
69
|
+
["525252", "ea62133801f7aa40f6ece16904ff89582b3dedc7ab0125aa57129311bd27855d828238c244377357ba0056b3a2b102964be46f5fe80500055454545454db895ad0498f0600025555403f1498", 0, 33, 1, [[1029877187370002, "5252"]], "df93da32b5227902a9d3224f1c891bad3bbb78c32f2af5eeccafcd8228e86b69"],
|
|
70
|
+
["55", "7a4eda74033b493c1ae7b411e3c91959f30177c29d129ff9dfa50ec70dd0a3a99e9c2d9b85868b69ee0058c1a7f1e065859b8a5cc1f76c177867fb7eca80762f0c062c68c0fdef558761942c85a9eecc3e9600df2e1df49f2e4786d98f8bcbd59df1bec22f33b75bf1f76bcaa90929a508bc50565732e32a660d8200ac319d2f03623b9338198f0300075656565656565655702b0026dd0300015320810fe070260500085252525252525252b2e748c5", 1, 162, 1, [[1587530565889313, "53535353535353"], [405663878729238, "5252525252"], [769410285896805, "5454545454"]], "bf4162af239e7d5b7660fe65b1c2ae7985a3b438add41c34f828233bd0fc906d"],
|
|
71
|
+
["5353535353", "e6070552031edfadef82ebc270db141a61296ca10d0693eb52663afa008c355e8a08e20c9e5eaaf645009850e161308331a1e4acb8b227f19f7b8120365636f03a8c6538a417f23f4d688cacd801e2b3f05100817f9f78f4b9a7022fe64967258a03b80c891a02105dcfdcd186201e09f9217ee3c6c9441dbdf95500c36b326f02eb0493ba01d004000154e836ed9d2ea80000015468865521", 0, 35, 0, [[304790380655008, "54545454"], [1007599861527221, "5656565656565656"], [1108502226042277, "5555555555555555"]], "cf88e7fa9188ca68dc64bd466c7c6372c32ced6753b39b60b984ff754d91264f"],
|
|
72
|
+
["55555555555555", "6ebf1b48033716320ab6fdbd400aace5687903d148dc8712940ab23df7dd036ed90040522e4fcb59dc00b2b42d28a539914947c9c2ec03d62ab3756ddfe6c4347a4d6667a79408ad9bed9c41e43db92a60d3003dbfe262d3ededc1722499af2729d1f47156e73996f47f481aae3db751a13fe5c35d7b0c42446a37002ed17e3e02d77c09fae63f0600085454545454545454fd9dcec1d24f05000355555563604002", 1, 163, 1, [[459208182549637, "535353"], [482970669805128, "5555555555555555"], [1352280156674513, "51"]], "ff7248a8f005ca4ca64fdd5440961c8ee3e44376e5b84662a5c37243d517a3d1"],
|
|
73
|
+
["54545454", "c8071f1c03dd46a7364b017b0f29651a0f3f5b7a51f9189766e5633d46290f584574f827b9683641e700770a1bebb9bc5d4ba34e8c20ba2c8116113a1b821476565d7ff2a9cbfb427f61554b8a38cbbd13d800d801761fdde7da3496b8309cb6af560b47f417196b0bd4f70ff9c0aca2f731338dd57d0ef3e6908d00bac5afdb02e66e123e43180400085454545454545454600f9ce4a822060007555555555555551254a580", 0, 163, 1, [[288128616706072, "52"], [1191534251538389, "54545454545454"], [950190215267136, "5252525252525252"]], "79806f1411340bd559e4d1c3e1a5baa369c8dc3bcd2fdbca4413a6376e6fc959"],
|
|
74
|
+
["5252525252525252", "63592d5a01d420797726c3a3bfb97e7bea8a9f092f83409f1afc9c15e12b51525f28be485385a8029500bb31025802b05a924789e10200065151515151519ef666f7e530020003545454293a016c", 0, 162, 0, [[1648688322015274, "54"]], "1cd5c5f4e34bf7c892fe7c679eb117d8126ba0808c5f46bafe6e389cdc1c10e9"],
|
|
75
|
+
["54545454545454", "6949f021010683cc6fd6cdb5039e2576326fe4c3a41d1ee206726e507964318d578374a8c24792f3fd00619e924502a3b660ccb93202000256562b96f76f942405000454545454827a60b9", 0, 34, 0, [[1501982123751123, "5353"]], "a5facb9830701f262dff298e4c776488c289e10263a8cac8d6c810acda326b74"],
|
|
76
|
+
["5353535353", "f81e344103f64bc030434d759300391a0e7f27f74a1c2c045aac1dbe8cda8930cfc242f4f1a0f42bc2008acb91adfbc88faa0750951e49411a22d9f3fcafc2f5674f41b025babaa9f3b19f21b4b7beb3f3450057243745a05c2c6d648579dff7ed0371ac7cf399a34f6deb7318e72f2d7651fdc46187c8f2c641490063376dd402c3ce49a44e4f02000454545454c71070d06104000008555555555555555537eec51f", 0, 35, 1, [[560856801017235, "525252"], [321763265520796, "51515151515151"], [932401122665026, "5555555555555555"]], "6e57db990fa602a6d71edc76f9120d71d6d233ba996b55e327023cfb0ada4af8"],
|
|
77
|
+
["565656", "f57da80c033cafd3ae37becb932c58767bf97338e20ed68f840c4088bbbc1f702fedfe1987f27efa15002418c9c61d65bb40c698814a3c28f268f7a4a88ed6a310c900c044f3e451f7a7942ab8dce1241a5e00b83ba3ee5ae0b84b6e2c6d5f51095c835f4acbf9a00a370b7a535c7f6d6fb6789050f5ef9ec59a76006576e0bf0259651e65d1f70100085151515151515151417ef9662b88020002515134837843", 2, 34, 0, [[895390536545204, "5656"], [1877862068221573, "5151515151515151"], [1177094825222334, "53"]], "ee80c5d05e2f2c922775a6437705fc071d4f7dc4eb52eba2fe38011cc2d2473b"],
|
|
78
|
+
["52525252", "b68a1178026ba6d780dbd236bc3ade3b6b97a7d58a7db050d4f4329162d98e789c323d7ab4a5bd7956000d9983795c830362f5a285d60b62c7ca5f301ce07aa118305f043b67345ecd23e92d36769c0e1d430069c0343d016d3a87d0854e06000151dc443a3d", 1, 161, 0, [[1633186140267663, "5656565656565656"], [848956778138199, "5252525252"]], "9254f3b2a58d7fd980c35f2afacff1c194759d0c4bf54522dba5a678d48beaa6"],
|
|
79
|
+
["5252", "2556a07e034d0d1d2ece123bc673c95ebe2e0274e7a7de12d7a9b377907bca2e117ebbb31f46963a9700d7ece6da3adde5663ef3d98d153afb11619554b83231b87e206a12300e351095eb2dfb85751a16f300bb070192c1f5e09c3cc90dfad2140cc7edb7b0b18d9f39b013924d8511206c1111d36c99dabbc40800841a1d860132d6f09784f904000853535353535353532f84d0c1", 2, 33, 1, [[1066671014058054, "52525252525252"], [1214768938606586, "5656565656565656"], [1855602602674740, "53535353"]], "30bd7a3812ace8682f0637e415a44ed092ae173d27160714d276333a6273d532"],
|
|
80
|
+
["5353535353", "c401f0010111280c996abd7583bbd47c0020497620e79b5918daf436a2ccf43cc47feb574565923477004ff53d3c02814d48b4b1870300025656052176789eed050005525252525298f25791", 0, 33, 0, [[1357567350405400, "5555555555"]], "eacd337dcaebf4a8189c92935fe280838982344102b17f1a13ae01296331abeb"],
|
|
81
|
+
["56565656565656", "6394003901f0db365647262f98314fa865d509821d439ccf527c574b48fe3423ee9e4c1a16ee2c9eda001bc90233021e064f8551db01000755555555555555f21d9a2104e803000552525252527e3bf401", 0, 34, 1, [[302300192245888, "5151515151"]], "f0f451d47f8b83f3427f4b2ea3e110f8b8e029e5f4e802af87653302753aaea6"],
|
|
82
|
+
["5353535353", "49bb5d07014792d7cbe8ef07708d57263de07dded2cc45dc7a32ec6a49f8215ab41bb573c90cda52f4005b93e74c01d77846f17bed0500025454d962a15a", 0, 162, 1, [[1620538120939373, "5151"]], "930c0ccd32e14b8250641e5b63a3345167bafe1f8bc6828d3f998d7e40d50a42"],
|
|
83
|
+
["55555555555555", "ca05323b036d7a38173e1cd7e554a87bbe51d758dc319be110069ae0ce2f214c3fe4016860207489d2006b7031f2eb20e969b4606aee7ef6b3d58b14dcacd83d5c91f5171419782dbc850c4d1db7b6b32e02006880da31cb2c950b99db7fe030826e7d16beb94f30ea01ab9d8850cfbbfab5ac81dc41ef95291869002f11943c03fc50369ac00b0300075555555555555548643c5721ab05000253533b70c9b3505c05000753535353535353c310f261", 1, 163, 1, [[286456005248161, "56"], [1815187055454390, "555555555555"], [637874779045046, "5353535353535353"]], "531beece8705e680c15b37dd8a3d8cae4584e3c51dac38e0585e46204511a0a6"],
|
|
84
|
+
["53535353", "5524ea490244a4a2778836b608c826c2f196de1b26ee5717b9efdefd655a8dd0febfb59d44d6c6ddae00588b7454aa9369a21c15e321c4edc4982780de5859795ca1254ab68089bd534d3bee761cd149a1a0004c9a203d02bf3b60061e32010007535353535353537db181a2254903000752525252525252b3e8a1d5", 1, 161, 0, [[326879125168700, "5454"], [1845936565270202, "53535353"]], "79b16f9cee4ec25ba0bdf5128521e8977601d52ff9e0e1d3a467e902933459e3"],
|
|
85
|
+
["55555555555555", "3b23cc5c01bf8a39dd317108c6db401e95a9d2675003126f7b6c529152b8d04bb4e66a8111adfcad7700f49fb8ae0261b826f771ea02000151fe65ca56590e020005515151515155d00a76", 0, 34, 0, [[888309065662647, "55"]], "9d5db61c508537ff13f013d263d1e47d8f72e90ca29768477658b564336cb5d9"],
|
|
86
|
+
["515151", "6cd09f770189501c7dbea8e64788f3872777fac999a47b948cea9ee80194d59bf2a5037f0bf390443c00ddb2eac6027544361ac359050004525252526901efc7dc180400065555555555553d052037", 0, 162, 1, [[1418616418202967, "56"]], "968a5d07f6b59c96686254126bc91312fb997c66b15d4b576abaff81f57af67f"],
|
|
87
|
+
["555555", "b4ba861802111a442efefe1785c850d6b9e83aa2c19141476e938dda2ae54ab07f0482a523486c49e10091dbe40c40a5bd22225f10527f8ffcad2780e794085ddd5aada1b22b22c87f9184c68ddc055789f700baf624430336b7309ad2aa01000752525252525252bb2628676ce70100055151515151d0e22bc4ddac000004565656568102ebd7", 0, 34, 1, [[1998465830806657, "5555"], [1534081285728206, "56565656"]], "911bac35525d37731f5dd7021ba5ef0860c4cd15fe86ee4734a98c52ecf3670c"],
|
|
88
|
+
["5151", "cad0057d03dd4d956aebfa906bbfb50f6527ed9cf0cb23668ee60852f9437dcfda9a33c947f0993775001ed4b2c86684dbdcf2322c3c12cbb08d22a95fd795d9704acac09ea9f458f97b108c64a2a748c3d100b72c5dda0eb713a6a10ab3f9cc8c81c5b73309f541101c9676540a53503a36fc8e5908c7d3d8a2aa00f436aa2b01b730e5622f3202000451515151a5b5d8ba", 2, 33, 0, [[1015552672217857, "565656"], [1555966080394346, "5353"], [74887124366666, "5454545454545454"]], "8ac2e54d4d89c70e5873f5b2e7d8469c4e7bfe2cafc5ac41136a8b6a8360f3db"],
|
|
89
|
+
["52525252525252", "787ff96c03b18ff7b9590e98f5553f8568ecac4ac3807fe993772892f1bed29cedc7f9dcb1aa9a6bf40092306c89a4717313f10283f43df6e44c25b319045f31c0b95edbbd6900a009c8aefd63fe8dec7fe00011e800486ff3d4171e095aedf46a6d5a5776306c7eb60971d93cea4f2343cfd566479a47d420c352003a31ac8c033dc17b67d2dd050006525252525252d60a0a0a512a05000453535353e25b54783f6207000455555555d554c4ad", 1, 34, 0, [[1401355547567361, "5454545454"], [1005030802585250, "5454545454"], [815750880361915, "515151515151"]], "b2a1c840a1194aa2e52293e8cd3159b08c69163d622fdfbc42572a4d754a365c"],
|
|
90
|
+
["5656", "99d5ee59034a2a68d92ce679b720bd89cf1bb32370c9eaa64a1731b9fefc06371f2da3ef6d999640a60084afa8e79e462f024027c84c808ea4e318303c41d23c6ea6883685684714783b6c08eda423a0c77600a04802e79e612f5e8428a634a06b20657139e998eec5340787f8fae428d42518e76c3884246056a000cc4289f702b6906c9bdce1000007525252525252529dd20272636f040007555555555555555d80bf30", 2, 34, 0, [[157547567158983, "53"], [1818639070472413, "55"], [1247057436554598, "5151515151"]], "1f6b2bcf5e77e67231f99c511d0cedfb14ad31e4fcb4b4eb808f0bda337d768f"],
|
|
91
|
+
["5353535353", "0a68086f037030d3303873252cdeb163f8a52ce7afabc88dd5eb42022e6e9963ed8f5a7fc69c0e9f3e003e5e7af7299fa7c465f9d6f5517dad9320ada65d4b34d1cf7545dd1fad9190c55ecf44fcdf940e9900830b5d91d31090be22cf0f0d7a668d616f00791110cfce79fca8fab717372a31e773766e712323aa00aee1b27e03761b8ca785d3060004545454540472dd6d95a9060006555555555555db13d2f9ada301000151a3510ec1", 1, 163, 1, [[441903575244451, "56"], [186791303933772, "56565656"], [239960250263866, "56565656565656"]], "8080cbc7425903eaa7118440238410f7234ef641b16db7cfa4066a0051ca6076"],
|
|
92
|
+
["55555555", "e102e83803a471b54d1464edae2c4baf9481cd9d1709128058af3f586832dc9dcd30c288954364d8e9008ff5af0d26def8e585272902d27d7a30a4009ee1e1d1d7efeaed6e5b49d9780c46d7be29b42a5a4c008e2b5aec1e56644ba11c71dd0778b7fe70479b527f5ec28cd80e0d3f89b2b5bf02982483a18b0b5f008e7bb7650323058d28501b03000756565656565656b1955b3dd7d103000556565656562ac7a465a6c8020006535353535353f4c06883", 2, 163, 0, [[773451347847048, "5353"], [119777358413597, "5252"], [222961699476622, "5656565656"]], "46a35ba73482bba2cc6f77b764e2bb9d4c408d68951bd57add51f4e25a77d37c"],
|
|
93
|
+
["55555555", "c3102d0101071b1cd4087cf79be1e75a425fd79bd67e93e6503c6efc479a287ceb1a291e0cf556979c0010d9c8a7015e8505ab0b15020001549b5cf9be", 0, 33, 0, [[1067487412002856, "53535353535353"]], "9c1c364ec9940cabc61c5807348b0d97f340a4559bc6fc3e9082143e1f15f346"],
|
|
94
|
+
["5454545454545454", "ffd26b20037da6cd68050ff6158149e4bfc736ba57314454245a8bc2ddd615ab63f147419d594e893a00905c8f5e21ea49e8f038875be7434d229cb692e91d3a48d292aa42213f36092a0094f62faa70bd1300d046888b6b9fa9ec851962fd6414af8d5683546f90b6b10796877cab73aaebd4eff1c9a82bef4396003bbc536103f8ac42c54a730000055454545454a5963b049609000005545454545468cdb49d337a01000652525252525237dd19e5", 1, 161, 1, [[1047232883190522, "515151515151"], [895871336537917, "56565656565656"], [1459901351502640, "52525252"]], "b94f1ee4eb6676ceaa74961feefbb8f4d92bb9f0b512a9954a7703ba9408b434"],
|
|
95
|
+
["54545454", "28997c7702660d163737e58ee62fd8462ef9f2c6bdd70c7b4e28d09de32eef4d94a5d72a7ac8f7d126004ca5359f1d98ec190e48ac41088af6025483b5e7c32d21a95cd481cb8ec46e42c9116bd2c3c6e18d00caaa241c02816ba1266b8500000753535353535353529db9e78e3f0400025353825a1ea7", 1, 33, 0, [[1167350864671655, "5555"], [1089925084484454, "5151515151515151"]], "d16253656a01df41125943261db4da3eb201e94efe2b5cc81a30d15958a283bc"],
|
|
96
|
+
["51515151", "cfa1fa79016c04c714bd5fae2e9deee36a3ab1cb4cc75a45cd6f250b149e5a8c7ed6270e22e479aaca0058edfc33025f4fe32dbf6a0600065454545454540f786bb1258f010006525252525252f3134bbb", 0, 34, 1, [[369817408701948, "545454545454"]], "764e5c71e4b25ad9d87294f1e39777a46e7f81649ca0c456fe06ef575f99f697"],
|
|
97
|
+
["5656565656", "6c165e5c02130771419bb84baa1cf8673a308776eac8e3f57fa579c9640e16fde221885f44986951900024939d5ad9c6ed569c3374c2d7d6b44f2f25a145c53390c9be07fc3a2f0f022a33c5ac6830ad1af300cdfe692b029040266490ef000004535353534b5432bf794105000552525252523d59c961", 0, 162, 0, [[187998518943894, "52525252525252"], [2071495165359710, "52525252"]], "15c008993c1c2db2bfd0c449a7c126e737ef60430671b69ebd15c753926c5bc6"],
|
|
98
|
+
["5151515151", "29ebb74901e2b88da54dcbd5ee2d1cf28bf9282e57d1f8d2c2adf54aced750de9db6947fe760c3d52f002ac3f15203dce300d65c8d00000455555555b905519ba6e7010004555555556bd4f19dc01b010007515151515151513c639e6e", 0, 163, 1, [[1337823415161163, "5555555555555555"]], "69c6c4fd0559d9d017b1bd000e1688ed5e23b00de29ee668f74f94fc1d5d6601"],
|
|
99
|
+
["535353", "19dca52203dd1e0ab273adaaf02a93319a20aab1ac3bd041ab528563f0ae846c88cb54a3099bf2efed00217db39499f29dcca1fd727528a51f35e27394d85c0bad7c0a05c87a7193fef7f80fb9de28ae2ade009fce0334a5b99938dfe30d8eb5353772d7e1a601a78431b629ab09b062f83194a698c0b15fc4a295002786f038028b317ae3b25b01000752525252525252ea9fb99e36fd0200015153434fbc", 2, 161, 0, [[9864619933526, "5656"], [1810640611986564, "555555"], [1975427833751776, "56"]], "da7bfb99e0ec2e260aef1a0d471b7b1680123afa7a41870a81e33b6783b8f7e6"],
|
|
100
|
+
["535353535353", "e9e5a91f011daead653209d30b95cd552ed5823da5049726dd0e210eff0ec766c6263ff132a3c0dba200ca8cca3001eee5a2db74c90300035656560b66d86f", 0, 33, 0, [[126698694672941, "545454"]], "52adaee34649e9596831c36ac78c929885155515a60ea6ad166b20cdd0637297"],
|
|
101
|
+
["5151515151", "9022012301427172f0d8c5a6d214140852891af32983ca9a9db52dd5fcb54d7e2479f230ee746cda4c00816e1f6103937a196f3e050600035151511a1d5aa2557403000353535321db2fcfca400400085252525252525252755a45d1", 0, 163, 1, [[1507903305435924, "5353535353"]], "00385ef156219838c9dd05044466769035619747ec0a8d189b472841f9fa3ee1"],
|
|
102
|
+
["545454545454", "6035321003efed8c2642e7681f4837f7a8f81373ecf23695e43811971fac371613b6e45cb0de53ace2003ec4d6816fc2640de88efa62671803b9a9955d4c482f4c1c252a111547f01ce56a73254de63ef4de00eec74e38059d5f175818b0c885230474d12397f1e544c8289b63816478ba6afefe6151439ce7a4b20073d0a01f038df6233bacf7050004565656567e43b7f4c7cb05000652525252525258c45536558b020006525252525252a3cafee6", 2, 163, 1, [[586847410894831, "5454545454545454"], [199276905972095, "5555555555"], [802917797711449, "555555"]], "a85761c533594131f49428ddb33dbd2a009f1c9630dffe926a3fa53783a20ef0"],
|
|
103
|
+
["535353535353", "ba8ee7300342da47a905b9f22f13ddda9847a8da483916cae04e0fa2262d12d21ca0a6d9d5353f1eaa006bdb1012548f2d2c3a3d52e18225112578c20b4394757c688501b2aefe37b4e5fd25409ce847add5002aaf137e273379e03e62c8f49f229e4ae86376d594d882298b04740b9bdf7967dffa297c2ecb63f800cee867760340617662917705000155457afb49d6030500085151515151515151f32c5ef4aa3005000856565656565656568fa1873e", 0, 161, 1, [[937056690223130, "535353"], [1488906960836195, "5151515151515151"], [1593666912588326, "56"]], "c41cae46ca37034bcb95cb704f49b1f1ff6bd3520189214272a2a07c2247d2f6"],
|
|
104
|
+
["565656565656", "13254b0f027c9a581e4d04bcecab957476836b925a8322d0ed9a5372c8b26694e3318f20cad68e61cd00dc18128e4b8cb936026c2c82ca8ddb66ee04e7b3806ce0613bac5029131d3a35d8b69bcf76f5621d005638c83b013f60d5c8a52b0400035151519a954009", 0, 163, 1, [[975256560185670, "525252525252"], [1884939128585737, "52525252525252"]], "796e529fb09addff7e0ed14983427168a992141847835589ddeb7981c781eb60"],
|
|
105
|
+
["54545454545454", "b3155b7603f71d447791ae178087783cbb4d0dcc52ecc6f746b1ab996d6656c4bb03d2d4b28123720100f8e06d828cb3661eca3dd49ba1c0e9a555747bbd2e4bf9f6e5bb250add8ea6ddaa198d43e585825d00a70f2e3d69d7d09e56ef122477a1d3533afe9bef60d1c5a7ed1e9d448977b6b4b04120fa2bc4d46700f5b69f2d01bd1bb6040f110200075555555555555565186678", 2, 34, 1, [[1978828423865868, "5656"], [389195267412975, "515151"], [115268074498659, "555555555555"]], "d57104adeede12c4cc87fa43a637247ecb9764f67a975dab1cdbab395bf5cbe8"],
|
|
106
|
+
["555555555555", "9bd38a70013a404448cf04982cdfb07d15946fd1e593a59d2cc46419aa1c2e519bd3e8e642f39b19f6005852fdc3035a5238895dcd0200065353535353530cef8256c46d020006555555555555c93286a5a5d005000552525252525060c2ec", 0, 163, 1, [[1440931648138363, "5151515151515151"]], "5d2cba2e17f533077bda1d75d39a58ef94a8bb84b0a13777f0ff7761468a226f"],
|
|
107
|
+
["53535353535353", "4d2b3a46010b4a44b840a3a55dfa98b6eebe96077ef13c62723ab6b287df45c810df8d9ceb7735541b00a1094cb10281d09ea91ab10000065656565656566910b1c3967905000456565656e3577348", 0, 33, 1, [[32625082010655, "54545454545454"]], "c8882a3305da5d6df92413f2bedebc4a1258c0ff5375a39bdea3f1b30f56bcfc"],
|
|
108
|
+
["5252525252", "dd82a12d02663112f4e4a53432f5b74feceec36d44b2b293d48428667ad178fc66c4e33c14a776c1a8002a696d29df420357a19c54dc8237872fa485cf6b99a95f9233da976cd3a431a72a62ed4012868c510098fc58de02a0bc6ad2b2330100085353535353535353ef37e85e791105000152a05c03b4", 0, 35, 0, [[257782950168800, "565656"], [432419938440331, "5353535353535353"]], "f7b133d9bada316b4f65d44ea95d389942cea97b63641930f1b3a8eff7eb638e"],
|
|
109
|
+
["5252525252", "38b8aa0301be326f3dff37f1b887d48f273ace08f1a9e6d91a7b59e8e00dee3fb7a43de42729a7cfd90016f2aead02b091834fb6f00000085454545454545454b79bac5866cb0100055656565656ab3bfbf9", 0, 35, 0, [[1385086606386427, "51515151515151"]], "3c3e7b66ca7ecdc08acbb3958ab2dfcd82c668af93d31051ee098e13826cb8d3"],
|
|
110
|
+
["55555555555555", "e53d0b3403423e4f8c413b6b6e559ef0d6c6d0931d8960f6c205945f5cd6264f7973046d2a975e852000f794a7bc0e565871b6008a5fc90e9d1fd06a22af8aa98bd829a657af2ac43b0d2913dcc418ad061b00f420754144f57f865f19e64f72f5b5e9e428f777e088bbd0c8e125cb59d4c72721ea7ebcdbc1d7ce00f17d0f6c03e23660829eb800000651515151515118b03df871ca0600055151515151720fba62e04e050001555104ce13", 2, 35, 1, [[382985760208621, "5252"], [280163398483923, "51"], [1440353224102758, "535353535353"]], "2cd6d9c27aa17e70f1411103a33fbc656c554e9c082c710a995e5af4a8d198bf"],
|
|
111
|
+
["565656565656", "84cf196402f6c93ac8ce49555c2f483cd0e7dd2e6056f148e3ff3874764aa793658b68a40e598ca7750060a00d2069dc9723474e2d670962d046d49f1e778125ca1748bdc629f377bd9cf47f8246a39b54ef00e8afb3f4036bbb327c8a0306000855555555555555553fe3b70e0a0c020006515151515151ef3d4963ec950400025454e43f3cb0", 1, 33, 0, [[1356919830860213, "54545454"], [78932538520536, "5656565656"]], "619b4286dfb82563875962680527ad69dd231d0d8553a2efeafa4ddecc6fadd2"],
|
|
112
|
+
["5353", "bd4ad915034d60e992a904a699326a2dedda58c8f1600ad0a0dba310de139c6200f8974c781aa6a67a0019455b58ca3b1dcb8bcb73b3d44a461c1671c3d6211df69c77a9bdc319312fd670bbea7cafe28eea003b6f1103520512a523764ad2148427c3f66ae5bf2f829c64876a1dbc70c36ab1dc04f7083328e83e00248996e7016935c82ab2bd030001563ab0aaae", 0, 163, 1, [[1378401831763497, "5555555555"], [1124163224624730, "52"], [963225262309086, "565656565656"]], "263188c727df36c09e23494b2f40ea9127d8681a3776c5de8d981f8d5b97b3fb"],
|
|
113
|
+
["555555", "33b6164602498465a748097b3e77c2ba057bd8a370e80e2396ef431e3b9a1ad51f7fabb256be206de800dc60bdc2639b7729a262946aa8c8d3c0e95431d594f9651407622d4bae0db691ac9004f68930e87d00ff915b4503d105b75c3e9e0000025656ba34c4d809a90000025656772f471b1c41000008515151515151515121ac7cdf", 0, 163, 0, [[411564851249011, "565656"], [1364823572604269, "55"]], "962299e6318c9ac7fd9f0f050e33fef62b6ae311bf2f87f07818c674b54b2cdc"],
|
|
114
|
+
["5555", "5e7a8e1f033276f1b17bb1859c3ac93e4faac0f48ae79d02d8ab193b5770dc7c1ed27675d7fa9cdb69002941cc1ef9eaaff7c7bf81038bbbe6b5c5722bebcf532afda5a33ef87ce8ab0f48dd6538d2b2ae00009c20c909c3f22c8de43f7c395a102d367d8f823e0ad6089201f502b7202ad8067f6728219be243c1004ca1016703c2d2c93ebcdf01000252527642fbf75c1a0600025252696d837adc310200055353535353cfa22de4", 0, 33, 0, [[2085545229105092, "55"], [349175068884127, "515151515151"], [45467659839815, "555555"]], "fae671f69c1f3bfe31c1ebee2086483873453e4b7591ab8cf12ab0d0653e14e7"],
|
|
115
|
+
["5555555555", "44c75f6803e3463510e607fefa395f55c827efd8cfc16e0db80b4969e71ca2d2f4899c9fadc7f5c71f00840955c3b5d8c39f0963c5c9dc0ce3ce5f5f071b1a1703f99fa67b3effa80f0b69f3ab56bf697400008d5e82195c14d1f400ca9c58d48236e98d7924f4412b4c8fda05620ade2dc18b59107e96f4520a1700a22c077c03c976cd94c312070008555555555555555560b2d01297ac040008545454545454545433241c37a9c303000455555555279828cb", 2, 161, 0, [[1387260066149251, "5252525252"], [738335126449941, "525252"], [1428431066967846, "525252525252"]], "017f470acee9cfdb880f638ae3eb58eb720ed62785fe48b8e3741396eb3388e2"],
|
|
116
|
+
["52525252", "b8b9260402691ed0f003831eb57667efa0a6a37a1ec58f64d2162c624db4139aa67d0afa274a90b75200e9c5ac2464a8eeb3bc695d0c84db03c2c22be8af9a6c44f8f1a95b035f240f4a609684d29cf959cb008d52792c02f9c886dfd03c05000152b9b483b8c0c10200085151515151515151104283e4", 0, 163, 0, [[1141026122682275, "5353"], [1461671398526794, "53"]], "cbfcc812c33cc577170ce92c5088cd2d279f2bf4abb57a2ddcd1334b02f2b16f"],
|
|
117
|
+
["5353535353535353", "7a929e2501782928599146006ea225f94e00f086c25e0d399ca528a7c83507eb61e2c22cc16148a8c800c4885988024c1001ad58b2040008545454545454545454d9e8aa0e880500085555555555555555c19171de", 0, 163, 0, [[420293204207487, "55555555"]], "5bb47683368a6d540ee6525d2f5c372601065ed5087e8fe4420ea47cb642724c"],
|
|
118
|
+
["56565656565656", "708cfe5101d57df0b69550afacdaeaa2a3329e192e78d012af88a486b85d82f5830a46c846c30fd6f80036ce81de026a89c55f189c04000456565656d9768bbda3920300025454c4ec8f4b", 0, 163, 0, [[507476559562334, "5353535353535353"]], "d9a06927f807636f989abc1a0eae27028ddcb8986d431adda100d9850cef1b2e"],
|
|
119
|
+
["51515151515151", "43251f7401da76688ea516430c83a2d12b5bca5dec6a85900361a0e3614cfef4aaead68a9dee4c1b87005bba5bb001314b6a5a64d0010006555555555555bdd76a1e", 0, 162, 0, [[478933224390880, "5252525252525252"]], "f436fabe0daba618d3d561055801855547f7ef0caef3bba3ae22c8aebbad3b1a"],
|
|
120
|
+
["5656565656565656", "9fd8c443034bfce61bfa30ba483f4d3ac350b4ecf46d15d5f75a982d1b707b4aa09203e54c776b3177000f3052f5d02f6b75ac160178649ea457d30ddeada923d6f88079995380078050ec5bd2babc17ddfa008e14208fb11c5857b444e9705fd07fdf8f50a0c48dbdf3a8d96cbcf036b82959f7e73512b407f5c7003342d9a002a3e5f9e2ec8e0300065151515151514c87ae5f989705000552525252529273a69d", 2, 34, 1, [[584475326642468, "55555555555555"], [634684432559048, "5151"], [97884466806455, "56"]], "1fde7380be57f157e2cfc5d26511c8ae026c572bac97d01f6889cb7120a5b694"],
|
|
121
|
+
["555555", "0da2746f037a452cb6e78053a8f53cc6085d4f1dbae52ba1d4826cdf1849ae3affc8ef707828d085db00586d95432367eeb1ba91b093edb86303b32c1d0663b641c2b263e92c6d7f51b626c6f16169f16f3c0039409f924b86829ec2e10c137a4babdb5777060a9fa9d702812990c93cb6ce16e692f9f9db86a26500feadfe140333ea0be3243e06000551515151517c1a5d013a3404000552525252522fd2470ec6a600000251513e1c8ad8", 1, 34, 1, [[385006895002694, "51515151515151"], [1805902867789499, "54"], [1843598680497889, "52525252"]], "41854822ab00ef8b5cdc1e8ec91f9cf1808c176c8982969c97fbfd6f6cbf67e9"],
|
|
122
|
+
["525252525252", "d6ede15503a59fe98c1286233557686b79e4da0df3e577b17be2966f6b0c5758f4febe22b252a04828008741a2308864d8f3b63cc4dec76911f8818c0aadcbadb6bb94a3873e537e7ab8948f368eafc2be1c0044749cb25e14914f7045a6b1cfcba151b56ce5427c1a4e185bfc4df9b3901cbdb4b5c262c90ee99d00d35b31ee0237ed439c24030700075656565656565624dd3639340e0400055353535353c7ef89d4", 2, 161, 0, [[1971961621886807, "52"], [418574410371489, "5454545454"], [471415255648434, "515151"]], "707b19dcde4020734d41c8327e827990112ed807de6d999488995084bae2cc4c"],
|
|
123
|
+
["", "0100000001c912714ed02bfbe45aa3b7c1f92b3bfc59e94ddb7ea263a3648dbb9c897bd2b403000000000000000002e39d6002000000001514b1a1b9552e930d457b46ee4e0a54a8033d8da9cd69a36c050000000015142d72d2372c8425e95b93dfd296ad9fc276e104cd00000000", 0, 33, 2, [[62739988, "512096e0394492f9208afc6f8249db5a85c7c4b303f0eb4babb53c2a4c60b717fd1f"]], "973f75abf22f12402d185957809b0f29c3912d8359a5cff14c0f6709ec4ac88c"],
|
|
124
|
+
["", "0100000003d9d06499a5e20188a0896bb9e9f2b7af354d5810e876257a86161d9e934f013b020000000000000000c9cb65767352ef69f5780098b2e9c826ffb509a2fc78f05bc116d654400b1f200200000000ffffffff128c3d8bf349cf03e0cd01bb70bb8fab1bbe4be333d52994bc82e1cb93294af100000000000000000003908d7801000000001514801c17897609048ce6916f33e1a2960e5e1cbebd55df94000000000015145e4eb9cb533b05f2a0cb52d273e439aa5f09b5cb492c81010000000015145831ed6de553b2edea918937d64a71a854b4119620a10700", 0, 33, 2, [[13520714, "5120b8421ee8b865a1f71e130d25631a5aba852226e0c3834ffc5f0315f7502d0dc2"], [58184495, "5120b8421ee8b865a1f71e130d25631a5aba852226e0c3834ffc5f0315f7502d0dc2"], [50718789, "5120b8421ee8b865a1f71e130d25631a5aba852226e0c3834ffc5f0315f7502d0dc2"]], "95b0384e42d04a91170afbf5e5cd2433396e036ef4b9573b60d1a24ab4004a07"],
|
|
125
|
+
["", "020000000169311c8eee61185c20f4a14407dfa76adee0a641758a10a280f24a58f1afb0f70200000000ffffffff023075f2030000000015147e290521bc345acc5d7e0728bd1e445171cbb76efe82ce00000000001514fae73c7a59923ff6cfb7de7b9b48331ee7f45d9600000000", 0, 161, 2, [[22876442, "5120548576bb76cbb2166296291188f9559831eb3aeda43d0ad7b9bd0937674090fc"]], "2ed17c56cd762bf56ab95022edf0fff86016335b436f8597a128167b1eb225fa"],
|
|
126
|
+
["", "020000000395c687717fce3e77bf2f6f0dd49941d18c6b05e02a151ac48dc3ccc9e89bb9eb0200000000fefffffff673d4d8475da382b47f3c3a5b5374e3e07309cd56e4a5bb5e61289cbed73ad50000000000ffffffff69719566c7ecf726b06a997fea4e26db4158dc9478f9f9e9010716b10aad09780000000000ffffffff03af8610030000000015147e55291e93281962eb83e5800f5326726c8c3922bcb76200000000001514c8254f8fe97690982258cbc1d380a8153b1b342321e8fb00000000001514a9a5d4ced4545d91f105f3a6ce4ba37887c4c21620a10700", 0, 161, 2, [[61074777, "5120f2a3cf194eb894997c7ffcada558fe79d3988613cda32878de6dcd79ccd11123"], [89470188, "5120f2a3cf194eb894997c7ffcada558fe79d3988613cda32878de6dcd79ccd11123"], [98421892, "5120f2a3cf194eb894997c7ffcada558fe79d3988613cda32878de6dcd79ccd11123"]], "dd4be52e0a82db8f13d8cbccded9aa8cd2268f06cc57bdd3f31ae085a5d36fec"],
|
|
127
|
+
["", "0200000001dcd3fe4ab86e8a382a4c6c65704e6e4616f02dd02e1847df4018f55f00c742df0300000000feffffff027d44160000000000151413fc98dbefd14ea516489e3c808c3894e1a153ac531ca401000000001514fccec46f3fc092d39628b8e5feb1936d9f1ab37400000000", 0, 34, 2, [[21058498, "5120598bdf4e0170fda199c2029e49e4ec6e0bb9cd33588d45089f03921481405d4e"]], "7e206a8ae1bc2ddca7971f3d513acb932e1b6c198c5fbce075d1092224991b8d"],
|
|
128
|
+
["", "02000000033a3a37b73343d17e9489dc50bbb115e7b2ae3058004f6b29b55f0d56cc46b396030000000000000000cca24f6b4cf148c03adf6b4d9f24209839c787c6318450a3a806f32091f7c5070000000000ffffffff8c3e757bbda337f5b34a4b3d3948294c8519615de2f3b853aac96a22df2a30930000000000ffffffff0378153202000000001514776947a4c26cdd82b83f38bfa3c4250b4efeb0c6816bf300000000001514b021b1f29cb02d3d629b630f8b878cfc4885694eeea8f60300000000151422e3097a04d83b5f3b85bb5d1f0614c7ad7aac1c00000000", 0, 34, 2, [[22006403, "5120d77e3a4f9a6b386816ac3854b808862bc0c2087c0c086a9c02f866607df735d0"], [75887238, "5120d77e3a4f9a6b386816ac3854b808862bc0c2087c0c086a9c02f866607df735d0"], [34417848, "5120d77e3a4f9a6b386816ac3854b808862bc0c2087c0c086a9c02f866607df735d0"]], "bc9eb934df69f98f3b6b249a0290fb642f62711c35c79b9f9c9700ab6c2b76d0"],
|
|
129
|
+
["", "0200000001f2f243d5f493a2272c2babbf92c5875e8c9ca96de7ef638263e4048d576b70b1000000000000000000028ebe3a05000000001514d338ce1e75c2ca8896cd82b57132ad944e3504d5fa5b2704000000001514d5063330a2f1ef8fd51305debc0276ea183afbbc20a10700", 0, 162, 2, [[43989297, "5120a127b13e502eb8d4ccdea718fa7a6d9b12d4c61c4de590e82ef1538e51b67bcc"]], "9219d44c6046c9ec02a41c68ce1e7bef0d6f7a1fb95dc2533e2b729b6a47499d"],
|
|
130
|
+
["", "0100000003514c6eafda58ff2283c06aafc564d9f677d2ec86a5b6cede502a1818da7183080000000000feffffff862514ab6e9e2d7d23dbc0405920f974e56ed475c356d0ee96bafaa0346763ff02000000000000000093a636575756f2cd86f00cbb72f7939a806adcc61b59711f5fb646101f90f7990000000000ffffffff035527b701000000001514ac16fcfcc05b2f837ec590c840006726aedc0eaa0fb5c605000000001514a091477fa31df3ebf46d60a22e2576cf87aee3cc74e5a700000000001514840bdd46d55a7f18350de0fce49a0e205e0f259800000000", 0, 162, 2, [[61567982, "512092c84ed3c9a93fb2347b57388a5fc16fb6a3cec57cb614073056c18e30bc80e2"], [83278909, "512092c84ed3c9a93fb2347b57388a5fc16fb6a3cec57cb614073056c18e30bc80e2"], [46276334, "512092c84ed3c9a93fb2347b57388a5fc16fb6a3cec57cb614073056c18e30bc80e2"]], "0b2e3b6cd660fa269729c56f874b2b93c33d809c2cab14faf50e5ae7c8abd530"],
|
|
131
|
+
["", "02000000010ba3ffe5ce2fe0b27650f00a275981bcd1ca36cd6da7e3cc9fced353f445eab70300000000ffffffff0201665000000000001514bc5930018796b95b5d34d9b0023466a70541f799d20df9000000000015147ba381de279c23f784d09327158c2aae5ccfb6dd20a10700", 0, 35, 2, [[80061498, "512093b56ff9c06b16e39cab267044802f3b55a3cd5e07cfa6ee20b291c0ba0fb9b6"]], "54caff36b98a532cd8f42de93e32853eed6d2fa92d142aa3e405825ec3f7e641"],
|
|
132
|
+
["", "0200000003393fd515608cb3291481a606f74d571f50aa46260dea3be6a4c1516402790efc0300000000ffffffff097c114c8e5d4252bc36a92cf752d832c6118a5f4f50b8ce002547a3dced366b0000000000feffffffb9de2f7bd33b96857ad3fa88ce2b67fd6b9339ac66d2ac4bcbf3014692c866490100000000feffffff03378ca503000000001514eb69cf2e1c385a203ca047335d99d0c2a61571d6726212050000000015147060d788fe0133881ef1a5a869f834bbc68dfb8e4a3d59030000000015141a20dde74b4f72785a209bb7ff5c2dfb246b0f6120a10700", 0, 35, 2, [[53579443, "5120e9cebaaf1a7f4ff7d3ac8d862a62e5dfb30709dc6b74f360d19340e75c559e8a"], [69471874, "5120e9cebaaf1a7f4ff7d3ac8d862a62e5dfb30709dc6b74f360d19340e75c559e8a"], [47458042, "5120e9cebaaf1a7f4ff7d3ac8d862a62e5dfb30709dc6b74f360d19340e75c559e8a"]], "250379bde1e19cdcd15725b35b01ca1af602b8ed3b7f5a432950b51176e7c33b"],
|
|
133
|
+
["", "0200000001b2dd2b219b05bfd67542a21bf64a995b70c0698b0d2a66283cf875a7252c85720300000000000000000221f6e3040000000015144842b013cede9676c6519b9a447b58935cc12844931cdb00000000001514fd5ab544c9756698d4507d600a93dd2fb0701fc520a10700", 0, 163, 2, [[13234387, "5120959e6ba5f72fa657941056a644f5d99f86e042312152a9d981ee3a228055d8d6"]], "3a22182ad7c2457c7fe1a9fb206349303df90003f3983dc7c14625142f597576"],
|
|
134
|
+
["", "01000000036c282f291c6d293c415cdd0bbcb2b50821afab2b875843415c1bb3a715f5e6150200000000ffffffff4cd42852e312fcaf1c5b23664152b19fac4492fdaf446fdcece8f16fa8b5080e0100000000feffffff483299ae107a5a65a8fe7e7f4cde8da058437edb73fc8b708a056b6e2115d4f20100000000feffffff038ca11803000000001514b2d89ff249c45890f4db822d490a44510ec24e02f77c8c0300000000151415a24a075100ec88a3050282ef175c3fccb4262da7a5cd05000000001514fdaf4cbf977e926c0662a125a3be6be66d7800eb20a10700", 0, 163, 2, [[55011288, "51205af5a28a31fb38c866a0dd83407cdb0a60381f85d74257f6ff5ab9ce25030ec2"], [69494961, "51205af5a28a31fb38c866a0dd83407cdb0a60381f85d74257f6ff5ab9ce25030ec2"], [40733133, "51205af5a28a31fb38c866a0dd83407cdb0a60381f85d74257f6ff5ab9ce25030ec2"]], "7e8a585934ca0ee2d129952ec14084338cb83ed53a9275a0569d1e0025ad4f96"],
|
|
135
|
+
["207fbfda4e962908382de8b82194d0cb02d33c3c1342f93315bb2bacdb06e1e289ac", "01000000019e3164e75dae382cfdad5eced1374b453fd14a6d2502c4f0b8814e497eb5fd710200000000feffffff02da7672000000000015147884f798a2d3f67a3f8de57e779fd14a3a944cce6a46ce02000000001514ec4c22fd30c83944823e460df5fedb7b1b6761d320a10700", 0, 33, 3, [[75141243, "5120dc2d84725c91d36153bb9b4696adcaac3bda5ee4ddab9d8b010ec05193b2ff7f"]], "d90b410bd79349d4cd43d48f473a035d0ef606efd9fbc57148a9717817acea7f"],
|
|
136
|
+
["20dfc0a812639811b18043ae260ace171789450fb6a7f51e281bb395b83464cd88ac", "02000000037f34fa116a6a9ab0cf81f422c25d19c03d81d333b667515f1e9fa061c322e36b0200000000ffffffffd7261c1980e94c4acb08bf06e312122f24c0b1e0793e518c5488fd255d718670030000000000000000aa65dacfd6e1ff43b0b0b2c3254906fafc3bfd4a434c9be69197a95285f11aa50000000000ffffffff03b0c8a505000000001514d08d42295f43f3fb5ed51b43e1e93f8f0e0f319b58778f01000000001514c217f17ce670ec0fddeb49d996f42b27b5bdfbb96b5ed40100000000151440f6a380f9ed352e4d18e18e94da6153b5e7d2af00000000", 0, 33, 3, [[56699774, "512042d8752bd36682bbdf6b1bb9fbd3e3ce65dc1a0d9ec72cb03f29e7da0e8a60b9"], [90089303, "512042d8752bd36682bbdf6b1bb9fbd3e3ce65dc1a0d9ec72cb03f29e7da0e8a60b9"], [55993951, "512042d8752bd36682bbdf6b1bb9fbd3e3ce65dc1a0d9ec72cb03f29e7da0e8a60b9"]], "5f18fc0aa90158edfc03181d15f9aea047dac911a7499da686f134bec322d601"],
|
|
137
|
+
["208c93a517c5d20b4ed0af32bb67607e1fcd0c44263814c37ad4092815f7d0ca10ac", "0100000001c6d49c1ddefa66b1ff9a08fa37f3df1588586f13c9f68a3ec5ba08503bdd08a40100000000feffffff027d236d0500000000151485c390fef8b06ed9f7532fbee4ec7cf990974c99307116030000000015140aa0b226050929d9acfffc04d0ab4f142ce0ed5600000000", 0, 161, 3, [[27785395, "51204cef860e6b97ed3cea3129de617accf78ae5441e419e09d051ba446920b87438"]], "6bf6125bea03afd8add365db2f986af858496bb0eaf1b72ee7a6162f1a171a32"],
|
|
138
|
+
["20c972aa3418b593bd6e791ea73a083ec03963a6d262ffb222c8362788aefd8307ac", "020000000399a891139d962de406dbb6cf8ba1290107eb5da0c7260ea820f529d9161435680000000000ffffffff9829e387eb5ef2d1cc627ac8a6c3d245773c6fd46d9e4303e3b9a3aa2794657b03000000000000000010d8e14781c9f8d643f403c0782b7a504ac610e721f2e9b317a79b9d4fae232b020000000000000000039a9e9b05000000001514b407ac677e254f43e0805b22cf611d4118f0bfd0c9d13302000000001514a69089a72a195427b1d9649e5bb53738d7e9580ca333a8020000000015142ae768952d8ab6507e929d7e35e70ca3a9c9c94820a10700", 0, 161, 3, [[57397372, "512004488b5b09955849805cc66e5b7a3de5495849b9b471527f00dd9720dca2354f"], [60662095, "512004488b5b09955849805cc66e5b7a3de5495849b9b471527f00dd9720dca2354f"], [50174183, "512004488b5b09955849805cc66e5b7a3de5495849b9b471527f00dd9720dca2354f"]], "e7c04b2c6f70b5443321950bc467a3d6c9ee7b2026d62e90b8e3661fa7f25279"],
|
|
139
|
+
["20619d5a605d32bcc43a19ddb766b17a5efc92798a2f0df785f22e5caabe56581aac", "02000000019bd2ce2e54f86f2f7bb57bc6d544d8007f79dad5f47512082d18e258f002610d0100000000feffffff029e516201000000001514383034585eb54860deadd65ca56c0c19c90a90ae0c376700000000001514b37b3580af8886682641644b8702ffb2398de88820a10700", 0, 34, 3, [[12375481, "512059d48eb3f2968c986870bed7dfa0bd1bf779dc60b542efead09654726c8078c1"]], "07e3f28e4ccaf21776012cc9698bf74b2aae27296a813c244720c12a7fb41466"],
|
|
140
|
+
["20044f1ec144beb60e246a9194d84b30c839c8860089ca954c480d2804de16df15ac", "0100000003a616ded0a950a951a3d8401837ed89df6b26c1eab4a60c322a93749e7f6941c90000000000000000005e24effb8bf889df18e98611da9ec8066eb4fd9f49bce0c0880a7d6be11f72d40000000000feffffff63c1a19f176236b4d13e5b6cfae5932a33bdb0f51d60295cf498da187c75302a0300000000ffffffff03929118030000000015141b0ed64af035ea9d695acfbeedb51f675ecb30836d448c040000000015140566e4d6892cace765487807def246cb082921566b5b05010000000015141f7b54f2e21e03e775da914032539b61a2b3c4ad20a10700", 0, 34, 3, [[93945192, "5120aab380ff8eb8dd4b32cd9650dde5021b3c965e483f7e7d198070ca263f3dc45a"], [22545640, "5120aab380ff8eb8dd4b32cd9650dde5021b3c965e483f7e7d198070ca263f3dc45a"], [93855483, "5120aab380ff8eb8dd4b32cd9650dde5021b3c965e483f7e7d198070ca263f3dc45a"]], "29cf2a4a83297da1a603e05d3a3efbb4c8a731030ed52d5017f30c99a6dc2345"],
|
|
141
|
+
["20841930f1536896687680e26d4b76e0af63c8776ccecb364abb70dfe7c1d2e00dac", "0200000001d7cb7cbf5adc0f328e86ad3ddb00525c42e2865e0d68a9dd9f4052ca28af44b60000000000feffffff026704db020000000015144ad996b99ca368c04499fdd2329cc4db8e31162f023564000000000015143ec8caf260713c4c96bb03929711b8868df5295b00000000", 0, 162, 3, [[83104084, "5120464233f4aa2a54699f1653732c9bb44428c9f4aed7ff3669eb397096132b6f8f"]], "21b37f5d0ddabda3b873990f95ae1d5691616b81387723ce575f53b2f378e957"],
|
|
142
|
+
["209df5d55a2aacdc793ac39e4806fdffaef897e7d0de8159f85414a571162d63feac", "0200000003a5766afad0001d391aded89e848f789fc57723bcefeafe301dd37b4bf00c1df70100000000000000009573307d486cbe4946615b914cdac0e94fccdc929aef27c46cbac771e9b4286b0000000000ffffffff7f0a70c803d508b0edd0fa9d590fbdb6e1a057d8458dc048a01e03749e2b9f5f0100000000feffffff032cda73000000000015149b3b7af159e154e2d3bb81b6562f08aa30ab4515e5bd930500000000151414be422af48910d7b7cb7db964882ac08f745ad8a32b4505000000001514e66a2e935e4f0c8d836c998b4db713f881062be900000000", 0, 162, 3, [[66129391, "51209283c711c18df52319a8ccde9f2edbfa7948e0ada12fc029afb9d3fe37c57f29"], [88600588, "51209283c711c18df52319a8ccde9f2edbfa7948e0ada12fc029afb9d3fe37c57f29"], [91503149, "51209283c711c18df52319a8ccde9f2edbfa7948e0ada12fc029afb9d3fe37c57f29"]], "663e96ff3fb794bdc9a933362a7bce1a19b0961c330254de587e17c3d65fb6d8"],
|
|
143
|
+
["20fbb575a3220688acae826673ab63f6e5f994fd41598694e12a3ef24da22615c4ac", "0200000001ec1907abf12b2d01df3e037a54f9521c2308f698998f724c801ec4ebc3f2c72d0000000000ffffffff02fdb1980400000000151404aa8f259d31ef894b8c02ba9beb2dae5f41150440dd8c00000000001514c4cb5076cc960ed9b29c13f7b33febf2c15de51620a10700", 0, 35, 3, [[70449464, "5120835d286773bc9fecc99a7791bd8af1c2526e3f503aa3ba9a0b3ca7f8cbf6fadb"]], "157cc5630f5543653b821432a4685a3a27842ad57949ab13bea3f844640f1cd4"],
|
|
144
|
+
["203730cf98008cedf0460fe522541ab6c642ead9f09ad3d3850da69f65961bec1eac", "01000000036ad3b6ad0b60a018d38db13c75fffd43f98891c892aff922dbe60e804ce0c98d0100000000feffffff17770e7fd945b76b47db4df4b517143534e281469eb3ca6c8c1d48bda7e12e2a020000000000000000c7484a1a1538a5f54429eca9cde3592269a50aed44d6605aa25449311d64e41702000000000000000003a7522904000000001514f80d2edf5f2c5cd71eb3111d5993586fb8b19a4dfb129805000000001514fa49cca720fb31317e6bae3cfa75aaab84e2e6412febf0030000000015141d74359f44899b5dd94e9102d67b34a11c35afb820a10700", 0, 35, 3, [[65666582, "5120bcd9794c9d004ffc7738ba08224675ee11353e6360618adedd08e9fb8d911589"], [15914611, "5120bcd9794c9d004ffc7738ba08224675ee11353e6360618adedd08e9fb8d911589"], [8172287, "5120bcd9794c9d004ffc7738ba08224675ee11353e6360618adedd08e9fb8d911589"]], "860c7ffdb0d6afa8a6b92608ca9ab07b516ee0afb9ddef7337a808b469b69326"],
|
|
145
|
+
["2067a20cd4a6079ec4187547c0f3bed18dec272baf2342876e7175fc15345af793ac", "01000000013412a79af62f112c6d1f07ae37b7dd832c16a9938ca13710c4aa7a86149e7e900100000000000000000260e5cc01000000001514b4d551c269e842436b426b506591e35a6eaa426b857d7c0100000000151427cc20ce3a0f64b433d81e4eecc43d1bc5fda29f00000000", 0, 163, 3, [[26954754, "512054ffb854f30027cd78f146ff92904a4d008bcae625ccda02e63d32d1cbd29c13"]], "cb065e11c781e75fc1cebc4aa3eb5923238698f3dbf4b90ae95a003659d8b370"],
|
|
146
|
+
["20e52b0d601f6ae7daa194e8436f98eaa91241e63989c953b8e03fac7f01ffbde7ac", "020000000355b7e4ea4e8127656469c8b7375eda062e94ccd3a4caa688a23cc37f34f9e9150100000000feffffff8d7eea3c12233c87cc5f6e735b8881420bf89f880c2f933b4e85754524bb371c0100000000feffffffc5f9a24fac373a8d76588eafe972ff77273b9d6bb23f9f63afbe7df33f35c4b10000000000feffffff035cfe9902000000001514d37f9ac884461a3c03ada076a3c89f5b767cd84ba9c9fb040000000015144c6990c5fc710c073c5573ee56227a62b9ba4d5221967500000000001514ece51db5c079d99793ae6eaaa01992db5da628a420a10700", 0, 163, 3, [[89463102, "51206fc66a8086e7473fc3251e358914628882c5c6af89e11f5c83581c3224db5b6a"], [41242198, "51206fc66a8086e7473fc3251e358914628882c5c6af89e11f5c83581c3224db5b6a"], [76432250, "51206fc66a8086e7473fc3251e358914628882c5c6af89e11f5c83581c3224db5b6a"]], "cc9b476796b387e450ff73285ecd65d25ead97eafd0beaa348b9f21828f0d6d1"],
|
|
147
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 32, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "64c564cf245b9498bd6cb81fd3c2d6cc825c74301fcac7a4a1821d1d9d692ffc"],
|
|
148
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 36, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "4e5fedfe0425120d2c891de64d746377a2331b2855190f07ea64e8b5183ae3a0"],
|
|
149
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 37, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "874776cc4859ff0a7c8558d66a423097d21e7bb5b08c7b117141c3f34b92e5ae"],
|
|
150
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 38, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "e23dc2de76a5d3cfedd671ea5c74e83aa2b1e4f679f25bcfe0e928a2c9ae0059"],
|
|
151
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 63, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "250a264b8e244220e09b128df436dc799e01b8f5df850ad59f9bce7dbc6903f7"],
|
|
152
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 96, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "898985315118861819f1e137035d67cda2e06d076deacf2e44b919c55d9e7523"],
|
|
153
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 160, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "bb06ee04a444500c1c3ea98f19541a7aedbd27aa6d0b329cbac3be694869ecfb"],
|
|
154
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 165, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "c5930affac7265ec4077e03950e2266053ccff66b970bd50cf0c585cd04a15a3"],
|
|
155
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 191, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "2616983a5bf4e1d4869d5fd424ee46b2e7f901e6b9c7a89cc9cb01a902e5e092"],
|
|
156
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 224, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "308ae51b73ca23a089312969d9550108ddf5e15c2c416203826d6343003918fe"],
|
|
157
|
+
["5353535353", "2316de5a02a4fedc0d9e902f93a402329869afcf6b22c444f800297418b54d2e002c57eb6af3c4730b00569037965acac7bfd72758f60ddbe8ca7b1da23a70984f5e8b03bc44889190ea56034ec7bf259257003f9f66fc01cbbc461ea5ac04000254544e112901", 0, 255, 0, [[650374865900231, "515151515151"], [877685345816497, "52525252525252"]], "4571f1c6889be8deb4b47036b83bebb69b21e676a3fa830783cfe9a514e2c299"],
|
|
158
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 32, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "b557f60cde1e2f8a1607f72f97dda5eb03fc7823a1cdc14768aeddef790954fc"],
|
|
159
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 36, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "3facf39178caa683dbe6fc43190deab7166e3a12941ca2f41b4cc0a9ade71c84"],
|
|
160
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 37, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "179a0505ae9c9b506b055f833783506ec907715d1dfc11cd58b7597f8ea197dc"],
|
|
161
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 38, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "d1ce34b57c1b4af5e166f7de61d16e39d13247ca94c0628945e73e1378222471"],
|
|
162
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 63, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "14ead0697fcc9dd8487ee856c7930b2bf652b99cbe90367e0442d3b54ec143df"],
|
|
163
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 96, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "d15e1545ad1f6b0f5debd49d5f94911158b65063cb41911d072b06d33f8096cc"],
|
|
164
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 160, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "8895d044173a505d52b07b9fe82138ded79a00f25e84e9d5532e9c573c08887f"],
|
|
165
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 165, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "ec1440d38e9abd38072a477ffe8c4b104fb64d4a4b3ba3a331525e4878516ef5"],
|
|
166
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 191, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "2a1c75b8df9b4d7107039211ca3b08e37faabb9a392fde0879eb504b5aabc623"],
|
|
167
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 224, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "aff131c4ccbc60c1b565d8c8661d086ee76ccfd53ac039322425ed5700a3a97d"],
|
|
168
|
+
["535353", "74f713070329575216fe42fc7fb93e35ca2e52b3b12fee83f4d1aa8250be4445a6f912f33dd6b0974100a7b2d52e139daf3f073b5e3216427568954ad988564bcb34d053891a3ce8da53d815ada9fe8589a5003f14f14ff921522b5ecf9dbd392c2a386a620bfa03f0d6c6de57ac3e4a02e2bdd30d2b319e1d86cd0042937ea802affd6346928e0300035454540a1c474686220100065252525252525ec58fb5", 1, 255, 1, [[217964177126525, "54545454545454"], [1286402448270793, "53535353535353"], [875002681445907, "545454545454"]], "43ead7a01b22526048d4ee6e30b3a7d40e8636c3dd6395696ddca468eb87e540"]
|
|
169
|
+
]
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"WebSearch",
|
|
5
|
-
"WebFetch(domain:www.rgbfaq.com)",
|
|
6
|
-
"WebFetch(domain:rgb.info)",
|
|
7
|
-
"Bash(npm install)",
|
|
8
|
-
"Bash(npm search txo_parser)",
|
|
9
|
-
"Bash(../gitmark/bin/git-mark)",
|
|
10
|
-
"Bash(../gitmark/bin/git-mark --genesis abc123:0)",
|
|
11
|
-
"Bash(git config:*)",
|
|
12
|
-
"Bash(git add:*)",
|
|
13
|
-
"Bash(git commit -m ':*)",
|
|
14
|
-
"Bash(git push:*)",
|
|
15
|
-
"Bash(gh pr create --title 'fix: use --local flag in getPrivkey for per-repo keys' --body ':*)",
|
|
16
|
-
"Bash(gh pr:*)",
|
|
17
|
-
"Bash(git checkout:*)",
|
|
18
|
-
"Bash(git pull:*)",
|
|
19
|
-
"Bash(git mark:*)",
|
|
20
|
-
"Bash(gh issue:*)",
|
|
21
|
-
"Bash(node bin/git-mark.js --version)",
|
|
22
|
-
"Bash(node bin/git-mark.js -v)",
|
|
23
|
-
"Bash(npm test:*)",
|
|
24
|
-
"Bash(gh api:*)",
|
|
25
|
-
"Bash(convert:*)",
|
|
26
|
-
"Bash(git commit -m ' *)"
|
|
27
|
-
],
|
|
28
|
-
"deny": [],
|
|
29
|
-
"ask": [],
|
|
30
|
-
"defaultMode": "acceptEdits",
|
|
31
|
-
"additionalDirectories": [
|
|
32
|
-
"/home/melvin/remote/github.com/solidpayorg/solidpayorg"
|
|
33
|
-
]
|
|
34
|
-
}
|
|
35
|
-
}
|