bedrock-protocol/test/serialization.js
2021-03-11 06:05:04 -05:00

296 lines
No EOL
58 KiB
JavaScript

const fs = require('fs')
const { createDeserializer, createSerializer } = require('../src/transforms/serializer')
function test() {
const serializer = createSerializer()
const deserializer = createDeserializer()
function write(name, params) {
const packet = serializer.createPacketBuffer({ name, params })
console.log('Encoded', packet)
return packet
}
function read(packet) {
const des = deserializer.parsePacketBuffer(packet)
return des
}
async function creativeTest() {
let CreativeItems = require('../../data/creativeitems.json')
let items = []
let ids = 0
for (var item of CreativeItems) {
let creativeitem = { runtime_id: items.length }
if (item.id != 0) {
const hasNbt = !!item.nbt_b64
creativeitem.item = {
network_id: item.id,
auxiliary_value: item.damage || 0,
has_nbt: hasNbt,
nbt: { version: 1 },
blocking_tick: 0,
can_destroy: [],
can_place_on: []
}
if (hasNbt) {
let nbtBuf = Buffer.from(item.nbt_b64, 'base64')
let { result } = await NBT.parse(nbtBuf, 'little')
const buf = NBT.writeUncompressed(result, 'littleVarint')
console.log(nbtBuf, buf, JSON.stringify(result))
console.log('\n')
let res2 = await NBT.parse(buf, 'littleVarint')
console.log(JSON.stringify(result), JSON.stringify(res2.result))
console.assert(JSON.stringify(result) == JSON.stringify(res2.result), JSON.stringify(result), JSON.stringify(res2.result))
console.log('\n')
creativeitem.item.nbt.nbt = result
}
}
items.push(creativeitem)
console.log(JSON.stringify(creativeitem))
// console.log(JSON.stringify(creativeitem))
var s = write('creative_content', { items: [creativeitem] })
var d = read(s).data.params
// console.log(JSON.stringify(d), JSON.stringify(s))
// if (JSON.stringify(d) != JSON.stringify(creative_content)) throw 'mismatch'
}
}
async function creativeTst() {
var creativeitem = {
"runtime_id": 1166,
"item": {
"network_id": 403,
"auxiliary_value": 0,
"has_nbt": true,
"nbt": {
"version": 1,
"nbt": {
"type": "compound",
"name": "",
"value": {
"ench": {
"type": "list",
"value": {
"type": "compound",
"value": [
{
"id": {
"type": "short",
"value": 0
},
"lvl": {
"type": "short",
"value": 1
}
}
]
}
}
}
}
},
"blocking_tick": 0,
"can_destroy": [],
"can_place_on": []
}
}
var s = write('creative_content', { items: [creativeitem] })
var d = read(s).data.params
console.log(JSON.stringify(d))
}
async function availableCommands() {
var avaliable = {
enum_values: ['true', 'false'],
suffixes: ['L'],
enums: [
{
name: 'Boolean',
values_len: 2,
values: [0, 1]
}
],
command_data: [
{
name: 'give',
description: 'Gives you items',
flags: 0,
permission_level: 0,
alias: -1,
overloads: [
[
{ paramater_name: 'player id', paramater_type: 2, optional: false, flags: { "collapse_enum": 1 } }
],
[
{ paramater_name: 'item id', paramater_type: 2, optional: false, flags: 0 },
]
],
},
{
name: 'xp',
description: 'Gives you xp',
flags: 0, permission_level: 0, alias: -1,
overloads: [
[{ paramater_name: 'player id', paramater_type: 2, optional: false, flags: 0 }]
]
}
],
enum_constraints: [
{
value_index: 2, enum_index: 3, constraints: [
{ constraint: 'cheats_enabled' }
]
},
],
dynamic_enums: [
{ name: 'Hello', values: ['yolo', 'yee'] }
]
}
var s = write('available_commands', avaliable)
var d = read(s).data.params
console.log(JSON.stringify(d, null, 2))
}
async function avaliableCmd() {
const buffer = Buffer.from(fs.readFileSync('./serialization/available_commands.txt', 'utf8'), 'hex')
const readed = read(buffer)
const recipes = readed.data.params.enums
console.log('read', recipes)
fs.writeFileSync('commands.json', JSON.stringify(readed.data,null,2))
}
async function creativeTestNew() {
const json = require('../src/packets/creative_content.json')
const buf = write('creative_content', json)
const des = read(buf)
fs.writeFileSync('cc.json', serialize(des.data.params, 2))
console.log('Des', des)
}
async function biomeDefinitions() {
const json = require('../src/packets/biome_definition_list.json')
const buf = write('biome_definition_list', json)
const des = read(buf)
fs.writeFileSync('cc.json', serialize(des.data.params, 2))
console.log('Des', des)
}
async function playerList() {
const buf = Buffer.from('3f0001cc304faee0c9f37b41c80c39333e3f9cfdffffff5f0c546865496e766973696f6e58103235333534303837333838353837323000070000003f35656236356637332d616631312d343438652d383261612d3162376231363533313661642e706572736f6e612d653139393637326138633161383765302d30000100000001000000040000000000000000000000000000000000056e756c6c0a00000100003f35656236356637332d616631312d343438652d383261612d3162376231363533313661642e706572736f6e612d653139393637326138633161383765302d300477696465092366666666636439360000000000000000000000', 'hex')
const des = read(buf)
console.log(serialize(des.data.params, 2))
}
async function startGame() {
const s = '0bfdffffff5f090a32bc2144723d8342a1b99b420000000048ff21c3f6fafadb02000006706c61696e7300020002b006ffff010800c2b79505000000d48ca03e00000000000101060600001b12636f6d6d616e64626c6f636b6f757470757401010f646f6461796c696768746379636c6501010d646f656e7469747964726f707301010a646f666972657469636b010109646f6d6f626c6f6f7401010d646f6d6f62737061776e696e6701010b646f74696c6564726f707301010e646f776561746865726379636c6501010e64726f776e696e6764616d61676501010a66616c6c64616d61676501010a6669726564616d61676501010d6b656570696e76656e746f727901000b6d6f626772696566696e6701010370767001010f73686f77636f6f7264696e617465730100136e61747572616c726567656e65726174696f6e01010b746e746578706c6f64657301011373656e64636f6d6d616e64666565646261636b0101156d6178636f6d6d616e64636861696e6c656e67746802feff070a646f696e736f6d6e6961010114636f6d6d616e64626c6f636b73656e61626c656401010f72616e646f6d7469636b7370656564020212646f696d6d6564696174657265737061776e01001173686f7764656174686d6573736167657301011466756e6374696f6e636f6d6d616e646c696d697402a09c010b737061776e726164697573020a0873686f7774616773010100000000000000020400000000000001000000012a100000001000000000000d426564726f636b206c6576656c0d426564726f636b206c6576656c2430303030303030302d303030302d303030302d303030302d30303030303030303030303000026e5f520000000000e89280c209009207146d696e6563726166743a636f6f6b65645f636f640c0100166d696e6563726166743a7075727075725f626c6f636bc900000d6d696e6563726166743a626f772c0100146d696e6563726166743a656e645f627269636b73ce00000d6d696e6563726166743a61697262ff001c6d696e6563726166743a656e6465726d616e5f737061776e5f656767b80100196d696e6563726166743a6d757369635f646973635f77617264150200106d696e6563726166743a726162626974200100206d696e6563726166743a637265657065725f62616e6e65725f7061747465726e3c0200146d696e6563726166743a656c656d656e745f3235dcff00176d696e6563726166743a6d757368726f6f6d5f73746577040100286d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f736c6162e4fe00196d696e6563726166743a636f6f6b65645f706f726b63686f700701001b6d696e6563726166743a726176616765725f737061776e5f656767eb01001a6d696e6563726166743a73747269707065645f6f616b5f6c6f67f6ff000f6d696e6563726166743a6170706c65010100146d696e6563726166743a656c656d656e745f3530c3ff001a6d696e6563726166743a6d757369635f646973635f63686972700f0200226d696e6563726166743a707269736d6172696e655f627269636b735f737461697273fcff00176d696e6563726166743a636f6f6b65645f726162626974210100146d696e6563726166743a656c656d656e745f3334d3ff00176d696e6563726166743a71756172747a5f627269636b73d0fe00186d696e6563726166743a6974656d2e69726f6e5f646f6f724700000d6d696e6563726166743a636f64080100166d696e6563726166743a676f6c64656e5f6170706c65020100136d696e6563726166743a626f6f6b7368656c662f00001c6d696e6563726166743a676f6c64656e5f686f7273655f61726d6f720a02001e6d696e6563726166743a736d6f6f74685f71756172747a5f73746169727347ff00106d696e6563726166743a706f7461746f180100206d696e6563726166743a656e6368616e7465645f676f6c64656e5f6170706c65030100156d696e6563726166743a6e65746865725f73746172fc0100146d696e6563726166743a656c656d656e745f3135e6ff001c6d696e6563726166743a6974656d2e6461726b5f6f616b5f646f6f72c50000156d696e6563726166743a6c696768745f626c6f636b29ff00226d696e6563726166743a79656c6c6f775f676c617a65645f7465727261636f747461e000001c6d696e6563726166743a73746f6e655f627269636b5f7374616972736d0000106d696e6563726166743a706f7274616c5a0000146d696e6563726166743a676f6c645f696e676f74320100146d696e6563726166743a69726f6e5f696e676f74310100196d696e6563726166743a736c696d655f737061776e5f656767bb01000f6d696e6563726166743a7363757465320200106d696e6563726166743a636f6f6b69650f0100126d696e6563726166743a706f726b63686f70060100176d696e6563726166743a6469616d6f6e645f626c6f636b3900000f6d696e6563726166743a6272656164050100136d696e6563726166743a656c656d656e745f37eeff00166d696e6563726166743a69726f6e5f7069636b6178652901001c6d696e6563726166743a70696c6c616765725f737061776e5f656767e90100146d696e6563726166743a656c656d656e745f3237daff000e6d696e6563726166743a62656566110100196d696e6563726166743a626c617a655f737061776e5f656767c60100106d696e6563726166743a73616c6d6f6e090100226d696e6563726166743a73696c7665725f676c617a65645f7465727261636f747461e40000176d696e6563726166743a74726f706963616c5f666973680a0100156d696e6563726166743a636f636f615f6265616e739a0100156d696e6563726166743a776f6f64656e5f736c61629e0000146d696e6563726166743a656c656d656e745f3136e5ff00126d696e6563726166743a7472697077697265840000136d696e6563726166743a73746f6e655f6178653b01001c6d696e6563726166743a737461696e65645f676c6173735f70616e65a000000f6d696e6563726166743a616e76696c910000176d696e6563726166743a747261707065645f6368657374920000186d696e6563726166743a616e6369656e745f646562726973f1fe00146d696e6563726166743a707566666572666973680b0100106d696e6563726166743a6275636b6574680100176d696e6563726166743a636f6f6b65645f73616c6d6f6e0d0100146d696e6563726166743a656c656d656e745f3631b8ff00126d696e6563726166743a737061726b6c65724d0200156d696e6563726166743a7761727065645f646f6f725d0200146d696e6563726166743a64726965645f6b656c700e0100176d696e6563726166743a62656574726f6f745f736f75701e0100166d696e6563726166743a7265645f6d757368726f6f6d280000186d696e6563726166743a776f6f64656e5f7069636b617865360100176d696e6563726166743a6974656d2e63616d70666972652fff00156d696e6563726166743a6d656c6f6e5f736c696365100100136d696e6563726166743a6861795f626c6f636baa0000176d696e6563726166743a776f6f64656e5f73686f76656c350100186d696e6563726166743a6e617574696c75735f7368656c6c300200136d696e6563726166743a656c656d656e745f31f4ff001b6d696e6563726166743a73746f6e656375747465725f626c6f636b3bff00156d696e6563726166743a636f6f6b65645f62656566120100146d696e6563726166743a636f6d70617261746f72000200106d696e6563726166743a636172726f741701001b6d696e6563726166743a737472696465725f737061776e5f656767ed0100176d696e6563726166743a636f6d6d616e645f626c6f636b890000116d696e6563726166743a636869636b656e130100106d696e6563726166743a706f74696f6ea80100166d696e6563726166743a726f7474656e5f666c657368150100196d696e6563726166743a77697463685f737061776e5f656767c201000e6d696e6563726166743a64697274030000146d696e6563726166743a656c656d656e745f3632b7ff001b6d696e6563726166743a6461796c696768745f6465746563746f72970000146d696e6563726166743a736e6f775f6c617965724e0000156d696e6563726166743a7261626269745f666f6f740602001a6d696e6563726166743a6c696e676572696e675f706f74696f6e280200126d696e6563726166743a63616d7066697265420200106d696e6563726166743a736d6f6b65723aff00166d696e6563726166743a7761727065645f66656e6365fffe00186d696e6563726166743a636f6f6b65645f636869636b656e140100266d696e6563726166743a6c696768745f626c75655f676c617a65645f7465727261636f747461df0000156d696e6563726166743a73746f6e655f73776f7264380100146d696e6563726166743a7370696465725f657965160100196d696e6563726166743a686f7273655f737061776e5f656767c80100166d696e6563726166743a62616b65645f706f7461746f190100176d696e6563726166743a676f6c64656e5f636172726f741b0100176d696e6563726166743a7370727563655f7374616972738600001a6d696e6563726166743a706f69736f6e6f75735f706f7461746f1a0100146d696e6563726166743a656c656d656e745f3133e8ff00126d696e6563726166743a6f6273696469616e310000156d696e6563726166743a70756d706b696e5f7069651c0100196d696e6563726166743a6469616d6f6e645f7069636b6178653e0100116d696e6563726166743a6c616e7465726e30ff00146d696e6563726166743a69726f6e5f73776f7264330100166d696e6563726166743a736d6f6f74685f73746f6e6549ff00126d696e6563726166743a62656574726f6f741d01001a6d696e6563726166743a6d757369635f646973635f7374726164140200146d696e6563726166743a656c656d656e745f3433caff001a6d696e6563726166743a696e76697369626c65626564726f636b5f0000176d696e6563726166743a73776565745f626572726965731f0100156d696e6563726166743a7261626269745f73746577220100156d696e6563726166743a77686561745f73656564732301001b6d696e6563726166743a6974656d2e6372696d736f6e5f646f6f720cff000f6d696e6563726166743a6368657374360000176d696e6563726166743a70756d706b696e5f7365656473240100136d696e6563726166743a656c656d656e745f32f3ff00206d696e6563726166743a636f6d6d616e645f626c6f636b5f6d696e6563617274290200156d696e6563726166743a6d656c6f6e5f7365656473250100136d696e6563726166743a737061776e5f656767660200126d696e6563726166743a69726f6e5f6178652a0100156d696e6563726166743a6e65746865725f77617274260100186d696e6563726166743a62656574726f6f745f7365656473270100146d696e6563726166743a656c656d656e745f3335d2ff00156d696e6563726166743a656c656d656e745f3130348dff00156d696e6563726166743a69726f6e5f73686f76656c280100186d696e6563726166743a6772616e6974655f73746169727357ff00196d696e6563726166743a666c696e745f616e645f737465656c2b01001a6d696e6563726166743a7a6f676c696e5f737061776e5f656767f00100166d696e6563726166743a73746f6e655f73686f76656c390100156d696e6563726166743a6d656c6f6e5f626c6f636b6700000f6d696e6563726166743a6172726f772d01000e6d696e6563726166743a636f616c2e0100216d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c616232b50000126d696e6563726166743a63686172636f616c2f0100196d696e6563726166743a73747261795f737061776e5f656767cc0100116d696e6563726166743a636172726f74738d0000116d696e6563726166743a6469616d6f6e64300100166d696e6563726166743a776f6f64656e5f73776f7264340100196d696e6563726166743a6e65746865726974655f626f6f7473580200196d696e6563726166743a6d757369635f646973635f6d616c6c110200196d696e6563726166743a6461726b5f6f616b5f737461697273a40000146d696e6563726166743a776f6f64656e5f617865370100126d696e6563726166743a6661726d6c616e643c00001a6d696e6563726166743a6372696d736f6e5f74726170646f6f720aff00216d696e6563726166743a7a6f6d6269655f7069676d616e5f737061776e5f656767be0100176d696e6563726166743a73746f6e655f7069636b6178653a0100176d696e6563726166743a73616c6d6f6e5f6275636b65746d0100106d696e6563726166743a706c616e6b730500001a6d696e6563726166743a636861696e6d61696c5f68656c6d6574530100186d696e6563726166743a6469616d6f6e645f73686f76656c3d0100176d696e6563726166743a6469616d6f6e645f73776f72643c0100186d696e6563726166743a736d697468696e675f7461626c6536ff00156d696e6563726166743a6469616d6f6e645f6178653f01000f6d696e6563726166743a737469636b400100176d696e6563726166743a666c6f77696e675f77617465720800000e6d696e6563726166743a626f776c410100166d696e6563726166743a676f6c64656e5f73776f7264420100156d696e6563726166743a686f6e65795f626c6f636b24ff00176d696e6563726166743a676f6c64656e5f73686f76656c430100106d696e6563726166743a656c797472612a02001b6d696e6563726166743a6c69745f72656473746f6e655f6c616d707c0000186d696e6563726166743a676f6c64656e5f7069636b617865440100146d696e6563726166743a676f6c64656e5f617865450100146d696e6563726166743a656c656d656e745f3532c1ff00106d696e6563726166743a737472696e67460100216d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c61623458ff00116d696e6563726166743a66656174686572470100136d696e6563726166743a67756e706f776465724801001e6d696e6563726166743a736b756c6c5f62616e6e65725f7061747465726e3d0200176d696e6563726166743a6163616369615f737461697273a30000146d696e6563726166743a776f6f64656e5f686f65490100196d696e6563726166743a70616e64615f737061776e5f656767e70100136d696e6563726166743a73746f6e655f686f654a0100126d696e6563726166743a69726f6e5f686f654b0100146d696e6563726166743a656c656d656e745f38369fff00156d696e6563726166743a6469616d6f6e645f686f654c0100146d696e6563726166743a676f6c64656e5f686f654d0100156d696e6563726166743a6d6167656e74615f6479659601000f6d696e6563726166743a77686561744e0100186d696e6563726166743a6c6561746865725f68656c6d65744f01001c6d696e6563726166743a6c6561746865725f6368657374706c6174655001001a6d696e6563726166743a6c6561746865725f6c656767696e6773510100206d696e6563726166743a676c6973746572696e675f6d656c6f6e5f736c696365b00100136d696e6563726166743a6c6f646573746f6e6522ff00186d696e6563726166743a62726f776e5f6d757368726f6f6d270000176d696e6563726166743a6c6561746865725f626f6f7473520100156d696e6563726166743a656e645f67617465776179d100001e6d696e6563726166743a636861696e6d61696c5f6368657374706c617465540100176d696e6563726166743a6974656d2e62656574726f6f74f40000156d696e6563726166743a656c656d656e745f31303190ff001c6d696e6563726166743a636861696e6d61696c5f6c656767696e6773550100196d696e6563726166743a636861696e6d61696c5f626f6f7473560100136d696e6563726166743a736f756c5f73616e64580000156d696e6563726166743a69726f6e5f68656c6d6574570100126d696e6563726166743a736e6f7762616c6c740100146d696e6563726166743a656c656d656e745f3439c4ff00196d696e6563726166743a69726f6e5f6368657374706c617465580100106d696e6563726166743a62617272656c35ff00176d696e6563726166743a69726f6e5f6c656767696e6773590100146d696e6563726166743a69726f6e5f626f6f74735a0100216d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c61623359ff00136d696e6563726166743a656e6465725f657965af01001c6d696e6563726166743a6d757369635f646973635f70696773746570600200226d696e6563726166743a737469636b79706973746f6e61726d636f6c6c6973696f6e27ff00176d696e6563726166743a69726f6e5f74726170646f6f72a70000186d696e6563726166743a6469616d6f6e645f68656c6d65745b01001e6d696e6563726166743a73746f6e655f70726573737572655f706c6174654600001c6d696e6563726166743a6469616d6f6e645f6368657374706c6174655c01000e6d696e6563726166743a73616e640c0000276d696e6563726166743a6c696768745f77656967687465645f70726573737572655f706c617465930000106d696e6563726166743a706973746f6e2100001a6d696e6563726166743a6469616d6f6e645f6c656767696e67735d0100146d696e6563726166743a656c656d656e745f3330d7ff00176d696e6563726166743a6469616d6f6e645f626f6f74735e0100176d696e6563726166743a676f6c64656e5f68656c6d65745f0100146d696e6563726166743a656c656d656e745f3531c2ff001c6d696e6563726166743a646f75626c655f776f6f64656e5f736c61629d0000146d696e6563726166743a656c656d656e745f3834a1ff001c6d696e6563726166743a686172645f737461696e65645f676c617373fe00001b6d696e6563726166743a676f6c64656e5f6368657374706c617465600100146d696e6563726166743a7365616c616e7465726ea90000136d696e6563726166743a676c6f7773746f6e65590000196d696e6563726166743a676f6c64656e5f6c656767696e6773610100166d696e6563726166743a676f6c64656e5f626f6f7473620100106d696e6563726166743a736869656c646301001b6d696e6563726166743a6a756e676c655f66656e63655f67617465b90000166d696e6563726166743a666c6f77696e675f6c6176610a0000196d696e6563726166743a6167656e745f737061776e5f656767e50100106d696e6563726166743a636172706574ab00000f6d696e6563726166743a666c696e74640100126d696e6563726166743a7061696e74696e676501001a6d696e6563726166743a68656172745f6f665f7468655f736561310200226d696e6563726166743a6d6f7373795f636f62626c6573746f6e655f7374616972734dff00126d696e6563726166743a6f616b5f7369676e660100196d696e6563726166743a6d757369635f646973635f77616974170200146d696e6563726166743a656c656d656e745f3535beff00156d696e6563726166743a776f6f64656e5f646f6f72670100156d696e6563726166743a6d696c6b5f6275636b6574690100146d696e6563726166743a656c656d656e745f3734abff00166d696e6563726166743a77617465725f6275636b65746a01001b6d696e6563726166743a7368756c6b65725f737061776e5f656767d30100116d696e6563726166743a7265645f6479658a01000e6d696e6563726166743a626f6e659d0100236d696e6563726166743a6d6167656e74615f676c617a65645f7465727261636f747461de0000156d696e6563726166743a6c6176615f6275636b65746b01001e6d696e6563726166743a76696e64696361746f725f737061776e5f656767d80100146d696e6563726166743a636f645f6275636b65746c01001e6d696e6563726166743a74726f706963616c5f666973685f6275636b65746e0100136d696e6563726166743a656c656d656e745f36efff001b6d696e6563726166743a707566666572666973685f6275636b65746f0100196d696e6563726166743a636f6e63726574655f706f77646572ed0000126d696e6563726166743a6d696e6563617274700100106d696e6563726166743a736164646c657101001b6d696e6563726166743a6e65746865725f776172745f626c6f636bd60000156d696e6563726166743a656c656d656e745f31313681ff00176d696e6563726166743a6372696d736f6e5f726f6f747321ff00136d696e6563726166743a69726f6e5f646f6f72720100126d696e6563726166743a72656473746f6e65730100226d696e6563726166743a656c6465725f677561726469616e5f737061776e5f656767d50100126d696e6563726166743a63726f7373626f77350200186d696e6563726166743a616374697661746f725f7261696c7e0000126d696e6563726166743a6f616b5f626f6174750100146d696e6563726166743a656c656d656e745f393794ff00146d696e6563726166743a62697263685f626f6174760100146d696e6563726166743a707269736d6172696e65a80000216d696e6563726166743a706f6c69736865645f6772616e6974655f73746169727354ff00156d696e6563726166743a6a756e676c655f626f61747701001e6d696e6563726166743a73696c766572666973685f737061776e5f656767b90100196d696e6563726166743a6368656d69737472795f7461626c65ee0000156d696e6563726166743a7370727563655f626f6174780100146d696e6563726166743a656c656d656e745f3236dbff00156d696e6563726166743a6163616369615f626f6174790100176d696e6563726166743a6461726b5f6f616b5f626f61747a0100126d696e6563726166743a69726f6e5f6f72650f0000166d696e6563726166743a7772697474656e5f626f6f6bf50100116d696e6563726166743a6c6561746865727b01000e6d696e6563726166743a6b656c707c0100156d696e6563726166743a676f6c645f6e7567676574a701000f6d696e6563726166743a627269636b7d0100136d696e6563726166743a636c61795f62616c6c7e0100146d696e6563726166743a73756761725f63616e657f0100156d696e6563726166743a6c69745f70756d706b696e5b0000196d696e6563726166743a6e65746865726974655f696e676f744f02000f6d696e6563726166743a7061706572800100146d696e6563726166743a656c656d656e745f3233deff000f6d696e6563726166743a636f72616c7dff000e6d696e6563726166743a626f6f6b810100146d696e6563726166743a656e645f706f7274616c770000116d696e6563726166743a74726964656e74180200146d696e6563726166743a736c696d655f62616c6c820100186d696e6563726166743a63686573745f6d696e65636172748301000d6d696e6563726166743a656767840100176d696e6563726166743a636f775f737061776e5f656767b20100196d696e6563726166743a6d757369635f646973635f7374616c130200196d696e6563726166743a6e65746865726974655f73776f7264500200146d696e6563726166743a6974656d2e7265656473530000116d696e6563726166743a636f6d70617373850100186d696e6563726166743a6372696d736f6e5f73746169727302ff00156d696e6563726166743a66697368696e675f726f64860100136d696e6563726166743a726573657276656436ff0000196d696e6563726166743a616e6465736974655f73746169727355ff000f6d696e6563726166743a636c6f636b8701001a6d696e6563726166743a6f63656c6f745f737061776e5f656767c10100176d696e6563726166743a7370727563655f627574746f6e70ff00176d696e6563726166743a7265645f73616e6473746f6e65b30000186d696e6563726166743a676c6f7773746f6e655f64757374880100136d696e6563726166743a626c61636b5f647965890100136d696e6563726166743a677265656e5f6479658b0100156d696e6563726166743a7368756c6b65725f626f78da00000e6d696e6563726166743a64656e79d30000176d696e6563726166743a6265655f737061776e5f656767ec0100136d696e6563726166743a62726f776e5f6479658c0100126d696e6563726166743a626c75655f6479658d01000f6d696e6563726166743a6672616d65f701001b6d696e6563726166743a62726577696e677374616e64626c6f636b750000136d696e6563726166743a6974656d2e63616b655c0000146d696e6563726166743a707572706c655f6479658e01000d6d696e6563726166743a647965640200176d696e6563726166743a6d757369635f646973635f31330c0200126d696e6563726166743a6379616e5f6479658f0100136d696e6563726166743a626c617a655f726f64a50100186d696e6563726166743a6c696768745f677261795f647965900100126d696e6563726166743a677261795f647965910100206d696e6563726166743a7069676c696e5f62727574655f737061776e5f656767f10100146d696e6563726166743a656c656d656e745f3431ccff001a6d696e6563726166743a7261626269745f737061776e5f656767c90100126d696e6563726166743a70696e6b5f647965920100126d696e6563726166743a6c696d655f647965930100146d696e6563726166743a79656c6c6f775f647965940100176d696e6563726166743a626c6173745f6675726e6163653cff00146d696e6563726166743a656c656d656e745f3130ebff00186d696e6563726166743a6c696768745f626c75655f647965950100146d696e6563726166743a747572746c655f65676761ff000d6d696e6563726166743a626564a00100176d696e6563726166743a737461696e65645f676c617373f10000146d696e6563726166743a6f72616e67655f647965970100146d696e6563726166743a656c656d656e745f3134e7ff00136d696e6563726166743a77686974655f647965980100196d696e6563726166743a6974656d2e666c6f7765725f706f748c0000136d696e6563726166743a626f6e655f6d65616c990100176d696e6563726166743a747572746c655f68656c6d6574330200116d696e6563726166743a756e6b6e6f776ecffe00116d696e6563726166743a696e6b5f7361639b01001f6d696e6563726166743a73747269707065645f6372696d736f6e5f7374656d10ff00166d696e6563726166743a6c617069735f6c617a756c699c0100166d696e6563726166743a63686f7275735f6672756974240200106d696e6563726166743a63616d657261460200196d696e6563726166743a737573706963696f75735f737465774302000f6d696e6563726166743a73756761729e01001b6d696e6563726166743a637265657065725f737061776e5f656767b70100126d696e6563726166743a6e616d655f7461671a02000e6d696e6563726166743a63616b659f0100126d696e6563726166743a7265706561746572a10100106d696e6563726166743a626561636f6e8a00001e6d696e6563726166743a6e65746865726974655f6368657374706c617465560200226d696e6563726166743a706f6c69736865645f616e6465736974655f73746169727352ff00146d696e6563726166743a66696c6c65645f6d6170a201001b6d696e6563726166743a64726f776e65645f737061776e5f656767e101001e6d696e6563726166743a756e706f77657265645f636f6d70617261746f72950000106d696e6563726166743a736865617273a30100146d696e6563726166743a656c656d656e745f3331d6ff00156d696e6563726166743a656e6465725f706561726ca401001e6d696e6563726166743a7265645f73616e6473746f6e655f737461697273b40000186d696e6563726166743a6361727665645f70756d706b696e65ff00146d696e6563726166743a67686173745f74656172a60100166d696e6563726166743a676c6173735f626f74746c65a90100176d696e6563726166743a636f6f6b65645f6d7574746f6e1d0200146d696e6563726166743a656c656d656e745f3434c9ff002a6d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f737461697273edfe001f6d696e6563726166743a6a756e676c655f70726573737572655f706c61746567ff001e6d696e6563726166743a6665726d656e7465645f7370696465725f657965aa0100196d696e6563726166743a686f6e6579636f6d625f626c6f636b23ff00166d696e6563726166743a626c617a655f706f77646572ab0100156d696e6563726166743a6d61676d615f637265616dac0100106d696e6563726166743a6a69677361772dff00176d696e6563726166743a62726577696e675f7374616e64ad0100156d696e6563726166743a656c656d656e745f31313186ff00126d696e6563726166743a6361756c64726f6eae01001b6d696e6563726166743a636869636b656e5f737061776e5f656767b10100176d696e6563726166743a7069675f737061776e5f656767b30100196d696e6563726166743a73686565705f737061776e5f656767b401001a6d696e6563726166743a706172726f745f737061776e5f656767dc0100186d696e6563726166743a776f6c665f737061776e5f656767b501001d6d696e6563726166743a6d6f6f7368726f6f6d5f737061776e5f656767b60100146d696e6563726166743a66656e63655f676174656b00001c6d696e6563726166743a736b656c65746f6e5f737061776e5f656767ba01001c6d696e6563726166743a646f75626c655f73746f6e655f736c6162335eff00156d696e6563726166743a627269636b5f626c6f636b2d00001a6d696e6563726166743a7370696465725f737061776e5f656767bc0100106d696e6563726166743a626c656163684902001a6d696e6563726166743a636f6c6f7265645f746f7263685f7267ca00001a6d696e6563726166743a7a6f6d6269655f737061776e5f656767bd0100146d696e6563726166743a656c656d656e745f3231e0ff001c6d696e6563726166743a76696c6c616765725f737061776e5f656767bf0100136d696e6563726166743a636f6d706f737465722bff00196d696e6563726166743a73717569645f737061776e5f656767c001001c6d696e6563726166743a706f77657265645f636f6d70617261746f72960000176d696e6563726166743a6261745f737061776e5f656767c30100196d696e6563726166743a67686173745f737061776e5f656767c40100136d696e6563726166743a656c656d656e745f30240000156d696e6563726166743a6d6f625f737061776e6572340000206d696e6563726166743a63686973656c65645f6e65746865725f627269636b73d2fe001e6d696e6563726166743a6d61676d615f637562655f737061776e5f656767c50100156d696e6563726166743a7761727065645f7369676e5b02000f6d696e6563726166743a636861696e5f0200226d696e6563726166743a7761727065645f66756e6775735f6f6e5f615f737469636b5e02001f6d696e6563726166743a636176655f7370696465725f737061776e5f656767c70100176d696e6563726166743a736f756c5f63616d70666972656202001d6d696e6563726166743a656e6465726d6974655f737061776e5f656767ca01001c6d696e6563726166743a677561726469616e5f737061776e5f656767cb0100176d696e6563726166743a6372696d736f6e5f66656e636500ff00186d696e6563726166743a6875736b5f737061776e5f656767cd01001a6d696e6563726166743a7069676c696e5f737061776e5f656767ef0100176d696e6563726166743a77656570696e675f76696e657319ff00236d696e6563726166743a7769746865725f736b656c65746f6e5f737061776e5f656767ce0100196d696e6563726166743a676c6f77696e676f6273696469616ef60000116d696e6563726166743a6c656176657332a100001a6d696e6563726166743a646f6e6b65795f737061776e5f656767cf0100156d696e6563726166743a7370727563655f7369676e360200146d696e6563726166743a656c656d656e745f3539baff00186d696e6563726166743a6d756c655f737061776e5f656767d00100166d696e6563726166743a646f75626c655f706c616e74af0000156d696e6563726166743a656c656d656e745f31303988ff00226d696e6563726166743a736b656c65746f6e5f686f7273655f737061776e5f656767d101001b6d696e6563726166743a6e65746865726974655f7069636b617865520200116d696e6563726166743a6a756b65626f78540000206d696e6563726166743a7a6f6d6269655f686f7273655f737061776e5f656767d20100176d696e6563726166743a6e70635f737061776e5f656767d40100136d696e6563726166743a69726f6e5f62617273650000146d696e6563726166743a656c656d656e745f3830a5ff001e6d696e6563726166743a706f6c61725f626561725f737061776e5f656767d60100136d696e6563726166743a656e645f73746f6e65790000196d696e6563726166743a6c6c616d615f737061776e5f656767d70100196d696e6563726166743a6974656d2e62697263685f646f6f72c200001a6d696e6563726166743a65766f6b65725f737061776e5f656767d90100176d696e6563726166743a6d757369635f646973635f31311602001a6d696e6563726166743a6c69745f72656473746f6e655f6f72654a0000186d696e6563726166743a6372616674696e675f7461626c653a0000216d696e6563726166743a626c61636b5f676c617a65645f7465727261636f747461eb0000146d696e6563726166743a656c656d656e745f3537bcff001a6d696e6563726166743a7370727563655f77616c6c5f7369676e4aff00176d696e6563726166743a7665785f737061776e5f656767da0100196d696e6563726166743a7761727065645f74726170646f6f7209ff00186d696e6563726166743a7477697374696e675f76696e6573e1fe00246d696e6563726166743a6461796c696768745f6465746563746f725f696e766572746564b20000236d696e6563726166743a7a6f6d6269655f76696c6c616765725f737061776e5f656767db01001a6d696e6563726166743a72617069645f66657274696c697a65724a02000e6d696e6563726166743a636c6179520000216d696e6563726166743a74726f706963616c5f666973685f737061776e5f656767dd0100176d696e6563726166743a7374616e64696e675f7369676e3f0000176d696e6563726166743a636f645f737061776e5f656767de0100146d696e6563726166743a6974656d2e6672616d65c70000186d696e6563726166743a6372696d736f6e5f66756e6775731cff001e6d696e6563726166743a707566666572666973685f737061776e5f656767df01001c6d696e6563726166743a7265645f6d757368726f6f6d5f626c6f636b6400001a6d696e6563726166743a73616c6d6f6e5f737061776e5f656767e00100156d696e6563726166743a7761727065645f736c6162f7fe001c6d696e6563726166743a646f75626c655f73746f6e655f736c616232b600001b6d696e6563726166743a646f6c7068696e5f737061776e5f656767e20100136d696e6563726166743a656c656d656e745f39ecff001a6d696e6563726166743a747572746c655f737061776e5f656767e301001b6d696e6563726166743a7068616e746f6d5f737061776e5f656767e40100146d696e6563726166743a656c656d656e745f3238d9ff001a6d696e6563726166743a6974656d2e6163616369615f646f6f72c40000176d696e6563726166743a6361745f737061776e5f656767e60100176d696e6563726166743a666f785f737061776e5f656767e801001a6d696e6563726166743a636f62626c6573746f6e655f77616c6c8b0000106d696e6563726166743a71756172747a0202001b6d696e6563726166743a636172726f745f6f6e5f615f737469636bfb0100246d696e6563726166743a77616e646572696e675f7472616465725f737061776e5f656767ea0100126d696e6563726166743a74726170646f6f726000001a6d696e6563726166743a686f676c696e5f737061776e5f656767ee01001b6d696e6563726166743a657870657269656e63655f626f74746c65f20100196d696e6563726166743a6a756e676c655f74726170646f6f726cff00156d696e6563726166743a666972655f636861726765f30100146d696e6563726166743a656c656d656e745f3639b0ff00176d696e6563726166743a7772697461626c655f626f6f6bf40100116d696e6563726166743a656d6572616c64f60100146d696e6563726166743a666c6f7765725f706f74f80100106d696e6563726166743a6c6561766573120000136d696e6563726166743a656d7074795f6d6170f901000f6d696e6563726166743a736b756c6cfa0100186d696e6563726166743a6372696d736f6e5f6e796c69756d18ff00196d696e6563726166743a66697265776f726b5f726f636b6574fd0100156d696e6563726166743a656c656d656e745f3130328fff00176d696e6563726166743a66697265776f726b5f73746172fe01001a6d696e6563726166743a636f6c6f7265645f746f7263685f6270cc0000186d696e6563726166743a656e6368616e7465645f626f6f6bff01001a6d696e6563726166743a746f74656d5f6f665f756e6479696e672e0200156d696e6563726166743a6e6574686572627269636b010200166d696e6563726166743a746e745f6d696e6563617274030200146d696e6563726166743a656c656d656e745f3633b6ff00196d696e6563726166743a686f707065725f6d696e6563617274040200176d696e6563726166743a647261676f6e5f627265617468260200156d696e6563726166743a636f62626c6573746f6e65040000106d696e6563726166743a686f70706572050200156d696e6563726166743a7261626269745f686964650702001d6d696e6563726166743a6c6561746865725f686f7273655f61726d6f720802001a6d696e6563726166743a69726f6e5f686f7273655f61726d6f720902001d6d696e6563726166743a6469616d6f6e645f686f7273655f61726d6f720b0200186d696e6563726166743a6d757369635f646973635f6361740d0200156d696e6563726166743a6a756e676c655f646f6f722102001b6d696e6563726166743a6d757369635f646973635f626c6f636b730e0200136d696e6563726166743a73616e6473746f6e65180000176d696e6563726166743a776f6f64656e5f627574746f6e8f0000186d696e6563726166743a6d757369635f646973635f6661721002001c6d696e6563726166743a6d757369635f646973635f6d656c6c6f6869120200166d696e6563726166743a696e666f5f75706461746532f900000e6d696e6563726166743a6c6561641902001d6d696e6563726166743a707269736d6172696e655f6372797374616c731b0200156d696e6563726166743a6163616369615f7369676e390200106d696e6563726166743a6d7574746f6e1c0200146d696e6563726166743a656c656d656e745f3332d5ff00126d696e6563726166743a636f616c5f6f7265100000156d696e6563726166743a61726d6f725f7374616e641e0200156d696e6563726166743a7370727563655f646f6f721f02001a6d696e6563726166743a7068616e746f6d5f6d656d6272616e65340200146d696e6563726166743a62697263685f646f6f72200200156d696e6563726166743a6163616369615f646f6f72220200146d696e6563726166743a656c656d656e745f3432cbff00176d696e6563726166743a6461726b5f6f616b5f646f6f722302001c6d696e6563726166743a6e65746865726974655f6c656767696e67735702001d6d696e6563726166743a706f707065645f63686f7275735f6672756974250200146d696e6563726166743a656c656d656e745f3733acff00176d696e6563726166743a73706c6173685f706f74696f6e270200216d696e6563726166743a6461726b5f6f616b5f70726573737572655f706c61746568ff001a6d696e6563726166743a707269736d6172696e655f73686172642b0200126d696e6563726166743a73656167726173737eff00176d696e6563726166743a7368756c6b65725f7368656c6c2c0200186d696e6563726166743a72656473746f6e655f626c6f636b980000106d696e6563726166743a62616e6e65722d0200156d696e6563726166743a69726f6e5f6e75676765742f0200146d696e6563726166743a656c656d656e745f3338cfff00196d696e6563726166743a636f72616c5f66616e5f68616e673278ff00146d696e6563726166743a62697263685f7369676e370200186d696e6563726166743a636f72616c5f66616e5f646561647aff00116d696e6563726166743a62616c6c6f6f6e4b0200156d696e6563726166743a6a756e676c655f7369676e380200176d696e6563726166743a6461726b5f6f616b5f7369676e3a02001f6d696e6563726166743a666c6f7765725f62616e6e65725f7061747465726e3b0200216d696e6563726166743a706f6c69736865645f64696f726974655f73746169727353ff001f6d696e6563726166743a6d6f6a616e675f62616e6e65725f7061747465726e3e0200156d696e6563726166743a6d6f6e737465725f656767610000266d696e6563726166743a6669656c645f6d61736f6e65645f62616e6e65725f7061747465726e3f02000e6d696e6563726166743a62656c6c32ff00296d696e6563726166743a626f72647572655f696e64656e7465645f62616e6e65725f7061747465726e400200126d696e6563726166743a706f7461746f65738e00001f6d696e6563726166743a7069676c696e5f62616e6e65725f7061747465726e410200146d696e6563726166743a656c656d656e745f3738a7ff00136d696e6563726166743a686f6e6579636f6d624402001a6d696e6563726166743a7265645f6e65746865725f627269636bd70000166d696e6563726166743a686f6e65795f626f74746c65450200126d696e6563726166743a636f6d706f756e64470200126d696e6563726166743a6963655f626f6d62480200126d696e6563726166743a6d65646963696e654c0200176d696e6563726166743a7761727065645f66756e6775731bff00146d696e6563726166743a656c656d656e745f393299ff001a6d696e6563726166743a656e645f706f7274616c5f6672616d65780000146d696e6563726166743a676c6f775f737469636ba60000126d696e6563726166743a626c75655f696365f5ff00146d696e6563726166743a656c656d656e745f3833a2ff001b6d696e6563726166743a6c6f646573746f6e655f636f6d706173734e0200146d696e6563726166743a71756172747a5f6f72659900001a6d696e6563726166743a6e65746865726974655f73686f76656c5102001d6d696e6563726166743a636861696e5f636f6d6d616e645f626c6f636bbd00000e6d696e6563726166743a6c6f6f6d34ff001a6d696e6563726166743a6974656d2e7761727065645f646f6f720bff00176d696e6563726166743a6e65746865726974655f617865530200176d696e6563726166743a6e65746865726974655f686f655402001a6d696e6563726166743a6e65746865726974655f68656c6d6574550200196d696e6563726166743a6e65746865726974655f7363726170590200166d696e6563726166743a6372696d736f6e5f7369676e5a0200126d696e6563726166743a636f6e6372657465ec0000166d696e6563726166743a6372696d736f6e5f646f6f725c0200106d696e6563726166743a73706f6e6765130000186d696e6563726166743a6e65746865725f7370726f7574736102001b6d696e6563726166743a636172746f6772617068795f7461626c6538ff00196d696e6563726166743a626c61636b73746f6e655f736c6162e6fe00226d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f736c6162dbfe000f6d696e6563726166743a73746f6e650100000e6d696e6563726166743a776f6f6c230000176d696e6563726166743a79656c6c6f775f666c6f7765722500001f6d696e6563726166743a737461696e65645f68617264656e65645f636c61799f00000d6d696e6563726166743a6c6f671100000f6d696e6563726166743a66656e6365550000146d696e6563726166743a656c656d656e745f3533c0ff00146d696e6563726166743a73746f6e65627269636b6200001b6d696e6563726166743a6c69745f626c6173745f6675726e6163652aff00156d696e6563726166743a636f72616c5f626c6f636b7cff00246d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b73eefe00156d696e6563726166743a656c656d656e745f31303091ff001b6d696e6563726166743a646f75626c655f73746f6e655f736c61622c00000e6d696e6563726166743a7261696c4200001c6d696e6563726166743a646f75626c655f73746f6e655f736c6162345aff001d6d696e6563726166743a73747269707065645f6163616369615f6c6f67f8ff00206d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c61622b0000136d696e6563726166743a636f72616c5f66616e7bff00246d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627574746f6ed8fe00146d696e6563726166743a7365615f7069636b6c6564ff00296d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f646f75626c655f736c6162dafe00116d696e6563726166743a7361706c696e67060000166d696e6563726166743a7761727065645f726f6f747320ff00146d696e6563726166743a656c656d656e745f3131eaff00146d696e6563726166743a7265645f666c6f776572260000136d696e6563726166743a77617465726c696c796f0000166d696e6563726166743a71756172747a5f626c6f636b9b0000136d696e6563726166743a736f756c5f736f696c14ff001f6d696e6563726166743a6163616369615f70726573737572655f706c6174656aff00136d696e6563726166743a74616c6c67726173731f0000156d696e6563726166743a656c656d656e745f3130338eff001e6d696e6563726166743a62726f776e5f6d757368726f6f6d5f626c6f636b6300000e6d696e6563726166743a6c6f6732a20000116d696e6563726166743a636f6e6475697463ff000f6d696e6563726166743a6d61676d61d50000146d696e6563726166743a656c656d656e745f3232dfff001c6d696e6563726166743a756e647965645f7368756c6b65725f626f78cd00001e6d696e6563726166743a7370727563655f7374616e64696e675f7369676e4bff00176d696e6563726166743a737469636b795f706973746f6e1d0000106d696e6563726166743a62616d626f6f5dff00126d696e6563726166743a6f62736572766572fb0000156d696e6563726166743a73636166666f6c64696e675bff00146d696e6563726166743a6772696e6473746f6e653dff00116d696e6563726166743a656e645f726f64d00000196d696e6563726166743a666c65746368696e675f7461626c6537ff00156d696e6563726166743a6974656d2e686f707065729a00000e6d696e6563726166743a776f6f642cff000d6d696e6563726166743a746e742e0000216d696e6563726166743a686172645f737461696e65645f676c6173735f70616e65bf00000f6d696e6563726166743a736c696d65a50000116d696e6563726166743a70756d706b696e560000166d696e6563726166743a6372696d736f6e5f736c6162f8fe00136d696e6563726166743a656c656d656e745f33f2ff00136d696e6563726166743a656c656d656e745f34f1ff00156d696e6563726166743a656e6465725f6368657374820000136d696e6563726166743a656c656d656e745f35f0ff00136d696e6563726166743a656c656d656e745f38edff00146d696e6563726166743a656c656d656e745f3132e9ff00146d696e6563726166743a656c656d656e745f3137e4ff00146d696e6563726166743a656c656d656e745f3138e3ff00146d696e6563726166743a656c656d656e745f3139e2ff00146d696e6563726166743a656c656d656e745f3230e1ff00146d696e6563726166743a656c656d656e745f3234ddff00146d696e6563726166743a656c656d656e745f3239d8ff00146d696e6563726166743a656c656d656e745f3333d4ff00146d696e6563726166743a656c656d656e745f3336d1ff000d6d696e6563726166743a6963654f0000146d696e6563726166743a656c656d656e745f3337d0ff00146d696e6563726166743a656c656d656e745f3339ceff00146d696e6563726166743a656c656d656e745f3430cdff00146d696e6563726166743a656c656d656e745f3435c8ff00146d696e6563726166743a656c656d656e745f3436c7ff00146d696e6563726166743a656c656d656e745f3437c6ff00146d696e6563726166743a656c656d656e745f3438c5ff00146d696e6563726166743a656c656d656e745f3534bfff00146d696e6563726166743a656c656d656e745f3536bdff00146d696e6563726166743a656c656d656e745f3538bbff00146d696e6563726166743a656c656d656e745f3630b9ff00146d696e6563726166743a656c656d656e745f3634b5ff00146d696e6563726166743a656c656d656e745f3635b4ff00146d696e6563726166743a656c656d656e745f3636b3ff00146d696e6563726166743a656c656d656e745f3637b2ff00146d696e6563726166743a656c656d656e745f3638b1ff00146d696e6563726166743a656c656d656e745f3730afff00146d696e6563726166743a656c656d656e745f3731aeff00146d696e6563726166743a656c656d656e745f3732adff00146d696e6563726166743a656c656d656e745f3735aaff00146d696e6563726166743a656c656d656e745f3736a9ff00196d696e6563726166743a6461726b5f6f616b5f627574746f6e72ff00146d696e6563726166743a656c656d656e745f3737a8ff00186d696e6563726166743a72656473746f6e655f746f7263684c0000186d696e6563726166743a64696f726974655f73746169727356ff00146d696e6563726166743a656c656d656e745f3739a6ff00146d696e6563726166743a656c656d656e745f3831a4ff00146d696e6563726166743a656c656d656e745f3832a3ff00226d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f77616c6cd7fe00146d696e6563726166743a656c656d656e745f3835a0ff00146d696e6563726166743a656c656d656e745f38379eff00146d696e6563726166743a656c656d656e745f38389dff00146d696e6563726166743a656c656d656e745f38399cff00146d696e6563726166743a656c656d656e745f39309bff00146d696e6563726166743a656c656d656e745f39319aff00146d696e6563726166743a656c656d656e745f393398ff00146d696e6563726166743a656c656d656e745f393497ff00146d696e6563726166743a656c656d656e745f393596ff00146d696e6563726166743a656c656d656e745f393695ff00146d696e6563726166743a656c656d656e745f393893ff00106d696e6563726166743a636163747573510000146d696e6563726166743a656c656d656e745f393992ff00156d696e6563726166743a656c656d656e745f3130358cff00156d696e6563726166743a656c656d656e745f3130368bff00206d696e6563726166743a6379616e5f676c617a65645f7465727261636f747461e50000156d696e6563726166743a656c656d656e745f3130378aff00156d696e6563726166743a656c656d656e745f31303889ff00156d696e6563726166743a656c656d656e745f31313087ff00156d696e6563726166743a656c656d656e745f31313285ff00176d696e6563726166743a7761727065645f627574746f6efbfe00156d696e6563726166743a656c656d656e745f31313384ff00166d696e6563726166743a62697263685f737461697273870000156d696e6563726166743a656c656d656e745f31313483ff001d6d696e6563726166743a6461726b5f6f616b5f66656e63655f67617465ba0000156d696e6563726166743a656c656d656e745f31313582ff00156d696e6563726166743a656c656d656e745f31313780ff00156d696e6563726166743a656c656d656e745f3131387fff00196d696e6563726166743a6e65746865726974655f626c6f636bf2fe00186d696e6563726166743a7265737061776e5f616e63686f72f0fe00196d696e6563726166743a637279696e675f6f6273696469616edffe000e6d696e6563726166743a626f6174630200186d696e6563726166743a62616e6e65725f7061747465726e650200156d696e6563726166743a656e645f6372797374616c6702000e6d696e6563726166743a736e6f77500000176d696e6563726166743a6465746563746f725f7261696c1c0000176d696e6563726166743a6163616369615f627574746f6e74ff00176d696e6563726166743a71756172747a5f7374616972739c00001b6d696e6563726166743a6163616369615f66656e63655f67617465bb00001e6d696e6563726166743a6163616369615f7374616e64696e675f7369676e42ff00196d696e6563726166743a6163616369615f74726170646f6f726fff00176d696e6563726166743a7075727075725f737461697273cb00001a6d696e6563726166743a6163616369615f77616c6c5f7369676e41ff000f6d696e6563726166743a616c6c6f77d20000196d696e6563726166743a7374616e64696e675f62616e6e6572b00000186d696e6563726166743a62616d626f6f5f7361706c696e675cff00156d696e6563726166743a66726f737465645f696365cf0000116d696e6563726166743a626172726965725fff00106d696e6563726166743a626173616c7416ff00126d696e6563726166743a6974656d2e6265641a0000116d696e6563726166743a626564726f636b070000126d696e6563726166743a6265655f6e65737426ff00116d696e6563726166743a6265656869766525ff00166d696e6563726166743a62697263685f627574746f6e73ff001a6d696e6563726166743a62697263685f66656e63655f67617465b800001e6d696e6563726166743a62697263685f70726573737572655f706c61746569ff00266d696e6563726166743a63686973656c65645f706f6c69736865645f626c61636b73746f6e65e9fe001d6d696e6563726166743a62697263685f7374616e64696e675f7369676e46ff00186d696e6563726166743a62697263685f74726170646f6f726eff00196d696e6563726166743a62697263685f77616c6c5f7369676e45ff00176d696e6563726166743a63686f7275735f666c6f776572c80000146d696e6563726166743a626c61636b73746f6e65effe00106d696e6563726166743a74617267657411ff00206d696e6563726166743a626c61636b73746f6e655f646f75626c655f736c6162e5fe001a6d696e6563726166743a64726965645f6b656c705f626c6f636b75ff001b6d696e6563726166743a626c61636b73746f6e655f737461697273ecfe00196d696e6563726166743a626c61636b73746f6e655f77616c6cebfe00206d696e6563726166743a626c75655f676c617a65645f7465727261636f747461e70000146d696e6563726166743a626f6e655f626c6f636bd80000166d696e6563726166743a626f726465725f626c6f636bd40000136d696e6563726166743a77616c6c5f7369676e440000226d696e6563726166743a6f72616e67655f676c617a65645f7465727261636f747461dd0000166d696e6563726166743a627269636b5f7374616972736c0000216d696e6563726166743a62726f776e5f676c617a65645f7465727261636f747461e80000176d696e6563726166743a627562626c655f636f6c756d6e60ff00156d696e6563726166743a6974656d2e63616d657261f20000176d696e6563726166743a6974656d2e6361756c64726f6e760000146d696e6563726166743a6974656d2e636861696ee2fe00176d696e6563726166743a6368656d6963616c5f68656174c00000146d696e6563726166743a676f6c645f626c6f636b290000166d696e6563726166743a63686f7275735f706c616e74f00000146d696e6563726166743a636f616c5f626c6f636bad00000f6d696e6563726166743a636f636f617f0000146d696e6563726166743a7061636b65645f696365ae0000186d696e6563726166743a636f72616c5f66616e5f68616e6779ff00196d696e6563726166743a636f72616c5f66616e5f68616e673377ff001f6d696e6563726166743a637261636b65645f6e65746865725f627269636b73d1fe002c6d696e6563726166743a637261636b65645f706f6c69736865645f626c61636b73746f6e655f627269636b73e8fe00186d696e6563726166743a6372696d736f6e5f627574746f6efcfe001d6d696e6563726166743a6372696d736f6e5f646f75626c655f736c6162f6fe001c6d696e6563726166743a6372696d736f6e5f66656e63655f67617465fefe00186d696e6563726166743a6372696d736f6e5f687970686165d5fe00156d696e6563726166743a656d6572616c645f6f7265810000186d696e6563726166743a6372696d736f6e5f706c616e6b730eff001b6d696e6563726166743a7370727563655f66656e63655f67617465b70000206d696e6563726166743a6372696d736f6e5f70726573737572655f706c617465fafe001f6d696e6563726166743a6372696d736f6e5f7374616e64696e675f7369676e06ff00166d696e6563726166743a6372696d736f6e5f7374656d1fff001b6d696e6563726166743a6372696d736f6e5f77616c6c5f7369676e04ff001b6d696e6563726166743a6461726b5f6f616b5f74726170646f6f726dff00206d696e6563726166743a6461726b5f707269736d6172696e655f737461697273fdff001f6d696e6563726166743a6461726b6f616b5f7374616e64696e675f7369676e40ff001b6d696e6563726166743a6461726b6f616b5f77616c6c5f7369676e3fff00126d696e6563726166743a6465616462757368200000156d696e6563726166743a6469616d6f6e645f6f7265380000136d696e6563726166743a64697370656e736572170000176d696e6563726166743a6c6176615f6361756c64726f6e2eff00146d696e6563726166743a647261676f6e5f6567677a0000176d696e6563726166743a6a756e676c655f737461697273880000116d696e6563726166743a64726f707065727d0000176d696e6563726166743a656d6572616c645f626c6f636b8500001a6d696e6563726166743a656e6368616e74696e675f7461626c657400001a6d696e6563726166743a656e645f627269636b5f7374616972734eff000e6d696e6563726166743a66697265330000116d696e6563726166743a6675726e6163653d00001b6d696e6563726166743a67696c6465645f626c61636b73746f6e65e7fe000f6d696e6563726166743a676c617373140000146d696e6563726166743a676c6173735f70616e65660000126d696e6563726166743a676f6c645f6f72650e0000156d696e6563726166743a676f6c64656e5f7261696c1b00000f6d696e6563726166743a6772617373020000146d696e6563726166743a67726173735f70617468c60000106d696e6563726166743a67726176656c0d0000206d696e6563726166743a677261795f676c617a65645f7465727261636f747461e30000216d696e6563726166743a677265656e5f676c617a65645f7465727261636f747461e90000146d696e6563726166743a686172645f676c617373fd0000196d696e6563726166743a686172645f676c6173735f70616e65be0000176d696e6563726166743a68617264656e65645f636c6179ac0000276d696e6563726166743a68656176795f77656967687465645f70726573737572655f706c617465940000156d696e6563726166743a696e666f5f757064617465f80000146d696e6563726166743a69726f6e5f626c6f636b2a0000176d696e6563726166743a6a756e676c655f627574746f6e71ff001a6d696e6563726166743a6974656d2e6a756e676c655f646f6f72c300001e6d696e6563726166743a6a756e676c655f7374616e64696e675f7369676e44ff00156d696e6563726166743a6c69745f6675726e6163653e00001a6d696e6563726166743a6a756e676c655f77616c6c5f7369676e43ff00136d696e6563726166743a6974656d2e6b656c7076ff001e6d696e6563726166743a756e6c69745f72656473746f6e655f746f7263684b0000106d696e6563726166743a6c6164646572410000156d696e6563726166743a6c617069735f626c6f636b160000136d696e6563726166743a6c617069735f6f72651500000e6d696e6563726166743a6c6176610b0000116d696e6563726166743a6c65637465726e3eff001b6d696e6563726166743a6d6f7373795f636f62626c6573746f6e653000000f6d696e6563726166743a6c65766572450000206d696e6563726166743a6c696d655f676c617a65645f7465727261636f747461e10000146d696e6563726166743a6c69745f736d6f6b657239ff00146d696e6563726166743a6d656c6f6e5f7374656d6900001d6d696e6563726166743a6974656d2e6e65746865725f7370726f75747312ff00226d696e6563726166743a6d6f7373795f73746f6e655f627269636b5f73746169727351ff00156d696e6563726166743a6d6f76696e67626c6f636bfa0000126d696e6563726166743a6d7963656c69756d6e0000166d696e6563726166743a6e65746865725f627269636b7000001c6d696e6563726166743a6e65746865725f627269636b5f66656e63657100001d6d696e6563726166743a6e65746865725f627269636b5f737461697273720000196d696e6563726166743a6e65746865725f676f6c645f6f7265e0fe001a6d696e6563726166743a6974656d2e6e65746865725f77617274730000146d696e6563726166743a6e65746865727261636b570000176d696e6563726166743a6e657468657272656163746f72f700001d6d696e6563726166743a6e6f726d616c5f73746f6e655f7374616972734cff00136d696e6563726166743a6e6f7465626c6f636b1900001a6d696e6563726166743a7761727065645f77616c6c5f7369676e03ff00146d696e6563726166743a6f616b5f737461697273350000206d696e6563726166743a70696e6b5f676c617a65645f7465727261636f747461e200001c6d696e6563726166743a706973746f6e61726d636f6c6c6973696f6e220000106d696e6563726166743a706f647a6f6cf30000196d696e6563726166743a706f6c69736865645f626173616c7415ff001d6d696e6563726166743a706f6c69736865645f626c61636b73746f6e65ddfe002f6d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f646f75626c655f736c6162e3fe001e6d696e6563726166743a7761727065645f7374616e64696e675f7369676e05ff00286d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f77616c6ceafe002c6d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f70726573737572655f706c617465d9fe00246d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f737461697273dcfe001a6d696e6563726166743a706f77657265645f72657065617465725e00001b6d696e6563726166743a707269736d6172696e655f737461697273feff00166d696e6563726166743a70756d706b696e5f7374656d680000226d696e6563726166743a707572706c655f676c617a65645f7465727261636f747461db00001f6d696e6563726166743a7265645f676c617a65645f7465727261636f747461ea0000216d696e6563726166743a7265645f6e65746865725f627269636b5f73746169727348ff00176d696e6563726166743a72656473746f6e655f6c616d707b0000166d696e6563726166743a72656473746f6e655f6f7265490000176d696e6563726166743a72656473746f6e655f77697265370000216d696e6563726166743a726570656174696e675f636f6d6d616e645f626c6f636bbc00001a6d696e6563726166743a73616e6473746f6e655f737461697273800000156d696e6563726166743a7368726f6f6d6c696768741aff00146d696e6563726166743a6974656d2e736b756c6c900000256d696e6563726166743a736d6f6f74685f7265645f73616e6473746f6e655f73746169727350ff00216d696e6563726166743a736d6f6f74685f73616e6473746f6e655f7374616972734fff001c6d696e6563726166743a6974656d2e736f756c5f63616d7066697265defe00136d696e6563726166743a736f756c5f6669726513ff00166d696e6563726166743a736f756c5f6c616e7465726ef3fe00146d696e6563726166743a736f756c5f746f726368f4fe00146d696e6563726166743a6974656d2e77686561743b00001a6d696e6563726166743a6974656d2e7370727563655f646f6f72c100001f6d696e6563726166743a7370727563655f70726573737572655f706c61746566ff00196d696e6563726166743a7370727563655f74726170646f6f726bff00166d696e6563726166743a73746f6e655f627574746f6e4d0000166d696e6563726166743a73746f6e655f737461697273430000156d696e6563726166743a73746f6e65637574746572f500001c6d696e6563726166743a73747269707065645f62697263685f6c6f67faff00216d696e6563726166743a73747269707065645f6372696d736f6e5f687970686165d4fe001f6d696e6563726166743a73747269707065645f6461726b5f6f616b5f6c6f67f7ff001d6d696e6563726166743a73747269707065645f6a756e676c655f6c6f67f9ff001d6d696e6563726166743a73747269707065645f7370727563655f6c6f67fbff00206d696e6563726166743a73747269707065645f7761727065645f687970686165d3fe001e6d696e6563726166743a73747269707065645f7761727065645f7374656d0fff00196d696e6563726166743a7374727563747572655f626c6f636bfc0000186d696e6563726166743a7374727563747572655f766f6964d900001a6d696e6563726166743a73776565745f62657272795f6275736831ff000f6d696e6563726166743a746f726368320000176d696e6563726166743a74726970776972655f686f6f6b8300001a6d696e6563726166743a756e64657277617465725f746f726368ef00001c6d696e6563726166743a756e706f77657265645f72657065617465725d00001b6d696e6563726166743a7761727065645f776172745f626c6f636b1dff000e6d696e6563726166743a76696e656a0000156d696e6563726166743a77616c6c5f62616e6e6572b100001c6d696e6563726166743a7761727065645f646f75626c655f736c6162f5fe001b6d696e6563726166743a7761727065645f66656e63655f67617465fdfe00176d696e6563726166743a7761727065645f687970686165d6fe00176d696e6563726166743a7761727065645f6e796c69756d17ff00176d696e6563726166743a7761727065645f706c616e6b730dff001f6d696e6563726166743a7761727065645f70726573737572655f706c617465f9fe00176d696e6563726166743a7761727065645f73746169727301ff00156d696e6563726166743a7761727065645f7374656d1eff000f6d696e6563726166743a77617465720900000d6d696e6563726166743a7765621e0000216d696e6563726166743a77686974655f676c617a65645f7465727261636f747461dc00001f6d696e6563726166743a776f6f64656e5f70726573737572655f706c617465480000156d696e6563726166743a7769746865725f726f736528ff001a6d696e6563726166743a6974656d2e776f6f64656e5f646f6f724000002465303438386162302d333234362d346133372d386238332d38626435616239623433366601'
const buf = Buffer.from(s, 'hex')
const des = read(buf)
console.log(des.data.name)
const newBuf = write(des.data.name, des.data.params)
console.log(newBuf)
console.assert(newBuf.toString('hex')==s)
// console.log(serialize(des.data.params, 2))
}
async function testAdventureSettings() {
// const buf = Buffer.from('3720009f02010001000000fdffffff')
// const des = read(buf)
// console.log(serialize(des.data.params, 2))
const buf = write('adventure_settings', {
flags: {
world_immutable: true,
no_pvp: true
},
command_permission: 'normal',
action_permissions: {
open_containers: true
},
permission_level: 'member',
custom_stored_permissions: 0,
user_id: 0
})
const des = read(buf)
// fs.writeFileSync('cc.json', serialize(des.data.params, 2))
console.log('Des', JSON.stringify(des, null, 2))
}
async function testInventory() {
const buf = Buffer.from('1e00020000008c0a419e0104060031bb2144723d8342aff19b420000403f0079873e8047513f8833', 'hex')
const des = read(buf)
console.log(JSON.stringify(des))
}
async function testInventory() {
const buf = Buffer.from('1e00020000008c0a419e0104060031bb2144723d8342aff19b420000403f0079873e8047513f8833', 'hex')
}
function testLevelEventGeneric() {
const s = '7cce1f0305436f756e74800205084469725363616c65cdcc4c3e0504456e647800a01c440504456e647900001a420504456e647a00008942050653746172747899ef1944050653746172747900002042050653746172747a4583a042050a566172696174696f6e789a99193f050a566172696174696f6e799a99394000'
const buf = Buffer.from(s, 'hex')
const des = read(buf)
console.log(JSON.stringify(des))
console.log(des.data.name)
const newBuf = write(des.data.name, des.data.params)
console.log(newBuf.toString('hex'), s)
console.assert(newBuf.toString('hex')==s)
}
function testEvent() {
const s = '41fdffffff5f2801001203e1417678933fdf294642a034a03e57b65b40'
const buf = Buffer.from(s, 'hex')
const des = read(buf)
console.log(serialize(des))
console.log(des.data.name)
const newBuf = write(des.data.name, des.data.params)
console.log(newBuf.toString('hex'), s)
console.assert(newBuf.toString('hex')==s)
}
function testItemStackReq() {
const s = '93010105030b9d050e01920502000000000100013b32053a000000'
const buf = Buffer.from(s, 'hex')
const des = read(buf)
console.log(serialize(des))
console.log(des.data.name)
const newBuf = write(des.data.name, des.data.params)
console.log(newBuf.toString('hex'), 'OLD:', s)
console.assert(newBuf.toString('hex')==s)
}
// creativeTst()
// availableCommands()
// avaliableCmd()
// creativeTestNew()
// biomeDefinitions()
// startGame()
// testLevelEventGeneric()
testItemStackReq()
}
if (!module.parent) {
test()
}
function serialize(obj = {}, fmt) {
return JSON.stringify(obj, (k, v) => typeof v == 'bigint' ? v.toString() : v, fmt)
}