37 Commits

Author SHA1 Message Date
dependabot[bot]
c6443c2c27 Bump ajv from 6.5.4 to 6.12.6
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.5.4 to 6.12.6.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.5.4...v6.12.6)

---
updated-dependencies:
- dependency-name: ajv
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 12:53:32 +00:00
ddfa8632e7 Bump version to 2.0.1 2018-11-19 00:33:25 +00:00
24f4d2af29 Update package-lock.json 2018-11-19 00:32:39 +00:00
3ea2aa4939 Update .npmignore 2018-11-19 00:31:56 +00:00
1751b9930d Merge pull request #9 from jimeh/run-linter-in-travis-ci
Run linter in travis ci
2018-11-18 23:26:43 +00:00
97d3366fb6 Run linter before tests in Travis-CI 2018-11-18 23:23:21 +00:00
62b8f73f82 Have lint script only lint, and lint-fix script lint and fix 2018-11-18 23:22:22 +00:00
1241478006 Fix license field in package.json 2018-11-18 23:12:28 +00:00
0874ee4087 Update copyright 2018-11-18 22:34:19 +00:00
3dbac7b5d4 Merge pull request #8 from jimeh/update-travis-node-versions
Run Node.js versions 10 and 11 to test runs
2018-11-18 22:31:22 +00:00
7e8e25b617 Run Node.js versions 10 and 11 to test runs 2018-11-18 22:26:24 +00:00
a7f443a25f Merge pull request #7 from jimeh/rename-main-methods
Give encode/decode functions more descriptive names
2018-11-18 22:23:59 +00:00
8eaae0b86a Give encode/decode functions more descriptive names
- `encode()`: Renamed to `int_to_base58()`.
- `decode()`: Renamed to `base58_to_int()`.
- Maintain aliases of old function names for backwards compatibility.
2018-11-18 22:17:56 +00:00
35dd6f57a1 Merge pull request #6 from mccanney/backport
Update for newer ES features
2018-11-18 21:37:38 +00:00
David McCanney
2fa51650b8 Update version number
- Update version number to 2.0.0 since changes affect backwards
  compatibility with node v4.
- Update Travis config to allow node module caching.
2018-09-28 23:07:30 +01:00
David McCanney
8fe37d2db5 Update the test configuration
- Add additional node versions for Travis to test.
- Change var to const in mocha JS file.
2018-09-28 22:45:13 +01:00
David McCanney
8aef7a5081 Add package lock file
- Add the package-lock.json file to the repository to ensure consistent
  builds.
2018-09-28 22:25:49 +01:00
David McCanney
39a0f67e35 Update the dependencies versions
- Require node 6 at a minimum to support the newer ES features.  Node
  version functionality determined via https://node.green.
- Update dev dependencies to their latest versions.  Mocha 3.4 relied
  on a version of growl with a known vulnerability.
- Fix the keywords section, this field is actually an array.
- Update eslint syntax to ES6.
2018-09-28 22:00:52 +01:00
David McCanney
deb7b6892c Update the readme
- Change var to const in the usage guidelines.
2018-09-28 21:40:14 +01:00
David McCanney
47c42ff4a5 Update to newer ES features
- Change var to const and let.
- Change arrays to spread syntax.
- Change to arrow functions.
2018-09-28 21:35:26 +01:00
637ec5c6da Merge pull request #5 from jimeh/lint-using-prettier
Lint using prettier
2017-08-20 19:28:40 +01:00
5f6cc4c169 Use prettier for linting and code formatting via eslint 2017-08-20 19:23:27 +01:00
ffc71e6c1a Remove git hooks
While it's a good idea to ensure you don't commit or push anything
broken, I believe that it should come down developer dicipline. Cause
preventing commits if tests or linting fails, can and does get in the
way of legitimate work, specially on non-master branches.
2017-08-20 19:20:27 +01:00
9be24ba511 Merge pull request #4 from jimeh/lint-using-semistandard
Lint using semistandard
2017-07-09 19:46:37 +01:00
51d70572b1 Lint using semistandard 2017-07-09 19:41:48 +01:00
96b27b9505 Clean up test/.eslintrc.js 2017-07-09 19:30:50 +01:00
ed8cbd3fa2 Update Makefile 2017-07-09 19:30:03 +01:00
4154044541 Bump version to 1.0.1 2017-07-09 18:11:31 +01:00
9edf3f1a2c Use soft-tabs instead of tabs, minor whitespace cleanup 2017-07-09 18:10:01 +01:00
bc11e0f8d7 Fix Makefile 2017-07-09 18:09:25 +01:00
29c8ef258a Merge pull request #3 from louisbuchbinder/vanillajs
remove large or negative number vulnerability
2017-07-09 17:35:05 +01:00
louisbuchbinder
e029a93cf3 added tests 2017-07-09 09:23:17 -07:00
louisbuchbinder
280b2a7461 remove large or negative number vulnerability 2017-07-09 09:16:52 -07:00
786abf351e Merge pull request #2 from louisbuchbinder/vanillajs
refactor to vanilla js
2017-07-08 17:33:26 +01:00
louisbuchbinder
4ff09a0d77 refactor to vanilla js 2017-07-08 09:03:31 -07:00
12ce0b0d69 It is probably best to install coffeescript with npm 2012-07-11 09:30:06 +01:00
6648b8668d Update test with slightly cleaner and safer code 2012-05-08 03:58:11 +01:00
16 changed files with 1952 additions and 623 deletions

14
.eslintrc.js Normal file
View File

@@ -0,0 +1,14 @@
module.exports = {
env: {
browser: true,
node: true
},
extends: ["prettier"],
plugins: ["prettier"],
rules: {
"prettier/prettier": "error"
},
parserOptions: {
"ecmaVersion": 6
}
};

2
.gitignore vendored
View File

@@ -1,3 +1,3 @@
.DS_Store
node_modules
lib/*
npm-debug.log

View File

@@ -1,2 +1,6 @@
.DS_Store
.eslintrc.js
.travis.yml
Makefile
node_modules
package-lock.json

View File

@@ -1,5 +1,16 @@
language: node_js
cache:
directories:
- node_modules
node_js:
- 0.4
- 0.5
- 0.6
- "node"
- "6"
- "7"
- "8"
- "9"
- "10"
- "11"
script:
- npm run lint
- npm test

View File

@@ -1,4 +1,4 @@
Copyright (c) 2012 Jim Myhrberg.
Copyright (c) 2018 Jim Myhrberg.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

View File

@@ -1,38 +1,17 @@
NPM_EXECUTABLE_HOME := node_modules/.bin
PATH := ${NPM_EXECUTABLE_HOME}:${PATH}
SOURCE = ./src
TARGET = ./lib
REPORTER = spec
TEST_DIR = ./test
TEST_FILES = *_test.coffee
build: coffee-dep
coffee -b -o $(TARGET) -c $(SOURCE)
watch: coffee-dep
coffee -b -o $(TARGET) -cw $(SOURCE)
remove-js:
rm -fr lib/
publish: npm-dep build
publish: npm-dep
npm publish
test: build
mocha --reporter $(REPORTER) \
--compilers coffee:coffee-script \
$(shell find $(TEST_DIR) -name $(TEST_FILES))
test: npm-dep
npm run test
lint: npm-dep
npm run lint
npm-dep:
test `which npm` || echo 'You need npm to do npm install... makes sense?'
coffee-dep:
test `which coffee` || echo 'You need to have CoffeeScript in your' \
'PATH.\nPlease install it using `brew install coffee-script` or' \
'`npm install coffee-script`.'
.SILENT:
.PHONY: build watch remove-js publish test npm-dep coffee-dep
.PHONY: publish test lint npm-dep

View File

@@ -20,9 +20,9 @@ Flickr short URL is: `http://flic.kr/p/brXijP`
## Usage
```javascript
var Base58 = require('base58');
Base58.encode(6857269519); // 'brXijP'
Base58.decode('brXijP'); // 6857269519
const Base58 = require('base58');
Base58.int_to_base58(6857269519); // 'brXijP'
Base58.base58_to_int('brXijP'); // 6857269519
```
## Credit
@@ -34,4 +34,4 @@ name.
## License
Released under the MIT license. Copyright (c) 2012 Jim Myhrberg.
Released under the MIT license. Copyright (c) 2018 Jim Myhrberg.

1167
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,36 +1,36 @@
{
"name": "base58",
"version": "0.1.0",
"keywords": "base58",
"description": "Base58 encoding and decoding",
"licenses": [{
"type": "MIT",
"url": "https://raw.github.com/jimeh/node-base58/master/LICENSE.md"
}],
"name": "base58",
"version": "2.0.1",
"keywords": [
"base58, flickr"
],
"description": "Flickr Flavored Base58 Encoding and Decoding",
"license": "MIT",
"author": {
"name": "Jim Myhrberg",
"email": "contact@jimeh.me"
},
"repository" : {
"type" : "git",
"url" : "https://github.com/jimeh/node-base58.git"
"contributors": [
"Louis Buchbinder github@louisbuchbinder.com"
],
"repository": {
"type": "git",
"url": "https://github.com/jimeh/node-base58.git"
},
"main": "./lib/base58",
"main": "./src/base58",
"engines": {
"node": ">= 0.4.0 < 0.7.0"
"node": ">= 6"
},
"devDependencies": {
"coffee-script": "1.3.1",
"mocha": "1.0.x",
"should": "0.6.x"
"eslint": "^5.6.0",
"eslint-config-prettier": "^3.0.0",
"eslint-plugin-prettier": "^2.7.0",
"mocha": "^5.2.0",
"prettier": "^1.14.3"
},
"scripts": {
"test": "make test"
"lint": "eslint .",
"lint-fix": "eslint . --fix",
"test": "mocha"
}
}

View File

@@ -1,26 +0,0 @@
class Base58Builder
constructor: ->
@alphabet = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
@base = @alphabet.length
encode: (num) ->
throw new Error('Value passed is not an integer.') unless /^\d+$/.test num
num = parseInt(num) unless typeof num == 'number'
str = ''
while num >= @base
mod = num % @base
str = @alphabet[mod] + str
num = (num - mod)/@base
@alphabet[num] + str
decode: (str) ->
num = 0
for char, index in str.split(//).reverse()
if (char_index = @alphabet.indexOf(char)) == -1
throw new Error('Value passed is not a valid Base58 string.')
num += char_index * Math.pow(@base, index)
num
# Export module
module.exports = new Base58Builder()

58
src/base58.js Normal file
View File

@@ -0,0 +1,58 @@
const alphabet = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
const base = alphabet.length;
// Create a lookup table to fetch character index
const alphabetLookup = [...alphabet].reduce((lookup, char, index) => {
lookup[char] = index;
return lookup;
}, {});
function assertNonNegativeSafeInteger(val) {
if (
typeof val !== "number" ||
isNaN(val) ||
val < 0 ||
val > Number.MAX_SAFE_INTEGER ||
Math.floor(val) !== val
) {
throw new Error("Value passed is not a non-negative safe integer.");
}
}
function assertString(str) {
if (typeof str !== "string") {
throw new Error("Value passed is not a string.");
}
}
function assertBase58Character(character) {
if (alphabetLookup[character] === undefined) {
throw new Error("Value passed is not a valid Base58 string.");
}
}
exports.int_to_base58 = exports.encode = function(num) {
let str = "";
let modulus;
num = Number(num);
assertNonNegativeSafeInteger(num);
while (num >= base) {
modulus = num % base;
str = alphabet[modulus] + str;
num = Math.floor(num / base);
}
return alphabet[num] + str;
};
exports.base58_to_int = exports.decode = function(str) {
assertString(str);
return [...str].reverse().reduce((num, character, index) => {
assertBase58Character(character);
return num + alphabetLookup[character] * Math.pow(base, index);
}, 0);
};

8
test/.eslintrc.js Normal file
View File

@@ -0,0 +1,8 @@
module.exports = {
env: {
mocha: true
},
parserOptions: {
"ecmaVersion": 6
}
};

149
test/base58.test.js Normal file
View File

@@ -0,0 +1,149 @@
const assert = require("assert");
const examples = require("./examples");
const base58 = require("..");
function exampleRunner(callback) {
Object.keys(examples).forEach(function(str) {
callback(str, examples[str]);
});
}
describe("Base58", function() {
before(function() {
var valid = true;
var count = 0;
exampleRunner(function(str, num) {
count++;
if (typeof str !== "string") {
valid = false;
}
if (typeof num !== "number") {
valid = false;
}
});
assert.strictEqual(count > 0, true, "Expected there to be examples");
assert.strictEqual(valid, true, "Expected the examples to be valid");
});
describe("backwards compatibility", function() {
it(".encode() is an alias to .int_to_base58()", function() {
assert.strictEqual(base58.encode, base58.int_to_base58);
});
it(".decode() is an alias to .base58_to_int()", function() {
assert.strictEqual(base58.decode, base58.base58_to_int);
});
});
describe(".int_to_base58()", function() {
it("encodes number to Base58 string", function() {
exampleRunner(function(str, num) {
assert.strictEqual(base58.int_to_base58(num), str);
});
});
describe("when passed a string only containing numbers", function() {
it("encodes string after first converting it to an integer", function() {
exampleRunner(function(str, num) {
assert.strictEqual(base58.int_to_base58(num.toString()), str);
});
});
});
describe("when passed a non number", function() {
it("throws an error", function() {
assert.throws(
function() {
base58.int_to_base58("hi");
},
function(err) {
return (
err.message === "Value passed is not a non-negative safe integer."
);
}
);
});
});
describe("when passed a float", function() {
it("throws an error", function() {
assert.throws(
function() {
base58.int_to_base58(3.14);
},
function(err) {
return (
err.message === "Value passed is not a non-negative safe integer."
);
}
);
});
});
describe("when passed a negative number", function() {
it("throws an error", function() {
assert.throws(
function() {
base58.int_to_base58(-300);
},
function(err) {
return (
err.message === "Value passed is not a non-negative safe integer."
);
}
);
});
});
describe("when passed a non-safe integer", function() {
it("throws an error", function() {
assert.throws(
function() {
base58.int_to_base58(1e100);
},
function(err) {
return (
err.message === "Value passed is not a non-negative safe integer."
);
}
);
});
});
});
describe(".base58_to_int()", function() {
it("decodes base58 string to number", function() {
exampleRunner(function(str, num) {
assert.strictEqual(base58.base58_to_int(str), num);
});
});
describe("when passed a non string", function() {
it("throws an error", function() {
assert.throws(
function() {
base58.base58_to_int(123);
},
function(err) {
return err.message === "Value passed is not a string.";
}
);
});
});
describe("when passed a non base58 string", function() {
it("throws an error", function() {
assert.throws(
function() {
base58.base58_to_int(">_<");
},
function(err) {
return err.message === "Value passed is not a valid Base58 string.";
}
);
});
});
});
});

View File

@@ -1,36 +0,0 @@
require 'should'
Base58 = require '..'
examples = require './examples'
describe 'Base58', ->
describe '.encode', ->
it 'encodes number to Base58 string', ->
for str, num of examples
Base58.encode(num).should.eql(str)
describe 'when passed a string only containing numbers', ->
it 'encodes string after first converting it to an integer', ->
for str, num of examples
Base58.encode(num.toString()).should.eql(str)
describe 'when passed a float', ->
it 'throws an error', ->
(-> Base58.encode(3.14)).should
.throw('Value passed is not an integer.')
describe 'when passed a non-number value', ->
it 'throws an error', ->
(-> Base58.encode('hi')).should
.throw('Value passed is not an integer.')
describe '.decode', ->
it 'decodes Base58 string to number', ->
for str, num of examples
Base58.decode(str).should.eql(num)
describe 'when passed a non-Base58 string', ->
it 'throws an error', ->
(-> Base58.decode('>_<')).should
.throw('Value passed is not a valid Base58 string.')

View File

@@ -1,501 +0,0 @@
module.exports =
'6hKMCS': 3471391110
'6hDrmR': 3470152229
'6hHHZB': 3470988633
'6hHKum': 3470993664
'6hLgFW': 3471485480
'6hBRKR': 3469844075
'6hGRTd': 3470820062
'6hCuie': 3469966999
'6hJuXN': 3471139908
'6hJsyS': 3471131850
'6hFWFb': 3470641072
'6hENdZ': 3470417529
'6hEJqg': 3470404727
'6hGNaq': 3470807546
'6hDRoZ': 3470233089
'6hKkP9': 3471304242
'6hHVZ3': 3471028968
'6hNcfE': 3471860782
'6hJBqs': 3471161638
'6hCPyc': 3470031783
'6hJNrC': 3471198710
'6hKmkd': 3471305986
'6hFUYs': 3470635346
'6hK6UC': 3471257464
'6hBmiv': 3469744991
'6hKex1': 3471283122
'6hFHQj': 3470597870
'6hCA2n': 3469986263
'6hBTgt': 3469849157
'6hHEss': 3470976734
'6hLows': 3471508478
'6hD95z': 3470094097
'6hKjcq': 3471298806
'6hGEbd': 3470780680
'6hKSNS': 3471408510
'6hG8hv': 3470676761
'6hEmj6': 3470330361
'6hGjpn': 3470714163
'6hEsUr': 3470352537
'6hJEhy': 3471171272
'6hKBHn': 3471357731
'6hG3gi': 3470659871
'6hFJTT': 3470601441
'6hLZDs': 3471626624
'6hGdL7': 3470695182
'6hBpi4': 3469755057
'6hEuFV': 3470358539
'6hGVw1': 3470832288
'6hLdm1': 3471474232
'6hFcCK': 3470496279
'6hDZmR': 3470259877
'6hG8iX': 3470676845
'6hFZZL': 3470652242
'6hJ79u': 3471063156
'6hMsrS': 3471716780
'6hGH3G': 3470790336
'6hKqD3': 3471320476
'6hKxEY': 3471344136
'6hHVF1': 3471027922
'6hKDSQ': 3471365008
'6hKwHs': 3471340916
'6hH4s6': 3470858973
'6hGmKB': 3470722065
'6hEzdi': 3470373757
'6hJQwJ': 3471205734
'6hHd6a': 3470888035
'6hH1j3': 3470848414
'6hNP1u': 3471981064
'6hFWge': 3470639683
'6hFpmP': 3470535723
'6hCgQZ': 3469925109
'6hFJSm': 3470601352
'6hEd9v': 3470302893
'6hDwuF': 3470169503
'6hCVSX': 3470053055
'6hCUgr': 3470047631
'6hEsqR': 3470350937
'6hBmKg': 3469746485
'6hDvUx': 3470167523
'6hJUi7': 3471218400
'6hF39e': 3470464349
'6hH43K': 3470857619
'6hGSC5': 3470822548
'6hFz1s': 3470568182
'6hFaKZ': 3470489971
'6hD65K': 3470084015
'6hBAVk': 3469794165
'6hLkWA': 3471499786
'6hHi7q': 3470904928
'6hHdDF': 3470889921
'6hHcCo': 3470886482
'6hGQQf': 3470816526
'6hLAfo': 3471547914
'6hBDEV': 3469803421
'6hL4BE': 3471444864
'6hL2TT': 3471439077
'6hKcxb': 3471276404
'6hD1vg': 3470068617
'6hLtTT': 3471526541
'6hHXtw': 3471033984
'6hHCQj': 3470971274
'6hFrXx': 3470544465
'6hMVkJ': 3471807252
'6hDv6V': 3470164819
'6hD1gR': 3470067839
'6hShWW': 3472660386
'6hK4tb': 3471249260
'6hLzrQ': 3471545214
'6hBTAe': 3469850245
'6hLABq': 3471549134
'6hGbN7': 3470688570
'6hFtro': 3470549444
'6hRRAQ': 3472575120
'6hFViL': 3470636466
'6hFkLP': 3470523659
'6hNAKc': 3471939809
'6hLLNE': 3471583426
'6hJstp': 3471131533
'6hHxv3': 3470953336
'6hLToQ': 3471605592
'6hJ74F': 3471062877
'6hGjCA': 3470714930
'6hCQoD': 3470034593
'6hCqxX': 3469954397
'6hCbg8': 3469906325
'6hJwGw': 3471145750
'6hP2Tt': 3472024389
'6hHDuy': 3470973492
'6hGRpq': 3470818450
'6hDx8F': 3470171649
'6hLhxU': 3471488378
'6hFrkd': 3470542358
'6hPc3D': 3472055197
'6hJV29': 3471220838
'6hCc3c': 3469908939
'6hLycA': 3471541024
'6hLd75': 3471473424
'6hKJ1m': 3471378900
'6hHgEG': 3470900072
'6hFNfm': 3470612720
'6hFsaF': 3470545169
'6hERqV': 3470428313
'6hEnYK': 3470335967
'6hDGeT': 3470202285
'6hFDZo': 3470584940
'6hMvPE': 3471728136
'6hKTro': 3471410628
'6hKfXG': 3471287918
'6hKeuU': 3471283000
'6hHFYj': 3470981830
'6hHDzj': 3470973768
'6hCozt': 3469947757
'6hKB8D': 3471355775
'6hCtrc': 3469964097
'6hDXcx': 3470252609
'6hCxSR': 3469979041
'6hC1Vk': 3469874901
'6hKmaS': 3471305444
'6hK9fn': 3471265337
'6hFDH6': 3470583995
'6hEB7c': 3470380131
'6hC1E2': 3469874013
'6hBZnx': 3469869693
'6hBXNz': 3469864417
'6hQKjm': 3472358868
'6hHn4j': 3470918204
'6hHiQ2': 3470907341
'6hHhHb': 3470903580
'6hGnBc': 3470724941
'6hG6Ht': 3470671481
'6hDvh6': 3470165409
'6hCGtp': 3470007957
'6hCnzi': 3469944383
'6hMxEY': 3471734360
'6hG9sL': 3470680720
'6hCarn': 3469903555
'6hLsdE': 3471520902
'6hKnDa': 3471310391
'6hKn2L': 3471308338
'6hGpfH': 3470730481
'6hRkJS': 3472474666
'6hFEV3': 3470588052
'6hE7VV': 3470285343
'6hSSAq': 3472773572
'6hNTtQ': 3471996106
'6hMAuK': 3471743859
'6hJ95H': 3471069665
'6hHZ39': 3471039240
'6hByNi': 3469787029
'6hLLnb': 3471581948
'6hHYoQ': 3471037076
'6hHCLm': 3470971044
'6hFHkC': 3470596206
'6hDKq4': 3470212967
'6hRapC': 3472439910
'6hKJBs': 3471380936
'6hHids': 3470905278
'6hEJ8R': 3470403775
'6hMY3L': 3471816360
'6hFRAC': 3470623988
'6hEP9c': 3470420615
'6hEqVR': 3470345891
'6hHGBX': 3470984013
'6hEzFB': 3470375341
'6hDnRp': 3470140429
'6hDdQH': 3470110113
'6hCK7B': 3470016843
'6hCxvH': 3469977815
'6hC4v4': 3469883585
'6hC15g': 3469872055
'6hGHRA': 3470793056
'6hGCGL': 3470775724
'6hGbuW': 3470687574
'6hT7FY': 3472820990
'6hMFHs': 3471761416
'6hJybH': 3471150749
'6hGEFs': 3470782376
'6hCBnX': 3469990821
'6hNJZt': 3471967549
'6hMxUV': 3471735169
'6hLoGG': 3471509072
'6hJdy5': 3471084708
'6hGnwp': 3470724663
'6hGkhZ': 3470717157
'6hG7yd': 3470674308
'6hDAqF': 3470182727
'6hPQVJ': 3472182628
'6hHyqy': 3470956440
'6hFG6k': 3470592013
'6hTavC': 3472830482
'6hJjzU': 3471104998
'6hFE7r': 3470585349
'6hNQU7': 3471987422
'6hJYSj': 3471233782
'6hFVRB': 3470638313
'6hEeQt': 3470308575
'6hBmnK': 3469745237
'6hP9VU': 3472048078
'6hJeDp': 3471088381
'6hHV4d': 3471025846
'6hFXmS': 3470643374
'6hBgEn': 3469729381
'6hNDjB': 3471948475
'6hKEkd': 3471366538
'6hJDq6': 3471168345
'6hHbCG': 3470883136
'6hCgN2': 3469924937
'6hQa3S': 3472243594
'6hLphv': 3471511033
'6hHoqd': 3470922780
'6hGT2W': 3470823932
'6hEd6V': 3470302743
'6hNac3': 3471853844
'6hHzYe': 3470961641
'6hRDAC': 3472534740
'6hJ2bu': 3471046452
'6hGRPN': 3470819864
'6hFS6P': 3470625681
'6hG8Yn': 3470679073
'6hFSGB': 3470627699
'6hFQhL': 3470619588
'6hF4VT': 3470470361
'6hE7vD': 3470283935
'6hBeKa': 3469722931
'6hPLs1': 3472167564
'6hHcKm': 3470886886
'6hG9KW': 3470681716
'6hE8E4': 3470287787
'6hNp1U': 3471900352
'6hJ29T': 3471046359
'6hHPLb': 3471008038
'6hGWGq': 3470836256
'6hEipV': 3470320607
'6hMB8U': 3471746014
'6hKWyr': 3471421129
'6hKLxb': 3471387416
'6hJstE': 3471131548
'6hHk3k': 3470911419
'6hPSdE': 3472186974
'6hPfEY': 3472067396
'6hGVSS': 3470833498
'6hFVX4': 3470638629
'6hFQRa': 3470621467
'6hCsKK': 3469961809
'6hJbdY': 3471076872
'6hE2ok': 3470266691
'6hCrc8': 3469956553
'6hRgwS': 3472460514
'6hPhLY': 3472074472
'6hLTK1': 3471606762
'6hHh5u': 3470901452
'6hDiBB': 3470126173
'6hD678': 3470084095
'6hKMXC': 3471392198
'6hBohi': 3469751649
'6hJXRV': 3471230395
'6hFzad': 3470568690
'6hCCbH': 3469993533
'6hLpoA': 3471511386
'6hKZQN': 3471432170
'6hG3Ax': 3470660987
'6hT7kf': 3472819788
'6hKrzq': 3471323630
'6hHMHM': 3471001171
'6hHL9q': 3470995872
'6hBUkR': 3469852775
'6hRRLf': 3472575666
'6hJFUg': 3471176707
'6hBML2': 3469830629
'6hS9eE': 3472631080
'6hPD3o': 3472142646
'6hKWhL': 3471420220
'6hJMpr': 3471195219
'6hHzVA': 3470961488
'6hGvu9': 3470751444
'6hGkTu': 3470719158
'6hF7bv': 3470477937
'6hDzQp': 3470180739
'6hQ2Mo': 3472219148
'6hM7Tn': 3471650979
'6hJWDp': 3471226305
'6hJpX5': 3471123046
'6hNLTn': 3471973923
'6hGuRu': 3470749318
'6hG1CM': 3470654389
'6hEMDx': 3470415589
'6hCYpx': 3470061557
'6hCSTr': 3470042991
'6hBnJr': 3469749801
'6hRZSh': 3472602928
'6hRtVW': 3472502220
'6hDzc2': 3470178571
'6hCMan': 3470023731
'6hRfUj': 3472458394
'6hLdME': 3471475720
'6hE69P': 3470279363
'6hDgaa': 3470117911
'6hDeKg': 3470113161
'6hKSis': 3471406804
'6hKwYj': 3471341778
'6hJ4Ro': 3471055436
'6hHTug': 3471020571
'6hHSH2': 3471017947
'6hHCE6': 3470970681
'6hG5R5': 3470668558
'6hFaBX': 3470489505
'6hL13o': 3471432842
'6hJtQr': 3471136117
'6hHpg3': 3470925612
'6hGinv': 3470710691
'6hFQXR': 3470621855
'6hCKN6': 3470019133
'6hJme9': 3471110522
'6hGUY8': 3470830439
'6hEDPM': 3470389271
'6hBg1c': 3469727167
'6hNyoj': 3471931870
'6hNdQu': 3471866108
'6hMNAK': 3471784575
'6hHkvV': 3470913019
'6hDHLi': 3470207413
'6hCwUk': 3469975763
'6hCd2a': 3469912243
'6hPeRd': 3472064626
'6hP4SL': 3472031076
'6hJQFC': 3471206250
'6hJLVJ': 3471193612
'6hJAJT': 3471159343
'6hJ8Mi': 3471068655
'6hJ6o5': 3471060580
'6hH667': 3470864484
'6hH5RU': 3470863718
'6hC2jx': 3469876247
'6hPm75': 3472085672
'6hN8ud': 3471848112
'6hLD4g': 3471557361
'6hGAr2': 3470768083
'6hFVQH': 3470638261
'6hDxtV': 3470172823
'6hPNwj': 3472174542
'6hKTB7': 3471411192
'6hJdfQ': 3471083708
'6hRvdq': 3472506540
'6hNpN9': 3471902976
'6hMd75': 3471668536
'6hLkks': 3471497748
'6hHkYn': 3470914553
'6hGZgY': 3470844930
'6hGorv': 3470727743
'6hG941': 3470679342
'6hC6xK': 3469890469
'6hTA5N': 3472913142
'6hNzGE': 3471936298
'6hN3F1': 3471831918
'6hLdgN': 3471473988
'6hFyvS': 3470566524
'6hCxUM': 3469979153
'6hCmje': 3469940145
'6hC87z': 3469895737
'6hC4mV': 3469883113
'6hQXaJ': 3472398736
'6hP6Tw': 3472037848
'6hLx7r': 3471537361
'6hFvYh': 3470557964
'6hEPWM': 3470423317
'6hDKDT': 3470213769
'6hBrcn': 3469761455
'6hBkh4': 3469741543
'6hMdbq': 3471668788
'6hK3cE': 3471244996
'6hJSUj': 3471213714
'6hJvFs': 3471142324
'6hHVMu': 3471028298
'6hHUZG': 3471025642
'6hHeVT': 3470894225
'6hFqjr': 3470538949
'6hETNt': 3470436291
'6hEPkX': 3470421297
'6hCVrB': 3470051585
'6hCE2V': 3469999751
'6hNe3j': 3471866794
'6hKjmA': 3471299338
'6hHbMp': 3470883641
'6hGWJ7': 3470836354
'6hGn3F': 3470723055
'6hFoKL': 3470533690
'6hETWx': 3470436759
'6hPaH5': 3472050698
'6hNFFf': 3471956400
'6hNnyp': 3471895451
'6hM7ra': 3471649459
'6hHof7': 3470922194
'6hH8KM': 3470873455
'6hGbCG': 3470688024
'6hDXaB': 3470252497
'6hDSF2': 3470237383
'6hDfq8': 3470115415
'6hCqqR': 3469953985
'6hPpj7': 3472096462
'6hMSHG': 3471798434
'6hKyF6': 3471347507
'6hK33v': 3471244465
'6hJwva': 3471145091
'6hGX9e': 3470837753
'6hFWeR': 3470639603
'6hD8oF': 3470091783
'6hCopg': 3469947165
'6hC9L8': 3469901279
'6hBhS4': 3469733423
'6hMQXy': 3471792510
'6hLoRU': 3471509606
'6hKCib': 3471359692
'6hKder': 3471278739
'6hHYPy': 3471038510
'6hD4hz': 3470077973
'6hPgTS': 3472071508
'6hNXii': 3472008951
'6hKYzE': 3471427928
'6hKSr2': 3471407243
'6hG4fB': 3470663195
'6hFyz2': 3470566707
'6hFoMT': 3470533813
'6hC5V4': 3469888341
'6hBZmZ': 3469869661
'6hPXKU': 3472205606
'6hHVwm': 3471027420
'6hCzFH': 3469985123
'6hCvsM': 3469970917
'6hChKr': 3469928151
'6hBv6F': 3469774581
'6hPf62': 3472065427
'6hNS4s': 3471991328
'6hNPXe': 3471984239
'6hLguh': 3471484804
'6hJ5zB': 3471057885
'6hHr6j': 3470931776
'6hLBUx': 3471553491
'6hLi1P': 3471489939
'6hKQ35': 3471399184
'6hKK67': 3471382540
'6hHUcT': 3471022985
'6hGPjm': 3470811428
'6hF5ti': 3470472183
'6hDZPz': 3470261427
'6hC17D': 3469872193
'6hR7R3': 3472431292
'6hN7hS': 3471844090
'6hHqoC': 3470929416
'6hFDdx': 3470582339
'6hFzdL': 3470568896
'6hDuEH': 3470163357
'6hCaZk': 3469905409
'6hT2Hw': 3472804260
'6hPhJY': 3472074356
'6hKNBy': 3471394398
'6hJPEq': 3471202816
'6hGMH7': 3470806020
'6hGp5L': 3470729904
'6hFfRV': 3470507135
'6hESHt': 3470432637

502
test/examples.js Normal file
View File

@@ -0,0 +1,502 @@
module.exports = {
"6hKMCS": 3471391110,
"6hDrmR": 3470152229,
"6hHHZB": 3470988633,
"6hHKum": 3470993664,
"6hLgFW": 3471485480,
"6hBRKR": 3469844075,
"6hGRTd": 3470820062,
"6hCuie": 3469966999,
"6hJuXN": 3471139908,
"6hJsyS": 3471131850,
"6hFWFb": 3470641072,
"6hENdZ": 3470417529,
"6hEJqg": 3470404727,
"6hGNaq": 3470807546,
"6hDRoZ": 3470233089,
"6hKkP9": 3471304242,
"6hHVZ3": 3471028968,
"6hNcfE": 3471860782,
"6hJBqs": 3471161638,
"6hCPyc": 3470031783,
"6hJNrC": 3471198710,
"6hKmkd": 3471305986,
"6hFUYs": 3470635346,
"6hK6UC": 3471257464,
"6hBmiv": 3469744991,
"6hKex1": 3471283122,
"6hFHQj": 3470597870,
"6hCA2n": 3469986263,
"6hBTgt": 3469849157,
"6hHEss": 3470976734,
"6hLows": 3471508478,
"6hD95z": 3470094097,
"6hKjcq": 3471298806,
"6hGEbd": 3470780680,
"6hKSNS": 3471408510,
"6hG8hv": 3470676761,
"6hEmj6": 3470330361,
"6hGjpn": 3470714163,
"6hEsUr": 3470352537,
"6hJEhy": 3471171272,
"6hKBHn": 3471357731,
"6hG3gi": 3470659871,
"6hFJTT": 3470601441,
"6hLZDs": 3471626624,
"6hGdL7": 3470695182,
"6hBpi4": 3469755057,
"6hEuFV": 3470358539,
"6hGVw1": 3470832288,
"6hLdm1": 3471474232,
"6hFcCK": 3470496279,
"6hDZmR": 3470259877,
"6hG8iX": 3470676845,
"6hFZZL": 3470652242,
"6hJ79u": 3471063156,
"6hMsrS": 3471716780,
"6hGH3G": 3470790336,
"6hKqD3": 3471320476,
"6hKxEY": 3471344136,
"6hHVF1": 3471027922,
"6hKDSQ": 3471365008,
"6hKwHs": 3471340916,
"6hH4s6": 3470858973,
"6hGmKB": 3470722065,
"6hEzdi": 3470373757,
"6hJQwJ": 3471205734,
"6hHd6a": 3470888035,
"6hH1j3": 3470848414,
"6hNP1u": 3471981064,
"6hFWge": 3470639683,
"6hFpmP": 3470535723,
"6hCgQZ": 3469925109,
"6hFJSm": 3470601352,
"6hEd9v": 3470302893,
"6hDwuF": 3470169503,
"6hCVSX": 3470053055,
"6hCUgr": 3470047631,
"6hEsqR": 3470350937,
"6hBmKg": 3469746485,
"6hDvUx": 3470167523,
"6hJUi7": 3471218400,
"6hF39e": 3470464349,
"6hH43K": 3470857619,
"6hGSC5": 3470822548,
"6hFz1s": 3470568182,
"6hFaKZ": 3470489971,
"6hD65K": 3470084015,
"6hBAVk": 3469794165,
"6hLkWA": 3471499786,
"6hHi7q": 3470904928,
"6hHdDF": 3470889921,
"6hHcCo": 3470886482,
"6hGQQf": 3470816526,
"6hLAfo": 3471547914,
"6hBDEV": 3469803421,
"6hL4BE": 3471444864,
"6hL2TT": 3471439077,
"6hKcxb": 3471276404,
"6hD1vg": 3470068617,
"6hLtTT": 3471526541,
"6hHXtw": 3471033984,
"6hHCQj": 3470971274,
"6hFrXx": 3470544465,
"6hMVkJ": 3471807252,
"6hDv6V": 3470164819,
"6hD1gR": 3470067839,
"6hShWW": 3472660386,
"6hK4tb": 3471249260,
"6hLzrQ": 3471545214,
"6hBTAe": 3469850245,
"6hLABq": 3471549134,
"6hGbN7": 3470688570,
"6hFtro": 3470549444,
"6hRRAQ": 3472575120,
"6hFViL": 3470636466,
"6hFkLP": 3470523659,
"6hNAKc": 3471939809,
"6hLLNE": 3471583426,
"6hJstp": 3471131533,
"6hHxv3": 3470953336,
"6hLToQ": 3471605592,
"6hJ74F": 3471062877,
"6hGjCA": 3470714930,
"6hCQoD": 3470034593,
"6hCqxX": 3469954397,
"6hCbg8": 3469906325,
"6hJwGw": 3471145750,
"6hP2Tt": 3472024389,
"6hHDuy": 3470973492,
"6hGRpq": 3470818450,
"6hDx8F": 3470171649,
"6hLhxU": 3471488378,
"6hFrkd": 3470542358,
"6hPc3D": 3472055197,
"6hJV29": 3471220838,
"6hCc3c": 3469908939,
"6hLycA": 3471541024,
"6hLd75": 3471473424,
"6hKJ1m": 3471378900,
"6hHgEG": 3470900072,
"6hFNfm": 3470612720,
"6hFsaF": 3470545169,
"6hERqV": 3470428313,
"6hEnYK": 3470335967,
"6hDGeT": 3470202285,
"6hFDZo": 3470584940,
"6hMvPE": 3471728136,
"6hKTro": 3471410628,
"6hKfXG": 3471287918,
"6hKeuU": 3471283000,
"6hHFYj": 3470981830,
"6hHDzj": 3470973768,
"6hCozt": 3469947757,
"6hKB8D": 3471355775,
"6hCtrc": 3469964097,
"6hDXcx": 3470252609,
"6hCxSR": 3469979041,
"6hC1Vk": 3469874901,
"6hKmaS": 3471305444,
"6hK9fn": 3471265337,
"6hFDH6": 3470583995,
"6hEB7c": 3470380131,
"6hC1E2": 3469874013,
"6hBZnx": 3469869693,
"6hBXNz": 3469864417,
"6hQKjm": 3472358868,
"6hHn4j": 3470918204,
"6hHiQ2": 3470907341,
"6hHhHb": 3470903580,
"6hGnBc": 3470724941,
"6hG6Ht": 3470671481,
"6hDvh6": 3470165409,
"6hCGtp": 3470007957,
"6hCnzi": 3469944383,
"6hMxEY": 3471734360,
"6hG9sL": 3470680720,
"6hCarn": 3469903555,
"6hLsdE": 3471520902,
"6hKnDa": 3471310391,
"6hKn2L": 3471308338,
"6hGpfH": 3470730481,
"6hRkJS": 3472474666,
"6hFEV3": 3470588052,
"6hE7VV": 3470285343,
"6hSSAq": 3472773572,
"6hNTtQ": 3471996106,
"6hMAuK": 3471743859,
"6hJ95H": 3471069665,
"6hHZ39": 3471039240,
"6hByNi": 3469787029,
"6hLLnb": 3471581948,
"6hHYoQ": 3471037076,
"6hHCLm": 3470971044,
"6hFHkC": 3470596206,
"6hDKq4": 3470212967,
"6hRapC": 3472439910,
"6hKJBs": 3471380936,
"6hHids": 3470905278,
"6hEJ8R": 3470403775,
"6hMY3L": 3471816360,
"6hFRAC": 3470623988,
"6hEP9c": 3470420615,
"6hEqVR": 3470345891,
"6hHGBX": 3470984013,
"6hEzFB": 3470375341,
"6hDnRp": 3470140429,
"6hDdQH": 3470110113,
"6hCK7B": 3470016843,
"6hCxvH": 3469977815,
"6hC4v4": 3469883585,
"6hC15g": 3469872055,
"6hGHRA": 3470793056,
"6hGCGL": 3470775724,
"6hGbuW": 3470687574,
"6hT7FY": 3472820990,
"6hMFHs": 3471761416,
"6hJybH": 3471150749,
"6hGEFs": 3470782376,
"6hCBnX": 3469990821,
"6hNJZt": 3471967549,
"6hMxUV": 3471735169,
"6hLoGG": 3471509072,
"6hJdy5": 3471084708,
"6hGnwp": 3470724663,
"6hGkhZ": 3470717157,
"6hG7yd": 3470674308,
"6hDAqF": 3470182727,
"6hPQVJ": 3472182628,
"6hHyqy": 3470956440,
"6hFG6k": 3470592013,
"6hTavC": 3472830482,
"6hJjzU": 3471104998,
"6hFE7r": 3470585349,
"6hNQU7": 3471987422,
"6hJYSj": 3471233782,
"6hFVRB": 3470638313,
"6hEeQt": 3470308575,
"6hBmnK": 3469745237,
"6hP9VU": 3472048078,
"6hJeDp": 3471088381,
"6hHV4d": 3471025846,
"6hFXmS": 3470643374,
"6hBgEn": 3469729381,
"6hNDjB": 3471948475,
"6hKEkd": 3471366538,
"6hJDq6": 3471168345,
"6hHbCG": 3470883136,
"6hCgN2": 3469924937,
"6hQa3S": 3472243594,
"6hLphv": 3471511033,
"6hHoqd": 3470922780,
"6hGT2W": 3470823932,
"6hEd6V": 3470302743,
"6hNac3": 3471853844,
"6hHzYe": 3470961641,
"6hRDAC": 3472534740,
"6hJ2bu": 3471046452,
"6hGRPN": 3470819864,
"6hFS6P": 3470625681,
"6hG8Yn": 3470679073,
"6hFSGB": 3470627699,
"6hFQhL": 3470619588,
"6hF4VT": 3470470361,
"6hE7vD": 3470283935,
"6hBeKa": 3469722931,
"6hPLs1": 3472167564,
"6hHcKm": 3470886886,
"6hG9KW": 3470681716,
"6hE8E4": 3470287787,
"6hNp1U": 3471900352,
"6hJ29T": 3471046359,
"6hHPLb": 3471008038,
"6hGWGq": 3470836256,
"6hEipV": 3470320607,
"6hMB8U": 3471746014,
"6hKWyr": 3471421129,
"6hKLxb": 3471387416,
"6hJstE": 3471131548,
"6hHk3k": 3470911419,
"6hPSdE": 3472186974,
"6hPfEY": 3472067396,
"6hGVSS": 3470833498,
"6hFVX4": 3470638629,
"6hFQRa": 3470621467,
"6hCsKK": 3469961809,
"6hJbdY": 3471076872,
"6hE2ok": 3470266691,
"6hCrc8": 3469956553,
"6hRgwS": 3472460514,
"6hPhLY": 3472074472,
"6hLTK1": 3471606762,
"6hHh5u": 3470901452,
"6hDiBB": 3470126173,
"6hD678": 3470084095,
"6hKMXC": 3471392198,
"6hBohi": 3469751649,
"6hJXRV": 3471230395,
"6hFzad": 3470568690,
"6hCCbH": 3469993533,
"6hLpoA": 3471511386,
"6hKZQN": 3471432170,
"6hG3Ax": 3470660987,
"6hT7kf": 3472819788,
"6hKrzq": 3471323630,
"6hHMHM": 3471001171,
"6hHL9q": 3470995872,
"6hBUkR": 3469852775,
"6hRRLf": 3472575666,
"6hJFUg": 3471176707,
"6hBML2": 3469830629,
"6hS9eE": 3472631080,
"6hPD3o": 3472142646,
"6hKWhL": 3471420220,
"6hJMpr": 3471195219,
"6hHzVA": 3470961488,
"6hGvu9": 3470751444,
"6hGkTu": 3470719158,
"6hF7bv": 3470477937,
"6hDzQp": 3470180739,
"6hQ2Mo": 3472219148,
"6hM7Tn": 3471650979,
"6hJWDp": 3471226305,
"6hJpX5": 3471123046,
"6hNLTn": 3471973923,
"6hGuRu": 3470749318,
"6hG1CM": 3470654389,
"6hEMDx": 3470415589,
"6hCYpx": 3470061557,
"6hCSTr": 3470042991,
"6hBnJr": 3469749801,
"6hRZSh": 3472602928,
"6hRtVW": 3472502220,
"6hDzc2": 3470178571,
"6hCMan": 3470023731,
"6hRfUj": 3472458394,
"6hLdME": 3471475720,
"6hE69P": 3470279363,
"6hDgaa": 3470117911,
"6hDeKg": 3470113161,
"6hKSis": 3471406804,
"6hKwYj": 3471341778,
"6hJ4Ro": 3471055436,
"6hHTug": 3471020571,
"6hHSH2": 3471017947,
"6hHCE6": 3470970681,
"6hG5R5": 3470668558,
"6hFaBX": 3470489505,
"6hL13o": 3471432842,
"6hJtQr": 3471136117,
"6hHpg3": 3470925612,
"6hGinv": 3470710691,
"6hFQXR": 3470621855,
"6hCKN6": 3470019133,
"6hJme9": 3471110522,
"6hGUY8": 3470830439,
"6hEDPM": 3470389271,
"6hBg1c": 3469727167,
"6hNyoj": 3471931870,
"6hNdQu": 3471866108,
"6hMNAK": 3471784575,
"6hHkvV": 3470913019,
"6hDHLi": 3470207413,
"6hCwUk": 3469975763,
"6hCd2a": 3469912243,
"6hPeRd": 3472064626,
"6hP4SL": 3472031076,
"6hJQFC": 3471206250,
"6hJLVJ": 3471193612,
"6hJAJT": 3471159343,
"6hJ8Mi": 3471068655,
"6hJ6o5": 3471060580,
"6hH667": 3470864484,
"6hH5RU": 3470863718,
"6hC2jx": 3469876247,
"6hPm75": 3472085672,
"6hN8ud": 3471848112,
"6hLD4g": 3471557361,
"6hGAr2": 3470768083,
"6hFVQH": 3470638261,
"6hDxtV": 3470172823,
"6hPNwj": 3472174542,
"6hKTB7": 3471411192,
"6hJdfQ": 3471083708,
"6hRvdq": 3472506540,
"6hNpN9": 3471902976,
"6hMd75": 3471668536,
"6hLkks": 3471497748,
"6hHkYn": 3470914553,
"6hGZgY": 3470844930,
"6hGorv": 3470727743,
"6hG941": 3470679342,
"6hC6xK": 3469890469,
"6hTA5N": 3472913142,
"6hNzGE": 3471936298,
"6hN3F1": 3471831918,
"6hLdgN": 3471473988,
"6hFyvS": 3470566524,
"6hCxUM": 3469979153,
"6hCmje": 3469940145,
"6hC87z": 3469895737,
"6hC4mV": 3469883113,
"6hQXaJ": 3472398736,
"6hP6Tw": 3472037848,
"6hLx7r": 3471537361,
"6hFvYh": 3470557964,
"6hEPWM": 3470423317,
"6hDKDT": 3470213769,
"6hBrcn": 3469761455,
"6hBkh4": 3469741543,
"6hMdbq": 3471668788,
"6hK3cE": 3471244996,
"6hJSUj": 3471213714,
"6hJvFs": 3471142324,
"6hHVMu": 3471028298,
"6hHUZG": 3471025642,
"6hHeVT": 3470894225,
"6hFqjr": 3470538949,
"6hETNt": 3470436291,
"6hEPkX": 3470421297,
"6hCVrB": 3470051585,
"6hCE2V": 3469999751,
"6hNe3j": 3471866794,
"6hKjmA": 3471299338,
"6hHbMp": 3470883641,
"6hGWJ7": 3470836354,
"6hGn3F": 3470723055,
"6hFoKL": 3470533690,
"6hETWx": 3470436759,
"6hPaH5": 3472050698,
"6hNFFf": 3471956400,
"6hNnyp": 3471895451,
"6hM7ra": 3471649459,
"6hHof7": 3470922194,
"6hH8KM": 3470873455,
"6hGbCG": 3470688024,
"6hDXaB": 3470252497,
"6hDSF2": 3470237383,
"6hDfq8": 3470115415,
"6hCqqR": 3469953985,
"6hPpj7": 3472096462,
"6hMSHG": 3471798434,
"6hKyF6": 3471347507,
"6hK33v": 3471244465,
"6hJwva": 3471145091,
"6hGX9e": 3470837753,
"6hFWeR": 3470639603,
"6hD8oF": 3470091783,
"6hCopg": 3469947165,
"6hC9L8": 3469901279,
"6hBhS4": 3469733423,
"6hMQXy": 3471792510,
"6hLoRU": 3471509606,
"6hKCib": 3471359692,
"6hKder": 3471278739,
"6hHYPy": 3471038510,
"6hD4hz": 3470077973,
"6hPgTS": 3472071508,
"6hNXii": 3472008951,
"6hKYzE": 3471427928,
"6hKSr2": 3471407243,
"6hG4fB": 3470663195,
"6hFyz2": 3470566707,
"6hFoMT": 3470533813,
"6hC5V4": 3469888341,
"6hBZmZ": 3469869661,
"6hPXKU": 3472205606,
"6hHVwm": 3471027420,
"6hCzFH": 3469985123,
"6hCvsM": 3469970917,
"6hChKr": 3469928151,
"6hBv6F": 3469774581,
"6hPf62": 3472065427,
"6hNS4s": 3471991328,
"6hNPXe": 3471984239,
"6hLguh": 3471484804,
"6hJ5zB": 3471057885,
"6hHr6j": 3470931776,
"6hLBUx": 3471553491,
"6hLi1P": 3471489939,
"6hKQ35": 3471399184,
"6hKK67": 3471382540,
"6hHUcT": 3471022985,
"6hGPjm": 3470811428,
"6hF5ti": 3470472183,
"6hDZPz": 3470261427,
"6hC17D": 3469872193,
"6hR7R3": 3472431292,
"6hN7hS": 3471844090,
"6hHqoC": 3470929416,
"6hFDdx": 3470582339,
"6hFzdL": 3470568896,
"6hDuEH": 3470163357,
"6hCaZk": 3469905409,
"6hT2Hw": 3472804260,
"6hPhJY": 3472074356,
"6hKNBy": 3471394398,
"6hJPEq": 3471202816,
"6hGMH7": 3470806020,
"6hGp5L": 3470729904,
"6hFfRV": 3470507135,
"6hESHt": 3470432637
};