From c75a270a82fdf7f92d118c61237fea034cbc17f3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 31 Aug 2020 13:16:24 -0400 Subject: [PATCH 1/3] Bump inja; trdata and trpoke to json --- arm9/asm/unk_02038C78.s | 2 +- arm9/asm/unk_0204AB0C.s | 2 +- arm9/asm/unk_0206ABC4.s | 24 +- arm9/global.inc | 6 +- arm9/modules/11/asm/module_11_thumb2.s | 4 +- arm9/modules/67/asm/module_67.s | 2 +- files/poketool/trainer/trdata.json | 20472 ++++++++++++++++++ files/poketool/trainer/trdata.json.txt | 22 + files/poketool/trainer/trdata/.knarcignore | 2 - files/poketool/trainer/trdata/narc_0000.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0001.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0002.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0003.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0004.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0005.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0006.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0007.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0008.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0009.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0010.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0011.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0012.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0013.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0014.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0015.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0016.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0017.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0018.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0019.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0020.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0021.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0022.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0023.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0024.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0025.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0026.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0027.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0028.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0029.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0030.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0031.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0032.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0033.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0034.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0035.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0036.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0037.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0038.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0039.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0040.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0041.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0042.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0043.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0044.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0045.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0046.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0047.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0048.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0049.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0050.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0051.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0052.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0053.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0054.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0055.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0056.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0057.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0058.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0059.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0060.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0061.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0062.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0063.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0064.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0065.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0066.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0067.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0068.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0069.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0070.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0071.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0072.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0073.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0074.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0075.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0076.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0077.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0078.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0079.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0080.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0081.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0082.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0083.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0084.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0085.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0086.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0087.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0088.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0089.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0090.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0091.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0092.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0093.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0094.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0095.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0096.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0097.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0098.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0099.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0100.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0101.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0102.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0103.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0104.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0105.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0106.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0107.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0108.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0109.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0110.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0111.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0112.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0113.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0114.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0115.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0116.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0117.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0118.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0119.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0120.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0121.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0122.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0123.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0124.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0125.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0126.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0127.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0128.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0129.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0130.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0131.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0132.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0133.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0134.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0135.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0136.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0137.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0138.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0139.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0140.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0141.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0142.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0143.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0144.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0145.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0146.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0147.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0148.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0149.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0150.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0151.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0152.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0153.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0154.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0155.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0156.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0157.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0158.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0159.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0160.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0161.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0162.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0163.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0164.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0165.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0166.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0167.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0168.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0169.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0170.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0171.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0172.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0173.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0174.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0175.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0176.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0177.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0178.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0179.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0180.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0181.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0182.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0183.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0184.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0185.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0186.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0187.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0188.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0189.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0190.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0191.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0192.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0193.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0194.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0195.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0196.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0197.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0198.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0199.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0200.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0201.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0202.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0203.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0204.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0205.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0206.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0207.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0208.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0209.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0210.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0211.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0212.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0213.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0214.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0215.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0216.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0217.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0218.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0219.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0220.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0221.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0222.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0223.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0224.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0225.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0226.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0227.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0228.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0229.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0230.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0231.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0232.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0233.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0234.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0235.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0236.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0237.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0238.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0239.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0240.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0241.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0242.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0243.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0244.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0245.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0246.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0247.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0248.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0249.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0250.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0251.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0252.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0253.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0254.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0255.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0256.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0257.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0258.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0259.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0260.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0261.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0262.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0263.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0264.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0265.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0266.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0267.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0268.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0269.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0270.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0271.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0272.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0273.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0274.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0275.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0276.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0277.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0278.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0279.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0280.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0281.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0282.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0283.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0284.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0285.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0286.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0287.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0288.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0289.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0290.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0291.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0292.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0293.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0294.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0295.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0296.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0297.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0298.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0299.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0300.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0301.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0302.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0303.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0304.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0305.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0306.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0307.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0308.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0309.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0310.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0311.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0312.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0313.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0314.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0315.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0316.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0317.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0318.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0319.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0320.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0321.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0322.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0323.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0324.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0325.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0326.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0327.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0328.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0329.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0330.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0331.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0332.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0333.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0334.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0335.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0336.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0337.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0338.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0339.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0340.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0341.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0342.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0343.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0344.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0345.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0346.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0347.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0348.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0349.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0350.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0351.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0352.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0353.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0354.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0355.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0356.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0357.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0358.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0359.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0360.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0361.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0362.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0363.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0364.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0365.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0366.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0367.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0368.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0369.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0370.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0371.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0372.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0373.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0374.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0375.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0376.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0377.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0378.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0379.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0380.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0381.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0382.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0383.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0384.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0385.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0386.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0387.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0388.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0389.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0390.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0391.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0392.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0393.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0394.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0395.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0396.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0397.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0398.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0399.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0400.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0401.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0402.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0403.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0404.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0405.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0406.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0407.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0408.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0409.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0410.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0411.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0412.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0413.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0414.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0415.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0416.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0417.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0418.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0419.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0420.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0421.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0422.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0423.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0424.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0425.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0426.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0427.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0428.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0429.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0430.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0431.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0432.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0433.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0434.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0435.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0436.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0437.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0438.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0439.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0440.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0441.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0442.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0443.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0444.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0445.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0446.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0447.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0448.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0449.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0450.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0451.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0452.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0453.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0454.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0455.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0456.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0457.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0458.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0459.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0460.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0461.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0462.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0463.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0464.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0465.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0466.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0467.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0468.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0469.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0470.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0471.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0472.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0473.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0474.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0475.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0476.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0477.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0478.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0479.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0480.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0481.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0482.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0483.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0484.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0485.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0486.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0487.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0488.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0489.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0490.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0491.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0492.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0493.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0494.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0495.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0496.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0497.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0498.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0499.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0500.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0501.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0502.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0503.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0504.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0505.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0506.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0507.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0508.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0509.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0510.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0511.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0512.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0513.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0514.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0515.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0516.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0517.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0518.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0519.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0520.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0521.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0522.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0523.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0524.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0525.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0526.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0527.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0528.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0529.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0530.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0531.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0532.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0533.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0534.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0535.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0536.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0537.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0538.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0539.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0540.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0541.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0542.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0543.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0544.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0545.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0546.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0547.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0548.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0549.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0550.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0551.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0552.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0553.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0554.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0555.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0556.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0557.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0558.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0559.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0560.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0561.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0562.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0563.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0564.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0565.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0566.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0567.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0568.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0569.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0570.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0571.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0572.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0573.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0574.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0575.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0576.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0577.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0578.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0579.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0580.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0581.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0582.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0583.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0584.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0585.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0586.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0587.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0588.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0589.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0590.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0591.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0592.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0593.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0594.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0595.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0596.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0597.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0598.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0599.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0600.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0601.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0602.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0603.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0604.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0605.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0606.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0607.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0608.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0609.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0610.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0611.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0612.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0613.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0614.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0615.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0616.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0617.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0618.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0619.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0620.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0621.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0622.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0623.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0624.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0625.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0626.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0627.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0628.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0629.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0630.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0631.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0632.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0633.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0634.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0635.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0636.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0637.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0638.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0639.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0640.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0641.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0642.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0643.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0644.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0645.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0646.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0647.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0648.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0649.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0650.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0651.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0652.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0653.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0654.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0655.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0656.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0657.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0658.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0659.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0660.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0661.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0662.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0663.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0664.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0665.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0666.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0667.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0668.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0669.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0670.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0671.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0672.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0673.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0674.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0675.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0676.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0677.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0678.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0679.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0680.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0681.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0682.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0683.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0684.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0685.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0686.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0687.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0688.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0689.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0690.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0691.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0692.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0693.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0694.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0695.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0696.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0697.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0698.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0699.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0700.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0701.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0702.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0703.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0704.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0705.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0706.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0707.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0708.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0709.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0710.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0711.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0712.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0713.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0714.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0715.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0716.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0717.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0718.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0719.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0720.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0721.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0722.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0723.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0724.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0725.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0726.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0727.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0728.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0729.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0730.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0731.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0732.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0733.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0734.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0735.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0736.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0737.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0738.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0739.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0740.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0741.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0742.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0743.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0744.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0745.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0746.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0747.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0748.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0749.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0750.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0751.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0752.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0753.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0754.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0755.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0756.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0757.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0758.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0759.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0760.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0761.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0762.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0763.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0764.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0765.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0766.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0767.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0768.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0769.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0770.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0771.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0772.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0773.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0774.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0775.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0776.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0777.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0778.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0779.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0780.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0781.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0782.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0783.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0784.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0785.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0786.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0787.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0788.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0789.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0790.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0791.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0792.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0793.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0794.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0795.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0796.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0797.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0798.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0799.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0800.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0801.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0802.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0803.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0804.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0805.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0806.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0807.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0808.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0809.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0810.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0811.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0812.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0813.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0814.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0815.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0816.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0817.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0818.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0819.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0820.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0821.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0822.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0823.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0824.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0825.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0826.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0827.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0828.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0829.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0830.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0831.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0832.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0833.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0834.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0835.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0836.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0837.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0838.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0839.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0840.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0841.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0842.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0843.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0844.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0845.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0846.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0847.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0848.bin | Bin 20 -> 0 bytes files/poketool/trainer/trdata/narc_0849.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke.json.txt | 52 + files/poketool/trainer/trpoke/.knarcignore | 2 - files/poketool/trainer/trpoke/narc_0000.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0001.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0002.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0003.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0004.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0005.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0006.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0007.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0008.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0009.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0010.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0011.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0012.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0013.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0014.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0015.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0016.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0017.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0018.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0019.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0020.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0021.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0022.bin | Bin 36 -> 0 bytes files/poketool/trainer/trpoke/narc_0023.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0024.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0025.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0026.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0027.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0028.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0029.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0030.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0031.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0032.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0033.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0034.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0035.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0036.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0037.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0038.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0039.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0040.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0041.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0042.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0043.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0044.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0045.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0046.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0047.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0048.bin | Bin 32 -> 0 bytes files/poketool/trainer/trpoke/narc_0049.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0050.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0051.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0052.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0053.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0054.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0055.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0056.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0057.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0058.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0059.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0060.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0061.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0062.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0063.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0064.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0065.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0066.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0067.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0068.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0069.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0070.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0071.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0072.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0073.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0074.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0075.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0076.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0077.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0078.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0079.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0080.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0081.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0082.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0083.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0084.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0085.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0086.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0087.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0088.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0089.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0090.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0091.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0092.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0093.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0094.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0095.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0096.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0097.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0098.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0099.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0100.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0101.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0102.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0103.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0104.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0105.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0106.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0107.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0108.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0109.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0110.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0111.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0112.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0113.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0114.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0115.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0116.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0117.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0118.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0119.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0120.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0121.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0122.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0123.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0124.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0125.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0126.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0127.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0128.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0129.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0130.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0131.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0132.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0133.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0134.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0135.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0136.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0137.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0138.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0139.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0140.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0141.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0142.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0143.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0144.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0145.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0146.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0147.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0148.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0149.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0150.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0151.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0152.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0153.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0154.bin | Bin 32 -> 0 bytes files/poketool/trainer/trpoke/narc_0155.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0156.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0157.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0158.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0159.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0160.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0161.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0162.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0163.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0164.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0165.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0166.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0167.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0168.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0169.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0170.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0171.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0172.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0173.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0174.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0175.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0176.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0177.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0178.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0179.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0180.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0181.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0182.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0183.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0184.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0185.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0186.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0187.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0188.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0189.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0190.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0191.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0192.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0193.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0194.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0195.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0196.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0197.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0198.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0199.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0200.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0201.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0202.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0203.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0204.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0205.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0206.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0207.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0208.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0209.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0210.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0211.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0212.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0213.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0214.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0215.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0216.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0217.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0218.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0219.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0220.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0221.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0222.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0223.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0224.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0225.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0226.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0227.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0228.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0229.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0230.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0231.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0232.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0233.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0234.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0235.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0236.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0237.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0238.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0239.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0240.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0241.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0242.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0243.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0244.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0245.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0246.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0247.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0248.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0249.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0250.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0251.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0252.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0253.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0254.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0255.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0256.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0257.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0258.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0259.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0260.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0261.bin | Bin 80 -> 0 bytes files/poketool/trainer/trpoke/narc_0262.bin | Bin 80 -> 0 bytes files/poketool/trainer/trpoke/narc_0263.bin | Bin 80 -> 0 bytes files/poketool/trainer/trpoke/narc_0264.bin | Bin 80 -> 0 bytes files/poketool/trainer/trpoke/narc_0265.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0266.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0267.bin | Bin 96 -> 0 bytes files/poketool/trainer/trpoke/narc_0268.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0269.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0270.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0271.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0272.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0273.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0274.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0275.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0276.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0277.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0278.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0279.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0280.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0281.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0282.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0283.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0284.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0285.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0286.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0287.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0288.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0289.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0290.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0291.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0292.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0293.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0294.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0295.bin | Bin 32 -> 0 bytes files/poketool/trainer/trpoke/narc_0296.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0297.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0298.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0299.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0300.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0301.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0302.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0303.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0304.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0305.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0306.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0307.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0308.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0309.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0310.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0311.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0312.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0313.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0314.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0315.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0316.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0317.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0318.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0319.bin | Bin 64 -> 0 bytes files/poketool/trainer/trpoke/narc_0320.bin | Bin 64 -> 0 bytes files/poketool/trainer/trpoke/narc_0321.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0322.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0323.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0324.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0325.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0326.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0327.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0328.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0329.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0330.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0331.bin | Bin 24 -> 0 bytes files/poketool/trainer/trpoke/narc_0332.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0333.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0334.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0335.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0336.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0337.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0338.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0339.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0340.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0341.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0342.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0343.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0344.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0345.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0346.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0347.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0348.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0349.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0350.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0351.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0352.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0353.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0354.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0355.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0356.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0357.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0358.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0359.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0360.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0361.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0362.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0363.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0364.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0365.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0366.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0367.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0368.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0369.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0370.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0371.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0372.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0373.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0374.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0375.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0376.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0377.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0378.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0379.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0380.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0381.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0382.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0383.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0384.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0385.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0386.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0387.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0388.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0389.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0390.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0391.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0392.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0393.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0394.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0395.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0396.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0397.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0398.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0399.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0400.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0401.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0402.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0403.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0404.bin | Bin 64 -> 0 bytes files/poketool/trainer/trpoke/narc_0405.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0406.bin | Bin 32 -> 0 bytes files/poketool/trainer/trpoke/narc_0407.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0408.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0409.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0410.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0411.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0412.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0413.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0414.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0415.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0416.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0417.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0418.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0419.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0420.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0421.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0422.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0423.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0424.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0425.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0426.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0427.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0428.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0429.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0430.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0431.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0432.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0433.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0434.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0435.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0436.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0437.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0438.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0439.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0440.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0441.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0442.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0443.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0444.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0445.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0446.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0447.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0448.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0449.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0450.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0451.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0452.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0453.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0454.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0455.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0456.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0457.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0458.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0459.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0460.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0461.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0462.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0463.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0464.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0465.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0466.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0467.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0468.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0469.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0470.bin | Bin 56 -> 0 bytes files/poketool/trainer/trpoke/narc_0471.bin | Bin 56 -> 0 bytes files/poketool/trainer/trpoke/narc_0472.bin | Bin 56 -> 0 bytes files/poketool/trainer/trpoke/narc_0473.bin | Bin 56 -> 0 bytes files/poketool/trainer/trpoke/narc_0474.bin | Bin 56 -> 0 bytes files/poketool/trainer/trpoke/narc_0475.bin | Bin 56 -> 0 bytes files/poketool/trainer/trpoke/narc_0476.bin | Bin 72 -> 0 bytes files/poketool/trainer/trpoke/narc_0477.bin | Bin 72 -> 0 bytes files/poketool/trainer/trpoke/narc_0478.bin | Bin 72 -> 0 bytes files/poketool/trainer/trpoke/narc_0479.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0480.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0481.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0482.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0483.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0484.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0485.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0486.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0487.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0488.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0489.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0490.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0491.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0492.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0493.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0494.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0495.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0496.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0497.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0498.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0499.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0500.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0501.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0502.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0503.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0504.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0505.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0506.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0507.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0508.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0509.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0510.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0511.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0512.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0513.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0514.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0515.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0516.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0517.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0518.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0519.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0520.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0521.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0522.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0523.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0524.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0525.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0526.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0527.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0528.bin | Bin 48 -> 0 bytes files/poketool/trainer/trpoke/narc_0529.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0530.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0531.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0532.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0533.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0534.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0535.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0536.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0537.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0538.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0539.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0540.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0541.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0542.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0543.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0544.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0545.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0546.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0547.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0548.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0549.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0550.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0551.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0552.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0553.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0554.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0555.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0556.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0557.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0558.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0559.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0560.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0561.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0562.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0563.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0564.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0565.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0566.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0567.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0568.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0569.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0570.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0571.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0572.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0573.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0574.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0575.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0576.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0577.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0578.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0579.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0580.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0581.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0582.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0583.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0584.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0585.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0586.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0587.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0588.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0589.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0590.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0591.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0592.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0593.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0594.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0595.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0596.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0597.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0598.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0599.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0600.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0601.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0602.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0603.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0604.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0605.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0606.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0607.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0608.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0609.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0610.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0611.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0612.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0613.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0614.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0615.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0616.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0617.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0618.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0619.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0620.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0621.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0622.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0623.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0624.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0625.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0626.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0627.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0628.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0629.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0630.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0631.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0632.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0633.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0634.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0635.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0636.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0637.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0638.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0639.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0640.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0641.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0642.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0643.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0644.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0645.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0646.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0647.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0648.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0649.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0650.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0651.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0652.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0653.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0654.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0655.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0656.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0657.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0658.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0659.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0660.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0661.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0662.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0663.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0664.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0665.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0666.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0667.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0668.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0669.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0670.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0671.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0672.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0673.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0674.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0675.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0676.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0677.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0678.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0679.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0680.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0681.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0682.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0683.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0684.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0685.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0686.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0687.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0688.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0689.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0690.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0691.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0692.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0693.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0694.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0695.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0696.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0697.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0698.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0699.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0700.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0701.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0702.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0703.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0704.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0705.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0706.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0707.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0708.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0709.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0710.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0711.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0712.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0713.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0714.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0715.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0716.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0717.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0718.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0719.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0720.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0721.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0722.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0723.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0724.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0725.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0726.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0727.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0728.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0729.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0730.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0731.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0732.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0733.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0734.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0735.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0736.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0737.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0738.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0739.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0740.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0741.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0742.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0743.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0744.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0745.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0746.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0747.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0748.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0749.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0750.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0751.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0752.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0753.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0754.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0755.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0756.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0757.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0758.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0759.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0760.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0761.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0762.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0763.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0764.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0765.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0766.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0767.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0768.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0769.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0770.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0771.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0772.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0773.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0774.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0775.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0776.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0777.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0778.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0779.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0780.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0781.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0782.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0783.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0784.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0785.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0786.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0787.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0788.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0789.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0790.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0791.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0792.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0793.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0794.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0795.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0796.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0797.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0798.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0799.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0800.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0801.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0802.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0803.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0804.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0805.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0806.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0807.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0808.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0809.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0810.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0811.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0812.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0813.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0814.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0815.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0816.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0817.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0818.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0819.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0820.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0821.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0822.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0823.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0824.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0825.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0826.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0827.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0828.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0829.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0830.bin | Bin 28 -> 0 bytes files/poketool/trainer/trpoke/narc_0831.bin | Bin 16 -> 0 bytes files/poketool/trainer/trpoke/narc_0832.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0833.bin | Bin 44 -> 0 bytes files/poketool/trainer/trpoke/narc_0834.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0835.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0836.bin | Bin 20 -> 0 bytes files/poketool/trainer/trpoke/narc_0837.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0838.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0839.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0840.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0841.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0842.bin | Bin 84 -> 0 bytes files/poketool/trainer/trpoke/narc_0843.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0844.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0845.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0846.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0847.bin | Bin 8 -> 0 bytes files/poketool/trainer/trpoke/narc_0848.bin | Bin 12 -> 0 bytes files/poketool/trainer/trpoke/narc_0849.bin | Bin 12 -> 0 bytes filesystem.mk | 15 +- include/trainer_data.h | 70 + tools/jsonproc/inja.hpp | 5180 +++-- tools/jsonproc/jsonproc.cpp | 4 + tools/jsonproc/nlohmann/json.hpp | 5987 ++++- 1716 files changed, 28459 insertions(+), 3387 deletions(-) create mode 100644 files/poketool/trainer/trdata.json create mode 100644 files/poketool/trainer/trdata.json.txt delete mode 100644 files/poketool/trainer/trdata/.knarcignore delete mode 100644 files/poketool/trainer/trdata/narc_0000.bin delete mode 100644 files/poketool/trainer/trdata/narc_0001.bin delete mode 100644 files/poketool/trainer/trdata/narc_0002.bin delete mode 100644 files/poketool/trainer/trdata/narc_0003.bin delete mode 100644 files/poketool/trainer/trdata/narc_0004.bin delete mode 100644 files/poketool/trainer/trdata/narc_0005.bin delete mode 100644 files/poketool/trainer/trdata/narc_0006.bin delete mode 100644 files/poketool/trainer/trdata/narc_0007.bin delete mode 100644 files/poketool/trainer/trdata/narc_0008.bin delete mode 100644 files/poketool/trainer/trdata/narc_0009.bin delete mode 100644 files/poketool/trainer/trdata/narc_0010.bin delete mode 100644 files/poketool/trainer/trdata/narc_0011.bin delete mode 100644 files/poketool/trainer/trdata/narc_0012.bin delete mode 100644 files/poketool/trainer/trdata/narc_0013.bin delete mode 100644 files/poketool/trainer/trdata/narc_0014.bin delete mode 100644 files/poketool/trainer/trdata/narc_0015.bin delete mode 100644 files/poketool/trainer/trdata/narc_0016.bin delete mode 100644 files/poketool/trainer/trdata/narc_0017.bin delete mode 100644 files/poketool/trainer/trdata/narc_0018.bin delete mode 100644 files/poketool/trainer/trdata/narc_0019.bin delete mode 100644 files/poketool/trainer/trdata/narc_0020.bin delete mode 100644 files/poketool/trainer/trdata/narc_0021.bin delete mode 100644 files/poketool/trainer/trdata/narc_0022.bin delete mode 100644 files/poketool/trainer/trdata/narc_0023.bin delete mode 100644 files/poketool/trainer/trdata/narc_0024.bin delete mode 100644 files/poketool/trainer/trdata/narc_0025.bin delete mode 100644 files/poketool/trainer/trdata/narc_0026.bin delete mode 100644 files/poketool/trainer/trdata/narc_0027.bin delete mode 100644 files/poketool/trainer/trdata/narc_0028.bin delete mode 100644 files/poketool/trainer/trdata/narc_0029.bin delete mode 100644 files/poketool/trainer/trdata/narc_0030.bin delete mode 100644 files/poketool/trainer/trdata/narc_0031.bin delete mode 100644 files/poketool/trainer/trdata/narc_0032.bin delete mode 100644 files/poketool/trainer/trdata/narc_0033.bin delete mode 100644 files/poketool/trainer/trdata/narc_0034.bin delete mode 100644 files/poketool/trainer/trdata/narc_0035.bin delete mode 100644 files/poketool/trainer/trdata/narc_0036.bin delete mode 100644 files/poketool/trainer/trdata/narc_0037.bin delete mode 100644 files/poketool/trainer/trdata/narc_0038.bin delete mode 100644 files/poketool/trainer/trdata/narc_0039.bin delete mode 100644 files/poketool/trainer/trdata/narc_0040.bin delete mode 100644 files/poketool/trainer/trdata/narc_0041.bin delete mode 100644 files/poketool/trainer/trdata/narc_0042.bin delete mode 100644 files/poketool/trainer/trdata/narc_0043.bin delete mode 100644 files/poketool/trainer/trdata/narc_0044.bin delete mode 100644 files/poketool/trainer/trdata/narc_0045.bin delete mode 100644 files/poketool/trainer/trdata/narc_0046.bin delete mode 100644 files/poketool/trainer/trdata/narc_0047.bin delete mode 100644 files/poketool/trainer/trdata/narc_0048.bin delete mode 100644 files/poketool/trainer/trdata/narc_0049.bin delete mode 100644 files/poketool/trainer/trdata/narc_0050.bin delete mode 100644 files/poketool/trainer/trdata/narc_0051.bin delete mode 100644 files/poketool/trainer/trdata/narc_0052.bin delete mode 100644 files/poketool/trainer/trdata/narc_0053.bin delete mode 100644 files/poketool/trainer/trdata/narc_0054.bin delete mode 100644 files/poketool/trainer/trdata/narc_0055.bin delete mode 100644 files/poketool/trainer/trdata/narc_0056.bin delete mode 100644 files/poketool/trainer/trdata/narc_0057.bin delete mode 100644 files/poketool/trainer/trdata/narc_0058.bin delete mode 100644 files/poketool/trainer/trdata/narc_0059.bin delete mode 100644 files/poketool/trainer/trdata/narc_0060.bin delete mode 100644 files/poketool/trainer/trdata/narc_0061.bin delete mode 100644 files/poketool/trainer/trdata/narc_0062.bin delete mode 100644 files/poketool/trainer/trdata/narc_0063.bin delete mode 100644 files/poketool/trainer/trdata/narc_0064.bin delete mode 100644 files/poketool/trainer/trdata/narc_0065.bin delete mode 100644 files/poketool/trainer/trdata/narc_0066.bin delete mode 100644 files/poketool/trainer/trdata/narc_0067.bin delete mode 100644 files/poketool/trainer/trdata/narc_0068.bin delete mode 100644 files/poketool/trainer/trdata/narc_0069.bin delete mode 100644 files/poketool/trainer/trdata/narc_0070.bin delete mode 100644 files/poketool/trainer/trdata/narc_0071.bin delete mode 100644 files/poketool/trainer/trdata/narc_0072.bin delete mode 100644 files/poketool/trainer/trdata/narc_0073.bin delete mode 100644 files/poketool/trainer/trdata/narc_0074.bin delete mode 100644 files/poketool/trainer/trdata/narc_0075.bin delete mode 100644 files/poketool/trainer/trdata/narc_0076.bin delete mode 100644 files/poketool/trainer/trdata/narc_0077.bin delete mode 100644 files/poketool/trainer/trdata/narc_0078.bin delete mode 100644 files/poketool/trainer/trdata/narc_0079.bin delete mode 100644 files/poketool/trainer/trdata/narc_0080.bin delete mode 100644 files/poketool/trainer/trdata/narc_0081.bin delete mode 100644 files/poketool/trainer/trdata/narc_0082.bin delete mode 100644 files/poketool/trainer/trdata/narc_0083.bin delete mode 100644 files/poketool/trainer/trdata/narc_0084.bin delete mode 100644 files/poketool/trainer/trdata/narc_0085.bin delete mode 100644 files/poketool/trainer/trdata/narc_0086.bin delete mode 100644 files/poketool/trainer/trdata/narc_0087.bin delete mode 100644 files/poketool/trainer/trdata/narc_0088.bin delete mode 100644 files/poketool/trainer/trdata/narc_0089.bin delete mode 100644 files/poketool/trainer/trdata/narc_0090.bin delete mode 100644 files/poketool/trainer/trdata/narc_0091.bin delete mode 100644 files/poketool/trainer/trdata/narc_0092.bin delete mode 100644 files/poketool/trainer/trdata/narc_0093.bin delete mode 100644 files/poketool/trainer/trdata/narc_0094.bin delete mode 100644 files/poketool/trainer/trdata/narc_0095.bin delete mode 100644 files/poketool/trainer/trdata/narc_0096.bin delete mode 100644 files/poketool/trainer/trdata/narc_0097.bin delete mode 100644 files/poketool/trainer/trdata/narc_0098.bin delete mode 100644 files/poketool/trainer/trdata/narc_0099.bin delete mode 100644 files/poketool/trainer/trdata/narc_0100.bin delete mode 100644 files/poketool/trainer/trdata/narc_0101.bin delete mode 100644 files/poketool/trainer/trdata/narc_0102.bin delete mode 100644 files/poketool/trainer/trdata/narc_0103.bin delete mode 100644 files/poketool/trainer/trdata/narc_0104.bin delete mode 100644 files/poketool/trainer/trdata/narc_0105.bin delete mode 100644 files/poketool/trainer/trdata/narc_0106.bin delete mode 100644 files/poketool/trainer/trdata/narc_0107.bin delete mode 100644 files/poketool/trainer/trdata/narc_0108.bin delete mode 100644 files/poketool/trainer/trdata/narc_0109.bin delete mode 100644 files/poketool/trainer/trdata/narc_0110.bin delete mode 100644 files/poketool/trainer/trdata/narc_0111.bin delete mode 100644 files/poketool/trainer/trdata/narc_0112.bin delete mode 100644 files/poketool/trainer/trdata/narc_0113.bin delete mode 100644 files/poketool/trainer/trdata/narc_0114.bin delete mode 100644 files/poketool/trainer/trdata/narc_0115.bin delete mode 100644 files/poketool/trainer/trdata/narc_0116.bin delete mode 100644 files/poketool/trainer/trdata/narc_0117.bin delete mode 100644 files/poketool/trainer/trdata/narc_0118.bin delete mode 100644 files/poketool/trainer/trdata/narc_0119.bin delete mode 100644 files/poketool/trainer/trdata/narc_0120.bin delete mode 100644 files/poketool/trainer/trdata/narc_0121.bin delete mode 100644 files/poketool/trainer/trdata/narc_0122.bin delete mode 100644 files/poketool/trainer/trdata/narc_0123.bin delete mode 100644 files/poketool/trainer/trdata/narc_0124.bin delete mode 100644 files/poketool/trainer/trdata/narc_0125.bin delete mode 100644 files/poketool/trainer/trdata/narc_0126.bin delete mode 100644 files/poketool/trainer/trdata/narc_0127.bin delete mode 100644 files/poketool/trainer/trdata/narc_0128.bin delete mode 100644 files/poketool/trainer/trdata/narc_0129.bin delete mode 100644 files/poketool/trainer/trdata/narc_0130.bin delete mode 100644 files/poketool/trainer/trdata/narc_0131.bin delete mode 100644 files/poketool/trainer/trdata/narc_0132.bin delete mode 100644 files/poketool/trainer/trdata/narc_0133.bin delete mode 100644 files/poketool/trainer/trdata/narc_0134.bin delete mode 100644 files/poketool/trainer/trdata/narc_0135.bin delete mode 100644 files/poketool/trainer/trdata/narc_0136.bin delete mode 100644 files/poketool/trainer/trdata/narc_0137.bin delete mode 100644 files/poketool/trainer/trdata/narc_0138.bin delete mode 100644 files/poketool/trainer/trdata/narc_0139.bin delete mode 100644 files/poketool/trainer/trdata/narc_0140.bin delete mode 100644 files/poketool/trainer/trdata/narc_0141.bin delete mode 100644 files/poketool/trainer/trdata/narc_0142.bin delete mode 100644 files/poketool/trainer/trdata/narc_0143.bin delete mode 100644 files/poketool/trainer/trdata/narc_0144.bin delete mode 100644 files/poketool/trainer/trdata/narc_0145.bin delete mode 100644 files/poketool/trainer/trdata/narc_0146.bin delete mode 100644 files/poketool/trainer/trdata/narc_0147.bin delete mode 100644 files/poketool/trainer/trdata/narc_0148.bin delete mode 100644 files/poketool/trainer/trdata/narc_0149.bin delete mode 100644 files/poketool/trainer/trdata/narc_0150.bin delete mode 100644 files/poketool/trainer/trdata/narc_0151.bin delete mode 100644 files/poketool/trainer/trdata/narc_0152.bin delete mode 100644 files/poketool/trainer/trdata/narc_0153.bin delete mode 100644 files/poketool/trainer/trdata/narc_0154.bin delete mode 100644 files/poketool/trainer/trdata/narc_0155.bin delete mode 100644 files/poketool/trainer/trdata/narc_0156.bin delete mode 100644 files/poketool/trainer/trdata/narc_0157.bin delete mode 100644 files/poketool/trainer/trdata/narc_0158.bin delete mode 100644 files/poketool/trainer/trdata/narc_0159.bin delete mode 100644 files/poketool/trainer/trdata/narc_0160.bin delete mode 100644 files/poketool/trainer/trdata/narc_0161.bin delete mode 100644 files/poketool/trainer/trdata/narc_0162.bin delete mode 100644 files/poketool/trainer/trdata/narc_0163.bin delete mode 100644 files/poketool/trainer/trdata/narc_0164.bin delete mode 100644 files/poketool/trainer/trdata/narc_0165.bin delete mode 100644 files/poketool/trainer/trdata/narc_0166.bin delete mode 100644 files/poketool/trainer/trdata/narc_0167.bin delete mode 100644 files/poketool/trainer/trdata/narc_0168.bin delete mode 100644 files/poketool/trainer/trdata/narc_0169.bin delete mode 100644 files/poketool/trainer/trdata/narc_0170.bin delete mode 100644 files/poketool/trainer/trdata/narc_0171.bin delete mode 100644 files/poketool/trainer/trdata/narc_0172.bin delete mode 100644 files/poketool/trainer/trdata/narc_0173.bin delete mode 100644 files/poketool/trainer/trdata/narc_0174.bin delete mode 100644 files/poketool/trainer/trdata/narc_0175.bin delete mode 100644 files/poketool/trainer/trdata/narc_0176.bin delete mode 100644 files/poketool/trainer/trdata/narc_0177.bin delete mode 100644 files/poketool/trainer/trdata/narc_0178.bin delete mode 100644 files/poketool/trainer/trdata/narc_0179.bin delete mode 100644 files/poketool/trainer/trdata/narc_0180.bin delete mode 100644 files/poketool/trainer/trdata/narc_0181.bin delete mode 100644 files/poketool/trainer/trdata/narc_0182.bin delete mode 100644 files/poketool/trainer/trdata/narc_0183.bin delete mode 100644 files/poketool/trainer/trdata/narc_0184.bin delete mode 100644 files/poketool/trainer/trdata/narc_0185.bin delete mode 100644 files/poketool/trainer/trdata/narc_0186.bin delete mode 100644 files/poketool/trainer/trdata/narc_0187.bin delete mode 100644 files/poketool/trainer/trdata/narc_0188.bin delete mode 100644 files/poketool/trainer/trdata/narc_0189.bin delete mode 100644 files/poketool/trainer/trdata/narc_0190.bin delete mode 100644 files/poketool/trainer/trdata/narc_0191.bin delete mode 100644 files/poketool/trainer/trdata/narc_0192.bin delete mode 100644 files/poketool/trainer/trdata/narc_0193.bin delete mode 100644 files/poketool/trainer/trdata/narc_0194.bin delete mode 100644 files/poketool/trainer/trdata/narc_0195.bin delete mode 100644 files/poketool/trainer/trdata/narc_0196.bin delete mode 100644 files/poketool/trainer/trdata/narc_0197.bin delete mode 100644 files/poketool/trainer/trdata/narc_0198.bin delete mode 100644 files/poketool/trainer/trdata/narc_0199.bin delete mode 100644 files/poketool/trainer/trdata/narc_0200.bin delete mode 100644 files/poketool/trainer/trdata/narc_0201.bin delete mode 100644 files/poketool/trainer/trdata/narc_0202.bin delete mode 100644 files/poketool/trainer/trdata/narc_0203.bin delete mode 100644 files/poketool/trainer/trdata/narc_0204.bin delete mode 100644 files/poketool/trainer/trdata/narc_0205.bin delete mode 100644 files/poketool/trainer/trdata/narc_0206.bin delete mode 100644 files/poketool/trainer/trdata/narc_0207.bin delete mode 100644 files/poketool/trainer/trdata/narc_0208.bin delete mode 100644 files/poketool/trainer/trdata/narc_0209.bin delete mode 100644 files/poketool/trainer/trdata/narc_0210.bin delete mode 100644 files/poketool/trainer/trdata/narc_0211.bin delete mode 100644 files/poketool/trainer/trdata/narc_0212.bin delete mode 100644 files/poketool/trainer/trdata/narc_0213.bin delete mode 100644 files/poketool/trainer/trdata/narc_0214.bin delete mode 100644 files/poketool/trainer/trdata/narc_0215.bin delete mode 100644 files/poketool/trainer/trdata/narc_0216.bin delete mode 100644 files/poketool/trainer/trdata/narc_0217.bin delete mode 100644 files/poketool/trainer/trdata/narc_0218.bin delete mode 100644 files/poketool/trainer/trdata/narc_0219.bin delete mode 100644 files/poketool/trainer/trdata/narc_0220.bin delete mode 100644 files/poketool/trainer/trdata/narc_0221.bin delete mode 100644 files/poketool/trainer/trdata/narc_0222.bin delete mode 100644 files/poketool/trainer/trdata/narc_0223.bin delete mode 100644 files/poketool/trainer/trdata/narc_0224.bin delete mode 100644 files/poketool/trainer/trdata/narc_0225.bin delete mode 100644 files/poketool/trainer/trdata/narc_0226.bin delete mode 100644 files/poketool/trainer/trdata/narc_0227.bin delete mode 100644 files/poketool/trainer/trdata/narc_0228.bin delete mode 100644 files/poketool/trainer/trdata/narc_0229.bin delete mode 100644 files/poketool/trainer/trdata/narc_0230.bin delete mode 100644 files/poketool/trainer/trdata/narc_0231.bin delete mode 100644 files/poketool/trainer/trdata/narc_0232.bin delete mode 100644 files/poketool/trainer/trdata/narc_0233.bin delete mode 100644 files/poketool/trainer/trdata/narc_0234.bin delete mode 100644 files/poketool/trainer/trdata/narc_0235.bin delete mode 100644 files/poketool/trainer/trdata/narc_0236.bin delete mode 100644 files/poketool/trainer/trdata/narc_0237.bin delete mode 100644 files/poketool/trainer/trdata/narc_0238.bin delete mode 100644 files/poketool/trainer/trdata/narc_0239.bin delete mode 100644 files/poketool/trainer/trdata/narc_0240.bin delete mode 100644 files/poketool/trainer/trdata/narc_0241.bin delete mode 100644 files/poketool/trainer/trdata/narc_0242.bin delete mode 100644 files/poketool/trainer/trdata/narc_0243.bin delete mode 100644 files/poketool/trainer/trdata/narc_0244.bin delete mode 100644 files/poketool/trainer/trdata/narc_0245.bin delete mode 100644 files/poketool/trainer/trdata/narc_0246.bin delete mode 100644 files/poketool/trainer/trdata/narc_0247.bin delete mode 100644 files/poketool/trainer/trdata/narc_0248.bin delete mode 100644 files/poketool/trainer/trdata/narc_0249.bin delete mode 100644 files/poketool/trainer/trdata/narc_0250.bin delete mode 100644 files/poketool/trainer/trdata/narc_0251.bin delete mode 100644 files/poketool/trainer/trdata/narc_0252.bin delete mode 100644 files/poketool/trainer/trdata/narc_0253.bin delete mode 100644 files/poketool/trainer/trdata/narc_0254.bin delete mode 100644 files/poketool/trainer/trdata/narc_0255.bin delete mode 100644 files/poketool/trainer/trdata/narc_0256.bin delete mode 100644 files/poketool/trainer/trdata/narc_0257.bin delete mode 100644 files/poketool/trainer/trdata/narc_0258.bin delete mode 100644 files/poketool/trainer/trdata/narc_0259.bin delete mode 100644 files/poketool/trainer/trdata/narc_0260.bin delete mode 100644 files/poketool/trainer/trdata/narc_0261.bin delete mode 100644 files/poketool/trainer/trdata/narc_0262.bin delete mode 100644 files/poketool/trainer/trdata/narc_0263.bin delete mode 100644 files/poketool/trainer/trdata/narc_0264.bin delete mode 100644 files/poketool/trainer/trdata/narc_0265.bin delete mode 100644 files/poketool/trainer/trdata/narc_0266.bin delete mode 100644 files/poketool/trainer/trdata/narc_0267.bin delete mode 100644 files/poketool/trainer/trdata/narc_0268.bin delete mode 100644 files/poketool/trainer/trdata/narc_0269.bin delete mode 100644 files/poketool/trainer/trdata/narc_0270.bin delete mode 100644 files/poketool/trainer/trdata/narc_0271.bin delete mode 100644 files/poketool/trainer/trdata/narc_0272.bin delete mode 100644 files/poketool/trainer/trdata/narc_0273.bin delete mode 100644 files/poketool/trainer/trdata/narc_0274.bin delete mode 100644 files/poketool/trainer/trdata/narc_0275.bin delete mode 100644 files/poketool/trainer/trdata/narc_0276.bin delete mode 100644 files/poketool/trainer/trdata/narc_0277.bin delete mode 100644 files/poketool/trainer/trdata/narc_0278.bin delete mode 100644 files/poketool/trainer/trdata/narc_0279.bin delete mode 100644 files/poketool/trainer/trdata/narc_0280.bin delete mode 100644 files/poketool/trainer/trdata/narc_0281.bin delete mode 100644 files/poketool/trainer/trdata/narc_0282.bin delete mode 100644 files/poketool/trainer/trdata/narc_0283.bin delete mode 100644 files/poketool/trainer/trdata/narc_0284.bin delete mode 100644 files/poketool/trainer/trdata/narc_0285.bin delete mode 100644 files/poketool/trainer/trdata/narc_0286.bin delete mode 100644 files/poketool/trainer/trdata/narc_0287.bin delete mode 100644 files/poketool/trainer/trdata/narc_0288.bin delete mode 100644 files/poketool/trainer/trdata/narc_0289.bin delete mode 100644 files/poketool/trainer/trdata/narc_0290.bin delete mode 100644 files/poketool/trainer/trdata/narc_0291.bin delete mode 100644 files/poketool/trainer/trdata/narc_0292.bin delete mode 100644 files/poketool/trainer/trdata/narc_0293.bin delete mode 100644 files/poketool/trainer/trdata/narc_0294.bin delete mode 100644 files/poketool/trainer/trdata/narc_0295.bin delete mode 100644 files/poketool/trainer/trdata/narc_0296.bin delete mode 100644 files/poketool/trainer/trdata/narc_0297.bin delete mode 100644 files/poketool/trainer/trdata/narc_0298.bin delete mode 100644 files/poketool/trainer/trdata/narc_0299.bin delete mode 100644 files/poketool/trainer/trdata/narc_0300.bin delete mode 100644 files/poketool/trainer/trdata/narc_0301.bin delete mode 100644 files/poketool/trainer/trdata/narc_0302.bin delete mode 100644 files/poketool/trainer/trdata/narc_0303.bin delete mode 100644 files/poketool/trainer/trdata/narc_0304.bin delete mode 100644 files/poketool/trainer/trdata/narc_0305.bin delete mode 100644 files/poketool/trainer/trdata/narc_0306.bin delete mode 100644 files/poketool/trainer/trdata/narc_0307.bin delete mode 100644 files/poketool/trainer/trdata/narc_0308.bin delete mode 100644 files/poketool/trainer/trdata/narc_0309.bin delete mode 100644 files/poketool/trainer/trdata/narc_0310.bin delete mode 100644 files/poketool/trainer/trdata/narc_0311.bin delete mode 100644 files/poketool/trainer/trdata/narc_0312.bin delete mode 100644 files/poketool/trainer/trdata/narc_0313.bin delete mode 100644 files/poketool/trainer/trdata/narc_0314.bin delete mode 100644 files/poketool/trainer/trdata/narc_0315.bin delete mode 100644 files/poketool/trainer/trdata/narc_0316.bin delete mode 100644 files/poketool/trainer/trdata/narc_0317.bin delete mode 100644 files/poketool/trainer/trdata/narc_0318.bin delete mode 100644 files/poketool/trainer/trdata/narc_0319.bin delete mode 100644 files/poketool/trainer/trdata/narc_0320.bin delete mode 100644 files/poketool/trainer/trdata/narc_0321.bin delete mode 100644 files/poketool/trainer/trdata/narc_0322.bin delete mode 100644 files/poketool/trainer/trdata/narc_0323.bin delete mode 100644 files/poketool/trainer/trdata/narc_0324.bin delete mode 100644 files/poketool/trainer/trdata/narc_0325.bin delete mode 100644 files/poketool/trainer/trdata/narc_0326.bin delete mode 100644 files/poketool/trainer/trdata/narc_0327.bin delete mode 100644 files/poketool/trainer/trdata/narc_0328.bin delete mode 100644 files/poketool/trainer/trdata/narc_0329.bin delete mode 100644 files/poketool/trainer/trdata/narc_0330.bin delete mode 100644 files/poketool/trainer/trdata/narc_0331.bin delete mode 100644 files/poketool/trainer/trdata/narc_0332.bin delete mode 100644 files/poketool/trainer/trdata/narc_0333.bin delete mode 100644 files/poketool/trainer/trdata/narc_0334.bin delete mode 100644 files/poketool/trainer/trdata/narc_0335.bin delete mode 100644 files/poketool/trainer/trdata/narc_0336.bin delete mode 100644 files/poketool/trainer/trdata/narc_0337.bin delete mode 100644 files/poketool/trainer/trdata/narc_0338.bin delete mode 100644 files/poketool/trainer/trdata/narc_0339.bin delete mode 100644 files/poketool/trainer/trdata/narc_0340.bin delete mode 100644 files/poketool/trainer/trdata/narc_0341.bin delete mode 100644 files/poketool/trainer/trdata/narc_0342.bin delete mode 100644 files/poketool/trainer/trdata/narc_0343.bin delete mode 100644 files/poketool/trainer/trdata/narc_0344.bin delete mode 100644 files/poketool/trainer/trdata/narc_0345.bin delete mode 100644 files/poketool/trainer/trdata/narc_0346.bin delete mode 100644 files/poketool/trainer/trdata/narc_0347.bin delete mode 100644 files/poketool/trainer/trdata/narc_0348.bin delete mode 100644 files/poketool/trainer/trdata/narc_0349.bin delete mode 100644 files/poketool/trainer/trdata/narc_0350.bin delete mode 100644 files/poketool/trainer/trdata/narc_0351.bin delete mode 100644 files/poketool/trainer/trdata/narc_0352.bin delete mode 100644 files/poketool/trainer/trdata/narc_0353.bin delete mode 100644 files/poketool/trainer/trdata/narc_0354.bin delete mode 100644 files/poketool/trainer/trdata/narc_0355.bin delete mode 100644 files/poketool/trainer/trdata/narc_0356.bin delete mode 100644 files/poketool/trainer/trdata/narc_0357.bin delete mode 100644 files/poketool/trainer/trdata/narc_0358.bin delete mode 100644 files/poketool/trainer/trdata/narc_0359.bin delete mode 100644 files/poketool/trainer/trdata/narc_0360.bin delete mode 100644 files/poketool/trainer/trdata/narc_0361.bin delete mode 100644 files/poketool/trainer/trdata/narc_0362.bin delete mode 100644 files/poketool/trainer/trdata/narc_0363.bin delete mode 100644 files/poketool/trainer/trdata/narc_0364.bin delete mode 100644 files/poketool/trainer/trdata/narc_0365.bin delete mode 100644 files/poketool/trainer/trdata/narc_0366.bin delete mode 100644 files/poketool/trainer/trdata/narc_0367.bin delete mode 100644 files/poketool/trainer/trdata/narc_0368.bin delete mode 100644 files/poketool/trainer/trdata/narc_0369.bin delete mode 100644 files/poketool/trainer/trdata/narc_0370.bin delete mode 100644 files/poketool/trainer/trdata/narc_0371.bin delete mode 100644 files/poketool/trainer/trdata/narc_0372.bin delete mode 100644 files/poketool/trainer/trdata/narc_0373.bin delete mode 100644 files/poketool/trainer/trdata/narc_0374.bin delete mode 100644 files/poketool/trainer/trdata/narc_0375.bin delete mode 100644 files/poketool/trainer/trdata/narc_0376.bin delete mode 100644 files/poketool/trainer/trdata/narc_0377.bin delete mode 100644 files/poketool/trainer/trdata/narc_0378.bin delete mode 100644 files/poketool/trainer/trdata/narc_0379.bin delete mode 100644 files/poketool/trainer/trdata/narc_0380.bin delete mode 100644 files/poketool/trainer/trdata/narc_0381.bin delete mode 100644 files/poketool/trainer/trdata/narc_0382.bin delete mode 100644 files/poketool/trainer/trdata/narc_0383.bin delete mode 100644 files/poketool/trainer/trdata/narc_0384.bin delete mode 100644 files/poketool/trainer/trdata/narc_0385.bin delete mode 100644 files/poketool/trainer/trdata/narc_0386.bin delete mode 100644 files/poketool/trainer/trdata/narc_0387.bin delete mode 100644 files/poketool/trainer/trdata/narc_0388.bin delete mode 100644 files/poketool/trainer/trdata/narc_0389.bin delete mode 100644 files/poketool/trainer/trdata/narc_0390.bin delete mode 100644 files/poketool/trainer/trdata/narc_0391.bin delete mode 100644 files/poketool/trainer/trdata/narc_0392.bin delete mode 100644 files/poketool/trainer/trdata/narc_0393.bin delete mode 100644 files/poketool/trainer/trdata/narc_0394.bin delete mode 100644 files/poketool/trainer/trdata/narc_0395.bin delete mode 100644 files/poketool/trainer/trdata/narc_0396.bin delete mode 100644 files/poketool/trainer/trdata/narc_0397.bin delete mode 100644 files/poketool/trainer/trdata/narc_0398.bin delete mode 100644 files/poketool/trainer/trdata/narc_0399.bin delete mode 100644 files/poketool/trainer/trdata/narc_0400.bin delete mode 100644 files/poketool/trainer/trdata/narc_0401.bin delete mode 100644 files/poketool/trainer/trdata/narc_0402.bin delete mode 100644 files/poketool/trainer/trdata/narc_0403.bin delete mode 100644 files/poketool/trainer/trdata/narc_0404.bin delete mode 100644 files/poketool/trainer/trdata/narc_0405.bin delete mode 100644 files/poketool/trainer/trdata/narc_0406.bin delete mode 100644 files/poketool/trainer/trdata/narc_0407.bin delete mode 100644 files/poketool/trainer/trdata/narc_0408.bin delete mode 100644 files/poketool/trainer/trdata/narc_0409.bin delete mode 100644 files/poketool/trainer/trdata/narc_0410.bin delete mode 100644 files/poketool/trainer/trdata/narc_0411.bin delete mode 100644 files/poketool/trainer/trdata/narc_0412.bin delete mode 100644 files/poketool/trainer/trdata/narc_0413.bin delete mode 100644 files/poketool/trainer/trdata/narc_0414.bin delete mode 100644 files/poketool/trainer/trdata/narc_0415.bin delete mode 100644 files/poketool/trainer/trdata/narc_0416.bin delete mode 100644 files/poketool/trainer/trdata/narc_0417.bin delete mode 100644 files/poketool/trainer/trdata/narc_0418.bin delete mode 100644 files/poketool/trainer/trdata/narc_0419.bin delete mode 100644 files/poketool/trainer/trdata/narc_0420.bin delete mode 100644 files/poketool/trainer/trdata/narc_0421.bin delete mode 100644 files/poketool/trainer/trdata/narc_0422.bin delete mode 100644 files/poketool/trainer/trdata/narc_0423.bin delete mode 100644 files/poketool/trainer/trdata/narc_0424.bin delete mode 100644 files/poketool/trainer/trdata/narc_0425.bin delete mode 100644 files/poketool/trainer/trdata/narc_0426.bin delete mode 100644 files/poketool/trainer/trdata/narc_0427.bin delete mode 100644 files/poketool/trainer/trdata/narc_0428.bin delete mode 100644 files/poketool/trainer/trdata/narc_0429.bin delete mode 100644 files/poketool/trainer/trdata/narc_0430.bin delete mode 100644 files/poketool/trainer/trdata/narc_0431.bin delete mode 100644 files/poketool/trainer/trdata/narc_0432.bin delete mode 100644 files/poketool/trainer/trdata/narc_0433.bin delete mode 100644 files/poketool/trainer/trdata/narc_0434.bin delete mode 100644 files/poketool/trainer/trdata/narc_0435.bin delete mode 100644 files/poketool/trainer/trdata/narc_0436.bin delete mode 100644 files/poketool/trainer/trdata/narc_0437.bin delete mode 100644 files/poketool/trainer/trdata/narc_0438.bin delete mode 100644 files/poketool/trainer/trdata/narc_0439.bin delete mode 100644 files/poketool/trainer/trdata/narc_0440.bin delete mode 100644 files/poketool/trainer/trdata/narc_0441.bin delete mode 100644 files/poketool/trainer/trdata/narc_0442.bin delete mode 100644 files/poketool/trainer/trdata/narc_0443.bin delete mode 100644 files/poketool/trainer/trdata/narc_0444.bin delete mode 100644 files/poketool/trainer/trdata/narc_0445.bin delete mode 100644 files/poketool/trainer/trdata/narc_0446.bin delete mode 100644 files/poketool/trainer/trdata/narc_0447.bin delete mode 100644 files/poketool/trainer/trdata/narc_0448.bin delete mode 100644 files/poketool/trainer/trdata/narc_0449.bin delete mode 100644 files/poketool/trainer/trdata/narc_0450.bin delete mode 100644 files/poketool/trainer/trdata/narc_0451.bin delete mode 100644 files/poketool/trainer/trdata/narc_0452.bin delete mode 100644 files/poketool/trainer/trdata/narc_0453.bin delete mode 100644 files/poketool/trainer/trdata/narc_0454.bin delete mode 100644 files/poketool/trainer/trdata/narc_0455.bin delete mode 100644 files/poketool/trainer/trdata/narc_0456.bin delete mode 100644 files/poketool/trainer/trdata/narc_0457.bin delete mode 100644 files/poketool/trainer/trdata/narc_0458.bin delete mode 100644 files/poketool/trainer/trdata/narc_0459.bin delete mode 100644 files/poketool/trainer/trdata/narc_0460.bin delete mode 100644 files/poketool/trainer/trdata/narc_0461.bin delete mode 100644 files/poketool/trainer/trdata/narc_0462.bin delete mode 100644 files/poketool/trainer/trdata/narc_0463.bin delete mode 100644 files/poketool/trainer/trdata/narc_0464.bin delete mode 100644 files/poketool/trainer/trdata/narc_0465.bin delete mode 100644 files/poketool/trainer/trdata/narc_0466.bin delete mode 100644 files/poketool/trainer/trdata/narc_0467.bin delete mode 100644 files/poketool/trainer/trdata/narc_0468.bin delete mode 100644 files/poketool/trainer/trdata/narc_0469.bin delete mode 100644 files/poketool/trainer/trdata/narc_0470.bin delete mode 100644 files/poketool/trainer/trdata/narc_0471.bin delete mode 100644 files/poketool/trainer/trdata/narc_0472.bin delete mode 100644 files/poketool/trainer/trdata/narc_0473.bin delete mode 100644 files/poketool/trainer/trdata/narc_0474.bin delete mode 100644 files/poketool/trainer/trdata/narc_0475.bin delete mode 100644 files/poketool/trainer/trdata/narc_0476.bin delete mode 100644 files/poketool/trainer/trdata/narc_0477.bin delete mode 100644 files/poketool/trainer/trdata/narc_0478.bin delete mode 100644 files/poketool/trainer/trdata/narc_0479.bin delete mode 100644 files/poketool/trainer/trdata/narc_0480.bin delete mode 100644 files/poketool/trainer/trdata/narc_0481.bin delete mode 100644 files/poketool/trainer/trdata/narc_0482.bin delete mode 100644 files/poketool/trainer/trdata/narc_0483.bin delete mode 100644 files/poketool/trainer/trdata/narc_0484.bin delete mode 100644 files/poketool/trainer/trdata/narc_0485.bin delete mode 100644 files/poketool/trainer/trdata/narc_0486.bin delete mode 100644 files/poketool/trainer/trdata/narc_0487.bin delete mode 100644 files/poketool/trainer/trdata/narc_0488.bin delete mode 100644 files/poketool/trainer/trdata/narc_0489.bin delete mode 100644 files/poketool/trainer/trdata/narc_0490.bin delete mode 100644 files/poketool/trainer/trdata/narc_0491.bin delete mode 100644 files/poketool/trainer/trdata/narc_0492.bin delete mode 100644 files/poketool/trainer/trdata/narc_0493.bin delete mode 100644 files/poketool/trainer/trdata/narc_0494.bin delete mode 100644 files/poketool/trainer/trdata/narc_0495.bin delete mode 100644 files/poketool/trainer/trdata/narc_0496.bin delete mode 100644 files/poketool/trainer/trdata/narc_0497.bin delete mode 100644 files/poketool/trainer/trdata/narc_0498.bin delete mode 100644 files/poketool/trainer/trdata/narc_0499.bin delete mode 100644 files/poketool/trainer/trdata/narc_0500.bin delete mode 100644 files/poketool/trainer/trdata/narc_0501.bin delete mode 100644 files/poketool/trainer/trdata/narc_0502.bin delete mode 100644 files/poketool/trainer/trdata/narc_0503.bin delete mode 100644 files/poketool/trainer/trdata/narc_0504.bin delete mode 100644 files/poketool/trainer/trdata/narc_0505.bin delete mode 100644 files/poketool/trainer/trdata/narc_0506.bin delete mode 100644 files/poketool/trainer/trdata/narc_0507.bin delete mode 100644 files/poketool/trainer/trdata/narc_0508.bin delete mode 100644 files/poketool/trainer/trdata/narc_0509.bin delete mode 100644 files/poketool/trainer/trdata/narc_0510.bin delete mode 100644 files/poketool/trainer/trdata/narc_0511.bin delete mode 100644 files/poketool/trainer/trdata/narc_0512.bin delete mode 100644 files/poketool/trainer/trdata/narc_0513.bin delete mode 100644 files/poketool/trainer/trdata/narc_0514.bin delete mode 100644 files/poketool/trainer/trdata/narc_0515.bin delete mode 100644 files/poketool/trainer/trdata/narc_0516.bin delete mode 100644 files/poketool/trainer/trdata/narc_0517.bin delete mode 100644 files/poketool/trainer/trdata/narc_0518.bin delete mode 100644 files/poketool/trainer/trdata/narc_0519.bin delete mode 100644 files/poketool/trainer/trdata/narc_0520.bin delete mode 100644 files/poketool/trainer/trdata/narc_0521.bin delete mode 100644 files/poketool/trainer/trdata/narc_0522.bin delete mode 100644 files/poketool/trainer/trdata/narc_0523.bin delete mode 100644 files/poketool/trainer/trdata/narc_0524.bin delete mode 100644 files/poketool/trainer/trdata/narc_0525.bin delete mode 100644 files/poketool/trainer/trdata/narc_0526.bin delete mode 100644 files/poketool/trainer/trdata/narc_0527.bin delete mode 100644 files/poketool/trainer/trdata/narc_0528.bin delete mode 100644 files/poketool/trainer/trdata/narc_0529.bin delete mode 100644 files/poketool/trainer/trdata/narc_0530.bin delete mode 100644 files/poketool/trainer/trdata/narc_0531.bin delete mode 100644 files/poketool/trainer/trdata/narc_0532.bin delete mode 100644 files/poketool/trainer/trdata/narc_0533.bin delete mode 100644 files/poketool/trainer/trdata/narc_0534.bin delete mode 100644 files/poketool/trainer/trdata/narc_0535.bin delete mode 100644 files/poketool/trainer/trdata/narc_0536.bin delete mode 100644 files/poketool/trainer/trdata/narc_0537.bin delete mode 100644 files/poketool/trainer/trdata/narc_0538.bin delete mode 100644 files/poketool/trainer/trdata/narc_0539.bin delete mode 100644 files/poketool/trainer/trdata/narc_0540.bin delete mode 100644 files/poketool/trainer/trdata/narc_0541.bin delete mode 100644 files/poketool/trainer/trdata/narc_0542.bin delete mode 100644 files/poketool/trainer/trdata/narc_0543.bin delete mode 100644 files/poketool/trainer/trdata/narc_0544.bin delete mode 100644 files/poketool/trainer/trdata/narc_0545.bin delete mode 100644 files/poketool/trainer/trdata/narc_0546.bin delete mode 100644 files/poketool/trainer/trdata/narc_0547.bin delete mode 100644 files/poketool/trainer/trdata/narc_0548.bin delete mode 100644 files/poketool/trainer/trdata/narc_0549.bin delete mode 100644 files/poketool/trainer/trdata/narc_0550.bin delete mode 100644 files/poketool/trainer/trdata/narc_0551.bin delete mode 100644 files/poketool/trainer/trdata/narc_0552.bin delete mode 100644 files/poketool/trainer/trdata/narc_0553.bin delete mode 100644 files/poketool/trainer/trdata/narc_0554.bin delete mode 100644 files/poketool/trainer/trdata/narc_0555.bin delete mode 100644 files/poketool/trainer/trdata/narc_0556.bin delete mode 100644 files/poketool/trainer/trdata/narc_0557.bin delete mode 100644 files/poketool/trainer/trdata/narc_0558.bin delete mode 100644 files/poketool/trainer/trdata/narc_0559.bin delete mode 100644 files/poketool/trainer/trdata/narc_0560.bin delete mode 100644 files/poketool/trainer/trdata/narc_0561.bin delete mode 100644 files/poketool/trainer/trdata/narc_0562.bin delete mode 100644 files/poketool/trainer/trdata/narc_0563.bin delete mode 100644 files/poketool/trainer/trdata/narc_0564.bin delete mode 100644 files/poketool/trainer/trdata/narc_0565.bin delete mode 100644 files/poketool/trainer/trdata/narc_0566.bin delete mode 100644 files/poketool/trainer/trdata/narc_0567.bin delete mode 100644 files/poketool/trainer/trdata/narc_0568.bin delete mode 100644 files/poketool/trainer/trdata/narc_0569.bin delete mode 100644 files/poketool/trainer/trdata/narc_0570.bin delete mode 100644 files/poketool/trainer/trdata/narc_0571.bin delete mode 100644 files/poketool/trainer/trdata/narc_0572.bin delete mode 100644 files/poketool/trainer/trdata/narc_0573.bin delete mode 100644 files/poketool/trainer/trdata/narc_0574.bin delete mode 100644 files/poketool/trainer/trdata/narc_0575.bin delete mode 100644 files/poketool/trainer/trdata/narc_0576.bin delete mode 100644 files/poketool/trainer/trdata/narc_0577.bin delete mode 100644 files/poketool/trainer/trdata/narc_0578.bin delete mode 100644 files/poketool/trainer/trdata/narc_0579.bin delete mode 100644 files/poketool/trainer/trdata/narc_0580.bin delete mode 100644 files/poketool/trainer/trdata/narc_0581.bin delete mode 100644 files/poketool/trainer/trdata/narc_0582.bin delete mode 100644 files/poketool/trainer/trdata/narc_0583.bin delete mode 100644 files/poketool/trainer/trdata/narc_0584.bin delete mode 100644 files/poketool/trainer/trdata/narc_0585.bin delete mode 100644 files/poketool/trainer/trdata/narc_0586.bin delete mode 100644 files/poketool/trainer/trdata/narc_0587.bin delete mode 100644 files/poketool/trainer/trdata/narc_0588.bin delete mode 100644 files/poketool/trainer/trdata/narc_0589.bin delete mode 100644 files/poketool/trainer/trdata/narc_0590.bin delete mode 100644 files/poketool/trainer/trdata/narc_0591.bin delete mode 100644 files/poketool/trainer/trdata/narc_0592.bin delete mode 100644 files/poketool/trainer/trdata/narc_0593.bin delete mode 100644 files/poketool/trainer/trdata/narc_0594.bin delete mode 100644 files/poketool/trainer/trdata/narc_0595.bin delete mode 100644 files/poketool/trainer/trdata/narc_0596.bin delete mode 100644 files/poketool/trainer/trdata/narc_0597.bin delete mode 100644 files/poketool/trainer/trdata/narc_0598.bin delete mode 100644 files/poketool/trainer/trdata/narc_0599.bin delete mode 100644 files/poketool/trainer/trdata/narc_0600.bin delete mode 100644 files/poketool/trainer/trdata/narc_0601.bin delete mode 100644 files/poketool/trainer/trdata/narc_0602.bin delete mode 100644 files/poketool/trainer/trdata/narc_0603.bin delete mode 100644 files/poketool/trainer/trdata/narc_0604.bin delete mode 100644 files/poketool/trainer/trdata/narc_0605.bin delete mode 100644 files/poketool/trainer/trdata/narc_0606.bin delete mode 100644 files/poketool/trainer/trdata/narc_0607.bin delete mode 100644 files/poketool/trainer/trdata/narc_0608.bin delete mode 100644 files/poketool/trainer/trdata/narc_0609.bin delete mode 100644 files/poketool/trainer/trdata/narc_0610.bin delete mode 100644 files/poketool/trainer/trdata/narc_0611.bin delete mode 100644 files/poketool/trainer/trdata/narc_0612.bin delete mode 100644 files/poketool/trainer/trdata/narc_0613.bin delete mode 100644 files/poketool/trainer/trdata/narc_0614.bin delete mode 100644 files/poketool/trainer/trdata/narc_0615.bin delete mode 100644 files/poketool/trainer/trdata/narc_0616.bin delete mode 100644 files/poketool/trainer/trdata/narc_0617.bin delete mode 100644 files/poketool/trainer/trdata/narc_0618.bin delete mode 100644 files/poketool/trainer/trdata/narc_0619.bin delete mode 100644 files/poketool/trainer/trdata/narc_0620.bin delete mode 100644 files/poketool/trainer/trdata/narc_0621.bin delete mode 100644 files/poketool/trainer/trdata/narc_0622.bin delete mode 100644 files/poketool/trainer/trdata/narc_0623.bin delete mode 100644 files/poketool/trainer/trdata/narc_0624.bin delete mode 100644 files/poketool/trainer/trdata/narc_0625.bin delete mode 100644 files/poketool/trainer/trdata/narc_0626.bin delete mode 100644 files/poketool/trainer/trdata/narc_0627.bin delete mode 100644 files/poketool/trainer/trdata/narc_0628.bin delete mode 100644 files/poketool/trainer/trdata/narc_0629.bin delete mode 100644 files/poketool/trainer/trdata/narc_0630.bin delete mode 100644 files/poketool/trainer/trdata/narc_0631.bin delete mode 100644 files/poketool/trainer/trdata/narc_0632.bin delete mode 100644 files/poketool/trainer/trdata/narc_0633.bin delete mode 100644 files/poketool/trainer/trdata/narc_0634.bin delete mode 100644 files/poketool/trainer/trdata/narc_0635.bin delete mode 100644 files/poketool/trainer/trdata/narc_0636.bin delete mode 100644 files/poketool/trainer/trdata/narc_0637.bin delete mode 100644 files/poketool/trainer/trdata/narc_0638.bin delete mode 100644 files/poketool/trainer/trdata/narc_0639.bin delete mode 100644 files/poketool/trainer/trdata/narc_0640.bin delete mode 100644 files/poketool/trainer/trdata/narc_0641.bin delete mode 100644 files/poketool/trainer/trdata/narc_0642.bin delete mode 100644 files/poketool/trainer/trdata/narc_0643.bin delete mode 100644 files/poketool/trainer/trdata/narc_0644.bin delete mode 100644 files/poketool/trainer/trdata/narc_0645.bin delete mode 100644 files/poketool/trainer/trdata/narc_0646.bin delete mode 100644 files/poketool/trainer/trdata/narc_0647.bin delete mode 100644 files/poketool/trainer/trdata/narc_0648.bin delete mode 100644 files/poketool/trainer/trdata/narc_0649.bin delete mode 100644 files/poketool/trainer/trdata/narc_0650.bin delete mode 100644 files/poketool/trainer/trdata/narc_0651.bin delete mode 100644 files/poketool/trainer/trdata/narc_0652.bin delete mode 100644 files/poketool/trainer/trdata/narc_0653.bin delete mode 100644 files/poketool/trainer/trdata/narc_0654.bin delete mode 100644 files/poketool/trainer/trdata/narc_0655.bin delete mode 100644 files/poketool/trainer/trdata/narc_0656.bin delete mode 100644 files/poketool/trainer/trdata/narc_0657.bin delete mode 100644 files/poketool/trainer/trdata/narc_0658.bin delete mode 100644 files/poketool/trainer/trdata/narc_0659.bin delete mode 100644 files/poketool/trainer/trdata/narc_0660.bin delete mode 100644 files/poketool/trainer/trdata/narc_0661.bin delete mode 100644 files/poketool/trainer/trdata/narc_0662.bin delete mode 100644 files/poketool/trainer/trdata/narc_0663.bin delete mode 100644 files/poketool/trainer/trdata/narc_0664.bin delete mode 100644 files/poketool/trainer/trdata/narc_0665.bin delete mode 100644 files/poketool/trainer/trdata/narc_0666.bin delete mode 100644 files/poketool/trainer/trdata/narc_0667.bin delete mode 100644 files/poketool/trainer/trdata/narc_0668.bin delete mode 100644 files/poketool/trainer/trdata/narc_0669.bin delete mode 100644 files/poketool/trainer/trdata/narc_0670.bin delete mode 100644 files/poketool/trainer/trdata/narc_0671.bin delete mode 100644 files/poketool/trainer/trdata/narc_0672.bin delete mode 100644 files/poketool/trainer/trdata/narc_0673.bin delete mode 100644 files/poketool/trainer/trdata/narc_0674.bin delete mode 100644 files/poketool/trainer/trdata/narc_0675.bin delete mode 100644 files/poketool/trainer/trdata/narc_0676.bin delete mode 100644 files/poketool/trainer/trdata/narc_0677.bin delete mode 100644 files/poketool/trainer/trdata/narc_0678.bin delete mode 100644 files/poketool/trainer/trdata/narc_0679.bin delete mode 100644 files/poketool/trainer/trdata/narc_0680.bin delete mode 100644 files/poketool/trainer/trdata/narc_0681.bin delete mode 100644 files/poketool/trainer/trdata/narc_0682.bin delete mode 100644 files/poketool/trainer/trdata/narc_0683.bin delete mode 100644 files/poketool/trainer/trdata/narc_0684.bin delete mode 100644 files/poketool/trainer/trdata/narc_0685.bin delete mode 100644 files/poketool/trainer/trdata/narc_0686.bin delete mode 100644 files/poketool/trainer/trdata/narc_0687.bin delete mode 100644 files/poketool/trainer/trdata/narc_0688.bin delete mode 100644 files/poketool/trainer/trdata/narc_0689.bin delete mode 100644 files/poketool/trainer/trdata/narc_0690.bin delete mode 100644 files/poketool/trainer/trdata/narc_0691.bin delete mode 100644 files/poketool/trainer/trdata/narc_0692.bin delete mode 100644 files/poketool/trainer/trdata/narc_0693.bin delete mode 100644 files/poketool/trainer/trdata/narc_0694.bin delete mode 100644 files/poketool/trainer/trdata/narc_0695.bin delete mode 100644 files/poketool/trainer/trdata/narc_0696.bin delete mode 100644 files/poketool/trainer/trdata/narc_0697.bin delete mode 100644 files/poketool/trainer/trdata/narc_0698.bin delete mode 100644 files/poketool/trainer/trdata/narc_0699.bin delete mode 100644 files/poketool/trainer/trdata/narc_0700.bin delete mode 100644 files/poketool/trainer/trdata/narc_0701.bin delete mode 100644 files/poketool/trainer/trdata/narc_0702.bin delete mode 100644 files/poketool/trainer/trdata/narc_0703.bin delete mode 100644 files/poketool/trainer/trdata/narc_0704.bin delete mode 100644 files/poketool/trainer/trdata/narc_0705.bin delete mode 100644 files/poketool/trainer/trdata/narc_0706.bin delete mode 100644 files/poketool/trainer/trdata/narc_0707.bin delete mode 100644 files/poketool/trainer/trdata/narc_0708.bin delete mode 100644 files/poketool/trainer/trdata/narc_0709.bin delete mode 100644 files/poketool/trainer/trdata/narc_0710.bin delete mode 100644 files/poketool/trainer/trdata/narc_0711.bin delete mode 100644 files/poketool/trainer/trdata/narc_0712.bin delete mode 100644 files/poketool/trainer/trdata/narc_0713.bin delete mode 100644 files/poketool/trainer/trdata/narc_0714.bin delete mode 100644 files/poketool/trainer/trdata/narc_0715.bin delete mode 100644 files/poketool/trainer/trdata/narc_0716.bin delete mode 100644 files/poketool/trainer/trdata/narc_0717.bin delete mode 100644 files/poketool/trainer/trdata/narc_0718.bin delete mode 100644 files/poketool/trainer/trdata/narc_0719.bin delete mode 100644 files/poketool/trainer/trdata/narc_0720.bin delete mode 100644 files/poketool/trainer/trdata/narc_0721.bin delete mode 100644 files/poketool/trainer/trdata/narc_0722.bin delete mode 100644 files/poketool/trainer/trdata/narc_0723.bin delete mode 100644 files/poketool/trainer/trdata/narc_0724.bin delete mode 100644 files/poketool/trainer/trdata/narc_0725.bin delete mode 100644 files/poketool/trainer/trdata/narc_0726.bin delete mode 100644 files/poketool/trainer/trdata/narc_0727.bin delete mode 100644 files/poketool/trainer/trdata/narc_0728.bin delete mode 100644 files/poketool/trainer/trdata/narc_0729.bin delete mode 100644 files/poketool/trainer/trdata/narc_0730.bin delete mode 100644 files/poketool/trainer/trdata/narc_0731.bin delete mode 100644 files/poketool/trainer/trdata/narc_0732.bin delete mode 100644 files/poketool/trainer/trdata/narc_0733.bin delete mode 100644 files/poketool/trainer/trdata/narc_0734.bin delete mode 100644 files/poketool/trainer/trdata/narc_0735.bin delete mode 100644 files/poketool/trainer/trdata/narc_0736.bin delete mode 100644 files/poketool/trainer/trdata/narc_0737.bin delete mode 100644 files/poketool/trainer/trdata/narc_0738.bin delete mode 100644 files/poketool/trainer/trdata/narc_0739.bin delete mode 100644 files/poketool/trainer/trdata/narc_0740.bin delete mode 100644 files/poketool/trainer/trdata/narc_0741.bin delete mode 100644 files/poketool/trainer/trdata/narc_0742.bin delete mode 100644 files/poketool/trainer/trdata/narc_0743.bin delete mode 100644 files/poketool/trainer/trdata/narc_0744.bin delete mode 100644 files/poketool/trainer/trdata/narc_0745.bin delete mode 100644 files/poketool/trainer/trdata/narc_0746.bin delete mode 100644 files/poketool/trainer/trdata/narc_0747.bin delete mode 100644 files/poketool/trainer/trdata/narc_0748.bin delete mode 100644 files/poketool/trainer/trdata/narc_0749.bin delete mode 100644 files/poketool/trainer/trdata/narc_0750.bin delete mode 100644 files/poketool/trainer/trdata/narc_0751.bin delete mode 100644 files/poketool/trainer/trdata/narc_0752.bin delete mode 100644 files/poketool/trainer/trdata/narc_0753.bin delete mode 100644 files/poketool/trainer/trdata/narc_0754.bin delete mode 100644 files/poketool/trainer/trdata/narc_0755.bin delete mode 100644 files/poketool/trainer/trdata/narc_0756.bin delete mode 100644 files/poketool/trainer/trdata/narc_0757.bin delete mode 100644 files/poketool/trainer/trdata/narc_0758.bin delete mode 100644 files/poketool/trainer/trdata/narc_0759.bin delete mode 100644 files/poketool/trainer/trdata/narc_0760.bin delete mode 100644 files/poketool/trainer/trdata/narc_0761.bin delete mode 100644 files/poketool/trainer/trdata/narc_0762.bin delete mode 100644 files/poketool/trainer/trdata/narc_0763.bin delete mode 100644 files/poketool/trainer/trdata/narc_0764.bin delete mode 100644 files/poketool/trainer/trdata/narc_0765.bin delete mode 100644 files/poketool/trainer/trdata/narc_0766.bin delete mode 100644 files/poketool/trainer/trdata/narc_0767.bin delete mode 100644 files/poketool/trainer/trdata/narc_0768.bin delete mode 100644 files/poketool/trainer/trdata/narc_0769.bin delete mode 100644 files/poketool/trainer/trdata/narc_0770.bin delete mode 100644 files/poketool/trainer/trdata/narc_0771.bin delete mode 100644 files/poketool/trainer/trdata/narc_0772.bin delete mode 100644 files/poketool/trainer/trdata/narc_0773.bin delete mode 100644 files/poketool/trainer/trdata/narc_0774.bin delete mode 100644 files/poketool/trainer/trdata/narc_0775.bin delete mode 100644 files/poketool/trainer/trdata/narc_0776.bin delete mode 100644 files/poketool/trainer/trdata/narc_0777.bin delete mode 100644 files/poketool/trainer/trdata/narc_0778.bin delete mode 100644 files/poketool/trainer/trdata/narc_0779.bin delete mode 100644 files/poketool/trainer/trdata/narc_0780.bin delete mode 100644 files/poketool/trainer/trdata/narc_0781.bin delete mode 100644 files/poketool/trainer/trdata/narc_0782.bin delete mode 100644 files/poketool/trainer/trdata/narc_0783.bin delete mode 100644 files/poketool/trainer/trdata/narc_0784.bin delete mode 100644 files/poketool/trainer/trdata/narc_0785.bin delete mode 100644 files/poketool/trainer/trdata/narc_0786.bin delete mode 100644 files/poketool/trainer/trdata/narc_0787.bin delete mode 100644 files/poketool/trainer/trdata/narc_0788.bin delete mode 100644 files/poketool/trainer/trdata/narc_0789.bin delete mode 100644 files/poketool/trainer/trdata/narc_0790.bin delete mode 100644 files/poketool/trainer/trdata/narc_0791.bin delete mode 100644 files/poketool/trainer/trdata/narc_0792.bin delete mode 100644 files/poketool/trainer/trdata/narc_0793.bin delete mode 100644 files/poketool/trainer/trdata/narc_0794.bin delete mode 100644 files/poketool/trainer/trdata/narc_0795.bin delete mode 100644 files/poketool/trainer/trdata/narc_0796.bin delete mode 100644 files/poketool/trainer/trdata/narc_0797.bin delete mode 100644 files/poketool/trainer/trdata/narc_0798.bin delete mode 100644 files/poketool/trainer/trdata/narc_0799.bin delete mode 100644 files/poketool/trainer/trdata/narc_0800.bin delete mode 100644 files/poketool/trainer/trdata/narc_0801.bin delete mode 100644 files/poketool/trainer/trdata/narc_0802.bin delete mode 100644 files/poketool/trainer/trdata/narc_0803.bin delete mode 100644 files/poketool/trainer/trdata/narc_0804.bin delete mode 100644 files/poketool/trainer/trdata/narc_0805.bin delete mode 100644 files/poketool/trainer/trdata/narc_0806.bin delete mode 100644 files/poketool/trainer/trdata/narc_0807.bin delete mode 100644 files/poketool/trainer/trdata/narc_0808.bin delete mode 100644 files/poketool/trainer/trdata/narc_0809.bin delete mode 100644 files/poketool/trainer/trdata/narc_0810.bin delete mode 100644 files/poketool/trainer/trdata/narc_0811.bin delete mode 100644 files/poketool/trainer/trdata/narc_0812.bin delete mode 100644 files/poketool/trainer/trdata/narc_0813.bin delete mode 100644 files/poketool/trainer/trdata/narc_0814.bin delete mode 100644 files/poketool/trainer/trdata/narc_0815.bin delete mode 100644 files/poketool/trainer/trdata/narc_0816.bin delete mode 100644 files/poketool/trainer/trdata/narc_0817.bin delete mode 100644 files/poketool/trainer/trdata/narc_0818.bin delete mode 100644 files/poketool/trainer/trdata/narc_0819.bin delete mode 100644 files/poketool/trainer/trdata/narc_0820.bin delete mode 100644 files/poketool/trainer/trdata/narc_0821.bin delete mode 100644 files/poketool/trainer/trdata/narc_0822.bin delete mode 100644 files/poketool/trainer/trdata/narc_0823.bin delete mode 100644 files/poketool/trainer/trdata/narc_0824.bin delete mode 100644 files/poketool/trainer/trdata/narc_0825.bin delete mode 100644 files/poketool/trainer/trdata/narc_0826.bin delete mode 100644 files/poketool/trainer/trdata/narc_0827.bin delete mode 100644 files/poketool/trainer/trdata/narc_0828.bin delete mode 100644 files/poketool/trainer/trdata/narc_0829.bin delete mode 100644 files/poketool/trainer/trdata/narc_0830.bin delete mode 100644 files/poketool/trainer/trdata/narc_0831.bin delete mode 100644 files/poketool/trainer/trdata/narc_0832.bin delete mode 100644 files/poketool/trainer/trdata/narc_0833.bin delete mode 100644 files/poketool/trainer/trdata/narc_0834.bin delete mode 100644 files/poketool/trainer/trdata/narc_0835.bin delete mode 100644 files/poketool/trainer/trdata/narc_0836.bin delete mode 100644 files/poketool/trainer/trdata/narc_0837.bin delete mode 100644 files/poketool/trainer/trdata/narc_0838.bin delete mode 100644 files/poketool/trainer/trdata/narc_0839.bin delete mode 100644 files/poketool/trainer/trdata/narc_0840.bin delete mode 100644 files/poketool/trainer/trdata/narc_0841.bin delete mode 100644 files/poketool/trainer/trdata/narc_0842.bin delete mode 100644 files/poketool/trainer/trdata/narc_0843.bin delete mode 100644 files/poketool/trainer/trdata/narc_0844.bin delete mode 100644 files/poketool/trainer/trdata/narc_0845.bin delete mode 100644 files/poketool/trainer/trdata/narc_0846.bin delete mode 100644 files/poketool/trainer/trdata/narc_0847.bin delete mode 100644 files/poketool/trainer/trdata/narc_0848.bin delete mode 100644 files/poketool/trainer/trdata/narc_0849.bin create mode 100644 files/poketool/trainer/trpoke.json.txt delete mode 100644 files/poketool/trainer/trpoke/.knarcignore delete mode 100644 files/poketool/trainer/trpoke/narc_0000.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0001.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0002.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0003.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0004.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0005.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0006.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0007.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0008.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0009.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0010.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0011.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0012.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0013.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0014.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0015.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0016.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0017.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0018.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0019.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0020.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0021.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0022.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0023.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0024.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0025.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0026.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0027.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0028.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0029.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0030.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0031.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0032.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0033.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0034.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0035.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0036.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0037.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0038.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0039.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0040.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0041.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0042.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0043.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0044.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0045.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0046.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0047.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0048.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0049.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0050.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0051.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0052.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0053.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0054.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0055.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0056.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0057.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0058.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0059.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0060.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0061.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0062.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0063.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0064.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0065.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0066.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0067.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0068.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0069.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0070.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0071.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0072.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0073.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0074.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0075.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0076.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0077.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0078.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0079.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0080.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0081.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0082.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0083.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0084.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0085.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0086.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0087.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0088.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0089.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0090.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0091.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0092.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0093.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0094.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0095.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0096.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0097.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0098.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0099.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0100.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0101.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0102.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0103.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0104.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0105.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0106.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0107.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0108.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0109.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0110.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0111.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0112.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0113.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0114.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0115.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0116.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0117.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0118.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0119.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0120.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0121.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0122.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0123.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0124.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0125.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0126.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0127.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0128.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0129.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0130.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0131.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0132.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0133.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0134.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0135.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0136.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0137.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0138.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0139.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0140.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0141.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0142.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0143.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0144.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0145.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0146.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0147.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0148.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0149.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0150.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0151.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0152.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0153.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0154.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0155.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0156.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0157.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0158.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0159.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0160.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0161.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0162.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0163.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0164.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0165.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0166.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0167.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0168.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0169.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0170.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0171.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0172.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0173.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0174.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0175.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0176.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0177.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0178.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0179.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0180.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0181.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0182.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0183.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0184.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0185.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0186.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0187.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0188.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0189.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0190.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0191.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0192.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0193.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0194.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0195.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0196.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0197.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0198.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0199.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0200.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0201.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0202.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0203.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0204.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0205.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0206.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0207.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0208.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0209.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0210.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0211.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0212.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0213.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0214.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0215.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0216.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0217.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0218.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0219.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0220.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0221.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0222.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0223.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0224.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0225.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0226.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0227.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0228.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0229.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0230.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0231.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0232.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0233.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0234.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0235.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0236.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0237.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0238.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0239.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0240.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0241.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0242.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0243.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0244.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0245.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0246.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0247.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0248.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0249.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0250.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0251.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0252.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0253.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0254.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0255.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0256.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0257.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0258.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0259.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0260.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0261.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0262.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0263.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0264.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0265.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0266.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0267.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0268.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0269.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0270.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0271.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0272.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0273.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0274.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0275.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0276.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0277.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0278.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0279.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0280.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0281.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0282.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0283.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0284.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0285.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0286.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0287.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0288.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0289.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0290.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0291.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0292.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0293.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0294.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0295.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0296.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0297.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0298.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0299.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0300.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0301.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0302.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0303.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0304.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0305.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0306.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0307.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0308.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0309.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0310.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0311.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0312.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0313.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0314.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0315.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0316.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0317.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0318.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0319.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0320.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0321.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0322.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0323.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0324.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0325.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0326.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0327.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0328.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0329.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0330.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0331.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0332.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0333.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0334.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0335.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0336.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0337.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0338.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0339.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0340.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0341.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0342.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0343.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0344.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0345.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0346.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0347.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0348.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0349.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0350.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0351.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0352.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0353.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0354.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0355.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0356.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0357.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0358.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0359.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0360.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0361.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0362.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0363.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0364.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0365.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0366.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0367.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0368.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0369.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0370.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0371.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0372.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0373.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0374.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0375.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0376.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0377.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0378.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0379.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0380.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0381.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0382.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0383.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0384.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0385.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0386.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0387.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0388.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0389.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0390.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0391.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0392.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0393.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0394.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0395.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0396.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0397.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0398.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0399.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0400.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0401.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0402.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0403.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0404.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0405.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0406.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0407.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0408.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0409.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0410.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0411.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0412.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0413.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0414.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0415.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0416.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0417.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0418.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0419.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0420.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0421.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0422.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0423.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0424.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0425.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0426.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0427.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0428.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0429.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0430.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0431.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0432.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0433.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0434.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0435.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0436.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0437.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0438.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0439.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0440.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0441.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0442.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0443.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0444.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0445.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0446.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0447.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0448.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0449.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0450.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0451.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0452.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0453.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0454.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0455.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0456.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0457.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0458.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0459.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0460.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0461.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0462.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0463.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0464.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0465.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0466.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0467.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0468.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0469.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0470.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0471.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0472.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0473.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0474.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0475.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0476.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0477.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0478.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0479.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0480.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0481.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0482.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0483.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0484.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0485.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0486.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0487.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0488.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0489.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0490.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0491.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0492.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0493.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0494.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0495.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0496.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0497.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0498.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0499.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0500.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0501.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0502.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0503.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0504.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0505.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0506.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0507.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0508.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0509.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0510.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0511.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0512.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0513.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0514.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0515.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0516.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0517.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0518.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0519.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0520.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0521.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0522.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0523.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0524.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0525.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0526.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0527.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0528.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0529.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0530.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0531.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0532.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0533.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0534.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0535.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0536.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0537.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0538.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0539.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0540.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0541.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0542.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0543.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0544.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0545.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0546.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0547.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0548.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0549.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0550.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0551.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0552.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0553.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0554.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0555.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0556.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0557.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0558.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0559.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0560.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0561.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0562.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0563.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0564.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0565.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0566.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0567.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0568.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0569.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0570.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0571.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0572.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0573.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0574.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0575.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0576.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0577.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0578.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0579.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0580.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0581.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0582.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0583.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0584.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0585.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0586.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0587.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0588.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0589.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0590.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0591.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0592.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0593.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0594.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0595.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0596.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0597.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0598.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0599.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0600.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0601.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0602.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0603.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0604.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0605.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0606.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0607.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0608.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0609.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0610.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0611.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0612.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0613.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0614.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0615.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0616.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0617.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0618.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0619.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0620.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0621.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0622.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0623.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0624.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0625.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0626.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0627.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0628.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0629.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0630.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0631.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0632.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0633.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0634.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0635.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0636.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0637.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0638.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0639.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0640.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0641.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0642.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0643.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0644.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0645.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0646.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0647.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0648.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0649.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0650.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0651.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0652.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0653.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0654.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0655.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0656.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0657.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0658.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0659.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0660.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0661.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0662.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0663.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0664.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0665.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0666.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0667.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0668.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0669.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0670.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0671.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0672.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0673.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0674.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0675.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0676.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0677.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0678.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0679.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0680.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0681.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0682.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0683.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0684.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0685.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0686.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0687.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0688.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0689.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0690.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0691.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0692.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0693.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0694.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0695.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0696.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0697.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0698.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0699.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0700.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0701.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0702.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0703.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0704.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0705.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0706.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0707.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0708.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0709.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0710.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0711.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0712.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0713.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0714.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0715.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0716.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0717.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0718.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0719.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0720.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0721.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0722.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0723.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0724.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0725.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0726.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0727.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0728.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0729.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0730.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0731.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0732.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0733.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0734.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0735.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0736.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0737.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0738.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0739.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0740.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0741.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0742.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0743.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0744.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0745.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0746.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0747.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0748.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0749.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0750.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0751.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0752.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0753.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0754.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0755.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0756.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0757.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0758.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0759.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0760.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0761.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0762.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0763.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0764.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0765.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0766.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0767.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0768.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0769.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0770.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0771.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0772.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0773.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0774.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0775.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0776.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0777.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0778.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0779.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0780.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0781.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0782.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0783.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0784.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0785.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0786.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0787.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0788.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0789.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0790.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0791.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0792.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0793.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0794.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0795.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0796.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0797.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0798.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0799.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0800.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0801.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0802.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0803.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0804.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0805.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0806.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0807.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0808.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0809.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0810.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0811.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0812.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0813.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0814.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0815.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0816.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0817.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0818.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0819.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0820.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0821.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0822.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0823.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0824.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0825.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0826.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0827.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0828.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0829.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0830.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0831.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0832.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0833.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0834.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0835.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0836.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0837.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0838.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0839.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0840.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0841.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0842.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0843.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0844.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0845.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0846.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0847.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0848.bin delete mode 100644 files/poketool/trainer/trpoke/narc_0849.bin create mode 100644 include/trainer_data.h diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s index 73daf808b..d16d93f23 100644 --- a/arm9/asm/unk_02038C78.s +++ b/arm9/asm/unk_02038C78.s @@ -2143,7 +2143,7 @@ _02039628: .word 0x00001388 FUN_0203962C: ; 0x0203962C push {r3, lr} mov r1, #0x9 - bl FUN_0206AC74 + bl TrainerData_GetAttr cmp r0, #0x0 beq _0203963C mov r0, #0x1 diff --git a/arm9/asm/unk_0204AB0C.s b/arm9/asm/unk_0204AB0C.s index 5da6e8d47..45702b122 100644 --- a/arm9/asm/unk_0204AB0C.s +++ b/arm9/asm/unk_0204AB0C.s @@ -304,7 +304,7 @@ _0204AD0A: FUN_0204AD0C: ; 0x0204AD0C push {r3-r5, lr} mov r1, #0x1 - bl FUN_0206AC74 + bl TrainerData_GetAttr lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r0, _0204AD38 ; =0x0000044D diff --git a/arm9/asm/unk_0206ABC4.s b/arm9/asm/unk_0206ABC4.s index 9d8b12d8b..7ea69ce1f 100644 --- a/arm9/asm/unk_0206ABC4.s +++ b/arm9/asm/unk_0206ABC4.s @@ -43,7 +43,7 @@ _0206ABF4: cmp r0, #0x0 beq _0206AC48 add r1, sp, #0x14 - bl FUN_0206ADE0 + bl TrainerData_ReadTrData ldr r3, [sp, #0x8] add r6, sp, #0x14 add r3, #0x28 @@ -77,7 +77,7 @@ _0206AC3E: ldr r0, [sp, #0x0] ldr r2, [sp, #0x4] add r1, r7, #0x0 - bl FUN_0206AE0C + bl LoadTrainerParty _0206AC48: ldr r0, [sp, #0x8] add r7, r7, #0x1 @@ -100,13 +100,13 @@ _0206AC48: nop _0206AC70: .word 0x0000022F - thumb_func_start FUN_0206AC74 -FUN_0206AC74: ; 0x0206AC74 + thumb_func_start TrainerData_GetAttr +TrainerData_GetAttr: ; 0x0206AC74 push {r4-r5, lr} sub sp, #0x34 add r5, r1, #0x0 add r1, sp, #0x0 - bl FUN_0206ADE0 + bl TrainerData_ReadTrData cmp r5, #0x9 bhi _0206ACCC add r0, r5, r5 @@ -293,8 +293,8 @@ _0206ADD6: nop _0206ADDC: .word 0x0000022E - thumb_func_start FUN_0206ADE0 -FUN_0206ADE0: ; 0x0206ADE0 + thumb_func_start TrainerData_ReadTrData +TrainerData_ReadTrData: ; 0x0206ADE0 ldr r3, _0206ADEC ; =ReadWholeNarcMemberByIdPair add r2, r0, #0x0 add r0, r1, #0x0 @@ -303,8 +303,8 @@ FUN_0206ADE0: ; 0x0206ADE0 nop _0206ADEC: .word ReadWholeNarcMemberByIdPair - thumb_func_start FUN_0206ADF0 -FUN_0206ADF0: ; 0x0206ADF0 + thumb_func_start TrainerData_ReadTrPoke +TrainerData_ReadTrPoke: ; 0x0206ADF0 ldr r3, _0206ADFC ; =ReadWholeNarcMemberByIdPair add r2, r0, #0x0 add r0, r1, #0x0 @@ -321,8 +321,8 @@ FUN_0206AE00: ; 0x0206AE00 nop _0206AE08: .word UNK_020F8010 - thumb_func_start FUN_0206AE0C -FUN_0206AE0C: ; 0x0206AE0C + thumb_func_start LoadTrainerParty +LoadTrainerParty: ; 0x0206AE0C push {r3-r7, lr} sub sp, #0x50 add r7, r1, #0x0 @@ -345,7 +345,7 @@ FUN_0206AE0C: ; 0x0206AE0C add r0, r4, r6 ldr r0, [r0, #0x18] ldr r1, [sp, #0x4c] - bl FUN_0206ADF0 + bl TrainerData_ReadTrPoke mov r0, #0x34 add r5, r7, #0x0 mul r5, r0 diff --git a/arm9/global.inc b/arm9/global.inc index 1dc353624..c039fd35f 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -4838,11 +4838,11 @@ .extern WazaGetMaxPp .extern GetAttrFromWazaTbl .extern FUN_0206ABC4 -.extern FUN_0206AC74 +.extern TrainerData_GetAttr .extern FUN_0206ACD4 .extern FUN_0206AD4C -.extern FUN_0206ADE0 -.extern FUN_0206ADF0 +.extern TrainerData_ReadTrData +.extern TrainerData_ReadTrPoke .extern FUN_0206AE00 .extern PCStorage_init .extern PCStorage_sizeof diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s index c342adc4b..a962fbf2a 100644 --- a/arm9/modules/11/asm/module_11_thumb2.s +++ b/arm9/modules/11/asm/module_11_thumb2.s @@ -11742,11 +11742,11 @@ MOD11_02234CFC: ; 0x02234CFC str r0, [sp, #4] ldrh r0, [r6, r0] add r1, sp, #8 - bl FUN_0206ADE0 + bl TrainerData_ReadTrData ldr r0, [sp, #4] add r1, r4, #0 ldrh r0, [r6, r0] - bl FUN_0206ADF0 + bl TrainerData_ReadTrPoke add r0, sp, #8 ldrb r1, [r0] cmp r1, #3 diff --git a/arm9/modules/67/asm/module_67.s b/arm9/modules/67/asm/module_67.s index 997d785e6..d71a7476e 100644 --- a/arm9/modules/67/asm/module_67.s +++ b/arm9/modules/67/asm/module_67.s @@ -1701,7 +1701,7 @@ _021D822A: mov r1, #1 lsl r0, r0, #0x10 lsr r0, r0, #0x11 - bl FUN_0206AC74 + bl TrainerData_GetAttr cmp r0, #0x3f bne _021D828A ldr r0, [r4, #0x50] diff --git a/files/poketool/trainer/trdata.json b/files/poketool/trainer/trdata.json new file mode 100644 index 000000000..2f2877a9e --- /dev/null +++ b/files/poketool/trainer/trdata.json @@ -0,0 +1,20472 @@ +{ + "trdata": [ + { + "index": 1, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_STARLY" + } + ] + }, + { + "index": 2, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_SHINX" + } + ] + }, + { + "index": 3, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 3, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 3, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 4, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_ZUBAT" + } + ] + }, + { + "index": 5, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 6, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 7, + "type": 0, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 8, + "type": 0, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 9, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 10, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_STARLY" + } + ] + }, + { + "index": 11, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_BUDEW" + } + ] + }, + { + "index": 12, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 13, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_KRICKETOT" + }, + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_WURMPLE" + } + ] + }, + { + "index": 14, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_BUDEW" + }, + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_CHERUBI" + } + ] + }, + { + "index": 15, + "type": 0, + "class": 8, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 9, + "species": "SPECIES_PACHIRISU" + }, + { + "difficulty": 0, + "level": 9, + "species": "SPECIES_PACHIRISU" + } + ] + }, + { + "index": 16, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_EMBER", + "MOVE_TACKLE" + ] + } + ] + }, + { + "index": 17, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 12, + "species": "SPECIES_SHINX", + "moves": [ + "MOVE_SPARK", + "MOVE_TACKLE" + ] + }, + { + "difficulty": 0, + "level": 12, + "species": "SPECIES_PACHIRISU", + "moves": [ + "MOVE_SPARK", + "MOVE_QUICK_ATTACK", + "MOVE_CHARM" + ] + } + ] + }, + { + "index": 18, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 11, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 11, + "species": "SPECIES_MACHOP" + }, + { + "difficulty": 0, + "level": 11, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 11, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 19, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 20, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 15, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 21, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_BUDEW" + } + ] + }, + { + "index": 22, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + } + ] + }, + { + "index": 23, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_GOLDEEN" + } + ] + }, + { + "index": 24, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 10, + "species": "SPECIES_MAGIKARP" + } + ] + }, + { + "index": 25, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 26, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_PONYTA" + } + ] + }, + { + "index": 27, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 28, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_ZUBAT" + } + ] + }, + { + "index": 29, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_SHINX" + } + ] + }, + { + "index": 30, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PONYTA" + } + ] + }, + { + "index": 31, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 32, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_SHINX" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_SHINX" + } + ] + }, + { + "index": 33, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_CHIMCHAR" + } + ] + }, + { + "index": 34, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_EMBER", + "MOVE_TACKLE", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 35, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PACHIRISU", + "moves": [ + "MOVE_SPARK", + "MOVE_QUICK_ATTACK", + "MOVE_CHARM" + ] + } + ] + }, + { + "index": 36, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_GEODUDE" + } + ] + }, + { + "index": 37, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 38, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 18, + "species": "SPECIES_MEDITITE" + }, + { + "difficulty": 30, + "level": 18, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 39, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_GEODUDE" + } + ] + }, + { + "index": 40, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_GRAVELER" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 41, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 42, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 19, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 43, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_BARBOACH" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 44, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_COMBEE" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 45, + "type": 0, + "class": 15, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_MIME_JR" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_BONSLY" + } + ] + }, + { + "index": 46, + "type": 0, + "class": 16, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_BONSLY" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BUDEW" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_PICHU" + } + ] + }, + { + "index": 47, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_MIME_JR" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BUDEW" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_CLEFFA" + } + ] + }, + { + "index": 48, + "type": 0, + "class": 18, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 49, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 50, + "type": 0, + "class": 20, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 51, + "type": 0, + "class": 21, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 52, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 53, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 54, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 55, + "type": 0, + "class": 23, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MACHOP" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MEDITITE" + } + ] + }, + { + "index": 56, + "type": 0, + "class": 16, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_PICHU" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_HAPPINY" + } + ] + }, + { + "index": 57, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_CLEFFA" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_CLEFAIRY" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_HAPPINY" + } + ] + }, + { + "index": 58, + "type": 0, + "class": 18, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 59, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 60, + "type": 0, + "class": 20, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 61, + "type": 0, + "class": 21, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 62, + "type": 0, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 63, + "type": 0, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 64, + "type": 0, + "class": 26, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 65, + "type": 0, + "class": 8, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 66, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 25, + "species": "SPECIES_MOTHIM", + "moves": [ + "MOVE_CONFUSION", + "MOVE_SILVER_WIND", + "MOVE_POISON_POWDER" + ] + }, + { + "difficulty": 50, + "level": 26, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_SLAM", + "MOVE_ROCK_THROW", + "MOVE_SCREECH", + "MOVE_SANDSTORM" + ] + }, + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_LUXIO", + "moves": [ + "MOVE_SPARK", + "MOVE_BITE", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 67, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_FIRE_SPIN", + "MOVE_STOMP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_GROTLE", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_BITE", + "MOVE_CURSE" + ] + } + ] + }, + { + "index": 68, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 26, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_SONIC_BOOM", + "MOVE_PURSUIT", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 100, + "level": 26, + "species": "SPECIES_GIRAFARIG", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_STOMP", + "MOVE_AGILITY", + "MOVE_BATON_PASS" + ] + }, + { + "difficulty": 100, + "level": 26, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_KARATE_CHOP", + "MOVE_LOW_KICK", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 69, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 29, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 70, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_SKORUPI" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 71, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 72, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_DUSTOX" + } + ] + }, + { + "index": 73, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_GIBLE" + } + ] + }, + { + "index": 74, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_NOCTOWL" + } + ] + }, + { + "index": 75, + "type": 0, + "class": 31, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 50, + "level": 27, + "species": "SPECIES_RAICHU" + } + ] + }, + { + "index": 76, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 19, + "species": "SPECIES_HOOTHOOT" + } + ] + }, + { + "index": 77, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 78, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_ZUBAT" + } + ] + }, + { + "index": 79, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 27, + "species": "SPECIES_MEDITITE" + }, + { + "difficulty": 30, + "level": 29, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 80, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_SKORUPI" + }, + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 81, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 31, + "species": "SPECIES_NOCTOWL" + } + ] + }, + { + "index": 82, + "type": 0, + "class": 32, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 83, + "type": 0, + "class": 33, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BUNEARY" + } + ] + }, + { + "index": 84, + "type": 0, + "class": 34, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_CHATOT" + } + ] + }, + { + "index": 85, + "type": 0, + "class": 35, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 86, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 87, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 88, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 89, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 90, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_MEDITITE" + } + ] + }, + { + "index": 91, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 92, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BARBOACH" + } + ] + }, + { + "index": 93, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_BARBOACH" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_BARBOACH" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_BARBOACH" + } + ] + }, + { + "index": 94, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 95, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_PRINPLUP" + }, + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_PRINPLUP" + } + ] + }, + { + "index": 96, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 0, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_AIPOM" + }, + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_MARILL" + } + ] + }, + { + "index": 97, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 98, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 99, + "type": 1, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_CONFUSION", + "MOVE_DISABLE", + "MOVE_KINESIS", + "MOVE_ICE_PUNCH" + ] + } + ] + }, + { + "index": 100, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 101, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 102, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MEDITITE" + } + ] + }, + { + "index": 103, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 104, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_GOLDUCK" + }, + { + "difficulty": 0, + "level": 32, + "species": "SPECIES_GOLDUCK" + } + ] + }, + { + "index": 105, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_MARILL" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_AZUMARILL" + } + ] + }, + { + "index": 106, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 32, + "species": "SPECIES_MARILL" + }, + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_PELIPPER" + } + ] + }, + { + "index": 107, + "type": 0, + "class": 44, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_SHELLOS" + } + ] + }, + { + "index": 108, + "type": 1, + "class": 45, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_BIBAREL", + "moves": [ + "MOVE_SURF", + "MOVE_HYPER_FANG", + "MOVE_HEADBUTT", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 109, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 110, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 111, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_REMORAID" + }, + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 112, + "type": 0, + "class": 47, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 113, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_CRANIDOS" + }, + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 114, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_SHIELDON" + } + ] + }, + { + "index": 115, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 116, + "type": 0, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 117, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 118, + "type": 0, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 119, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_HAUNTER" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 120, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_GASTLY" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_MISDREAVUS" + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 121, + "type": 1, + "class": 51, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 23, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 30, + "level": 23, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 50, + "level": 23, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + } + ] + }, + { + "index": 122, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 123, + "type": 0, + "class": 51, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 124, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 125, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 126, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 127, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 23, + "species": "SPECIES_MEDITITE" + }, + { + "difficulty": 30, + "level": 22, + "species": "SPECIES_MACHOP" + }, + { + "difficulty": 30, + "level": 21, + "species": "SPECIES_MEDITITE" + } + ] + }, + { + "index": 128, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 129, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 21, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 23, + "species": "SPECIES_MEDITITE" + }, + { + "difficulty": 30, + "level": 22, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 130, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 131, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 132, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 35, + "species": "SPECIES_AMBIPOM", + "moves": [ + "MOVE_DOUBLE_HIT", + "MOVE_U_TURN", + "MOVE_SAND_ATTACK", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 35, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_DISABLE", + "MOVE_REFLECT", + "MOVE_RECOVER" + ] + } + ] + }, + { + "index": 133, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 33, + "species": "SPECIES_MR_MIME", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_MIMIC", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 50, + "level": 34, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_SUBMISSION", + "MOVE_LOW_KICK", + "MOVE_LEER", + "MOVE_ROCK_TOMB" + ] + }, + { + "difficulty": 50, + "level": 35, + "species": "SPECIES_SNEASEL", + "moves": [ + "MOVE_SLASH", + "MOVE_ICY_WIND", + "MOVE_QUICK_ATTACK", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 134, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 37, + "species": "SPECIES_LOPUNNY", + "moves": [ + "MOVE_DIZZY_PUNCH", + "MOVE_JUMP_KICK", + "MOVE_QUICK_ATTACK", + "MOVE_MIRROR_COAT" + ] + } + ] + }, + { + "index": 135, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 34, + "species": "SPECIES_GOLDUCK", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_CONFUSION", + "MOVE_DISABLE", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 35, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_FIRE_SPIN", + "MOVE_TAKE_DOWN", + "MOVE_TAIL_WHIP", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 50, + "level": 33, + "species": "SPECIES_SUDOWOODO", + "moves": [ + "MOVE_ROCK_SLIDE", + "MOVE_LOW_KICK", + "MOVE_FLAIL", + "MOVE_ENDURE" + ] + } + ] + }, + { + "index": 136, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_GRAVELER" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_SNOVER" + } + ] + }, + { + "index": 137, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_SNEASEL" + } + ] + }, + { + "index": 138, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_SNOVER" + } + ] + }, + { + "index": 139, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 140, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 34, + "species": "SPECIES_RAICHU", + "moves": [ + "MOVE_THUNDERBOLT", + "MOVE_SLAM", + "MOVE_QUICK_ATTACK", + "MOVE_THUNDER_WAVE" + ] + }, + { + "difficulty": 50, + "level": 36, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_AERIAL_ACE", + "MOVE_WATER_PULSE", + "MOVE_SUPERSONIC", + "MOVE_ROOST" + ] + }, + { + "difficulty": 50, + "level": 38, + "species": "SPECIES_HIPPOPOTAS", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH", + "MOVE_SAND_TOMB", + "MOVE_YAWN" + ] + } + ] + }, + { + "index": 141, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 37, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_TOXIC_SPIKES", + "MOVE_INGRAIN", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 50, + "level": 37, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_POISON_JAB", + "MOVE_PECK", + "MOVE_AQUA_RING" + ] + } + ] + }, + { + "index": 142, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 34, + "species": "SPECIES_SNOVER" + }, + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_SNOVER" + }, + { + "difficulty": 0, + "level": 34, + "species": "SPECIES_GOLDUCK" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_SNOVER" + } + ] + }, + { + "index": 143, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_MANTYKE" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_SNEASEL" + } + ] + }, + { + "index": 144, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_MARILL" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 145, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_SNOVER" + } + ] + }, + { + "index": 146, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 34, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 147, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_SKORUPI" + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 148, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 149, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 150, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 151, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 152, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 153, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 154, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_MAGIKARP" + } + ] + }, + { + "index": 155, + "type": 0, + "class": 47, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 156, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 157, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 158, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 159, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_MANTYKE" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_REMORAID" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_TENTACOOL" + } + ] + }, + { + "index": 160, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 161, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_PELIPPER" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_WHISCASH" + } + ] + }, + { + "index": 162, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_GOLDEEN" + } + ] + }, + { + "index": 163, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_REMORAID" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_PSYDUCK" + } + ] + }, + { + "index": 164, + "type": 1, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_SONIC_BOOM", + "MOVE_QUICK_ATTACK", + "MOVE_ATTRACT" + ] + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_MEDICHAM", + "moves": [ + "MOVE_CONFUSION", + "MOVE_BRICK_BREAK", + "MOVE_MEDITATE", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_HORN_ATTACK", + "MOVE_AQUA_RING", + "MOVE_CAPTIVATE" + ] + } + ] + }, + { + "index": 165, + "type": 0, + "class": 47, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 166, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 32, + "species": "SPECIES_GASTRODON" + } + ] + }, + { + "index": 167, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_GOLDUCK" + } + ] + }, + { + "index": 168, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_FINNEON" + }, + { + "difficulty": 0, + "level": 32, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 169, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 170, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 33, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_TAKE_DOWN", + "MOVE_AERIAL_ACE", + "MOVE_ENDEAVOR", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 50, + "level": 33, + "species": "SPECIES_GIRAFARIG", + "moves": [ + "MOVE_DOUBLE_HIT", + "MOVE_PSYBEAM", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 171, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 30, + "species": "SPECIES_CHERRIM", + "moves": [ + "MOVE_PETAL_DANCE", + "MOVE_MAGICAL_LEAF", + "MOVE_LEECH_SEED" + ] + }, + { + "difficulty": 50, + "level": 32, + "species": "SPECIES_MARILL", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_BUBBLE_BEAM", + "MOVE_AQUA_RING" + ] + }, + { + "difficulty": 50, + "level": 34, + "species": "SPECIES_LOPUNNY", + "moves": [ + "MOVE_JUMP_KICK", + "MOVE_QUICK_ATTACK", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 172, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_FINNEON" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_FEEBAS" + } + ] + }, + { + "index": 173, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 174, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_MAGIKARP" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_FINNEON" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_REMORAID" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 175, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_REMORAID" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 176, + "type": 0, + "class": 57, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 177, + "type": 0, + "class": 57, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 178, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 179, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 180, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_FEEBAS" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_MACHOKE" + }, + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_GASTRODON" + } + ] + }, + { + "index": 181, + "type": 0, + "class": 15, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 182, + "type": 0, + "class": 23, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 183, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_BUIZEL" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + { + "index": 184, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + { + "index": 185, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_TENTACOOL" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_GOLDUCK" + } + ] + }, + { + "index": 186, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_WINGULL" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_QUAGSIRE" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_PELIPPER" + } + ] + }, + { + "index": 187, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 188, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_MANTYKE" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_REMORAID" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_MANTINE" + } + ] + }, + { + "index": 189, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_LUMINEON" + } + ] + }, + { + "index": 190, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_AZURILL" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_AZUMARILL" + } + ] + }, + { + "index": 191, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_MARILL" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_WINGULL" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_GOLDUCK" + } + ] + }, + { + "index": 192, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_WINGULL" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_SEAKING" + } + ] + }, + { + "index": 193, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_FINNEON" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_PELIPPER" + } + ] + }, + { + "index": 194, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_GOLDUCK" + } + ] + }, + { + "index": 195, + "type": 1, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_GEODUDE", + "moves": [ + "MOVE_TACKLE", + "MOVE_DEFENSE_CURL", + "MOVE_MUD_SPORT" + ] + }, + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_ROCK_THROW", + "MOVE_TACKLE", + "MOVE_HARDEN" + ] + } + ] + }, + { + "index": 196, + "type": 1, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 9, + "species": "SPECIES_MACHOP", + "moves": [ + "MOVE_ROCK_SMASH", + "MOVE_FOCUS_ENERGY" + ] + } + ] + }, + { + "index": 197, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 198, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 199, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 200, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 201, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 9, + "species": "SPECIES_WURMPLE" + }, + { + "difficulty": 0, + "level": 11, + "species": "SPECIES_SILCOON" + }, + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_BEAUTIFLY" + } + ] + }, + { + "index": 202, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 9, + "species": "SPECIES_WURMPLE" + }, + { + "difficulty": 0, + "level": 11, + "species": "SPECIES_CASCOON" + }, + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_DUSTOX" + } + ] + }, + { + "index": 203, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 12, + "species": "SPECIES_BURMY" + }, + { + "difficulty": 0, + "level": 12, + "species": "SPECIES_KRICKETUNE" + } + ] + }, + { + "index": 204, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_PACHIRISU" + } + ] + }, + { + "index": 205, + "type": 1, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_ABRA", + "moves": [ + "MOVE_HIDDEN_POWER" + ] + } + ] + }, + { + "index": 206, + "type": 1, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_ABRA", + "moves": [ + "MOVE_HIDDEN_POWER" + ] + } + ] + }, + { + "index": 207, + "type": 0, + "class": 23, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 208, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 209, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 210, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 211, + "type": 0, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 212, + "type": 0, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 213, + "type": 0, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 214, + "type": 0, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 215, + "type": 0, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 216, + "type": 0, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 217, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 218, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 219, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 220, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 221, + "type": 0, + "class": 60, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 222, + "type": 0, + "class": 61, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 223, + "type": 0, + "class": 23, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 224, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 45, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_STOMP", + "MOVE_QUICK_ATTACK", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 45, + "species": "SPECIES_CARNIVINE", + "moves": [ + "MOVE_WRING_OUT", + "MOVE_CRUNCH", + "MOVE_FEINT_ATTACK", + "MOVE_INGRAIN" + ] + }, + { + "difficulty": 50, + "level": 48, + "species": "SPECIES_RAMPARDOS", + "moves": [ + "MOVE_HEAD_SMASH", + "MOVE_ZEN_HEADBUTT", + "MOVE_ANCIENT_POWER", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 225, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 49, + "species": "SPECIES_HONCHKROW", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_WING_ATTACK", + "MOVE_PURSUIT", + "MOVE_SWAGGER" + ] + } + ] + }, + { + "index": 226, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 46, + "species": "SPECIES_GOLDUCK", + "moves": [ + "MOVE_ZEN_HEADBUTT", + "MOVE_CONFUSION", + "MOVE_DISABLE", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 48, + "species": "SPECIES_BLISSEY", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_SING", + "MOVE_SOFT_BOILED", + "MOVE_LIGHT_SCREEN" + ] + } + ] + }, + { + "index": 227, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 46, + "species": "SPECIES_CLEFABLE", + "moves": [ + "MOVE_METEOR_MASH", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN", + "MOVE_GRAVITY" + ] + }, + { + "difficulty": 50, + "level": 48, + "species": "SPECIES_TORTERRA", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH", + "MOVE_LEECH_SEED", + "MOVE_SYNTHESIS" + ] + } + ] + }, + { + "index": 228, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 45, + "species": "SPECIES_TENTACRUEL", + "moves": [ + "MOVE_SLUDGE_BOMB", + "MOVE_WATER_PULSE", + "MOVE_TOXIC_SPIKES", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 100, + "level": 45, + "species": "SPECIES_GOLEM", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_STONE_EDGE", + "MOVE_DOUBLE_EDGE", + "MOVE_ROCK_POLISH" + ] + }, + { + "difficulty": 100, + "level": 48, + "species": "SPECIES_EMPOLEON", + "moves": [ + "MOVE_BRINE", + "MOVE_DRILL_PECK", + "MOVE_METAL_CLAW", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 229, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 47, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_BRAVE_BIRD", + "MOVE_QUICK_ATTACK", + "MOVE_DOUBLE_TEAM", + "MOVE_GROWL" + ] + }, + { + "difficulty": 100, + "level": 47, + "species": "SPECIES_HIPPOWDON", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH", + "MOVE_SAND_TOMB", + "MOVE_YAWN" + ] + } + ] + }, + { + "index": 230, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 49, + "species": "SPECIES_GABITE" + } + ] + }, + { + "index": 231, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 46, + "species": "SPECIES_GIBLE" + }, + { + "difficulty": 50, + "level": 49, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 50, + "level": 46, + "species": "SPECIES_GIBLE" + } + ] + }, + { + "index": 232, + "type": 1, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 40, + "level": 30, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_ROCK_THROW", + "MOVE_SANDSTORM", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 40, + "level": 32, + "species": "SPECIES_STEELIX", + "moves": [ + "MOVE_SLAM", + "MOVE_ROCK_SLIDE", + "MOVE_SANDSTORM", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 233, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 46, + "species": "SPECIES_NOCTOWL" + }, + { + "difficulty": 0, + "level": 48, + "species": "SPECIES_STARAPTOR" + } + ] + }, + { + "index": 234, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_HAUNTER" + }, + { + "difficulty": 0, + "level": 46, + "species": "SPECIES_ALAKAZAM" + }, + { + "difficulty": 0, + "level": 46, + "species": "SPECIES_GENGAR" + } + ] + }, + { + "index": 235, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 44, + "species": "SPECIES_CHINGLING" + }, + { + "difficulty": 0, + "level": 48, + "species": "SPECIES_CHIMECHO" + } + ] + }, + { + "index": 236, + "type": 0, + "class": 31, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 47, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 47, + "species": "SPECIES_MEDICHAM" + } + ] + }, + { + "index": 237, + "type": 0, + "class": 31, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 47, + "species": "SPECIES_STARAPTOR" + }, + { + "difficulty": 0, + "level": 47, + "species": "SPECIES_WHISCASH" + } + ] + }, + { + "index": 238, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 239, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 240, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 33, + "species": "SPECIES_RIOLU", + "moves": [ + "MOVE_FORCE_PALM", + "MOVE_QUICK_ATTACK", + "MOVE_COUNTER", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 100, + "level": 34, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK", + "MOVE_GROWL" + ] + }, + { + "difficulty": 100, + "level": 35, + "species": "SPECIES_GRAVELER", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_ROCK_SLIDE", + "MOVE_ROCK_POLISH", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 241, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 242, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 243, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 244, + "type": 1, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 10, + "species": "SPECIES_GEODUDE", + "moves": [ + "MOVE_TACKLE", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 245, + "type": 1, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 8, + "species": "SPECIES_GEODUDE", + "moves": [ + "MOVE_TACKLE", + "MOVE_DEFENSE_CURL" + ] + }, + { + "difficulty": 10, + "level": 8, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_ROCK_THROW", + "MOVE_TACKLE", + "MOVE_HARDEN" + ] + } + ] + }, + { + "index": 246, + "type": 1, + "class": 62, + "unk2": 0, + "items": [ + "ITEM_POTION", + "ITEM_POTION" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 12, + "species": "SPECIES_GEODUDE", + "moves": [ + "MOVE_STEALTH_ROCK", + "MOVE_ROCK_THROW" + ] + }, + { + "difficulty": 50, + "level": 12, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_STEALTH_ROCK", + "MOVE_ROCK_THROW", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 14, + "species": "SPECIES_CRANIDOS", + "moves": [ + "MOVE_HEADBUTT", + "MOVE_PURSUIT", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 247, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 7, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_QUICK_ATTACK", + "MOVE_GROWL" + ] + }, + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_TURTWIG", + "moves": [ + "MOVE_TACKLE", + "MOVE_WITHDRAW" + ] + } + ] + }, + { + "index": 248, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 7, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_QUICK_ATTACK", + "MOVE_GROWL" + ] + }, + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_CHIMCHAR", + "moves": [ + "MOVE_SCRATCH", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 249, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 7, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_QUICK_ATTACK", + "MOVE_GROWL" + ] + }, + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_PIPLUP", + "moves": [ + "MOVE_POUND", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 250, + "type": 3, + "class": 64, + "unk2": 0, + "items": [ + "ITEM_HYPER_POTION", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 150, + "level": 36, + "species": "SPECIES_BRONZOR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_FLASH_CANNON", + "MOVE_EXTRASENSORY", + "MOVE_CONFUSE_RAY", + "MOVE_HYPNOSIS" + ] + }, + { + "difficulty": 150, + "level": 36, + "species": "SPECIES_STEELIX", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GYRO_BALL", + "MOVE_ICE_FANG", + "MOVE_DRAGON_BREATH", + "MOVE_SANDSTORM" + ] + }, + { + "difficulty": 150, + "level": 39, + "species": "SPECIES_BASTIODON", + "item": "ITEM_CHESTO_BERRY", + "moves": [ + "MOVE_FLASH_CANNON", + "MOVE_ANCIENT_POWER", + "MOVE_IRON_DEFENSE", + "MOVE_REST" + ] + } + ] + }, + { + "index": 251, + "type": 0, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 252, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 253, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 254, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 255, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 256, + "type": 1, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SLAM", + "MOVE_DIG" + ] + }, + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SLAM", + "MOVE_DIG" + ] + }, + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SLAM", + "MOVE_DIG" + ] + } + ] + }, + { + "index": 257, + "type": 1, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 31, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SLAM", + "MOVE_DIG" + ] + } + ] + }, + { + "index": 258, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 40, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 259, + "type": 1, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 14, + "species": "SPECIES_BUDEW", + "moves": [ + "MOVE_ABSORB", + "MOVE_STUN_SPORE", + "MOVE_WATER_SPORT" + ] + }, + { + "difficulty": 10, + "level": 13, + "species": "SPECIES_BUDEW", + "moves": [ + "MOVE_ABSORB", + "MOVE_STUN_SPORE", + "MOVE_WATER_SPORT" + ] + }, + { + "difficulty": 10, + "level": 15, + "species": "SPECIES_BUDEW", + "moves": [ + "MOVE_ABSORB", + "MOVE_STUN_SPORE", + "MOVE_WATER_SPORT" + ] + } + ] + }, + { + "index": 260, + "type": 1, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 17, + "species": "SPECIES_TURTWIG", + "moves": [ + "MOVE_RAZOR_LEAF", + "MOVE_TACKLE" + ] + } + ] + }, + { + "index": 261, + "type": 3, + "class": 65, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 53, + "species": "SPECIES_DUSTOX", + "item": "ITEM_NONE", + "moves": [ + "MOVE_TOXIC", + "MOVE_BUG_BUZZ", + "MOVE_DOUBLE_TEAM", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 250, + "level": 53, + "species": "SPECIES_BEAUTIFLY", + "item": "ITEM_NONE", + "moves": [ + "MOVE_ENERGY_BALL", + "MOVE_BUG_BUZZ", + "MOVE_PSYCHIC", + "MOVE_SHADOW_BALL" + ] + }, + { + "difficulty": 250, + "level": 54, + "species": "SPECIES_VESPIQUEN", + "item": "ITEM_NONE", + "moves": [ + "MOVE_ATTACK_ORDER", + "MOVE_DEFEND_ORDER", + "MOVE_HEAL_ORDER", + "MOVE_POWER_GEM" + ] + }, + { + "difficulty": 250, + "level": 54, + "species": "SPECIES_HERACROSS", + "item": "ITEM_NONE", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_STONE_EDGE" + ] + }, + { + "difficulty": 250, + "level": 57, + "species": "SPECIES_DRAPION", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_X_SCISSOR", + "MOVE_CROSS_POISON", + "MOVE_ICE_FANG", + "MOVE_AERIAL_ACE" + ] + } + ] + }, + { + "index": 262, + "type": 3, + "class": 66, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 55, + "species": "SPECIES_QUAGSIRE", + "item": "ITEM_NONE", + "moves": [ + "MOVE_DIG", + "MOVE_DOUBLE_TEAM", + "MOVE_PROTECT", + "MOVE_SANDSTORM" + ] + }, + { + "difficulty": 250, + "level": 56, + "species": "SPECIES_SUDOWOODO", + "item": "ITEM_NONE", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_SUCKER_PUNCH", + "MOVE_HAMMER_ARM", + "MOVE_SANDSTORM" + ] + }, + { + "difficulty": 250, + "level": 56, + "species": "SPECIES_GOLEM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_GYRO_BALL", + "MOVE_BRICK_BREAK", + "MOVE_SANDSTORM" + ] + }, + { + "difficulty": 250, + "level": 55, + "species": "SPECIES_WHISCASH", + "item": "ITEM_NONE", + "moves": [ + "MOVE_FISSURE", + "MOVE_AQUA_TAIL", + "MOVE_ZEN_HEADBUTT", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_HIPPOWDON", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_STONE_EDGE", + "MOVE_CRUNCH", + "MOVE_CURSE" + ] + } + ] + }, + { + "index": 263, + "type": 3, + "class": 67, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 58, + "species": "SPECIES_RAPIDASH", + "item": "ITEM_NONE", + "moves": [ + "MOVE_FLARE_BLITZ", + "MOVE_SOLAR_BEAM", + "MOVE_BOUNCE", + "MOVE_SUNNY_DAY" + ] + }, + { + "difficulty": 250, + "level": 57, + "species": "SPECIES_STEELIX", + "item": "ITEM_NONE", + "moves": [ + "MOVE_FIRE_FANG", + "MOVE_ROCK_TOMB", + "MOVE_SCREECH", + "MOVE_SUNNY_DAY" + ] + }, + { + "difficulty": 250, + "level": 58, + "species": "SPECIES_DRIFBLIM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_WILL_O_WISP", + "MOVE_OMINOUS_WIND", + "MOVE_DOUBLE_TEAM", + "MOVE_BATON_PASS" + ] + }, + { + "difficulty": 250, + "level": 57, + "species": "SPECIES_LOPUNNY", + "item": "ITEM_NONE", + "moves": [ + "MOVE_FIRE_PUNCH", + "MOVE_CHARM", + "MOVE_MIRROR_COAT", + "MOVE_SUNNY_DAY" + ] + }, + { + "difficulty": 250, + "level": 61, + "species": "SPECIES_INFERNAPE", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_FLARE_BLITZ", + "MOVE_THUNDER_PUNCH", + "MOVE_MACH_PUNCH", + "MOVE_EARTHQUAKE" + ] + } + ] + }, + { + "index": 264, + "type": 3, + "class": 68, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_MR_MIME", + "item": "ITEM_NONE", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_THUNDERBOLT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_GIRAFARIG", + "item": "ITEM_NONE", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_SHADOW_BALL", + "MOVE_DOUBLE_HIT", + "MOVE_CRUNCH" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_MEDICHAM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_DRAIN_PUNCH", + "MOVE_FIRE_PUNCH", + "MOVE_THUNDER_PUNCH", + "MOVE_ICE_PUNCH" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_ALAKAZAM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_ENERGY_BALL", + "MOVE_FOCUS_BLAST", + "MOVE_RECOVER" + ] + }, + { + "difficulty": 250, + "level": 63, + "species": "SPECIES_BRONZONG", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_GYRO_BALL", + "MOVE_EARTHQUAKE", + "MOVE_CALM_MIND" + ] + } + ] + }, + { + "index": 265, + "type": 0, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_SHINX" + } + ] + }, + { + "index": 266, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 27, + "species": "SPECIES_GASTLY", + "moves": [ + "MOVE_PAYBACK", + "MOVE_SUCKER_PUNCH", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 10, + "level": 27, + "species": "SPECIES_GASTLY", + "moves": [ + "MOVE_SUCKER_PUNCH", + "MOVE_NIGHT_SHADE", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 10, + "level": 27, + "species": "SPECIES_GASTLY", + "moves": [ + "MOVE_NIGHT_SHADE", + "MOVE_PAYBACK", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 267, + "type": 3, + "class": 69, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 61, + "species": "SPECIES_SPIRITOMB", + "item": "ITEM_NONE", + "moves": [ + "MOVE_DARK_PULSE", + "MOVE_PSYCHIC", + "MOVE_SILVER_WIND", + "MOVE_EMBARGO" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_ROSERADE", + "item": "ITEM_NONE", + "moves": [ + "MOVE_ENERGY_BALL", + "MOVE_SLUDGE_BOMB", + "MOVE_SHADOW_BALL", + "MOVE_EXTRASENSORY" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_GASTRODON", + "item": "ITEM_NONE", + "moves": [ + "MOVE_MUDDY_WATER", + "MOVE_EARTHQUAKE", + "MOVE_STONE_EDGE", + "MOVE_SLUDGE_BOMB" + ] + }, + { + "difficulty": 250, + "level": 63, + "species": "SPECIES_LUCARIO", + "item": "ITEM_NONE", + "moves": [ + "MOVE_AURA_SPHERE", + "MOVE_DRAGON_PULSE", + "MOVE_PSYCHIC", + "MOVE_EARTHQUAKE" + ] + }, + { + "difficulty": 250, + "level": 63, + "species": "SPECIES_MILOTIC", + "item": "ITEM_NONE", + "moves": [ + "MOVE_SURF", + "MOVE_ICE_BEAM", + "MOVE_MIRROR_COAT", + "MOVE_AQUA_RING" + ] + }, + { + "difficulty": 250, + "level": 66, + "species": "SPECIES_GARCHOMP", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_DRAGON_RUSH", + "MOVE_EARTHQUAKE", + "MOVE_BRICK_BREAK", + "MOVE_GIGA_IMPACT" + ] + } + ] + }, + { + "index": 268, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 37, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_QUICK_ATTACK", + "MOVE_ICE_FANG" + ] + }, + { + "difficulty": 60, + "level": 37, + "species": "SPECIES_SNEASEL", + "moves": [ + "MOVE_ICY_WIND", + "MOVE_SLASH", + "MOVE_FEINT_ATTACK", + "MOVE_QUICK_ATTACK" + ] + } + ] + }, + { + "index": 269, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 39, + "species": "SPECIES_QUAGSIRE", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_WATER_PULSE", + "MOVE_AMNESIA", + "MOVE_YAWN" + ] + } + ] + }, + { + "index": 270, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 35, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_WING_ATTACK", + "MOVE_SUPERSONIC", + "MOVE_ROOST" + ] + }, + { + "difficulty": 60, + "level": 36, + "species": "SPECIES_GOLDUCK", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_CONFUSION", + "MOVE_DISABLE", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 60, + "level": 37, + "species": "SPECIES_STEELIX", + "moves": [ + "MOVE_ICE_FANG", + "MOVE_ROCK_TOMB", + "MOVE_HARDEN", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 271, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 37, + "species": "SPECIES_SNEASEL", + "moves": [ + "MOVE_ICY_WIND", + "MOVE_SLASH", + "MOVE_SCREECH", + "MOVE_LEER" + ] + }, + { + "difficulty": 60, + "level": 37, + "species": "SPECIES_TENTACRUEL", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_POISON_JAB", + "MOVE_BARRIER" + ] + } + ] + }, + { + "index": 272, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 273, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_PONYTA" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_PONYTA" + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_PONYTA" + } + ] + }, + { + "index": 274, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_HIPPOPOTAS" + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_HIPPOPOTAS" + }, + { + "difficulty": 0, + "level": 34, + "species": "SPECIES_HIPPOPOTAS" + } + ] + }, + { + "index": 275, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_MR_MIME" + } + ] + }, + { + "index": 276, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_SUDOWOODO" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_SUDOWOODO" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_SUDOWOODO" + } + ] + }, + { + "index": 277, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_SWABLU" + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_ALTARIA" + } + ] + }, + { + "index": 278, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 23, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FLAME_WHEEL", + "MOVE_MACH_PUNCH", + "MOVE_TAUNT", + "MOVE_TORMENT" + ] + }, + { + "difficulty": 50, + "level": 23, + "species": "SPECIES_GYARADOS", + "moves": [ + "MOVE_BITE", + "MOVE_THRASH" + ] + } + ] + }, + { + "index": 279, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 30, + "species": "SPECIES_SKORUPI", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_ACUPRESSURE", + "MOVE_PIN_MISSILE", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 60, + "level": 32, + "species": "SPECIES_STEELIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SCREECH", + "MOVE_ROCK_THROW", + "MOVE_SANDSTORM" + ] + } + ] + }, + { + "index": 280, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 26, + "species": "SPECIES_GASTLY", + "moves": [ + "MOVE_SHADOW_BALL", + "MOVE_SUCKER_PUNCH", + "MOVE_CURSE", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_HAUNTER", + "moves": [ + "MOVE_SHADOW_BALL", + "MOVE_SUCKER_PUNCH", + "MOVE_HYPNOSIS", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 60, + "level": 30, + "species": "SPECIES_GENGAR", + "moves": [ + "MOVE_SHADOW_BALL", + "MOVE_CONFUSE_RAY", + "MOVE_CURSE", + "MOVE_MEAN_LOOK" + ] + } + ] + }, + { + "index": 281, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 44, + "species": "SPECIES_STEELIX", + "moves": [ + "MOVE_THUNDER_FANG", + "MOVE_ROCK_THROW", + "MOVE_SCREECH", + "MOVE_HARDEN" + ] + }, + { + "difficulty": 60, + "level": 44, + "species": "SPECIES_MEDICHAM", + "moves": [ + "MOVE_THUNDER_PUNCH", + "MOVE_MEDITATE", + "MOVE_DETECT" + ] + } + ] + }, + { + "index": 282, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_POLIWHIRL", + "moves": [ + "MOVE_HYDRO_PUMP", + "MOVE_WAKE_UP_SLAP", + "MOVE_HYPNOSIS" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_GYARADOS", + "moves": [ + "MOVE_HYPER_BEAM", + "MOVE_HYDRO_PUMP", + "MOVE_DRAGON_DANCE", + "MOVE_ICE_FANG" + ] + } + ] + }, + { + "index": 283, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 33, + "species": "SPECIES_AZUMARILL", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_ATTRACT", + "MOVE_TAIL_WHIP", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 284, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 30, + "species": "SPECIES_MISDREAVUS", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PAIN_SPLIT", + "MOVE_CONFUSE_RAY", + "MOVE_SPITE" + ] + }, + { + "difficulty": 60, + "level": 30, + "species": "SPECIES_DRIFBLIM", + "moves": [ + "MOVE_STOCKPILE", + "MOVE_SWALLOW", + "MOVE_SPIT_UP", + "MOVE_PAYBACK" + ] + } + ] + }, + { + "index": 285, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 44, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_REFLECT", + "MOVE_DISABLE", + "MOVE_RECOVER" + ] + }, + { + "difficulty": 60, + "level": 44, + "species": "SPECIES_RAICHU", + "moves": [ + "MOVE_THUNDERBOLT", + "MOVE_DIG", + "MOVE_THUNDER_WAVE", + "MOVE_LIGHT_SCREEN" + ] + } + ] + }, + { + "index": 286, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_METAGROSS", + "moves": [ + "MOVE_METEOR_MASH", + "MOVE_HAMMER_ARM", + "MOVE_PSYCHIC", + "MOVE_MAGNET_RISE" + ] + } + ] + }, + { + "index": 287, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 23, + "species": "SPECIES_GLAMEOW", + "moves": [ + "MOVE_FURY_SWIPES", + "MOVE_FEINT_ATTACK", + "MOVE_HYPNOSIS", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 23, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_CONFUSION", + "MOVE_DISABLE", + "MOVE_MIRACLE_EYE" + ] + } + ] + }, + { + "index": 288, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_MISDREAVUS" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_HAUNTER" + } + ] + }, + { + "index": 289, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_MEDICHAM" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_ALAKAZAM" + } + ] + }, + { + "index": 290, + "type": 0, + "class": 70, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 291, + "type": 0, + "class": 71, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 292, + "type": 0, + "class": 71, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_AIPOM" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PSYDUCK" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_GIRAFARIG" + } + ] + }, + { + "index": 293, + "type": 1, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 22, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_PECK", + "MOVE_FLAIL", + "MOVE_SUPERSONIC" + ] + }, + { + "difficulty": 10, + "level": 23, + "species": "SPECIES_BARBOACH", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_MUD_BOMB", + "MOVE_MUD_SPORT" + ] + }, + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_GYARADOS", + "moves": [ + "MOVE_THRASH", + "MOVE_BITE" + ] + } + ] + }, + { + "index": 294, + "type": 0, + "class": 8, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BONSLY" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MIME_JR" + } + ] + }, + { + "index": 295, + "type": 3, + "class": 72, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 14, + "species": "SPECIES_ZUBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_BITE", + "MOVE_LEECH_LIFE", + "MOVE_TOXIC" + ] + }, + { + "difficulty": 100, + "level": 16, + "species": "SPECIES_PURUGLY", + "item": "ITEM_ORAN_BERRY", + "moves": [ + "MOVE_FEINT_ATTACK", + "MOVE_SCRATCH", + "MOVE_FAKE_OUT" + ] + } + ] + }, + { + "index": 296, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_WURMPLE", + "moves": [ + "MOVE_TACKLE", + "MOVE_STRING_SHOT" + ] + }, + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_SILCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN" + ] + } + ] + }, + { + "index": 297, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 11, + "species": "SPECIES_ZUBAT", + "moves": [ + "MOVE_LEECH_LIFE", + "MOVE_ASTONISH" + ] + } + ] + }, + { + "index": 298, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 11, + "species": "SPECIES_CASCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN", + "MOVE_POISON_STING" + ] + } + ] + }, + { + "index": 299, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 10, + "species": "SPECIES_WURMPLE" + }, + { + "difficulty": 30, + "level": 10, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 300, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 301, + "type": 1, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 44, + "species": "SPECIES_LUXIO", + "moves": [ + "MOVE_THUNDER_FANG", + "MOVE_CRUNCH", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 302, + "type": 1, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 42, + "species": "SPECIES_LUXIO", + "moves": [ + "MOVE_THUNDER_FANG", + "MOVE_CRUNCH", + "MOVE_LEER" + ] + }, + { + "difficulty": 10, + "level": 42, + "species": "SPECIES_BIBAREL", + "moves": [ + "MOVE_THUNDERBOLT", + "MOVE_WATER_PULSE", + "MOVE_SUPER_FANG", + "MOVE_THUNDER_WAVE" + ] + } + ] + }, + { + "index": 303, + "type": 1, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 44, + "species": "SPECIES_RAICHU", + "moves": [ + "MOVE_THUNDERBOLT", + "MOVE_SLAM", + "MOVE_THUNDER_WAVE", + "MOVE_QUICK_ATTACK" + ] + } + ] + }, + { + "index": 304, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BRONZOR" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_SHIELDON" + } + ] + }, + { + "index": 305, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_STEELIX" + } + ] + }, + { + "index": 306, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_PONYTA" + } + ] + }, + { + "index": 307, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_STARAVIA" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_PONYTA" + } + ] + }, + { + "index": 308, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 309, + "type": 1, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 40, + "level": 25, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_KARATE_CHOP", + "MOVE_LEER" + ] + }, + { + "difficulty": 40, + "level": 25, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_LOW_KICK", + "MOVE_FORESIGHT" + ] + }, + { + "difficulty": 40, + "level": 25, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_REVENGE", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 310, + "type": 1, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 40, + "level": 25, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_KARATE_CHOP", + "MOVE_FORESIGHT" + ] + }, + { + "difficulty": 40, + "level": 25, + "species": "SPECIES_MACHOP", + "moves": [ + "MOVE_LOW_KICK", + "MOVE_LEER" + ] + }, + { + "difficulty": 40, + "level": 25, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_SEISMIC_TOSS", + "MOVE_FORESIGHT" + ] + } + ] + }, + { + "index": 311, + "type": 1, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 40, + "level": 28, + "species": "SPECIES_MEDITITE", + "moves": [ + "MOVE_FORCE_PALM", + "MOVE_CONFUSION", + "MOVE_DETECT", + "MOVE_MEDITATE" + ] + } + ] + }, + { + "index": 312, + "type": 1, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 40, + "level": 26, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_VITAL_THROW", + "MOVE_FORESIGHT", + "MOVE_LEER" + ] + }, + { + "difficulty": 40, + "level": 26, + "species": "SPECIES_MEDITITE", + "moves": [ + "MOVE_FORCE_PALM", + "MOVE_CALM_MIND", + "MOVE_DETECT" + ] + } + ] + }, + { + "index": 313, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 52, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 56, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 314, + "type": 1, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 40, + "level": 33, + "species": "SPECIES_STEELIX", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_TAUNT", + "MOVE_TORMENT", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 315, + "type": 3, + "class": 74, + "unk2": 0, + "items": [ + "ITEM_SUPER_POTION", + "ITEM_SUPER_POTION" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 19, + "species": "SPECIES_CHERUBI", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GRASS_KNOT", + "MOVE_LEECH_SEED", + "MOVE_GROWTH", + "MOVE_SAFEGUARD" + ] + }, + { + "difficulty": 50, + "level": 19, + "species": "SPECIES_TURTWIG", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GRASS_KNOT", + "MOVE_RAZOR_LEAF", + "MOVE_WITHDRAW", + "MOVE_REFLECT" + ] + }, + { + "difficulty": 50, + "level": 22, + "species": "SPECIES_ROSERADE", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_GRASS_KNOT", + "MOVE_MAGICAL_LEAF", + "MOVE_POISON_STING", + "MOVE_STUN_SPORE" + ] + } + ] + }, + { + "index": 316, + "type": 3, + "class": 75, + "unk2": 0, + "items": [ + "ITEM_SUPER_POTION", + "ITEM_SUPER_POTION" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 27, + "species": "SPECIES_GYARADOS", + "item": "ITEM_NONE", + "moves": [ + "MOVE_BRINE", + "MOVE_DRAGON_RAGE", + "MOVE_BITE", + "MOVE_SWAGGER" + ] + }, + { + "difficulty": 100, + "level": 27, + "species": "SPECIES_QUAGSIRE", + "item": "ITEM_NONE", + "moves": [ + "MOVE_MUD_BOMB", + "MOVE_SLAM", + "MOVE_MUD_SPORT", + "MOVE_TAIL_WHIP" + ] + }, + { + "difficulty": 100, + "level": 30, + "species": "SPECIES_FLOATZEL", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_BRINE", + "MOVE_ICE_FANG", + "MOVE_PURSUIT", + "MOVE_SWIFT" + ] + } + ] + }, + { + "index": 317, + "type": 3, + "class": 76, + "unk2": 0, + "items": [ + "ITEM_HYPER_POTION", + "ITEM_HYPER_POTION" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 27, + "species": "SPECIES_MEDITITE", + "item": "ITEM_NONE", + "moves": [ + "MOVE_DRAIN_PUNCH", + "MOVE_CONFUSION", + "MOVE_MEDITATE", + "MOVE_DETECT" + ] + }, + { + "difficulty": 100, + "level": 27, + "species": "SPECIES_MACHOKE", + "item": "ITEM_NONE", + "moves": [ + "MOVE_BRICK_BREAK", + "MOVE_ROCK_TOMB", + "MOVE_LEER", + "MOVE_FORESIGHT" + ] + }, + { + "difficulty": 100, + "level": 30, + "species": "SPECIES_LUCARIO", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_DRAIN_PUNCH", + "MOVE_FORCE_PALM", + "MOVE_METAL_CLAW", + "MOVE_BONE_RUSH" + ] + } + ] + }, + { + "index": 318, + "type": 3, + "class": 77, + "unk2": 0, + "items": [ + "ITEM_HYPER_POTION", + "ITEM_HYPER_POTION" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 150, + "level": 32, + "species": "SPECIES_DRIFBLIM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_OMINOUS_WIND", + "MOVE_GUST", + "MOVE_ASTONISH", + "MOVE_MINIMIZE" + ] + }, + { + "difficulty": 150, + "level": 34, + "species": "SPECIES_GENGAR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_SHADOW_CLAW", + "MOVE_POISON_JAB", + "MOVE_SPITE", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 150, + "level": 36, + "species": "SPECIES_MISMAGIUS", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_SHADOW_BALL", + "MOVE_PSYBEAM", + "MOVE_MAGICAL_LEAF", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 319, + "type": 3, + "class": 78, + "unk2": 0, + "items": [ + "ITEM_HYPER_POTION", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 200, + "level": 38, + "species": "SPECIES_SNOVER", + "item": "ITEM_NONE", + "moves": [ + "MOVE_AVALANCHE", + "MOVE_RAZOR_LEAF", + "MOVE_INGRAIN", + "MOVE_LEER" + ] + }, + { + "difficulty": 200, + "level": 38, + "species": "SPECIES_SNEASEL", + "item": "ITEM_NONE", + "moves": [ + "MOVE_AVALANCHE", + "MOVE_SLASH", + "MOVE_FEINT_ATTACK", + "MOVE_TAUNT" + ] + }, + { + "difficulty": 200, + "level": 40, + "species": "SPECIES_MEDICHAM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_ICE_PUNCH", + "MOVE_FORCE_PALM", + "MOVE_DETECT", + "MOVE_BULK_UP" + ] + }, + { + "difficulty": 200, + "level": 42, + "species": "SPECIES_ABOMASNOW", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_AVALANCHE", + "MOVE_WOOD_HAMMER", + "MOVE_GRASS_WHISTLE", + "MOVE_SWAGGER" + ] + } + ] + }, + { + "index": 320, + "type": 3, + "class": 79, + "unk2": 0, + "items": [ + "ITEM_HYPER_POTION", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 200, + "level": 46, + "species": "SPECIES_RAICHU", + "item": "ITEM_NONE", + "moves": [ + "MOVE_CHARGE_BEAM", + "MOVE_BRICK_BREAK", + "MOVE_THUNDER_WAVE", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 200, + "level": 47, + "species": "SPECIES_AMBIPOM", + "item": "ITEM_NONE", + "moves": [ + "MOVE_SHOCK_WAVE", + "MOVE_AGILITY", + "MOVE_NASTY_PLOT", + "MOVE_BATON_PASS" + ] + }, + { + "difficulty": 200, + "level": 47, + "species": "SPECIES_OCTILLERY", + "item": "ITEM_NONE", + "moves": [ + "MOVE_CHARGE_BEAM", + "MOVE_OCTAZOOKA", + "MOVE_AURORA_BEAM", + "MOVE_BULLET_SEED" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_LUXRAY", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_CHARGE_BEAM", + "MOVE_THUNDER_FANG", + "MOVE_CRUNCH", + "MOVE_THUNDER_WAVE" + ] + } + ] + }, + { + "index": 321, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 322, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 323, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 4, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 4, + "species": "SPECIES_BUDEW" + }, + { + "difficulty": 0, + "level": 4, + "species": "SPECIES_STARLY" + } + ] + }, + { + "index": 324, + "type": 1, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 15, + "species": "SPECIES_CHERUBI", + "moves": [ + "MOVE_TACKLE", + "MOVE_LEECH_SEED" + ] + }, + { + "difficulty": 10, + "level": 15, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_POISON_STING", + "MOVE_STUN_SPORE" + ] + } + ] + }, + { + "index": 325, + "type": 1, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 30, + "species": "SPECIES_MISDREAVUS", + "moves": [ + "MOVE_PAIN_SPLIT", + "MOVE_PSYBEAM", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 326, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 327, + "type": 0, + "class": 80, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 328, + "type": 0, + "class": 80, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_PSYDUCK" + } + ] + }, + { + "index": 329, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_BUDEW", + "moves": [ + "MOVE_ABSORB", + "MOVE_GROWTH", + "MOVE_WATER_SPORT" + ] + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_PSYDUCK", + "moves": [ + "MOVE_SCRATCH", + "MOVE_TAIL_WHIP" + ] + } + ] + }, + { + "index": 330, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_DRIFLOON", + "moves": [ + "MOVE_SPIT_UP", + "MOVE_SWALLOW", + "MOVE_STOCKPILE" + ] + }, + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_MISDREAVUS", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_ASTONISH", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 331, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 41, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 10, + "level": 41, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 10, + "level": 41, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 10, + "level": 41, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 332, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 333, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_NOCTOWL" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 334, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 335, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 336, + "type": 0, + "class": 33, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 337, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_MANTYKE" + } + ] + }, + { + "index": 338, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_MANTYKE" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 339, + "type": 1, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_WINGULL", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_WING_ATTACK", + "MOVE_SUPERSONIC" + ] + }, + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_WINGULL", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_WING_ATTACK", + "MOVE_SUPERSONIC" + ] + } + ] + }, + { + "index": 340, + "type": 1, + "class": 60, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 30, + "species": "SPECIES_HAUNTER", + "moves": [ + "MOVE_SHADOW_PUNCH", + "MOVE_SUCKER_PUNCH", + "MOVE_CONFUSE_RAY", + "MOVE_HYPNOSIS" + ] + } + ] + }, + { + "index": 341, + "type": 1, + "class": 60, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 44, + "species": "SPECIES_MR_MIME", + "moves": [ + "MOVE_THUNDERBOLT", + "MOVE_ENERGY_BALL", + "MOVE_THUNDER_WAVE", + "MOVE_FLASH" + ] + } + ] + }, + { + "index": 342, + "type": 1, + "class": 60, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 6, + "species": "SPECIES_ABRA", + "moves": [ + "MOVE_HIDDEN_POWER" + ] + } + ] + }, + { + "index": 343, + "type": 1, + "class": 61, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_DRIFLOON", + "moves": [ + "MOVE_PAYBACK", + "MOVE_GUST", + "MOVE_ASTONISH", + "MOVE_MINIMIZE" + ] + }, + { + "difficulty": 10, + "level": 28, + "species": "SPECIES_DRIFLOON", + "moves": [ + "MOVE_SPIT_UP", + "MOVE_SWALLOW", + "MOVE_STOCKPILE" + ] + } + ] + }, + { + "index": 344, + "type": 1, + "class": 61, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 44, + "species": "SPECIES_PACHIRISU", + "moves": [ + "MOVE_LAST_RESORT", + "MOVE_SUPER_FANG", + "MOVE_DISCHARGE", + "MOVE_SWEET_KISS" + ] + } + ] + }, + { + "index": 345, + "type": 1, + "class": 61, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 6, + "species": "SPECIES_ABRA", + "moves": [ + "MOVE_HIDDEN_POWER" + ] + } + ] + }, + { + "index": 346, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 347, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 348, + "type": 1, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 17, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_POISON_STING", + "MOVE_STUN_SPORE" + ] + } + ] + }, + { + "index": 349, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 350, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 351, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 352, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 353, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 354, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 355, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_KRICKETOT" + } + ] + }, + { + "index": 356, + "type": 1, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 7, + "species": "SPECIES_MACHOP", + "moves": [ + "MOVE_LOW_KICK", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 357, + "type": 1, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 27, + "species": "SPECIES_GASTLY", + "moves": [ + "MOVE_SUCKER_PUNCH", + "MOVE_NIGHT_SHADE", + "MOVE_CONFUSE_RAY", + "MOVE_CURSE" + ] + }, + { + "difficulty": 10, + "level": 29, + "species": "SPECIES_HAUNTER", + "moves": [ + "MOVE_SUCKER_PUNCH", + "MOVE_SHADOW_PUNCH", + "MOVE_CONFUSE_RAY", + "MOVE_SPITE" + ] + } + ] + }, + { + "index": 358, + "type": 0, + "class": 44, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_SHELLOS" + } + ] + }, + { + "index": 359, + "type": 0, + "class": 44, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_REMORAID" + } + ] + }, + { + "index": 360, + "type": 0, + "class": 45, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_MARILL" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_MARILL" + } + ] + }, + { + "index": 361, + "type": 0, + "class": 45, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_REMORAID" + } + ] + }, + { + "index": 362, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 52, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_BRAVE_BIRD", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 100, + "level": 53, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_STOCKPILE", + "MOVE_SWALLOW", + "MOVE_SPIT_UP", + "MOVE_WATER_PULSE" + ] + }, + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_GOLBAT", + "moves": [ + "MOVE_AIR_SLASH", + "MOVE_POISON_FANG", + "MOVE_BITE", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 363, + "type": 0, + "class": 81, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 364, + "type": 0, + "class": 81, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 365, + "type": 0, + "class": 81, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 366, + "type": 0, + "class": 26, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 367, + "type": 1, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 29, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SLAM", + "MOVE_DIG" + ] + }, + { + "difficulty": 10, + "level": 29, + "species": "SPECIES_ONIX", + "moves": [ + "MOVE_IRON_TAIL", + "MOVE_SLAM", + "MOVE_DIG" + ] + } + ] + }, + { + "index": 368, + "type": 0, + "class": 82, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_WOOPER" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_MARILL" + } + ] + }, + { + "index": 369, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_PACHIRISU" + } + ] + }, + { + "index": 370, + "type": 0, + "class": 84, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_CHATOT" + } + ] + }, + { + "index": 371, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 372, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_MEDICHAM" + } + ] + }, + { + "index": 373, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_MURKROW" + }, + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_HONCHKROW" + } + ] + }, + { + "index": 374, + "type": 0, + "class": 16, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 375, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 376, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 377, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_GEODUDE", + "moves": [ + "MOVE_ROCK_THROW", + "MOVE_TACKLE" + ] + } + ] + }, + { + "index": 378, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_LUXIO", + "moves": [ + "MOVE_SPARK", + "MOVE_BITE", + "MOVE_SWAGGER" + ] + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_STUNKY", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_SLASH", + "MOVE_SMOKESCREEN", + "MOVE_TOXIC" + ] + } + ] + }, + { + "index": 379, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_CASCOON", + "moves": [ + "MOVE_POISON_STING", + "MOVE_TACKLE" + ] + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_DUSTOX", + "moves": [ + "MOVE_POISON_STING", + "MOVE_GUST", + "MOVE_CONFUSION" + ] + } + ] + }, + { + "index": 380, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_WATER_GUN", + "MOVE_SWIFT", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_SHINX", + "moves": [ + "MOVE_SPARK", + "MOVE_BITE" + ] + } + ] + }, + { + "index": 381, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_GEODUDE" + } + ] + }, + { + "index": 382, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BUIZEL" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BUIZEL" + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 383, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 12, + "species": "SPECIES_GASTLY" + }, + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_GASTLY" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_GASTLY" + } + ] + }, + { + "index": 384, + "type": 0, + "class": 20, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 385, + "type": 0, + "class": 21, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 386, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_GABITE" + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 387, + "type": 0, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 388, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 31, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_TAKE_DOWN", + "MOVE_FIRE_SPIN", + "MOVE_STOMP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 31, + "species": "SPECIES_HAUNTER", + "moves": [ + "MOVE_SHADOW_BALL", + "MOVE_SUCKER_PUNCH", + "MOVE_CONFUSE_RAY", + "MOVE_SPITE" + ] + }, + { + "difficulty": 50, + "level": 34, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_SWIFT", + "MOVE_ICE_FANG" + ] + } + ] + }, + { + "index": 389, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_BIBAREL", + "moves": [ + "MOVE_SUPERPOWER", + "MOVE_SUPER_FANG", + "MOVE_HYPER_FANG", + "MOVE_YAWN" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_BOUNCE", + "MOVE_FIRE_BLAST", + "MOVE_QUICK_ATTACK", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_BEAUTIFLY", + "moves": [ + "MOVE_BUG_BUZZ", + "MOVE_GIGA_DRAIN", + "MOVE_SILVER_WIND", + "MOVE_ATTRACT" + ] + } + ] + }, + { + "index": 390, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_RAICHU", + "moves": [ + "MOVE_THUNDER", + "MOVE_RAIN_DANCE", + "MOVE_SLAM", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_GASTRODON", + "moves": [ + "MOVE_MUDDY_WATER", + "MOVE_MUD_BOMB", + "MOVE_BODY_SLAM", + "MOVE_RECOVER" + ] + } + ] + }, + { + "index": 391, + "type": 0, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 392, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 33, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_WING_ATTACK", + "MOVE_ROOST", + "MOVE_PROTECT" + ] + }, + { + "difficulty": 50, + "level": 33, + "species": "SPECIES_SUDOWOODO", + "moves": [ + "MOVE_ROCK_SLIDE", + "MOVE_FEINT_ATTACK", + "MOVE_LOW_KICK", + "MOVE_FLAIL" + ] + } + ] + }, + { + "index": 393, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_PACHIRISU", + "moves": [ + "MOVE_DISCHARGE", + "MOVE_SUPER_FANG", + "MOVE_SWEET_KISS", + "MOVE_CHARM" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_AZUMARILL", + "moves": [ + "MOVE_HYDRO_PUMP", + "MOVE_AQUA_TAIL", + "MOVE_DOUBLE_EDGE", + "MOVE_RAIN_DANCE" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_BLISSEY", + "moves": [ + "MOVE_HYPER_BEAM", + "MOVE_SOFT_BOILED", + "MOVE_LIGHT_SCREEN", + "MOVE_MINIMIZE" + ] + } + ] + }, + { + "index": 394, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_LOPUNNY", + "moves": [ + "MOVE_DIZZY_PUNCH", + "MOVE_JUMP_KICK", + "MOVE_AGILITY", + "MOVE_BATON_PASS" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_AIR_SLASH", + "MOVE_WATER_PULSE", + "MOVE_PLUCK", + "MOVE_ROOST" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_QUAGSIRE", + "moves": [ + "MOVE_MUDDY_WATER", + "MOVE_EARTHQUAKE", + "MOVE_YAWN", + "MOVE_AMNESIA" + ] + } + ] + }, + { + "index": 395, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_MEDITITE" + } + ] + }, + { + "index": 396, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_MR_MIME" + } + ] + }, + { + "index": 397, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_GIRAFARIG" + } + ] + }, + { + "index": 398, + "type": 1, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PSYDUCK", + "moves": [ + "MOVE_CONFUSION", + "MOVE_WATER_GUN", + "MOVE_SCRATCH" + ] + } + ] + }, + { + "index": 399, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_KADABRA" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 400, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_CHINGLING" + }, + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_CHIMECHO" + } + ] + }, + { + "index": 401, + "type": 1, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 26, + "species": "SPECIES_BARBOACH", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_MUD_BOMB", + "MOVE_MUD_SLAP" + ] + } + ] + }, + { + "index": 402, + "type": 0, + "class": 34, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 403, + "type": 3, + "class": 86, + "unk2": 0, + "items": [ + "ITEM_SUPER_POTION", + "ITEM_SUPER_POTION" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_MURKROW", + "item": "ITEM_NONE", + "moves": [ + "MOVE_DRILL_PECK", + "MOVE_NIGHT_SHADE", + "MOVE_ASTONISH", + "MOVE_EMBARGO" + ] + }, + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_GOLBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_POISON_FANG", + "MOVE_AIR_CUTTER", + "MOVE_BITE", + "MOVE_SUPERSONIC" + ] + }, + { + "difficulty": 150, + "level": 43, + "species": "SPECIES_SNEASEL", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_SLASH", + "MOVE_ICE_PUNCH", + "MOVE_QUICK_ATTACK", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 404, + "type": 3, + "class": 86, + "unk2": 0, + "items": [ + "ITEM_SUPER_POTION", + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 200, + "level": 45, + "species": "SPECIES_HONCHKROW", + "item": "ITEM_NONE", + "moves": [ + "MOVE_DRILL_PECK", + "MOVE_DARK_PULSE", + "MOVE_STEEL_WING", + "MOVE_EMBARGO" + ] + }, + { + "difficulty": 200, + "level": 46, + "species": "SPECIES_CROBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_CROSS_POISON", + "MOVE_AIR_SLASH", + "MOVE_BITE", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 200, + "level": 45, + "species": "SPECIES_GYARADOS", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GIGA_IMPACT", + "MOVE_AQUA_TAIL", + "MOVE_ICE_FANG", + "MOVE_EARTHQUAKE" + ] + }, + { + "difficulty": 200, + "level": 48, + "species": "SPECIES_WEAVILE", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_ICE_PUNCH", + "MOVE_BRICK_BREAK", + "MOVE_X_SCISSOR" + ] + } + ] + }, + { + "index": 405, + "type": 3, + "class": 72, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 37, + "species": "SPECIES_GOLBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_AIR_CUTTER", + "MOVE_BITE", + "MOVE_TOXIC", + "MOVE_SUPERSONIC" + ] + }, + { + "difficulty": 100, + "level": 37, + "species": "SPECIES_BRONZOR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GYRO_BALL", + "MOVE_EXTRASENSORY", + "MOVE_IRON_DEFENSE", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 100, + "level": 39, + "species": "SPECIES_PURUGLY", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_SLASH", + "MOVE_FEINT_ATTACK", + "MOVE_HYPNOSIS", + "MOVE_FAKE_OUT" + ] + } + ] + }, + { + "index": 406, + "type": 3, + "class": 87, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 18, + "species": "SPECIES_ZUBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_WING_ATTACK", + "MOVE_BITE" + ] + }, + { + "difficulty": 100, + "level": 20, + "species": "SPECIES_SKUNTANK", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_POISON_GAS", + "MOVE_SCREECH", + "MOVE_SMOKESCREEN" + ] + } + ] + }, + { + "index": 407, + "type": 3, + "class": 87, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 41, + "species": "SPECIES_BRONZOR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GYRO_BALL", + "MOVE_EXTRASENSORY", + "MOVE_ROCK_SLIDE", + "MOVE_REFLECT" + ] + }, + { + "difficulty": 100, + "level": 41, + "species": "SPECIES_GOLBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_SLUDGE_BOMB", + "MOVE_AIR_CUTTER", + "MOVE_GIGA_DRAIN", + "MOVE_MEAN_LOOK" + ] + }, + { + "difficulty": 100, + "level": 46, + "species": "SPECIES_SKUNTANK", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_POISON_JAB", + "MOVE_FLAMETHROWER", + "MOVE_SMOKESCREEN" + ] + } + ] + }, + { + "index": 408, + "type": 3, + "class": 88, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 35, + "species": "SPECIES_KADABRA", + "item": "ITEM_NONE", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_SHOCK_WAVE", + "MOVE_RECOVER", + "MOVE_EMBARGO" + ] + }, + { + "difficulty": 100, + "level": 35, + "species": "SPECIES_BRONZOR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GYRO_BALL", + "MOVE_SHADOW_BALL", + "MOVE_ROCK_TOMB", + "MOVE_IRON_DEFENSE" + ] + }, + { + "difficulty": 100, + "level": 37, + "species": "SPECIES_TOXICROAK", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_POISON_JAB", + "MOVE_REVENGE", + "MOVE_MUD_BOMB", + "MOVE_FEINT_ATTACK" + ] + } + ] + }, + { + "index": 409, + "type": 3, + "class": 88, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 38, + "species": "SPECIES_KADABRA", + "item": "ITEM_NONE", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_SHOCK_WAVE", + "MOVE_RECOVER", + "MOVE_EMBARGO" + ] + }, + { + "difficulty": 100, + "level": 38, + "species": "SPECIES_BRONZOR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GYRO_BALL", + "MOVE_EXTRASENSORY", + "MOVE_SHADOW_BALL", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 100, + "level": 40, + "species": "SPECIES_TOXICROAK", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_POISON_JAB", + "MOVE_BRICK_BREAK", + "MOVE_X_SCISSOR", + "MOVE_SWAGGER" + ] + } + ] + }, + { + "index": 410, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_WURMPLE", + "moves": [ + "MOVE_TACKLE", + "MOVE_STRING_SHOT", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_CASCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN", + "MOVE_POISON_STING" + ] + } + ] + }, + { + "index": 411, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 412, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_WURMPLE", + "moves": [ + "MOVE_TACKLE", + "MOVE_STRING_SHOT", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_ZUBAT", + "moves": [ + "MOVE_LEECH_LIFE", + "MOVE_ASTONISH" + ] + } + ] + }, + { + "index": 413, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 414, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_ZUBAT", + "moves": [ + "MOVE_LEECH_LIFE", + "MOVE_ASTONISH" + ] + } + ] + }, + { + "index": 415, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 9, + "species": "SPECIES_WURMPLE" + } + ] + }, + { + "index": 416, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_BEAUTIFLY" + }, + { + "difficulty": 30, + "level": 27, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 417, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 418, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 31, + "species": "SPECIES_DUSTOX" + }, + { + "difficulty": 30, + "level": 31, + "species": "SPECIES_BEAUTIFLY" + } + ] + }, + { + "index": 419, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 33, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 420, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 421, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 30, + "level": 14, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 422, + "type": 1, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 15, + "species": "SPECIES_SILCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN", + "MOVE_POISON_STING" + ] + } + ] + }, + { + "index": 423, + "type": 1, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 12, + "species": "SPECIES_WURMPLE", + "moves": [ + "MOVE_TACKLE", + "MOVE_STRING_SHOT", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 30, + "level": 12, + "species": "SPECIES_SILCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 30, + "level": 12, + "species": "SPECIES_ZUBAT", + "moves": [ + "MOVE_LEECH_LIFE", + "MOVE_ASTONISH" + ] + } + ] + }, + { + "index": 424, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 425, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 33, + "species": "SPECIES_GLAMEOW" + }, + { + "difficulty": 30, + "level": 33, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 426, + "type": 1, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_SILCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_GOLBAT", + "moves": [ + "MOVE_AIR_CUTTER", + "MOVE_WING_ATTACK", + "MOVE_BITE", + "MOVE_SUPERSONIC" + ] + }, + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_GLAMEOW", + "moves": [ + "MOVE_FURY_SWIPES", + "MOVE_FEINT_ATTACK", + "MOVE_GROWL", + "MOVE_FAKE_OUT" + ] + } + ] + }, + { + "index": 427, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 31, + "species": "SPECIES_BEAUTIFLY" + }, + { + "difficulty": 30, + "level": 33, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 428, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 429, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 430, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_SILCOON" + } + ] + }, + { + "index": 431, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_ZUBAT" + } + ] + }, + { + "index": 432, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 433, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 434, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 435, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 436, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 437, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 438, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 439, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 440, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 441, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 442, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 443, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 444, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 49, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 445, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 446, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 52, + "species": "SPECIES_MACHOKE" + }, + { + "difficulty": 30, + "level": 58, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 447, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 54, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 30, + "level": 56, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 448, + "type": 0, + "class": 35, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 449, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 450, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_BUNEARY" + } + ] + }, + { + "index": 451, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 452, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 453, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_GRAVELER" + }, + { + "difficulty": 0, + "level": 32, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 454, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 455, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 456, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_PIPLUP", + "moves": [ + "MOVE_BUBBLE", + "MOVE_PECK" + ] + } + ] + }, + { + "index": 457, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_AERIAL_ACE", + "MOVE_ENDEAVOR", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_CHERRIM", + "moves": [ + "MOVE_SOLAR_BEAM", + "MOVE_MAGICAL_LEAF", + "MOVE_LEECH_SEED", + "MOVE_SUNNY_DAY" + ] + } + ] + }, + { + "index": 458, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_SILCOON", + "moves": [ + "MOVE_POISON_STING", + "MOVE_TACKLE" + ] + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_BEAUTIFLY", + "moves": [ + "MOVE_GUST", + "MOVE_POISON_STING", + "MOVE_ABSORB" + ] + } + ] + }, + { + "index": 459, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_MEDITITE", + "moves": [ + "MOVE_CONFUSION", + "MOVE_BIDE" + ] + } + ] + }, + { + "index": 460, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_MR_MIME" + } + ] + }, + { + "index": 461, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 462, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 463, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 464, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 465, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 466, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 467, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 468, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 469, + "type": 0, + "class": 33, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 470, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 19, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_WING_ATTACK", + "MOVE_QUICK_ATTACK", + "MOVE_ENDEAVOR", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 50, + "level": 20, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_WATER_GUN", + "MOVE_QUICK_ATTACK", + "MOVE_PURSUIT", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 20, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_EMBER", + "MOVE_TACKLE", + "MOVE_TAIL_WHIP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_GROTLE", + "moves": [ + "MOVE_RAZOR_LEAF", + "MOVE_TACKLE", + "MOVE_ABSORB", + "MOVE_WITHDRAW" + ] + } + ] + }, + { + "index": 471, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 19, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_WING_ATTACK", + "MOVE_QUICK_ATTACK", + "MOVE_ENDEAVOR", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 50, + "level": 20, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_WATER_GUN", + "MOVE_QUICK_ATTACK", + "MOVE_PURSUIT", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 20, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_POISON_STING", + "MOVE_LEECH_SEED", + "MOVE_STUN_SPORE" + ] + }, + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FLAME_WHEEL", + "MOVE_MACH_PUNCH", + "MOVE_FURY_SWIPES", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 472, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 19, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_WING_ATTACK", + "MOVE_QUICK_ATTACK", + "MOVE_ENDEAVOR", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 50, + "level": 20, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_POISON_STING", + "MOVE_LEECH_SEED", + "MOVE_STUN_SPORE" + ] + }, + { + "difficulty": 50, + "level": 20, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_EMBER", + "MOVE_TACKLE", + "MOVE_TAIL_WHIP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 21, + "species": "SPECIES_PRINPLUP", + "moves": [ + "MOVE_BUBBLE", + "MOVE_PECK", + "MOVE_METAL_CLAW", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 473, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 80, + "level": 26, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_WING_ATTACK", + "MOVE_QUICK_ATTACK", + "MOVE_ENDEAVOR", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 80, + "level": 25, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_QUICK_ATTACK", + "MOVE_PURSUIT", + "MOVE_GROWL" + ] + }, + { + "difficulty": 80, + "level": 25, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_EMBER", + "MOVE_STOMP", + "MOVE_TAIL_WHIP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 80, + "level": 28, + "species": "SPECIES_GROTLE", + "moves": [ + "MOVE_RAZOR_LEAF", + "MOVE_BITE", + "MOVE_MEGA_DRAIN", + "MOVE_WITHDRAW" + ] + } + ] + }, + { + "index": 474, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 80, + "level": 26, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_WING_ATTACK", + "MOVE_QUICK_ATTACK", + "MOVE_ENDEAVOR", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 80, + "level": 25, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_QUICK_ATTACK", + "MOVE_PURSUIT", + "MOVE_GROWL" + ] + }, + { + "difficulty": 80, + "level": 25, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_POISON_STING", + "MOVE_LEECH_SEED", + "MOVE_MAGICAL_LEAF" + ] + }, + { + "difficulty": 80, + "level": 28, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FLAME_WHEEL", + "MOVE_MACH_PUNCH", + "MOVE_FURY_SWIPES", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 475, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 80, + "level": 26, + "species": "SPECIES_STARLY", + "moves": [ + "MOVE_WING_ATTACK", + "MOVE_QUICK_ATTACK", + "MOVE_ENDEAVOR", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 80, + "level": 25, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_POISON_STING", + "MOVE_LEECH_SEED", + "MOVE_MAGICAL_LEAF" + ] + }, + { + "difficulty": 80, + "level": 25, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_EMBER", + "MOVE_STOMP", + "MOVE_TAIL_WHIP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 80, + "level": 28, + "species": "SPECIES_PRINPLUP", + "moves": [ + "MOVE_BUBBLE_BEAM", + "MOVE_PECK", + "MOVE_METAL_CLAW", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 476, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 31, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 100, + "level": 32, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_PURSUIT", + "MOVE_QUICK_ATTACK", + "MOVE_SWIFT" + ] + }, + { + "difficulty": 100, + "level": 30, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_BRICK_BREAK", + "MOVE_AERIAL_ACE", + "MOVE_NIGHT_SLASH", + "MOVE_HORN_ATTACK" + ] + }, + { + "difficulty": 100, + "level": 32, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_FIRE_SPIN", + "MOVE_TAKE_DOWN", + "MOVE_STOMP", + "MOVE_TAIL_WHIP" + ] + }, + { + "difficulty": 100, + "level": 35, + "species": "SPECIES_GROTLE", + "moves": [ + "MOVE_RAZOR_LEAF", + "MOVE_BITE", + "MOVE_MEGA_DRAIN", + "MOVE_LEECH_SEED" + ] + } + ] + }, + { + "index": 477, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 31, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 100, + "level": 32, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_PURSUIT", + "MOVE_QUICK_ATTACK", + "MOVE_SWIFT" + ] + }, + { + "difficulty": 100, + "level": 30, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_BRICK_BREAK", + "MOVE_AERIAL_ACE", + "MOVE_NIGHT_SLASH", + "MOVE_HORN_ATTACK" + ] + }, + { + "difficulty": 100, + "level": 32, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_TOXIC_SPIKES", + "MOVE_LEECH_SEED", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 100, + "level": 35, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_BRICK_BREAK", + "MOVE_FLAME_WHEEL", + "MOVE_MACH_PUNCH", + "MOVE_AERIAL_ACE" + ] + } + ] + }, + { + "index": 478, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 31, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 100, + "level": 32, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_TOXIC_SPIKES", + "MOVE_LEECH_SEED", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 100, + "level": 30, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_BRICK_BREAK", + "MOVE_AERIAL_ACE", + "MOVE_NIGHT_SLASH", + "MOVE_HORN_ATTACK" + ] + }, + { + "difficulty": 100, + "level": 32, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_FIRE_SPIN", + "MOVE_TAKE_DOWN", + "MOVE_STOMP", + "MOVE_TAIL_WHIP" + ] + }, + { + "difficulty": 100, + "level": 35, + "species": "SPECIES_PRINPLUP", + "moves": [ + "MOVE_BUBBLE_BEAM", + "MOVE_AERIAL_ACE", + "MOVE_METAL_CLAW", + "MOVE_FURY_ATTACK" + ] + } + ] + }, + { + "index": 479, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 200, + "level": 48, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_ICE_FANG", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 200, + "level": 50, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_ROCK_SLIDE", + "MOVE_NIGHT_SLASH", + "MOVE_AERIAL_ACE" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_SUNNY_DAY", + "MOVE_BOUNCE", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 200, + "level": 51, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_REST" + ] + }, + { + "difficulty": 200, + "level": 53, + "species": "SPECIES_TORTERRA", + "moves": [ + "MOVE_LEAF_STORM", + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH", + "MOVE_SYNTHESIS" + ] + } + ] + }, + { + "index": 480, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 200, + "level": 48, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_ICE_FANG", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 200, + "level": 50, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_ROCK_SLIDE", + "MOVE_NIGHT_SLASH", + "MOVE_AERIAL_ACE" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_ROSERADE", + "moves": [ + "MOVE_POISON_JAB", + "MOVE_GIGA_DRAIN", + "MOVE_SHADOW_BALL", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 200, + "level": 51, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_REST" + ] + }, + { + "difficulty": 200, + "level": 53, + "species": "SPECIES_INFERNAPE", + "moves": [ + "MOVE_FLAMETHROWER", + "MOVE_FOCUS_BLAST", + "MOVE_SHADOW_CLAW", + "MOVE_AERIAL_ACE" + ] + } + ] + }, + { + "index": 481, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 200, + "level": 48, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_ROSERADE", + "moves": [ + "MOVE_POISON_JAB", + "MOVE_GIGA_DRAIN", + "MOVE_SHADOW_BALL", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 200, + "level": 50, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_ROCK_SLIDE", + "MOVE_NIGHT_SLASH", + "MOVE_AERIAL_ACE" + ] + }, + { + "difficulty": 200, + "level": 49, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_SUNNY_DAY", + "MOVE_BOUNCE", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 200, + "level": 51, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_REST" + ] + }, + { + "difficulty": 200, + "level": 53, + "species": "SPECIES_EMPOLEON", + "moves": [ + "MOVE_BRINE", + "MOVE_AERIAL_ACE", + "MOVE_METAL_CLAW", + "MOVE_SHADOW_CLAW" + ] + } + ] + }, + { + "index": 482, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_PELIPPER" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_MACHOKE" + }, + { + "difficulty": 0, + "level": 44, + "species": "SPECIES_GASTRODON" + } + ] + }, + { + "index": 483, + "type": 1, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_SHELLOS", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_MUD_BOMB", + "MOVE_RAIN_DANCE" + ] + }, + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_WINGULL", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_WING_ATTACK", + "MOVE_SUPERSONIC" + ] + }, + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_SHELLOS", + "moves": [ + "MOVE_WATER_PULSE", + "MOVE_MUD_BOMB", + "MOVE_RAIN_DANCE" + ] + } + ] + }, + { + "index": 484, + "type": 0, + "class": 60, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 485, + "type": 0, + "class": 61, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 486, + "type": 1, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_ABRA", + "moves": [ + "MOVE_HIDDEN_POWER" + ] + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_CONFUSION", + "MOVE_DISABLE", + "MOVE_KINESIS", + "MOVE_THUNDER_PUNCH" + ] + } + ] + }, + { + "index": 487, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 488, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_GEODUDE" + } + ] + }, + { + "index": 489, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_SKORUPI" + } + ] + }, + { + "index": 490, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_STUNKY" + } + ] + }, + { + "index": 491, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_WORMADAM" + } + ] + }, + { + "index": 492, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 43, + "species": "SPECIES_LOPUNNY" + } + ] + }, + { + "index": 493, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 494, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 495, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 496, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 13, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 14, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_AIPOM" + } + ] + }, + { + "index": 497, + "type": 1, + "class": 44, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 26, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_SONIC_BOOM", + "MOVE_QUICK_ATTACK", + "MOVE_PURSUIT" + ] + } + ] + }, + { + "index": 498, + "type": 1, + "class": 45, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_AZURILL", + "moves": [ + "MOVE_WATER_GUN", + "MOVE_SLAM", + "MOVE_CHARM" + ] + }, + { + "difficulty": 10, + "level": 24, + "species": "SPECIES_MARILL", + "moves": [ + "MOVE_BUBBLE_BEAM", + "MOVE_ROLLOUT", + "MOVE_DEFENSE_CURL", + "MOVE_AQUA_RING" + ] + } + ] + }, + { + "index": 499, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_KRICKETUNE", + "moves": [ + "MOVE_X_SCISSOR", + "MOVE_BRICK_BREAK", + "MOVE_AERIAL_ACE", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_QUAGSIRE", + "moves": [ + "MOVE_MUDDY_WATER", + "MOVE_EARTHQUAKE", + "MOVE_YAWN", + "MOVE_SLAM" + ] + }, + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_GENGAR", + "moves": [ + "MOVE_SHADOW_BALL", + "MOVE_DREAM_EATER", + "MOVE_HYPNOSIS", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 500, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_PURUGLY", + "moves": [ + "MOVE_SLASH", + "MOVE_PAYBACK", + "MOVE_ATTRACT", + "MOVE_FAKE_OUT" + ] + }, + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_GRAVELER", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_STONE_EDGE", + "MOVE_DOUBLE_EDGE", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 100, + "level": 54, + "species": "SPECIES_GOLBAT", + "moves": [ + "MOVE_AIR_SLASH", + "MOVE_POISON_FANG", + "MOVE_PLUCK", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 501, + "type": 0, + "class": 81, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 502, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 503, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GRAVELER" + } + ] + }, + { + "index": 504, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_GRAVELER" + } + ] + }, + { + "index": 505, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_STEELIX" + } + ] + }, + { + "index": 506, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GRAVELER" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 507, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 508, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_DUSTOX" + }, + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 509, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_STUNKY" + } + ] + }, + { + "index": 510, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_WURMPLE" + }, + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_CASCOON" + }, + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_DUSTOX" + } + ] + }, + { + "index": 511, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 512, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_BRONZOR" + }, + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_STUNKY" + } + ] + }, + { + "index": 513, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 514, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 515, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 39, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 516, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_DUSTOX" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_DUSTOX" + } + ] + }, + { + "index": 517, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 518, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 519, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 40, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 520, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_BRONZOR" + }, + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 521, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_DUSTOX" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 522, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_CROAGUNK" + }, + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 35, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 523, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 40, + "species": "SPECIES_BEAUTIFLY" + } + ] + }, + { + "index": 524, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_WURMPLE" + }, + { + "difficulty": 30, + "level": 36, + "species": "SPECIES_SILCOON" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_BEAUTIFLY" + } + ] + }, + { + "index": 525, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_BRONZOR" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 526, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_GLAMEOW" + }, + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 527, + "type": 0, + "class": 89, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 528, + "type": 3, + "class": 72, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 41, + "species": "SPECIES_BRONZOR", + "item": "ITEM_NONE", + "moves": [ + "MOVE_GYRO_BALL", + "MOVE_EXTRASENSORY", + "MOVE_LIGHT_SCREEN", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 100, + "level": 42, + "species": "SPECIES_GOLBAT", + "item": "ITEM_NONE", + "moves": [ + "MOVE_AIR_CUTTER", + "MOVE_BITE", + "MOVE_POISON_FANG", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 100, + "level": 45, + "species": "SPECIES_PURUGLY", + "item": "ITEM_SITRUS_BERRY", + "moves": [ + "MOVE_SLASH", + "MOVE_SHADOW_CLAW", + "MOVE_AERIAL_ACE", + "MOVE_HYPNOSIS" + ] + } + ] + }, + { + "index": 529, + "type": 0, + "class": 57, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_CLEFFA" + } + ] + }, + { + "index": 530, + "type": 0, + "class": 20, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PICHU" + }, + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_PICHU" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 531, + "type": 0, + "class": 21, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BONSLY" + } + ] + }, + { + "index": 532, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_KRICKETUNE" + }, + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_SHELLOS" + } + ] + }, + { + "index": 533, + "type": 0, + "class": 70, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PONYTA" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 534, + "type": 0, + "class": 23, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MURKROW" + }, + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_MISDREAVUS" + } + ] + }, + { + "index": 535, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 536, + "type": 0, + "class": 15, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_MR_MIME" + } + ] + }, + { + "index": 537, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 538, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 539, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_CLEFAIRY" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_CLEFAIRY" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 540, + "type": 0, + "class": 21, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_MARILL" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_AIPOM" + } + ] + }, + { + "index": 541, + "type": 1, + "class": 51, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 22, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 50, + "level": 22, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + } + ] + }, + { + "index": 542, + "type": 0, + "class": 34, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_HOOTHOOT" + } + ] + }, + { + "index": 543, + "type": 0, + "class": 35, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 22, + "species": "SPECIES_LOPUNNY" + }, + { + "difficulty": 0, + "level": 20, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 544, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BIDOOF" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 545, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_SUDOWOODO" + } + ] + }, + { + "index": 546, + "type": 0, + "class": 33, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_BONSLY" + }, + { + "difficulty": 0, + "level": 21, + "species": "SPECIES_PICHU" + } + ] + }, + { + "index": 547, + "type": 0, + "class": 84, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_MURKROW" + } + ] + }, + { + "index": 548, + "type": 1, + "class": 60, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_WOOPER", + "moves": [ + "MOVE_MUD_BOMB", + "MOVE_SLAM", + "MOVE_WATER_GUN", + "MOVE_AMNESIA" + ] + } + ] + }, + { + "index": 549, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 550, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_FINNEON" + } + ] + }, + { + "index": 551, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_PSYDUCK" + } + ] + }, + { + "index": 552, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 23, + "species": "SPECIES_MACHOP", + "moves": [ + "MOVE_SEISMIC_TOSS", + "MOVE_LOW_KICK", + "MOVE_FORESIGHT" + ] + }, + { + "difficulty": 100, + "level": 23, + "species": "SPECIES_BRONZOR", + "moves": [ + "MOVE_EXTRASENSORY", + "MOVE_TACKLE", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 553, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 16, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_GEODUDE" + }, + { + "difficulty": 0, + "level": 18, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 554, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_FARFETCHD" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_SWELLOW" + } + ] + }, + { + "index": 555, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_XATU" + } + ] + }, + { + "index": 556, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_DODRIO" + }, + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_FEAROW" + }, + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_HONCHKROW" + } + ] + }, + { + "index": 557, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_DRATINI" + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_DRAGONAIR" + } + ] + }, + { + "index": 558, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 559, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 58, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 560, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_SEADRA" + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 561, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_VIBRAVA" + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_SEADRA" + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_DRAGONAIR" + } + ] + }, + { + "index": 562, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_BAGON" + }, + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_SHELGON" + } + ] + }, + { + "index": 563, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_LICKITUNG", + "moves": [ + "MOVE_POWER_WHIP", + "MOVE_SLAM", + "MOVE_DISABLE", + "MOVE_KNOCK_OFF" + ] + }, + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_MILTANK", + "moves": [ + "MOVE_ZEN_HEADBUTT", + "MOVE_BODY_SLAM", + "MOVE_CAPTIVATE", + "MOVE_MILK_DRINK" + ] + } + ] + }, + { + "index": 564, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_TAUROS", + "moves": [ + "MOVE_THRASH", + "MOVE_ZEN_HEADBUTT", + "MOVE_SWAGGER", + "MOVE_PAYBACK" + ] + } + ] + }, + { + "index": 565, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_GOLDUCK", + "moves": [ + "MOVE_HYDRO_PUMP", + "MOVE_BRICK_BREAK", + "MOVE_ZEN_HEADBUTT", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_SANDSLASH", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_CRUSH_CLAW", + "MOVE_POISON_JAB", + "MOVE_SAND_TOMB" + ] + } + ] + }, + { + "index": 566, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_DUSCLOPS", + "moves": [ + "MOVE_SHADOW_SNEAK", + "MOVE_PAYBACK", + "MOVE_CURSE", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_SALAMENCE", + "moves": [ + "MOVE_DRAGON_CLAW", + "MOVE_AERIAL_ACE", + "MOVE_ZEN_HEADBUTT", + "MOVE_CRUNCH" + ] + } + ] + }, + { + "index": 567, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_PINSIR", + "moves": [ + "MOVE_SUPERPOWER", + "MOVE_X_SCISSOR", + "MOVE_SWORDS_DANCE", + "MOVE_ROCK_TOMB" + ] + }, + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_MIGHTYENA", + "moves": [ + "MOVE_CRUNCH", + "MOVE_SUCKER_PUNCH", + "MOVE_SCARY_FACE", + "MOVE_EMBARGO" + ] + } + ] + }, + { + "index": 568, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_SKARMORY", + "moves": [ + "MOVE_AIR_SLASH", + "MOVE_SLASH", + "MOVE_NIGHT_SLASH", + "MOVE_STEEL_WING" + ] + } + ] + }, + { + "index": 569, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_PRIMEAPE", + "moves": [ + "MOVE_CROSS_CHOP", + "MOVE_PUNISHMENT", + "MOVE_U_TURN", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_TORKOAL", + "moves": [ + "MOVE_HEAT_WAVE", + "MOVE_SMOKESCREEN", + "MOVE_IRON_DEFENSE", + "MOVE_AMNESIA" + ] + } + ] + }, + { + "index": 570, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_LARVITAR", + "moves": [ + "MOVE_HYPER_BEAM", + "MOVE_STONE_EDGE", + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH" + ] + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_MAGCARGO", + "moves": [ + "MOVE_EARTH_POWER", + "MOVE_FLAMETHROWER", + "MOVE_AMNESIA", + "MOVE_RECOVER" + ] + } + ] + }, + { + "index": 571, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_LOUDRED", + "moves": [ + "MOVE_HYPER_VOICE", + "MOVE_BITE", + "MOVE_SUPERSONIC", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_RAMPARDOS", + "moves": [ + "MOVE_HEAD_SMASH", + "MOVE_ZEN_HEADBUTT", + "MOVE_ANCIENT_POWER", + "MOVE_SCREECH" + ] + } + ] + }, + { + "index": 572, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_AERODACTYL", + "moves": [ + "MOVE_STONE_EDGE", + "MOVE_IRON_HEAD", + "MOVE_AERIAL_ACE", + "MOVE_CRUNCH" + ] + } + ] + }, + { + "index": 573, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_FLAAFFY", + "moves": [ + "MOVE_DISCHARGE", + "MOVE_POWER_GEM", + "MOVE_SIGNAL_BEAM", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 50, + "level": 53, + "species": "SPECIES_TROPIUS", + "moves": [ + "MOVE_SOLAR_BEAM", + "MOVE_AIR_SLASH", + "MOVE_SYNTHESIS", + "MOVE_SUNNY_DAY" + ] + } + ] + }, + { + "index": 574, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_AMBIPOM", + "moves": [ + "MOVE_DOUBLE_HIT", + "MOVE_ASTONISH", + "MOVE_AGILITY", + "MOVE_BATON_PASS" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_BOUNCE", + "MOVE_FIRE_BLAST", + "MOVE_STOMP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_CHANSEY", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_MINIMIZE", + "MOVE_DEFENSE_CURL", + "MOVE_LIGHT_SCREEN" + ] + } + ] + }, + { + "index": 575, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_MIGHTYENA", + "moves": [ + "MOVE_CRUNCH", + "MOVE_SUCKER_PUNCH", + "MOVE_IRON_TAIL", + "MOVE_SCARY_FACE" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_KIRLIA", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_MAGICAL_LEAF", + "MOVE_SHOCK_WAVE", + "MOVE_SHADOW_BALL" + ] + } + ] + }, + { + "index": 576, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_MEOWTH", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_BITE", + "MOVE_TAUNT", + "MOVE_FAKE_OUT" + ] + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_PERSIAN", + "moves": [ + "MOVE_NIGHT_SLASH", + "MOVE_POWER_GEM", + "MOVE_FEINT_ATTACK", + "MOVE_FAKE_OUT" + ] + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_HYPNO", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_ZEN_HEADBUTT", + "MOVE_HYPNOSIS", + "MOVE_DISABLE" + ] + } + ] + }, + { + "index": 577, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_DELCATTY", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_COPYCAT", + "MOVE_FEINT_ATTACK", + "MOVE_CHARM" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_YANMA", + "moves": [ + "MOVE_BUG_BUZZ", + "MOVE_AIR_SLASH", + "MOVE_U_TURN", + "MOVE_QUICK_ATTACK" + ] + } + ] + }, + { + "index": 578, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_GRANBULL", + "moves": [ + "MOVE_CRUNCH", + "MOVE_PAYBACK", + "MOVE_TAKE_DOWN", + "MOVE_SCARY_FACE" + ] + } + ] + }, + { + "index": 579, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 58, + "species": "SPECIES_STANTLER", + "moves": [ + "MOVE_ME_FIRST", + "MOVE_ZEN_HEADBUTT", + "MOVE_STOMP", + "MOVE_CONFUSE_RAY" + ] + }, + { + "difficulty": 50, + "level": 58, + "species": "SPECIES_CARNIVINE", + "moves": [ + "MOVE_POWER_WHIP", + "MOVE_WRING_OUT", + "MOVE_CRUNCH", + "MOVE_BIND" + ] + } + ] + }, + { + "index": 580, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_DRAPION", + "moves": [ + "MOVE_CROSS_POISON", + "MOVE_CRUNCH", + "MOVE_X_SCISSOR", + "MOVE_AERIAL_ACE" + ] + } + ] + }, + { + "index": 581, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_DUNSPARCE", + "moves": [ + "MOVE_ENDEAVOR", + "MOVE_ANCIENT_POWER", + "MOVE_SCREECH", + "MOVE_YAWN" + ] + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_SCYTHER", + "moves": [ + "MOVE_X_SCISSOR", + "MOVE_AIR_SLASH", + "MOVE_NIGHT_SLASH", + "MOVE_DOUBLE_HIT" + ] + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_MAROWAK", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_DOUBLE_EDGE", + "MOVE_ROCK_SLIDE", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 582, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_KANGASKHAN", + "moves": [ + "MOVE_DIZZY_PUNCH", + "MOVE_CRUNCH", + "MOVE_ENDURE", + "MOVE_REVERSAL" + ] + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_URSARING", + "moves": [ + "MOVE_SLASH", + "MOVE_BRICK_BREAK", + "MOVE_AERIAL_ACE", + "MOVE_SCARY_FACE" + ] + } + ] + }, + { + "index": 583, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_SHUPPET" + }, + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_DUSKULL" + } + ] + }, + { + "index": 584, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_BALTOY" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GRUMPIG" + } + ] + }, + { + "index": 585, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_SLOWPOKE" + }, + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_SLOWBRO" + } + ] + }, + { + "index": 586, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_XATU" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_MISMAGIUS" + } + ] + }, + { + "index": 587, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 54, + "species": "SPECIES_MANKEY" + }, + { + "difficulty": 30, + "level": 53, + "species": "SPECIES_MAKUHITA" + }, + { + "difficulty": 30, + "level": 55, + "species": "SPECIES_HARIYAMA" + } + ] + }, + { + "index": 588, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 57, + "species": "SPECIES_CACTURNE" + }, + { + "difficulty": 30, + "level": 57, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 589, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 53, + "species": "SPECIES_TYROGUE" + }, + { + "difficulty": 30, + "level": 57, + "species": "SPECIES_MAROWAK" + }, + { + "difficulty": 30, + "level": 58, + "species": "SPECIES_BRELOOM" + } + ] + }, + { + "index": 590, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 59, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 591, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 52, + "species": "SPECIES_EXEGGCUTE" + }, + { + "difficulty": 50, + "level": 58, + "species": "SPECIES_URSARING" + } + ] + }, + { + "index": 592, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_SPINDA" + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_KECLEON" + } + ] + }, + { + "index": 593, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_DONPHAN" + } + ] + }, + { + "index": 594, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 50, + "species": "SPECIES_ZIGZAGOON" + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_SKARMORY" + } + ] + }, + { + "index": 595, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_LICKITUNG" + }, + { + "difficulty": 50, + "level": 57, + "species": "SPECIES_VIGOROTH" + } + ] + }, + { + "index": 596, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_TRAPINCH" + }, + { + "difficulty": 50, + "level": 56, + "species": "SPECIES_VIBRAVA" + } + ] + }, + { + "index": 597, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_SEEL" + }, + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_STARMIE" + } + ] + }, + { + "index": 598, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_CRAWDAUNT" + } + ] + }, + { + "index": 599, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_CHINCHOU" + }, + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_LANTURN" + } + ] + }, + { + "index": 600, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_CARVANHA" + }, + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_CARVANHA" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_SHARPEDO" + } + ] + }, + { + "index": 601, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 50, + "species": "SPECIES_LUVDISC" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_LAPRAS" + } + ] + }, + { + "index": 602, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 50, + "species": "SPECIES_MANTYKE" + }, + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_MANTINE" + } + ] + }, + { + "index": 603, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 50, + "species": "SPECIES_SEEL" + }, + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_DEWGONG" + } + ] + }, + { + "index": 604, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_BIBAREL" + }, + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_AZUMARILL" + }, + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_SEALEO" + } + ] + }, + { + "index": 605, + "type": 0, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 606, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 56, + "species": "SPECIES_LOUDRED", + "moves": [ + "MOVE_HYPER_VOICE", + "MOVE_BITE", + "MOVE_SCREECH", + "MOVE_UPROAR" + ] + }, + { + "difficulty": 100, + "level": 56, + "species": "SPECIES_DONPHAN", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_SLAM", + "MOVE_SCARY_FACE", + "MOVE_ROCK_TOMB" + ] + }, + { + "difficulty": 100, + "level": 56, + "species": "SPECIES_TAUROS", + "moves": [ + "MOVE_GIGA_IMPACT", + "MOVE_ZEN_HEADBUTT", + "MOVE_PURSUIT", + "MOVE_ROCK_SLIDE" + ] + } + ] + }, + { + "index": 607, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_MUNCHLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_STOCKPILE", + "MOVE_SWALLOW", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 150, + "level": 41, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_PURSUIT", + "MOVE_BRICK_BREAK", + "MOVE_IRON_TAIL" + ] + }, + { + "difficulty": 150, + "level": 42, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_BRICK_BREAK", + "MOVE_NIGHT_SLASH", + "MOVE_AERIAL_ACE" + ] + }, + { + "difficulty": 150, + "level": 41, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_WILL_O_WISP", + "MOVE_STOMP", + "MOVE_TAKE_DOWN" + ] + }, + { + "difficulty": 150, + "level": 43, + "species": "SPECIES_TORTERRA", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_BITE", + "MOVE_LEECH_SEED", + "MOVE_SYNTHESIS" + ] + } + ] + }, + { + "index": 608, + "type": 1, + "class": 90, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 15, + "species": "SPECIES_CHANSEY", + "moves": [ + "MOVE_EGG_BOMB", + "MOVE_SOFT_BOILED", + "MOVE_REFRESH" + ] + } + ] + }, + { + "index": 609, + "type": 1, + "class": 91, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_LUCARIO", + "moves": [ + "MOVE_METAL_CLAW", + "MOVE_FORCE_PALM", + "MOVE_QUICK_ATTACK", + "MOVE_BONE_RUSH" + ] + } + ] + }, + { + "index": 610, + "type": 1, + "class": 92, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 57, + "species": "SPECIES_ARCANINE", + "moves": [ + "MOVE_EXTREME_SPEED", + "MOVE_FIRE_FANG", + "MOVE_HELPING_HAND", + "MOVE_AGILITY" + ] + } + ] + }, + { + "index": 611, + "type": 1, + "class": 93, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 58, + "species": "SPECIES_CLAYDOL", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_ANCIENT_POWER", + "MOVE_LIGHT_SCREEN", + "MOVE_REFLECT" + ] + } + ] + }, + { + "index": 612, + "type": 1, + "class": 94, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 18, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_CONFUSION", + "MOVE_SHOCK_WAVE", + "MOVE_FLASH", + "MOVE_KINESIS" + ] + } + ] + }, + { + "index": 613, + "type": 1, + "class": 95, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_TURTWIG", + "moves": [ + "MOVE_ABSORB", + "MOVE_TACKLE" + ] + } + ] + }, + { + "index": 614, + "type": 1, + "class": 95, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_CHIMCHAR", + "moves": [ + "MOVE_EMBER", + "MOVE_SCRATCH" + ] + } + ] + }, + { + "index": 615, + "type": 1, + "class": 95, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_PIPLUP", + "moves": [ + "MOVE_BUBBLE", + "MOVE_POUND" + ] + } + ] + }, + { + "index": 616, + "type": 1, + "class": 96, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_TURTWIG", + "moves": [ + "MOVE_ABSORB", + "MOVE_TACKLE" + ] + } + ] + }, + { + "index": 617, + "type": 1, + "class": 96, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_CHIMCHAR", + "moves": [ + "MOVE_EMBER", + "MOVE_SCRATCH" + ] + } + ] + }, + { + "index": 618, + "type": 1, + "class": 96, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 13, + "species": "SPECIES_PIPLUP", + "moves": [ + "MOVE_BUBBLE", + "MOVE_POUND" + ] + } + ] + }, + { + "index": 619, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_MUNCHLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_STOCKPILE", + "MOVE_SWALLOW", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 150, + "level": 41, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_PURSUIT", + "MOVE_BRICK_BREAK", + "MOVE_IRON_TAIL" + ] + }, + { + "difficulty": 150, + "level": 42, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_BRICK_BREAK", + "MOVE_NIGHT_SLASH", + "MOVE_AERIAL_ACE" + ] + }, + { + "difficulty": 150, + "level": 41, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_TOXIC", + "MOVE_INGRAIN", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 150, + "level": 43, + "species": "SPECIES_INFERNAPE", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_PUNISHMENT", + "MOVE_FLAME_WHEEL", + "MOVE_WILL_O_WISP" + ] + } + ] + }, + { + "index": 620, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_MUNCHLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_STOCKPILE", + "MOVE_SWALLOW", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 150, + "level": 40, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_TAKE_DOWN", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 150, + "level": 41, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_TOXIC", + "MOVE_INGRAIN", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 150, + "level": 42, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_BRICK_BREAK", + "MOVE_NIGHT_SLASH", + "MOVE_AERIAL_ACE" + ] + }, + { + "difficulty": 150, + "level": 41, + "species": "SPECIES_PONYTA", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_WILL_O_WISP", + "MOVE_STOMP", + "MOVE_TAKE_DOWN" + ] + }, + { + "difficulty": 150, + "level": 43, + "species": "SPECIES_EMPOLEON", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_AERIAL_ACE", + "MOVE_METAL_CLAW", + "MOVE_SWAGGER" + ] + } + ] + }, + { + "index": 621, + "type": 1, + "class": 95, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_CLEFAIRY", + "moves": [ + "MOVE_METRONOME", + "MOVE_GRAVITY", + "MOVE_WAKE_UP_SLAP", + "MOVE_SING" + ] + }, + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_PRINPLUP", + "moves": [ + "MOVE_BUBBLE_BEAM", + "MOVE_METAL_CLAW", + "MOVE_PECK", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 622, + "type": 1, + "class": 95, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_CLEFAIRY", + "moves": [ + "MOVE_METRONOME", + "MOVE_GRAVITY", + "MOVE_WAKE_UP_SLAP", + "MOVE_SING" + ] + }, + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_GROTLE", + "moves": [ + "MOVE_RAZOR_LEAF", + "MOVE_MEGA_DRAIN", + "MOVE_BITE", + "MOVE_CURSE" + ] + } + ] + }, + { + "index": 623, + "type": 1, + "class": 95, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_CLEFAIRY", + "moves": [ + "MOVE_METRONOME", + "MOVE_GRAVITY", + "MOVE_WAKE_UP_SLAP", + "MOVE_SING" + ] + }, + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FLAME_WHEEL", + "MOVE_MACH_PUNCH", + "MOVE_FURY_SWIPES", + "MOVE_TORMENT" + ] + } + ] + }, + { + "index": 624, + "type": 1, + "class": 96, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_CLEFAIRY", + "moves": [ + "MOVE_METRONOME", + "MOVE_GRAVITY", + "MOVE_WAKE_UP_SLAP", + "MOVE_SING" + ] + }, + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_PRINPLUP", + "moves": [ + "MOVE_BUBBLE_BEAM", + "MOVE_METAL_CLAW", + "MOVE_PECK", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 625, + "type": 1, + "class": 96, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_CLEFAIRY", + "moves": [ + "MOVE_METRONOME", + "MOVE_GRAVITY", + "MOVE_WAKE_UP_SLAP", + "MOVE_SING" + ] + }, + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_GROTLE", + "moves": [ + "MOVE_RAZOR_LEAF", + "MOVE_MEGA_DRAIN", + "MOVE_BITE", + "MOVE_CURSE" + ] + } + ] + }, + { + "index": 626, + "type": 1, + "class": 96, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_CLEFAIRY", + "moves": [ + "MOVE_METRONOME", + "MOVE_GRAVITY", + "MOVE_WAKE_UP_SLAP", + "MOVE_SING" + ] + }, + { + "difficulty": 60, + "level": 25, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 60, + "level": 28, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FLAME_WHEEL", + "MOVE_MACH_PUNCH", + "MOVE_FURY_SWIPES", + "MOVE_TORMENT" + ] + } + ] + }, + { + "index": 627, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BUDEW" + } + ] + }, + { + "index": 628, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 629, + "type": 0, + "class": 7, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 630, + "type": 0, + "class": 15, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_SUDOWOODO" + } + ] + }, + { + "index": 631, + "type": 0, + "class": 15, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_SUDOWOODO" + } + ] + }, + { + "index": 632, + "type": 0, + "class": 15, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 59, + "species": "SPECIES_SUDOWOODO" + } + ] + }, + { + "index": 633, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 31, + "species": "SPECIES_MEDITITE" + }, + { + "difficulty": 30, + "level": 33, + "species": "SPECIES_MACHOP" + } + ] + }, + { + "index": 634, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 38, + "species": "SPECIES_MEDICHAM" + }, + { + "difficulty": 30, + "level": 40, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 635, + "type": 0, + "class": 10, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 58, + "species": "SPECIES_MEDICHAM" + }, + { + "difficulty": 30, + "level": 60, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 636, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 38, + "species": "SPECIES_NOCTOWL" + }, + { + "difficulty": 50, + "level": 42, + "species": "SPECIES_NOCTOWL" + } + ] + }, + { + "index": 637, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_NOCTOWL" + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_NOCTOWL" + } + ] + }, + { + "index": 638, + "type": 0, + "class": 30, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 59, + "species": "SPECIES_FARFETCHD" + }, + { + "difficulty": 0, + "level": 59, + "species": "SPECIES_SWELLOW" + } + ] + }, + { + "index": 639, + "type": 0, + "class": 16, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_SUDOWOODO" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 640, + "type": 0, + "class": 16, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_SUDOWOODO" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 641, + "type": 0, + "class": 16, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_SUDOWOODO" + }, + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_RAICHU" + } + ] + }, + { + "index": 642, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_MIME_JR" + }, + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 643, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 644, + "type": 0, + "class": 17, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_MR_MIME" + }, + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_ROSELIA" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_CLEFABLE" + } + ] + }, + { + "index": 645, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_GEODUDE", + "moves": [ + "MOVE_MAGNITUDE", + "MOVE_ROCK_THROW", + "MOVE_ROCK_POLISH", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 646, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_GRAVELER", + "moves": [ + "MOVE_ROCK_BLAST", + "MOVE_MAGNITUDE", + "MOVE_ROCK_POLISH", + "MOVE_DEFENSE_CURL" + ] + } + ] + }, + { + "index": 647, + "type": 1, + "class": 4, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_GRAVELER", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_ROCK_SLIDE", + "MOVE_BRICK_BREAK", + "MOVE_SANDSTORM" + ] + } + ] + }, + { + "index": 648, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_RAICHU", + "moves": [ + "MOVE_THUNDER", + "MOVE_RAIN_DANCE", + "MOVE_SLAM", + "MOVE_THUNDER_WAVE" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_AIR_SLASH", + "MOVE_WATER_PULSE", + "MOVE_SUPERSONIC", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_HIPPOPOTAS", + "moves": [ + "MOVE_EARTHQUAKE", + "MOVE_DOUBLE_EDGE", + "MOVE_CRUNCH", + "MOVE_SAND_TOMB" + ] + } + ] + }, + { + "index": 649, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_ROSELIA", + "moves": [ + "MOVE_GIGA_DRAIN", + "MOVE_TOXIC", + "MOVE_INGRAIN", + "MOVE_DOUBLE_TEAM" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_HORN_DRILL", + "MOVE_WATER_PULSE", + "MOVE_POISON_JAB" + ] + } + ] + }, + { + "index": 650, + "type": 0, + "class": 37, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_HIPPOPOTAS" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_HIPPOPOTAS" + }, + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_HIPPOPOTAS" + } + ] + }, + { + "index": 651, + "type": 0, + "class": 18, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 652, + "type": 0, + "class": 18, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 653, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_STARAVIA" + }, + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 654, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_STARAVIA" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 655, + "type": 0, + "class": 12, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_STARAPTOR" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_STARAPTOR" + } + ] + }, + { + "index": 656, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 657, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 658, + "type": 0, + "class": 13, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_RAICHU" + } + ] + }, + { + "index": 659, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 43, + "species": "SPECIES_GABITE" + } + ] + }, + { + "index": 660, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 63, + "species": "SPECIES_GABITE" + } + ] + }, + { + "index": 661, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_ALTARIA" + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_ALTARIA" + } + ] + }, + { + "index": 662, + "type": 0, + "class": 29, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 61, + "species": "SPECIES_DRAGONAIR" + }, + { + "difficulty": 50, + "level": 61, + "species": "SPECIES_DRAGONAIR" + } + ] + }, + { + "index": 663, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 0, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_STARAVIA", + "moves": [ + "MOVE_BRAVE_BIRD", + "MOVE_TAKE_DOWN", + "MOVE_STEEL_WING", + "MOVE_QUICK_ATTACK" + ] + }, + { + "difficulty": 50, + "level": 55, + "species": "SPECIES_GIRAFARIG", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_DOUBLE_HIT", + "MOVE_CRUNCH", + "MOVE_THUNDER_WAVE" + ] + } + ] + }, + { + "index": 664, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FIRE_SPIN", + "MOVE_MACH_PUNCH", + "MOVE_ROCK_TOMB", + "MOVE_TORMENT" + ] + }, + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_LUXIO", + "moves": [ + "MOVE_THUNDER_FANG", + "MOVE_CRUNCH", + "MOVE_SCARY_FACE", + "MOVE_SWAGGER" + ] + }, + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_GYARADOS", + "moves": [ + "MOVE_AQUA_TAIL", + "MOVE_ICE_FANG", + "MOVE_BITE", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 665, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_MONFERNO", + "moves": [ + "MOVE_FLARE_BLITZ", + "MOVE_CLOSE_COMBAT", + "MOVE_ROCK_SLIDE", + "MOVE_TORMENT" + ] + }, + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_LUXIO", + "moves": [ + "MOVE_THUNDER_FANG", + "MOVE_CRUNCH", + "MOVE_IRON_TAIL", + "MOVE_THUNDER_WAVE" + ] + }, + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_GYARADOS", + "moves": [ + "MOVE_HYPER_BEAM", + "MOVE_AQUA_TAIL", + "MOVE_ICE_FANG", + "MOVE_EARTHQUAKE" + ] + } + ] + }, + { + "index": 666, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_LICKITUNG", + "moves": [ + "MOVE_POWER_WHIP", + "MOVE_WRING_OUT", + "MOVE_SCREECH", + "MOVE_ME_FIRST" + ] + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_MILTANK", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_ZEN_HEADBUTT", + "MOVE_BRICK_BREAK", + "MOVE_MILK_DRINK" + ] + } + ] + }, + { + "index": 667, + "type": 1, + "class": 24, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 62, + "species": "SPECIES_TAUROS", + "moves": [ + "MOVE_GIGA_IMPACT", + "MOVE_ZEN_HEADBUTT", + "MOVE_EARTHQUAKE", + "MOVE_STONE_EDGE" + ] + } + ] + }, + { + "index": 668, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_CHERRIM", + "moves": [ + "MOVE_SOLAR_BEAM", + "MOVE_TAKE_DOWN", + "MOVE_FLASH", + "MOVE_SUNNY_DAY" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_MARILL", + "moves": [ + "MOVE_ICE_BEAM", + "MOVE_DOUBLE_EDGE", + "MOVE_AQUA_TAIL", + "MOVE_AQUA_RING" + ] + }, + { + "difficulty": 50, + "level": 54, + "species": "SPECIES_LOPUNNY", + "moves": [ + "MOVE_DIZZY_PUNCH", + "MOVE_JUMP_KICK", + "MOVE_QUICK_ATTACK", + "MOVE_BOUNCE" + ] + } + ] + }, + { + "index": 669, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 40, + "species": "SPECIES_GLAMEOW", + "moves": [ + "MOVE_SLASH", + "MOVE_FEINT_ATTACK", + "MOVE_HYPNOSIS", + "MOVE_CAPTIVATE" + ] + }, + { + "difficulty": 50, + "level": 40, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_SHADOW_BALL", + "MOVE_DISABLE", + "MOVE_MIRACLE_EYE" + ] + } + ] + }, + { + "index": 670, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_PURUGLY", + "moves": [ + "MOVE_SLASH", + "MOVE_FAKE_OUT", + "MOVE_HYPNOSIS", + "MOVE_DREAM_EATER" + ] + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_ALAKAZAM", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_SHADOW_BALL", + "MOVE_DISABLE", + "MOVE_MIRACLE_EYE" + ] + } + ] + }, + { + "index": 671, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_AMPHAROS", + "moves": [ + "MOVE_DISCHARGE", + "MOVE_POWER_GEM", + "MOVE_SIGNAL_BEAM", + "MOVE_FIRE_PUNCH" + ] + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_TROPIUS", + "moves": [ + "MOVE_LEAF_STORM", + "MOVE_AIR_SLASH", + "MOVE_EARTHQUAKE", + "MOVE_SILVER_WIND" + ] + } + ] + }, + { + "index": 672, + "type": 1, + "class": 25, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_AMBIPOM", + "moves": [ + "MOVE_DOUBLE_HIT", + "MOVE_IRON_TAIL", + "MOVE_U_TURN", + "MOVE_SCREECH" + ] + }, + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FLARE_BLITZ", + "MOVE_BOUNCE", + "MOVE_POISON_JAB", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_CHANSEY", + "moves": [ + "MOVE_DOUBLE_EDGE", + "MOVE_DEFENSE_CURL", + "MOVE_SING", + "MOVE_DREAM_EATER" + ] + } + ] + }, + { + "index": 673, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_HAUNTER" + }, + { + "difficulty": 0, + "level": 42, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 674, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GENGAR" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_ALAKAZAM" + } + ] + }, + { + "index": 675, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_MISDREAVUS" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GENGAR" + } + ] + }, + { + "index": 676, + "type": 0, + "class": 49, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_BANETTE" + }, + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_DUSCLOPS" + } + ] + }, + { + "index": 677, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_HAUNTER" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_MISDREAVUS" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 678, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GENGAR" + }, + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_MISDREAVUS" + }, + { + "difficulty": 0, + "level": 59, + "species": "SPECIES_ALAKAZAM" + } + ] + }, + { + "index": 679, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_MEDICHAM" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_ALAKAZAM" + } + ] + }, + { + "index": 680, + "type": 0, + "class": 50, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_SLOWBRO" + }, + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_SLOWBRO" + } + ] + }, + { + "index": 681, + "type": 0, + "class": 71, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_AMBIPOM" + }, + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_GOLDUCK" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_GIRAFARIG" + } + ] + }, + { + "index": 682, + "type": 0, + "class": 71, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_AMBIPOM" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GOLDUCK" + }, + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_GIRAFARIG" + } + ] + }, + { + "index": 683, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_SEAKING" + } + ] + }, + { + "index": 684, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_SEAKING" + } + ] + }, + { + "index": 685, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 686, + "type": 0, + "class": 11, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_GYARADOS" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_GYARADOS" + } + ] + }, + { + "index": 687, + "type": 0, + "class": 8, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_CLEFAIRY" + } + ] + }, + { + "index": 688, + "type": 0, + "class": 8, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_RAICHU" + }, + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_CLEFABLE" + } + ] + }, + { + "index": 689, + "type": 1, + "class": 51, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 36, + "species": "SPECIES_GOLDEEN", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 30, + "level": 37, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 50, + "level": 38, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + } + ] + }, + { + "index": 690, + "type": 1, + "class": 51, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 10, + "level": 56, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 30, + "level": 57, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + }, + { + "difficulty": 50, + "level": 58, + "species": "SPECIES_SEAKING", + "moves": [ + "MOVE_HORN_DRILL", + "MOVE_FLAIL" + ] + } + ] + }, + { + "index": 691, + "type": 0, + "class": 34, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_CHATOT" + } + ] + }, + { + "index": 692, + "type": 0, + "class": 34, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_CHATOT" + } + ] + }, + { + "index": 693, + "type": 0, + "class": 34, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_CHATOT" + } + ] + }, + { + "index": 694, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 695, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 696, + "type": 0, + "class": 48, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_BRONZOR" + } + ] + }, + { + "index": 697, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_STARAVIA" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_RAPIDASH" + } + ] + }, + { + "index": 698, + "type": 0, + "class": 19, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_STARAPTOR" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_RAPIDASH" + } + ] + }, + { + "index": 699, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 57, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 700, + "type": 0, + "class": 14, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 58, + "species": "SPECIES_PRIMEAPE" + }, + { + "difficulty": 30, + "level": 59, + "species": "SPECIES_HARIYAMA" + }, + { + "difficulty": 30, + "level": 60, + "species": "SPECIES_HARIYAMA" + } + ] + }, + { + "index": 701, + "type": 0, + "class": 35, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 702, + "type": 0, + "class": 35, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 703, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_BUDEW" + } + ] + }, + { + "index": 704, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 705, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_ROSELIA" + } + ] + }, + { + "index": 706, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 707, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_STARAVIA" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_BIBAREL" + } + ] + }, + { + "index": 708, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_STARAPTOR" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_BIBAREL" + } + ] + }, + { + "index": 709, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_ONIX" + } + ] + }, + { + "index": 710, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_ONIX" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_STEELIX" + } + ] + }, + { + "index": 711, + "type": 0, + "class": 9, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_STEELIX" + }, + { + "difficulty": 0, + "level": 59, + "species": "SPECIES_STEELIX" + } + ] + }, + { + "index": 712, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_KRICKETOT" + }, + { + "difficulty": 0, + "level": 17, + "species": "SPECIES_SILCOON" + } + ] + }, + { + "index": 713, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_KRICKETUNE" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_SILCOON" + } + ] + }, + { + "index": 714, + "type": 0, + "class": 6, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_KRICKETUNE" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_BEAUTIFLY" + } + ] + }, + { + "index": 715, + "type": 0, + "class": 80, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_GOLDEEN" + }, + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 716, + "type": 0, + "class": 80, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_SEAKING" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 717, + "type": 0, + "class": 80, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_SEAKING" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_FLOATZEL" + } + ] + }, + { + "index": 718, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_PIPLUP", + "moves": [ + "MOVE_BUBBLE", + "MOVE_PECK", + "MOVE_POUND", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 719, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_PRINPLUP", + "moves": [ + "MOVE_BUBBLE_BEAM", + "MOVE_METAL_CLAW", + "MOVE_PECK", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 720, + "type": 1, + "class": 5, + "unk2": 0, + "items": [], + "unkC": 0, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_EMPOLEON", + "moves": [ + "MOVE_HYDRO_PUMP", + "MOVE_DRILL_PECK", + "MOVE_METAL_CLAW", + "MOVE_GROWL" + ] + } + ] + }, + { + "index": 721, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 722, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 723, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 724, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_HOOTHOOT" + }, + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 725, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_NOCTOWL" + }, + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 726, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_NOCTOWL" + }, + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_MACHAMP" + } + ] + }, + { + "index": 727, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 728, + "type": 0, + "class": 32, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_LUXIO" + } + ] + }, + { + "index": 729, + "type": 0, + "class": 33, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_BUNEARY" + } + ] + }, + { + "index": 730, + "type": 0, + "class": 33, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_LOPUNNY" + } + ] + }, + { + "index": 731, + "type": 0, + "class": 33, + "unk2": 0, + "items": [ + "ITEM_FULL_RESTORE" + ], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_LOPUNNY" + } + ] + }, + { + "index": 732, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 31, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 50, + "level": 31, + "species": "SPECIES_BUIZEL" + } + ] + }, + { + "index": 733, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 40, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 50, + "level": 40, + "species": "SPECIES_FLOATZEL" + } + ] + }, + { + "index": 734, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_LUXIO" + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_FLOATZEL" + } + ] + }, + { + "index": 735, + "type": 0, + "class": 39, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_EXEGGUTOR" + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_URSARING" + } + ] + }, + { + "index": 736, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 30, + "species": "SPECIES_AIPOM" + }, + { + "difficulty": 50, + "level": 32, + "species": "SPECIES_MARILL" + } + ] + }, + { + "index": 737, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 41, + "species": "SPECIES_AIPOM" + }, + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_AZUMARILL" + } + ] + }, + { + "index": 738, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 61, + "species": "SPECIES_AMBIPOM" + }, + { + "difficulty": 50, + "level": 59, + "species": "SPECIES_AZUMARILL" + } + ] + }, + { + "index": 739, + "type": 0, + "class": 40, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_LINOONE" + }, + { + "difficulty": 50, + "level": 60, + "species": "SPECIES_SKARMORY" + } + ] + }, + { + "index": 740, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 54, + "species": "SPECIES_MANTINE" + }, + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_PELIPPER" + } + ] + }, + { + "index": 741, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 57, + "species": "SPECIES_MANTINE" + }, + { + "difficulty": 0, + "level": 59, + "species": "SPECIES_PELIPPER" + } + ] + }, + { + "index": 742, + "type": 0, + "class": 46, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_PELIPPER" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_MACHAMP" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GASTRODON" + } + ] + }, + { + "index": 743, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 30, + "species": "SPECIES_KADABRA" + }, + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 744, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_KADABRA" + }, + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_KADABRA" + } + ] + }, + { + "index": 745, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_ALAKAZAM" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_ALAKAZAM" + } + ] + }, + { + "index": 746, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 26, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 747, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 36, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 38, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 748, + "type": 0, + "class": 28, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_GOLBAT" + }, + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_CROBAT" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_CROBAT" + } + ] + }, + { + "index": 749, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 750, + "type": 0, + "class": 36, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_PURUGLY" + } + ] + }, + { + "index": 751, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_SNEASEL" + } + ] + }, + { + "index": 752, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_SNEASEL" + } + ] + }, + { + "index": 753, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_MANTINE" + }, + { + "difficulty": 0, + "level": 39, + "species": "SPECIES_SNEASEL" + } + ] + }, + { + "index": 754, + "type": 0, + "class": 55, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_MANTINE" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_SNEASEL" + } + ] + }, + { + "index": 755, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 756, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_STARAPTOR" + } + ] + }, + { + "index": 757, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_SNOVER" + } + ] + }, + { + "index": 758, + "type": 0, + "class": 56, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_SNOVER" + } + ] + }, + { + "index": 759, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_FLOATZEL" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_TENTACRUEL" + } + ] + }, + { + "index": 760, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_TENTACOOL" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_GOLDUCK" + } + ] + }, + { + "index": 761, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_DEWGONG" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_STARMIE" + } + ] + }, + { + "index": 762, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_LUMINEON" + } + ] + }, + { + "index": 763, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_PELIPPER" + }, + { + "difficulty": 0, + "level": 58, + "species": "SPECIES_SEAKING" + } + ] + }, + { + "index": 764, + "type": 0, + "class": 43, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 56, + "species": "SPECIES_LUVDISC" + }, + { + "difficulty": 0, + "level": 60, + "species": "SPECIES_LAPRAS" + } + ] + }, + { + "index": 765, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_STARLY" + } + ] + }, + { + "index": 766, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 767, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_STARAVIA" + } + ] + }, + { + "index": 768, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 19, + "species": "SPECIES_KRICKETUNE" + } + ] + }, + { + "index": 769, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_KRICKETUNE" + } + ] + }, + { + "index": 770, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_KRICKETUNE" + } + ] + }, + { + "index": 771, + "type": 0, + "class": 44, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 28, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 27, + "species": "SPECIES_SHELLOS" + }, + { + "difficulty": 0, + "level": 29, + "species": "SPECIES_SHELLOS" + } + ] + }, + { + "index": 772, + "type": 0, + "class": 44, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 52, + "species": "SPECIES_GASTRODON" + }, + { + "difficulty": 0, + "level": 53, + "species": "SPECIES_GASTRODON" + }, + { + "difficulty": 0, + "level": 51, + "species": "SPECIES_GASTRODON" + } + ] + }, + { + "index": 773, + "type": 1, + "class": 45, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 40, + "species": "SPECIES_BIBAREL", + "moves": [ + "MOVE_SURF", + "MOVE_HYPER_FANG", + "MOVE_TAKE_DOWN", + "MOVE_AMNESIA" + ] + } + ] + }, + { + "index": 774, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 38, + "species": "SPECIES_BUIZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_WHIRLPOOL", + "MOVE_SWIFT", + "MOVE_PURSUIT" + ] + }, + { + "difficulty": 100, + "level": 40, + "species": "SPECIES_GIRAFARIG", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_DOUBLE_HIT", + "MOVE_STOMP", + "MOVE_GROWL" + ] + }, + { + "difficulty": 100, + "level": 39, + "species": "SPECIES_MACHOKE", + "moves": [ + "MOVE_SUBMISSION", + "MOVE_LOW_KICK", + "MOVE_LEER", + "MOVE_FORESIGHT" + ] + } + ] + }, + { + "index": 775, + "type": 1, + "class": 45, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 55, + "species": "SPECIES_BIBAREL", + "moves": [ + "MOVE_SURF", + "MOVE_HYPER_FANG", + "MOVE_AMNESIA", + "MOVE_SUPERPOWER" + ] + } + ] + }, + { + "index": 776, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 58, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_ICE_FANG", + "MOVE_QUICK_ATTACK", + "MOVE_RAZOR_WIND" + ] + }, + { + "difficulty": 100, + "level": 59, + "species": "SPECIES_GIRAFARIG", + "moves": [ + "MOVE_PSYCHIC", + "MOVE_CRUNCH", + "MOVE_ZEN_HEADBUTT", + "MOVE_STOMP" + ] + }, + { + "difficulty": 100, + "level": 60, + "species": "SPECIES_MACHAMP", + "moves": [ + "MOVE_CROSS_CHOP", + "MOVE_LOW_KICK", + "MOVE_SCARY_FACE", + "MOVE_ROCK_SLIDE" + ] + } + ] + }, + { + "index": 777, + "type": 1, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 100, + "level": 58, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_BRAVE_BIRD", + "MOVE_CLOSE_COMBAT", + "MOVE_QUICK_ATTACK", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 100, + "level": 58, + "species": "SPECIES_PELIPPER", + "moves": [ + "MOVE_STOCKPILE", + "MOVE_SWALLOW", + "MOVE_SPIT_UP", + "MOVE_HYDRO_PUMP" + ] + }, + { + "difficulty": 100, + "level": 58, + "species": "SPECIES_CROBAT", + "moves": [ + "MOVE_AIR_SLASH", + "MOVE_CROSS_POISON", + "MOVE_BITE", + "MOVE_CONFUSE_RAY" + ] + } + ] + }, + { + "index": 778, + "type": 0, + "class": 27, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 779, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 780, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 781, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 782, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 783, + "type": 0, + "class": 83, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 784, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 785, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 786, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 787, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 788, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 789, + "type": 0, + "class": 52, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 790, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 791, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 792, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 793, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 794, + "type": 0, + "class": 85, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 795, + "type": 0, + "class": 82, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 796, + "type": 0, + "class": 82, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 797, + "type": 0, + "class": 82, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 798, + "type": 0, + "class": 82, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 2, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + }, + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 799, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 800, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 801, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 802, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 803, + "type": 0, + "class": 58, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 804, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 805, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 806, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 807, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 808, + "type": 0, + "class": 38, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 809, + "type": 0, + "class": 84, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 810, + "type": 0, + "class": 84, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 811, + "type": 0, + "class": 84, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 812, + "type": 0, + "class": 84, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 813, + "type": 0, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 814, + "type": 0, + "class": 42, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 815, + "type": 0, + "class": 81, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 816, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 817, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_MUNCHLAX" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_KRICKETOT" + } + ] + }, + { + "index": 818, + "type": 1, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_BONSLY", + "moves": [ + "MOVE_BLOCK", + "MOVE_ROCK_THROW" + ] + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_MIME_JR", + "moves": [ + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN", + "MOVE_DOUBLE_SLAP" + ] + } + ] + }, + { + "index": 819, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_WEAVILE" + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_PACHIRISU" + } + ] + }, + { + "index": 820, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_BUIZEL" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_MANTYKE" + } + ] + }, + { + "index": 821, + "type": 1, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_CHATOT", + "moves": [ + "MOVE_FURY_ATTACK", + "MOVE_SING", + "MOVE_GROWL", + "MOVE_PECK" + ] + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_PACHIRISU", + "moves": [ + "MOVE_SWIFT", + "MOVE_ENDURE", + "MOVE_SPARK", + "MOVE_CHARM" + ] + } + ] + }, + { + "index": 822, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_KRICKETOT" + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_CHERRIM" + } + ] + }, + { + "index": 823, + "type": 0, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_PACHIRISU" + }, + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_MUNCHLAX" + } + ] + }, + { + "index": 824, + "type": 0, + "class": 3, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 23, + "species": "SPECIES_STARLY" + }, + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_BIDOOF" + } + ] + }, + { + "index": 825, + "type": 1, + "class": 2, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 24, + "species": "SPECIES_CHATOT", + "moves": [ + "MOVE_FURY_ATTACK", + "MOVE_SING", + "MOVE_GROWL", + "MOVE_PECK" + ] + }, + { + "difficulty": 0, + "level": 25, + "species": "SPECIES_CHERRIM", + "moves": [ + "MOVE_PETAL_DANCE", + "MOVE_SUNNY_DAY", + "MOVE_MAGICAL_LEAF", + "MOVE_HELPING_HAND" + ] + } + ] + }, + { + "index": 826, + "type": 0, + "class": 97, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 5, + "species": "SPECIES_RATTATA" + } + ] + }, + { + "index": 827, + "type": 1, + "class": 53, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_SNOVER", + "moves": [ + "MOVE_ICE_SHARD", + "MOVE_WOOD_HAMMER", + "MOVE_SWAGGER" + ] + } + ] + }, + { + "index": 828, + "type": 1, + "class": 54, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 50, + "level": 39, + "species": "SPECIES_SNOVER", + "moves": [ + "MOVE_ICE_SHARD", + "MOVE_WOOD_HAMMER", + "MOVE_LEER" + ] + } + ] + }, + { + "index": 829, + "type": 1, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 37, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_DISABLE", + "MOVE_MIRACLE_EYE" + ] + } + ] + }, + { + "index": 830, + "type": 1, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_FLASH", + "MOVE_REFLECT", + "MOVE_LIGHT_SCREEN" + ] + }, + { + "difficulty": 0, + "level": 35, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_PSYCHO_CUT", + "MOVE_THUNDER_WAVE", + "MOVE_DISABLE" + ] + } + ] + }, + { + "index": 831, + "type": 1, + "class": 41, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 15, + "species": "SPECIES_KADABRA", + "moves": [ + "MOVE_CONFUSION", + "MOVE_KINESIS" + ] + } + ] + }, + { + "index": 832, + "type": 0, + "class": 22, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_PIKACHU" + }, + { + "difficulty": 0, + "level": 41, + "species": "SPECIES_PIKACHU" + } + ] + }, + { + "index": 833, + "type": 1, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_CASCOON", + "moves": [ + "MOVE_TACKLE", + "MOVE_HARDEN", + "MOVE_POISON_STING" + ] + }, + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_DUSTOX", + "moves": [ + "MOVE_PSYBEAM", + "MOVE_MOONLIGHT", + "MOVE_PROTECT", + "MOVE_GUST" + ] + }, + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_BEAUTIFLY", + "moves": [ + "MOVE_MEGA_DRAIN", + "MOVE_MORNING_SUN", + "MOVE_STUN_SPORE", + "MOVE_GUST" + ] + } + ] + }, + { + "index": 834, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 28, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 835, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 30, + "level": 31, + "species": "SPECIES_ZUBAT" + }, + { + "difficulty": 30, + "level": 34, + "species": "SPECIES_GOLBAT" + } + ] + }, + { + "index": 836, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_GLAMEOW" + }, + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_STUNKY" + }, + { + "difficulty": 30, + "level": 32, + "species": "SPECIES_CROAGUNK" + } + ] + }, + { + "index": 837, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 58, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_ICE_FANG", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_SUNNY_DAY", + "MOVE_BOUNCE", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_REST" + ] + }, + { + "difficulty": 250, + "level": 64, + "species": "SPECIES_TORTERRA", + "moves": [ + "MOVE_LEAF_STORM", + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH", + "MOVE_LEECH_SEED" + ] + } + ] + }, + { + "index": 838, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 58, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_ICE_FANG", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_ROSERADE", + "moves": [ + "MOVE_POISON_JAB", + "MOVE_GIGA_DRAIN", + "MOVE_SHADOW_BALL", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_REST" + ] + }, + { + "difficulty": 250, + "level": 64, + "species": "SPECIES_INFERNAPE", + "moves": [ + "MOVE_FLAMETHROWER", + "MOVE_FOCUS_BLAST", + "MOVE_SHADOW_CLAW", + "MOVE_AERIAL_ACE" + ] + } + ] + }, + { + "index": 839, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 58, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_ROSERADE", + "moves": [ + "MOVE_POISON_JAB", + "MOVE_GIGA_DRAIN", + "MOVE_SHADOW_BALL", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 59, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_SUNNY_DAY", + "MOVE_BOUNCE", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 250, + "level": 60, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_BODY_SLAM", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_REST" + ] + }, + { + "difficulty": 250, + "level": 64, + "species": "SPECIES_EMPOLEON", + "moves": [ + "MOVE_HYDRO_PUMP", + "MOVE_METAL_CLAW", + "MOVE_DRILL_PECK", + "MOVE_SHADOW_CLAW" + ] + } + ] + }, + { + "index": 840, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 68, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 250, + "level": 69, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_ICE_FANG", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 70, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 69, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_SUNNY_DAY", + "MOVE_MEGAHORN", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 250, + "level": 70, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_GIGA_IMPACT", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 74, + "species": "SPECIES_TORTERRA", + "moves": [ + "MOVE_LEAF_STORM", + "MOVE_EARTHQUAKE", + "MOVE_CRUNCH", + "MOVE_STONE_EDGE" + ] + } + ] + }, + { + "index": 841, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 68, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 250, + "level": 69, + "species": "SPECIES_FLOATZEL", + "moves": [ + "MOVE_AQUA_JET", + "MOVE_CRUNCH", + "MOVE_ICE_FANG", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 70, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 69, + "species": "SPECIES_ROSERADE", + "moves": [ + "MOVE_SLUDGE_BOMB", + "MOVE_GIGA_DRAIN", + "MOVE_SHADOW_BALL", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 250, + "level": 70, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_GIGA_IMPACT", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 74, + "species": "SPECIES_INFERNAPE", + "moves": [ + "MOVE_FLARE_BLITZ", + "MOVE_FOCUS_BLAST", + "MOVE_SHADOW_CLAW", + "MOVE_AERIAL_ACE" + ] + } + ] + }, + { + "index": 842, + "type": 1, + "class": 63, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 250, + "level": 68, + "species": "SPECIES_STARAPTOR", + "moves": [ + "MOVE_CLOSE_COMBAT", + "MOVE_AERIAL_ACE", + "MOVE_STEEL_WING", + "MOVE_U_TURN" + ] + }, + { + "difficulty": 250, + "level": 69, + "species": "SPECIES_ROSERADE", + "moves": [ + "MOVE_SLUDGE_BOMB", + "MOVE_GIGA_DRAIN", + "MOVE_SHADOW_BALL", + "MOVE_GRASS_WHISTLE" + ] + }, + { + "difficulty": 250, + "level": 70, + "species": "SPECIES_HERACROSS", + "moves": [ + "MOVE_MEGAHORN", + "MOVE_CLOSE_COMBAT", + "MOVE_NIGHT_SLASH", + "MOVE_ROCK_SLIDE" + ] + }, + { + "difficulty": 250, + "level": 69, + "species": "SPECIES_RAPIDASH", + "moves": [ + "MOVE_FIRE_BLAST", + "MOVE_SUNNY_DAY", + "MOVE_MEGAHORN", + "MOVE_WILL_O_WISP" + ] + }, + { + "difficulty": 250, + "level": 70, + "species": "SPECIES_SNORLAX", + "moves": [ + "MOVE_GIGA_IMPACT", + "MOVE_CRUNCH", + "MOVE_EARTHQUAKE", + "MOVE_BRICK_BREAK" + ] + }, + { + "difficulty": 250, + "level": 74, + "species": "SPECIES_EMPOLEON", + "moves": [ + "MOVE_HYDRO_PUMP", + "MOVE_METAL_CLAW", + "MOVE_DRILL_PECK", + "MOVE_ICE_BEAM" + ] + } + ] + }, + { + "index": 843, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 11, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 844, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_MACHOP" + }, + { + "difficulty": 0, + "level": 31, + "species": "SPECIES_MACHOKE" + } + ] + }, + { + "index": 845, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_STEELIX" + } + ] + }, + { + "index": 846, + "type": 0, + "class": 59, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 0, + "level": 33, + "species": "SPECIES_RAPIDASH" + } + ] + }, + { + "index": 847, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_GLAMEOW" + } + ] + }, + { + "index": 848, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_BEAUTIFLY" + }, + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_STUNKY" + } + ] + }, + { + "index": 849, + "type": 0, + "class": 73, + "unk2": 0, + "items": [], + "unkC": 1, + "unk10": 0, + "party": [ + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_DUSTOX" + }, + { + "difficulty": 30, + "level": 25, + "species": "SPECIES_CROAGUNK" + } + ] + } + ] +} diff --git a/files/poketool/trainer/trdata.json.txt b/files/poketool/trainer/trdata.json.txt new file mode 100644 index 000000000..3c84dc27f --- /dev/null +++ b/files/poketool/trainer/trdata.json.txt @@ -0,0 +1,22 @@ +{{ doNotModifyHeader }} + +#include "global.h" +#include "trainer_data.h" +#include "constants/items.h" + +u32 __size = sizeof(struct TrainerData); + +const struct TrainerData __data[] = { + {}, +## for trainer in trdata + { + {{ trainer.type }}, + {{ trainer.class }}, + {{ trainer.unk2 }}, + {{ length(trainer.party) }}, + { {% for item in trainer.items %}{{ item }},{% endfor %} }, + {{ trainer.unkC }}, + {{ trainer.unk10 }} + }, +## endfor +}; diff --git a/files/poketool/trainer/trdata/.knarcignore b/files/poketool/trainer/trdata/.knarcignore deleted file mode 100644 index 2856080a5..000000000 --- a/files/poketool/trainer/trdata/.knarcignore +++ /dev/null @@ -1,2 +0,0 @@ -*.png -*.pal diff --git a/files/poketool/trainer/trdata/narc_0000.bin b/files/poketool/trainer/trdata/narc_0000.bin deleted file mode 100644 index df879cf49534a5672299e8e57970c3d2ef1be71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 KcmZQzzytsQ6aWDL diff --git a/files/poketool/trainer/trdata/narc_0001.bin b/files/poketool/trainer/trdata/narc_0001.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0002.bin b/files/poketool/trainer/trdata/narc_0002.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0003.bin b/files/poketool/trainer/trdata/narc_0003.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0004.bin b/files/poketool/trainer/trdata/narc_0004.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0005.bin b/files/poketool/trainer/trdata/narc_0005.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0006.bin b/files/poketool/trainer/trdata/narc_0006.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0007.bin b/files/poketool/trainer/trdata/narc_0007.bin deleted file mode 100644 index e7a424bacee8a894d1c225ba04ed1b33f1bf956b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzWng500vH1T0E_?# diff --git a/files/poketool/trainer/trdata/narc_0008.bin b/files/poketool/trainer/trdata/narc_0008.bin deleted file mode 100644 index e7a424bacee8a894d1c225ba04ed1b33f1bf956b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzWng500vH1T0E_?# diff --git a/files/poketool/trainer/trdata/narc_0009.bin b/files/poketool/trainer/trdata/narc_0009.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0010.bin b/files/poketool/trainer/trdata/narc_0010.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0011.bin b/files/poketool/trainer/trdata/narc_0011.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0012.bin b/files/poketool/trainer/trdata/narc_0012.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0013.bin b/files/poketool/trainer/trdata/narc_0013.bin deleted file mode 100644 index bbee0ad11186a4145a3bf8bc57fae9e25f398185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;%{0!Ane006K63IG5A diff --git a/files/poketool/trainer/trdata/narc_0014.bin b/files/poketool/trainer/trdata/narc_0014.bin deleted file mode 100644 index 570f4d809edbac3b37446716764cb842bb3ef3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzXJBH00!Ane006@P3jhEB diff --git a/files/poketool/trainer/trdata/narc_0015.bin b/files/poketool/trainer/trdata/narc_0015.bin deleted file mode 100644 index 5b752f7dbdb27c4576daeef127cf330eb8ff63ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZSJU|?c^0!APW;s5{u-T)2& diff --git a/files/poketool/trainer/trdata/narc_0016.bin b/files/poketool/trainer/trdata/narc_0016.bin deleted file mode 100644 index 02a783151756e8444b434c87c82f6cc980b9b595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%VPIr{0vH1T0F3|$ diff --git a/files/poketool/trainer/trdata/narc_0017.bin b/files/poketool/trainer/trdata/narc_0017.bin deleted file mode 100644 index 4766aa43cbed7e0059769e2cefefad87361b3e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Wnf}}0!Ane006N73IG5A diff --git a/files/poketool/trainer/trdata/narc_0018.bin b/files/poketool/trainer/trdata/narc_0018.bin deleted file mode 100644 index 696caf41458dddf2facaf39fae7d0c197e5feecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME-{0!Ane009dC4*&oF diff --git a/files/poketool/trainer/trdata/narc_0019.bin b/files/poketool/trainer/trdata/narc_0019.bin deleted file mode 100644 index a26745d93bba2c12e7c84ae48859681a4a31e502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWME`~0vH1T0N4Nw diff --git a/files/poketool/trainer/trdata/narc_0020.bin b/files/poketool/trainer/trdata/narc_0020.bin deleted file mode 100644 index dd29802eb4f80cce7761ade63b248bdec591a78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJVqj!|0vH1T0P6q^ diff --git a/files/poketool/trainer/trdata/narc_0021.bin b/files/poketool/trainer/trdata/narc_0021.bin deleted file mode 100644 index 41f66e477e1adf09c17ba335579e7a105019b597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzXJBN20vH1T0I~oI diff --git a/files/poketool/trainer/trdata/narc_0022.bin b/files/poketool/trainer/trdata/narc_0022.bin deleted file mode 100644 index 2e6217b05b8b5ff56cccb2b4d5b2978608d6340f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*B00!Ane00C0~6951J diff --git a/files/poketool/trainer/trdata/narc_0023.bin b/files/poketool/trainer/trdata/narc_0023.bin deleted file mode 100644 index 2bbdea6468c716da032b3c69dd4e29c878859dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJW?*E10vH1T0R8|D diff --git a/files/poketool/trainer/trdata/narc_0024.bin b/files/poketool/trainer/trdata/narc_0024.bin deleted file mode 100644 index 1b9114f9e0b85c7160cf8d5dd06af70ddca18db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*K30!Ane00AHX5C8xG diff --git a/files/poketool/trainer/trdata/narc_0025.bin b/files/poketool/trainer/trdata/narc_0025.bin deleted file mode 100644 index 421bd2f3922de4f9ecd07af8177931bb356cb89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJVPIr{0vH1T0TBQX diff --git a/files/poketool/trainer/trdata/narc_0026.bin b/files/poketool/trainer/trdata/narc_0026.bin deleted file mode 100644 index 421bd2f3922de4f9ecd07af8177931bb356cb89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJVPIr{0vH1T0TBQX diff --git a/files/poketool/trainer/trdata/narc_0027.bin b/files/poketool/trainer/trdata/narc_0027.bin deleted file mode 100644 index ef7cb2c89da075fcc581bf989f11f3b8acf3df6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVPIl_0!Ane00ANZ5C8xG diff --git a/files/poketool/trainer/trdata/narc_0028.bin b/files/poketool/trainer/trdata/narc_0028.bin deleted file mode 100644 index 421bd2f3922de4f9ecd07af8177931bb356cb89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJVPIr{0vH1T0TBQX diff --git a/files/poketool/trainer/trdata/narc_0029.bin b/files/poketool/trainer/trdata/narc_0029.bin deleted file mode 100644 index b3f17d3d8e32d9c9319398a44c7bcfab7e0f00fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWng500vH1T0VDtr diff --git a/files/poketool/trainer/trdata/narc_0030.bin b/files/poketool/trainer/trdata/narc_0030.bin deleted file mode 100644 index 6222c996b764a8a203af9baa505fd763d1674b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWnf}}0!Ane00A`s5dZ)H diff --git a/files/poketool/trainer/trdata/narc_0031.bin b/files/poketool/trainer/trdata/narc_0031.bin deleted file mode 100644 index b3f17d3d8e32d9c9319398a44c7bcfab7e0f00fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWng500vH1T0VDtr diff --git a/files/poketool/trainer/trdata/narc_0032.bin b/files/poketool/trainer/trdata/narc_0032.bin deleted file mode 100644 index 6222c996b764a8a203af9baa505fd763d1674b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWnf}}0!Ane00A`s5dZ)H diff --git a/files/poketool/trainer/trdata/narc_0033.bin b/files/poketool/trainer/trdata/narc_0033.bin deleted file mode 100644 index 6fe8c60d419d0a3303c42ff2ce05d54be08587af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqj)~0!Ane004CW2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0034.bin b/files/poketool/trainer/trdata/narc_0034.bin deleted file mode 100644 index 02a783151756e8444b434c87c82f6cc980b9b595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%VPIr{0vH1T0F3|$ diff --git a/files/poketool/trainer/trdata/narc_0035.bin b/files/poketool/trainer/trdata/narc_0035.bin deleted file mode 100644 index 63471c101f5d5a7f7fd5cdd10a4a836191a86d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Wng500vH1T0H6Q~ diff --git a/files/poketool/trainer/trdata/narc_0036.bin b/files/poketool/trainer/trdata/narc_0036.bin deleted file mode 100644 index 696caf41458dddf2facaf39fae7d0c197e5feecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME-{0!Ane009dC4*&oF diff --git a/files/poketool/trainer/trdata/narc_0037.bin b/files/poketool/trainer/trdata/narc_0037.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0038.bin b/files/poketool/trainer/trdata/narc_0038.bin deleted file mode 100644 index 3bdfd7159455c5830c5e6f936a76520403e309ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVqju`0!Ane008^|4gdfE diff --git a/files/poketool/trainer/trdata/narc_0039.bin b/files/poketool/trainer/trdata/narc_0039.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0040.bin b/files/poketool/trainer/trdata/narc_0040.bin deleted file mode 100644 index 6bbdce949719de84656e2e8d06d65d68872006aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWMF210!Ane008;`4gdfE diff --git a/files/poketool/trainer/trdata/narc_0041.bin b/files/poketool/trainer/trdata/narc_0041.bin deleted file mode 100644 index a26745d93bba2c12e7c84ae48859681a4a31e502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWME`~0vH1T0N4Nw diff --git a/files/poketool/trainer/trdata/narc_0042.bin b/files/poketool/trainer/trdata/narc_0042.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0043.bin b/files/poketool/trainer/trdata/narc_0043.bin deleted file mode 100644 index 45af2a9b221be6a308c336a6d13517b1da873a1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*7~0!Ane009pG4*&oF diff --git a/files/poketool/trainer/trdata/narc_0044.bin b/files/poketool/trainer/trdata/narc_0044.bin deleted file mode 100644 index 570f4d809edbac3b37446716764cb842bb3ef3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzXJBH00!Ane006@P3jhEB diff --git a/files/poketool/trainer/trdata/narc_0045.bin b/files/poketool/trainer/trdata/narc_0045.bin deleted file mode 100644 index 93c51bf7a0bbec6106a8e96df06b4af91b3279ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJXJBH00!Ane00CP76951J diff --git a/files/poketool/trainer/trdata/narc_0046.bin b/files/poketool/trainer/trdata/narc_0046.bin deleted file mode 100644 index ee98e55181e2d7f941a26757ddd06356c466083c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&U|?o|0!Ane00Dmh6#xJL diff --git a/files/poketool/trainer/trdata/narc_0047.bin b/files/poketool/trainer/trdata/narc_0047.bin deleted file mode 100644 index 14e818dff42bf9ecf948fd7c76aa4a961179f968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&WMF210!Ane00EK!761SM diff --git a/files/poketool/trainer/trdata/narc_0048.bin b/files/poketool/trainer/trdata/narc_0048.bin deleted file mode 100644 index 2279a05a49ff468c8401129fb9b8d977b0f16aa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&Vqj%}0!Ane00GAU82|tP diff --git a/files/poketool/trainer/trdata/narc_0049.bin b/files/poketool/trainer/trdata/narc_0049.bin deleted file mode 100644 index 772fdcefbded32681e34b8251692dbd9ea4e2ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&W?*E10vH1T0hRz3 diff --git a/files/poketool/trainer/trdata/narc_0050.bin b/files/poketool/trainer/trdata/narc_0050.bin deleted file mode 100644 index 0b892d1d9aaeab18df7b1df5282ec9ac4adb6420..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&VPIr{0vH1T0jU5N diff --git a/files/poketool/trainer/trdata/narc_0051.bin b/files/poketool/trainer/trdata/narc_0051.bin deleted file mode 100644 index 33bbf30700b2cfbb84694ecd8a00d2e0e70b87a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Wng500vH1T0lWYh diff --git a/files/poketool/trainer/trdata/narc_0052.bin b/files/poketool/trainer/trdata/narc_0052.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0053.bin b/files/poketool/trainer/trdata/narc_0053.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0054.bin b/files/poketool/trainer/trdata/narc_0054.bin deleted file mode 100644 index 2bbdea6468c716da032b3c69dd4e29c878859dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJW?*E10vH1T0R8|D diff --git a/files/poketool/trainer/trdata/narc_0055.bin b/files/poketool/trainer/trdata/narc_0055.bin deleted file mode 100644 index 5f50e7c6ef80d0958088592104398cfe7ff5f7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZP&XJBH00!APW;s5{v`v4sP diff --git a/files/poketool/trainer/trdata/narc_0056.bin b/files/poketool/trainer/trdata/narc_0056.bin deleted file mode 100644 index ee98e55181e2d7f941a26757ddd06356c466083c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&U|?o|0!Ane00Dmh6#xJL diff --git a/files/poketool/trainer/trdata/narc_0057.bin b/files/poketool/trainer/trdata/narc_0057.bin deleted file mode 100644 index 14e818dff42bf9ecf948fd7c76aa4a961179f968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&WMF210!Ane00EK!761SM diff --git a/files/poketool/trainer/trdata/narc_0058.bin b/files/poketool/trainer/trdata/narc_0058.bin deleted file mode 100644 index dc86effa74e04fb76493a9a232504a9718cc706b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Vqj!|0vH1T0fPV) diff --git a/files/poketool/trainer/trdata/narc_0059.bin b/files/poketool/trainer/trdata/narc_0059.bin deleted file mode 100644 index 772fdcefbded32681e34b8251692dbd9ea4e2ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&W?*E10vH1T0hRz3 diff --git a/files/poketool/trainer/trdata/narc_0060.bin b/files/poketool/trainer/trdata/narc_0060.bin deleted file mode 100644 index 0b892d1d9aaeab18df7b1df5282ec9ac4adb6420..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&VPIr{0vH1T0jU5N diff --git a/files/poketool/trainer/trdata/narc_0061.bin b/files/poketool/trainer/trdata/narc_0061.bin deleted file mode 100644 index 33bbf30700b2cfbb84694ecd8a00d2e0e70b87a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Wng500vH1T0lWYh diff --git a/files/poketool/trainer/trdata/narc_0062.bin b/files/poketool/trainer/trdata/narc_0062.bin deleted file mode 100644 index b5fceed9c7539e3c971e0783bfa56453fc8dea50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROU|?i`0vH1T0rdbI diff --git a/files/poketool/trainer/trdata/narc_0063.bin b/files/poketool/trainer/trdata/narc_0063.bin deleted file mode 100644 index a7f8a89aaa4d8a4d27b9ba4724d1cbc565d9e85e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWME`~0vH1T0tf&c diff --git a/files/poketool/trainer/trdata/narc_0064.bin b/files/poketool/trainer/trdata/narc_0064.bin deleted file mode 100644 index faa97bff8b31cc83ee0862424a3a1e1119979e4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROVqj!|0vH1T0viAw diff --git a/files/poketool/trainer/trdata/narc_0065.bin b/files/poketool/trainer/trdata/narc_0065.bin deleted file mode 100644 index 5b752f7dbdb27c4576daeef127cf330eb8ff63ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZSJU|?c^0!APW;s5{u-T)2& diff --git a/files/poketool/trainer/trdata/narc_0066.bin b/files/poketool/trainer/trdata/narc_0066.bin deleted file mode 100644 index 150ff10efa5cb58cc3f04ed586c8cb17c37479ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?o|0!Ane00Juj9smFU diff --git a/files/poketool/trainer/trdata/narc_0067.bin b/files/poketool/trainer/trdata/narc_0067.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0068.bin b/files/poketool/trainer/trdata/narc_0068.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0069.bin b/files/poketool/trainer/trdata/narc_0069.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0070.bin b/files/poketool/trainer/trdata/narc_0070.bin deleted file mode 100644 index c1398d1ea6199ff52c3e0e8f41b236208af83215..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIi^0!Ane00MLXA^-pY diff --git a/files/poketool/trainer/trdata/narc_0071.bin b/files/poketool/trainer/trdata/narc_0071.bin deleted file mode 100644 index 730e212921c7fd71e86244ebf3326399638a2d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIl_0!Ane00L3~AOHXW diff --git a/files/poketool/trainer/trdata/narc_0072.bin b/files/poketool/trainer/trdata/narc_0072.bin deleted file mode 100644 index ea80f17206713fa8ba193bd4ae8f6a93f4bd97e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROVPIr{0vH1T0zm*D diff --git a/files/poketool/trainer/trdata/narc_0073.bin b/files/poketool/trainer/trdata/narc_0073.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0074.bin b/files/poketool/trainer/trdata/narc_0074.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0075.bin b/files/poketool/trainer/trdata/narc_0075.bin deleted file mode 100644 index f61b201ae2b79e8e3a94511d9089be32a39bb554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZROXJBH00!APW;s5{wlK>?E diff --git a/files/poketool/trainer/trdata/narc_0076.bin b/files/poketool/trainer/trdata/narc_0076.bin deleted file mode 100644 index 9c9d48b2c6a18585968e75593d4e64989202122d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROV_;-}0vH1T0%rgr diff --git a/files/poketool/trainer/trdata/narc_0077.bin b/files/poketool/trainer/trdata/narc_0077.bin deleted file mode 100644 index dd29802eb4f80cce7761ade63b248bdec591a78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJVqj!|0vH1T0P6q^ diff --git a/files/poketool/trainer/trdata/narc_0078.bin b/files/poketool/trainer/trdata/narc_0078.bin deleted file mode 100644 index d1ba9d5c852a727c4d1b9c1c8b067e5ea10a2c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIx}0!Ane00LtGApigX diff --git a/files/poketool/trainer/trdata/narc_0079.bin b/files/poketool/trainer/trdata/narc_0079.bin deleted file mode 100644 index 67ddc3a29cd533081b26ce889aa41f8ddf5dcad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;^00!Ane00CJ56951J diff --git a/files/poketool/trainer/trdata/narc_0080.bin b/files/poketool/trainer/trdata/narc_0080.bin deleted file mode 100644 index 730e212921c7fd71e86244ebf3326399638a2d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIl_0!Ane00L3~AOHXW diff --git a/files/poketool/trainer/trdata/narc_0081.bin b/files/poketool/trainer/trdata/narc_0081.bin deleted file mode 100644 index 9c9d48b2c6a18585968e75593d4e64989202122d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROV_;-}0vH1T0%rgr diff --git a/files/poketool/trainer/trdata/narc_0082.bin b/files/poketool/trainer/trdata/narc_0082.bin deleted file mode 100644 index aee5bdfe9a2d80a14ef3d305cf36e0334363b850..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjU|OV diff --git a/files/poketool/trainer/trdata/narc_0172.bin b/files/poketool/trainer/trdata/narc_0172.bin deleted file mode 100644 index 1b9114f9e0b85c7160cf8d5dd06af70ddca18db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*K30!Ane00AHX5C8xG diff --git a/files/poketool/trainer/trdata/narc_0173.bin b/files/poketool/trainer/trdata/narc_0173.bin deleted file mode 100644 index 45af2a9b221be6a308c336a6d13517b1da873a1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*7~0!Ane009pG4*&oF diff --git a/files/poketool/trainer/trdata/narc_0174.bin b/files/poketool/trainer/trdata/narc_0174.bin deleted file mode 100644 index c4df596ce9b46b3205cce7649922ff801d1cab6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*4}0!Ane00A)o5dZ)H diff --git a/files/poketool/trainer/trdata/narc_0175.bin b/files/poketool/trainer/trdata/narc_0175.bin deleted file mode 100644 index 1b9114f9e0b85c7160cf8d5dd06af70ddca18db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*K30!Ane00AHX5C8xG diff --git a/files/poketool/trainer/trdata/narc_0176.bin b/files/poketool/trainer/trdata/narc_0176.bin deleted file mode 100644 index cde7cb767e776a2685edeecf46362d58a1a2404b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuWME`~0vH1T1ZV&} diff --git a/files/poketool/trainer/trdata/narc_0177.bin b/files/poketool/trainer/trdata/narc_0177.bin deleted file mode 100644 index cde7cb767e776a2685edeecf46362d58a1a2404b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuWME`~0vH1T1ZV&} diff --git a/files/poketool/trainer/trdata/narc_0178.bin b/files/poketool/trainer/trdata/narc_0178.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0179.bin b/files/poketool/trainer/trdata/narc_0179.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0180.bin b/files/poketool/trainer/trdata/narc_0180.bin deleted file mode 100644 index 7e07d284dc9fe15121200e140910b58a0a17441c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3V_;^00!Ane00X%IGXMYp diff --git a/files/poketool/trainer/trdata/narc_0181.bin b/files/poketool/trainer/trdata/narc_0181.bin deleted file mode 100644 index 2822319dbca9ea2fb98c471feea08c9069960eec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJXJBN20vH1T0ZIT8 diff --git a/files/poketool/trainer/trdata/narc_0182.bin b/files/poketool/trainer/trdata/narc_0182.bin deleted file mode 100644 index 5f50e7c6ef80d0958088592104398cfe7ff5f7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZP&XJBH00!APW;s5{v`v4sP diff --git a/files/poketool/trainer/trdata/narc_0183.bin b/files/poketool/trainer/trdata/narc_0183.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0184.bin b/files/poketool/trainer/trdata/narc_0184.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0185.bin b/files/poketool/trainer/trdata/narc_0185.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0186.bin b/files/poketool/trainer/trdata/narc_0186.bin deleted file mode 100644 index fc4849c1397146e88c81f92d147653b70d9626e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqj)~0!Ane00V6RF8}}l diff --git a/files/poketool/trainer/trdata/narc_0187.bin b/files/poketool/trainer/trdata/narc_0187.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0188.bin b/files/poketool/trainer/trdata/narc_0188.bin deleted file mode 100644 index fc4849c1397146e88c81f92d147653b70d9626e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqj)~0!Ane00V6RF8}}l diff --git a/files/poketool/trainer/trdata/narc_0189.bin b/files/poketool/trainer/trdata/narc_0189.bin deleted file mode 100644 index 172b4b818356a0cf2bebf0c6e93f4e88638a8b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3W?*E10vH1T16}|w diff --git a/files/poketool/trainer/trdata/narc_0190.bin b/files/poketool/trainer/trdata/narc_0190.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0191.bin b/files/poketool/trainer/trdata/narc_0191.bin deleted file mode 100644 index 4da77e805243aeea3ac191ef92cb6200deb937bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*K30!Ane00V#kFaQ7m diff --git a/files/poketool/trainer/trdata/narc_0192.bin b/files/poketool/trainer/trdata/narc_0192.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0193.bin b/files/poketool/trainer/trdata/narc_0193.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0194.bin b/files/poketool/trainer/trdata/narc_0194.bin deleted file mode 100644 index 172b4b818356a0cf2bebf0c6e93f4e88638a8b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3W?*E10vH1T16}|w diff --git a/files/poketool/trainer/trdata/narc_0195.bin b/files/poketool/trainer/trdata/narc_0195.bin deleted file mode 100644 index bda798c42ae20688b401e07696ff193c526c9aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyW?*7~0!Ane00grDKmY&$ diff --git a/files/poketool/trainer/trdata/narc_0196.bin b/files/poketool/trainer/trdata/narc_0196.bin deleted file mode 100644 index d68549f0276add4db0b4b117972d48d24092f018..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyW?*E10vH1T1fl>x diff --git a/files/poketool/trainer/trdata/narc_0197.bin b/files/poketool/trainer/trdata/narc_0197.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0198.bin b/files/poketool/trainer/trdata/narc_0198.bin deleted file mode 100644 index 7b5ada8b9979cec9bff2bf0da9077f6d71505452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3WME`~0vH1T12_OI diff --git a/files/poketool/trainer/trdata/narc_0199.bin b/files/poketool/trainer/trdata/narc_0199.bin deleted file mode 100644 index 7b5ada8b9979cec9bff2bf0da9077f6d71505452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3WME`~0vH1T12_OI diff --git a/files/poketool/trainer/trdata/narc_0200.bin b/files/poketool/trainer/trdata/narc_0200.bin deleted file mode 100644 index 7b5ada8b9979cec9bff2bf0da9077f6d71505452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3WME`~0vH1T12_OI diff --git a/files/poketool/trainer/trdata/narc_0201.bin b/files/poketool/trainer/trdata/narc_0201.bin deleted file mode 100644 index 9d28bc2df8a1cb47c6b374c6aa2f3252737fd24c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;^00!Ane006-N3jhEB diff --git a/files/poketool/trainer/trdata/narc_0202.bin b/files/poketool/trainer/trdata/narc_0202.bin deleted file mode 100644 index 9d28bc2df8a1cb47c6b374c6aa2f3252737fd24c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;^00!Ane006-N3jhEB diff --git a/files/poketool/trainer/trdata/narc_0203.bin b/files/poketool/trainer/trdata/narc_0203.bin deleted file mode 100644 index bbee0ad11186a4145a3bf8bc57fae9e25f398185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;%{0!Ane006K63IG5A diff --git a/files/poketool/trainer/trdata/narc_0204.bin b/files/poketool/trainer/trdata/narc_0204.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0205.bin b/files/poketool/trainer/trdata/narc_0205.bin deleted file mode 100644 index 1aa75ca0a6a18e4660bd745d4d037074c6a93324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQHWME`~0vH1T1LOcT diff --git a/files/poketool/trainer/trdata/narc_0206.bin b/files/poketool/trainer/trdata/narc_0206.bin deleted file mode 100644 index f239c87b656cb4a4cc7b732e7be1e8807628690e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQHVqj!|0vH1T1NQ(n diff --git a/files/poketool/trainer/trdata/narc_0207.bin b/files/poketool/trainer/trdata/narc_0207.bin deleted file mode 100644 index 5f50e7c6ef80d0958088592104398cfe7ff5f7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZP&XJBH00!APW;s5{v`v4sP diff --git a/files/poketool/trainer/trdata/narc_0208.bin b/files/poketool/trainer/trdata/narc_0208.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0209.bin b/files/poketool/trainer/trdata/narc_0209.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0210.bin b/files/poketool/trainer/trdata/narc_0210.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0211.bin b/files/poketool/trainer/trdata/narc_0211.bin deleted file mode 100644 index 3c50fede9e81ba39d251e86092f822ec8c7731ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDWng500vH1T1RMZ3 diff --git a/files/poketool/trainer/trdata/narc_0212.bin b/files/poketool/trainer/trdata/narc_0212.bin deleted file mode 100644 index 3c50fede9e81ba39d251e86092f822ec8c7731ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDWng500vH1T1RMZ3 diff --git a/files/poketool/trainer/trdata/narc_0213.bin b/files/poketool/trainer/trdata/narc_0213.bin deleted file mode 100644 index da84e8d1642db54bcecfc423617d28e6126aedc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDV_;-}0vH1T1TO$N diff --git a/files/poketool/trainer/trdata/narc_0214.bin b/files/poketool/trainer/trdata/narc_0214.bin deleted file mode 100644 index da84e8d1642db54bcecfc423617d28e6126aedc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDV_;-}0vH1T1TO$N diff --git a/files/poketool/trainer/trdata/narc_0215.bin b/files/poketool/trainer/trdata/narc_0215.bin deleted file mode 100644 index 007cd3fac7ab35644ad3a2697c0aee029b2d40ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROW?*E10vH1T0xkd^ diff --git a/files/poketool/trainer/trdata/narc_0216.bin b/files/poketool/trainer/trdata/narc_0216.bin deleted file mode 100644 index 007cd3fac7ab35644ad3a2697c0aee029b2d40ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROW?*E10vH1T0xkd^ diff --git a/files/poketool/trainer/trdata/narc_0217.bin b/files/poketool/trainer/trdata/narc_0217.bin deleted file mode 100644 index 699541151f99625911fef4c976740c76e140310c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDWME`~0vH1T1JD38 diff --git a/files/poketool/trainer/trdata/narc_0218.bin b/files/poketool/trainer/trdata/narc_0218.bin deleted file mode 100644 index 0cceb60572f15f348bc0ec1e1d970638a8f24316..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVqj!|0vH1T1LFWS diff --git a/files/poketool/trainer/trdata/narc_0219.bin b/files/poketool/trainer/trdata/narc_0219.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0220.bin b/files/poketool/trainer/trdata/narc_0220.bin deleted file mode 100644 index 3ff5b34015dfb08885d267db748dc20bcbb134c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3V_;-}0vH1T1D60X diff --git a/files/poketool/trainer/trdata/narc_0221.bin b/files/poketool/trainer/trdata/narc_0221.bin deleted file mode 100644 index 2338a967d296b8d3867ee52ff7c5c6b4191823c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVPIr{0vH1T1fc*w diff --git a/files/poketool/trainer/trdata/narc_0222.bin b/files/poketool/trainer/trdata/narc_0222.bin deleted file mode 100644 index be36e090d23aa5f97c2531bf8e337e7c2c06976d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuWng500vH1T1hfD^ diff --git a/files/poketool/trainer/trdata/narc_0223.bin b/files/poketool/trainer/trdata/narc_0223.bin deleted file mode 100644 index 5f50e7c6ef80d0958088592104398cfe7ff5f7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZP&XJBH00!APW;s5{v`v4sP diff --git a/files/poketool/trainer/trdata/narc_0224.bin b/files/poketool/trainer/trdata/narc_0224.bin deleted file mode 100644 index 150ff10efa5cb58cc3f04ed586c8cb17c37479ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?o|0!Ane00Juj9smFU diff --git a/files/poketool/trainer/trdata/narc_0225.bin b/files/poketool/trainer/trdata/narc_0225.bin deleted file mode 100644 index e5a38ad2b5d19ba764f18fbcc546439630d6edd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSU|?i`0vH1T0to;d diff --git a/files/poketool/trainer/trdata/narc_0226.bin b/files/poketool/trainer/trdata/narc_0226.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0227.bin b/files/poketool/trainer/trdata/narc_0227.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0228.bin b/files/poketool/trainer/trdata/narc_0228.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0229.bin b/files/poketool/trainer/trdata/narc_0229.bin deleted file mode 100644 index fd1f828cbe27af395c46c8ce25626e651e50ca18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*7~0!Ane00L70AOHXW diff --git a/files/poketool/trainer/trdata/narc_0230.bin b/files/poketool/trainer/trdata/narc_0230.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0231.bin b/files/poketool/trainer/trdata/narc_0231.bin deleted file mode 100644 index fab42c3c5f52298c1337c0e00c5f3c7577d038b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWngB20!Ane00MRZA^-pY diff --git a/files/poketool/trainer/trdata/narc_0232.bin b/files/poketool/trainer/trdata/narc_0232.bin deleted file mode 100644 index 77dec775d638fe99bfbeaee72c7fb79fdf9581f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSNV_;%{0!Ane00CS86951J diff --git a/files/poketool/trainer/trdata/narc_0233.bin b/files/poketool/trainer/trdata/narc_0233.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0234.bin b/files/poketool/trainer/trdata/narc_0234.bin deleted file mode 100644 index bfd4bed2c1c04938463b900fabe2a05d8c78659f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWMF210!Ane00Z&>HUIzs diff --git a/files/poketool/trainer/trdata/narc_0235.bin b/files/poketool/trainer/trdata/narc_0235.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0236.bin b/files/poketool/trainer/trdata/narc_0236.bin deleted file mode 100644 index f61b201ae2b79e8e3a94511d9089be32a39bb554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZROXJBH00!APW;s5{wlK>?E diff --git a/files/poketool/trainer/trdata/narc_0237.bin b/files/poketool/trainer/trdata/narc_0237.bin deleted file mode 100644 index f61b201ae2b79e8e3a94511d9089be32a39bb554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZROXJBH00!APW;s5{wlK>?E diff --git a/files/poketool/trainer/trdata/narc_0238.bin b/files/poketool/trainer/trdata/narc_0238.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0239.bin b/files/poketool/trainer/trdata/narc_0239.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0240.bin b/files/poketool/trainer/trdata/narc_0240.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0241.bin b/files/poketool/trainer/trdata/narc_0241.bin deleted file mode 100644 index 2bbdea6468c716da032b3c69dd4e29c878859dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJW?*E10vH1T0R8|D diff --git a/files/poketool/trainer/trdata/narc_0242.bin b/files/poketool/trainer/trdata/narc_0242.bin deleted file mode 100644 index 3ff5b34015dfb08885d267db748dc20bcbb134c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3V_;-}0vH1T1D60X diff --git a/files/poketool/trainer/trdata/narc_0243.bin b/files/poketool/trainer/trdata/narc_0243.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0244.bin b/files/poketool/trainer/trdata/narc_0244.bin deleted file mode 100644 index 58ac33b010df369c3e371ba94d580b7833a6d4fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Vqj!|0vH1T0A~OO diff --git a/files/poketool/trainer/trdata/narc_0245.bin b/files/poketool/trainer/trdata/narc_0245.bin deleted file mode 100644 index 2b6fc47244d8e00f01f3c675c2a4923b8a6fd0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Vqju`0!Ane004LZ2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0246.bin b/files/poketool/trainer/trdata/narc_0246.bin deleted file mode 100644 index feeff6e6b797294a1853911121a1513a2ac18514..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZRyV_+6!5M%%WMli|1000L20A>IH diff --git a/files/poketool/trainer/trdata/narc_0247.bin b/files/poketool/trainer/trdata/narc_0247.bin deleted file mode 100644 index e5d8c9a20b03836b17029e2e2cf28c3313b5f75c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBH00!Ane00jR4L;wH) diff --git a/files/poketool/trainer/trdata/narc_0248.bin b/files/poketool/trainer/trdata/narc_0248.bin deleted file mode 100644 index e5d8c9a20b03836b17029e2e2cf28c3313b5f75c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBH00!Ane00jR4L;wH) diff --git a/files/poketool/trainer/trdata/narc_0249.bin b/files/poketool/trainer/trdata/narc_0249.bin deleted file mode 100644 index e5d8c9a20b03836b17029e2e2cf28c3313b5f75c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBH00!Ane00jR4L;wH) diff --git a/files/poketool/trainer/trdata/narc_0250.bin b/files/poketool/trainer/trdata/narc_0250.bin deleted file mode 100644 index e19b8c0e673c77f5e9fb9a53d7252723f97df183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQ}U|^PH5N7}ZMli|1000Ob0C)fZ diff --git a/files/poketool/trainer/trdata/narc_0251.bin b/files/poketool/trainer/trdata/narc_0251.bin deleted file mode 100644 index a7f8a89aaa4d8a4d27b9ba4724d1cbc565d9e85e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWME`~0vH1T0tf&c diff --git a/files/poketool/trainer/trdata/narc_0252.bin b/files/poketool/trainer/trdata/narc_0252.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0253.bin b/files/poketool/trainer/trdata/narc_0253.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0254.bin b/files/poketool/trainer/trdata/narc_0254.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0255.bin b/files/poketool/trainer/trdata/narc_0255.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0256.bin b/files/poketool/trainer/trdata/narc_0256.bin deleted file mode 100644 index 707f1525b1b545467703319ea118cff6bd82ae1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyW?*K30!Ane00hJUK>z>% diff --git a/files/poketool/trainer/trdata/narc_0257.bin b/files/poketool/trainer/trdata/narc_0257.bin deleted file mode 100644 index d68549f0276add4db0b4b117972d48d24092f018..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyW?*E10vH1T1fl>x diff --git a/files/poketool/trainer/trdata/narc_0258.bin b/files/poketool/trainer/trdata/narc_0258.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0259.bin b/files/poketool/trainer/trdata/narc_0259.bin deleted file mode 100644 index 5e82fd45439e90d6684e67b0567f5d978df160a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%XJBT40!Ane008I!4FCWD diff --git a/files/poketool/trainer/trdata/narc_0260.bin b/files/poketool/trainer/trdata/narc_0260.bin deleted file mode 100644 index 8ea78b0a57db40558ed7a48c7e2d932310d6fce1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%XJBN20vH1T0LB0d diff --git a/files/poketool/trainer/trdata/narc_0261.bin b/files/poketool/trainer/trdata/narc_0261.bin deleted file mode 100644 index 7464edbf5f1b20f466eb4ac35af9b3124f0bde49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQ}WMCC%5N7}ZMli|1000Ow0C@la diff --git a/files/poketool/trainer/trdata/narc_0262.bin b/files/poketool/trainer/trdata/narc_0262.bin deleted file mode 100644 index 3d0df00407e7a83a94e560c5db13f10335770448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQ}Vqg_#5N7}ZMli|1000O@0D1rb diff --git a/files/poketool/trainer/trdata/narc_0263.bin b/files/poketool/trainer/trdata/narc_0263.bin deleted file mode 100644 index 832f2d02e4338c1e2d616216a0ada141243e831a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQ}W?&U(5N7}ZMli|1000PB0DAxc diff --git a/files/poketool/trainer/trdata/narc_0264.bin b/files/poketool/trainer/trdata/narc_0264.bin deleted file mode 100644 index e4a85266cc4b48af38be066a10af4c7bfcf9a0d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQ}VPF+!5N7}ZMli|1000PU0DJ%d diff --git a/files/poketool/trainer/trdata/narc_0265.bin b/files/poketool/trainer/trdata/narc_0265.bin deleted file mode 100644 index 69c6f738c93fe26c59f674bbdd809f021243203d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVPIr{0vH1T0C@lh diff --git a/files/poketool/trainer/trdata/narc_0266.bin b/files/poketool/trainer/trdata/narc_0266.bin deleted file mode 100644 index 1e546e4de935dc545aa85418a3a8e29257ecfbde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%VPIx}0!Ane006H53IG5A diff --git a/files/poketool/trainer/trdata/narc_0267.bin b/files/poketool/trainer/trdata/narc_0267.bin deleted file mode 100644 index 39fce73dc4c624574ec467a56986fbce7a2b5956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZQ}WndF$fIvnD2mk;Ii2$qs diff --git a/files/poketool/trainer/trdata/narc_0268.bin b/files/poketool/trainer/trdata/narc_0268.bin deleted file mode 100644 index d02a85a53878cb1d647b5a48a28c0b2cd6e91ff5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHWnf}}0!Ane00cn*IsgCw diff --git a/files/poketool/trainer/trdata/narc_0269.bin b/files/poketool/trainer/trdata/narc_0269.bin deleted file mode 100644 index 19d0b19d6355533d2f5a64d562bbd4e59998405c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQHWng500vH1T1TX+O diff --git a/files/poketool/trainer/trdata/narc_0270.bin b/files/poketool/trainer/trdata/narc_0270.bin deleted file mode 100644 index 02272b8eb93322b77f0e693e23dfceb673431b03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHV_;^00!Ane00dMli|1000Rc0EPen diff --git a/files/poketool/trainer/trdata/narc_0318.bin b/files/poketool/trainer/trdata/narc_0318.bin deleted file mode 100644 index 7c7b14fbf034520a8085aca9d5f3d8cc083e5aec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZSfWnh+MkYoS>Mli|1000Rv0EYko diff --git a/files/poketool/trainer/trdata/narc_0319.bin b/files/poketool/trainer/trdata/narc_0319.bin deleted file mode 100644 index 87719c31ecc9728c01e048ab5c7cd39ab0ee0706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZSfV_=bF5N7}ZMli|1000R%0EYko diff --git a/files/poketool/trainer/trdata/narc_0320.bin b/files/poketool/trainer/trdata/narc_0320.bin deleted file mode 100644 index 6cf82d805114453c17a3b6ba0ca3cc2b7e924fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZSfXJCIN diff --git a/files/poketool/trainer/trdata/narc_0322.bin b/files/poketool/trainer/trdata/narc_0322.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0323.bin b/files/poketool/trainer/trdata/narc_0323.bin deleted file mode 100644 index 29ca855d5b58d240ffeaa3b0c1aafa1de0ee91e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*K30!Ane004*p2mk;8 diff --git a/files/poketool/trainer/trdata/narc_0324.bin b/files/poketool/trainer/trdata/narc_0324.bin deleted file mode 100644 index ae12af86e2cdc0476a9f641ee4cb93de546e547c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%W?*7~0!Ane004^s2mk;8 diff --git a/files/poketool/trainer/trdata/narc_0325.bin b/files/poketool/trainer/trdata/narc_0325.bin deleted file mode 100644 index 95fa63758f353be517bfbfc5e362401231f69eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%W?*E10vH1T0D1ri diff --git a/files/poketool/trainer/trdata/narc_0326.bin b/files/poketool/trainer/trdata/narc_0326.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0327.bin b/files/poketool/trainer/trdata/narc_0327.bin deleted file mode 100644 index c4fad157a0c7d802d08d2474ce5b0932f051528e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZPwU|?c^0!Ane00u4qQ~&?~ diff --git a/files/poketool/trainer/trdata/narc_0328.bin b/files/poketool/trainer/trdata/narc_0328.bin deleted file mode 100644 index d80b5fa52e996c6f6efccddfd5d5e0bf38560429..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwU|?i`0vH1T1|0xX diff --git a/files/poketool/trainer/trdata/narc_0329.bin b/files/poketool/trainer/trdata/narc_0329.bin deleted file mode 100644 index 4766aa43cbed7e0059769e2cefefad87361b3e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Wnf}}0!Ane006N73IG5A diff --git a/files/poketool/trainer/trdata/narc_0330.bin b/files/poketool/trainer/trdata/narc_0330.bin deleted file mode 100644 index 4766aa43cbed7e0059769e2cefefad87361b3e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Wnf}}0!Ane006N73IG5A diff --git a/files/poketool/trainer/trdata/narc_0331.bin b/files/poketool/trainer/trdata/narc_0331.bin deleted file mode 100644 index a3e02695dc2f61301fc9b8ed099a6c7757a6cfa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&V_;!`0!Ane00II48~^|S diff --git a/files/poketool/trainer/trdata/narc_0332.bin b/files/poketool/trainer/trdata/narc_0332.bin deleted file mode 100644 index 7611c80ac175df120bf994d47395e7d3dd5ac093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjV_;%{0!Ane00R&JDgXcg diff --git a/files/poketool/trainer/trdata/narc_0333.bin b/files/poketool/trainer/trdata/narc_0333.bin deleted file mode 100644 index 7611c80ac175df120bf994d47395e7d3dd5ac093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjV_;%{0!Ane00R&JDgXcg diff --git a/files/poketool/trainer/trdata/narc_0334.bin b/files/poketool/trainer/trdata/narc_0334.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0335.bin b/files/poketool/trainer/trdata/narc_0335.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0336.bin b/files/poketool/trainer/trdata/narc_0336.bin deleted file mode 100644 index 493573f7d33711ca7951f897f5f3614211bc2646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjWME`~0vH1T0-yjS diff --git a/files/poketool/trainer/trdata/narc_0337.bin b/files/poketool/trainer/trdata/narc_0337.bin deleted file mode 100644 index 3ff5b34015dfb08885d267db748dc20bcbb134c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3V_;-}0vH1T1D60X diff --git a/files/poketool/trainer/trdata/narc_0338.bin b/files/poketool/trainer/trdata/narc_0338.bin deleted file mode 100644 index 972c8d32e6a98a84dc28e3779a28e4d1b6e63d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3V_;%{0!Ane00XE1G5`Po diff --git a/files/poketool/trainer/trdata/narc_0339.bin b/files/poketool/trainer/trdata/narc_0339.bin deleted file mode 100644 index 1205b2aeaca6878c6b503beb14252fb74260f162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS7V_;%{0!Ane00X=LGXMYp diff --git a/files/poketool/trainer/trdata/narc_0340.bin b/files/poketool/trainer/trdata/narc_0340.bin deleted file mode 100644 index 34773a14c94624fe0f6858726d7fd7d0deb3a4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyVPIr{0vH1T1hoJ_ diff --git a/files/poketool/trainer/trdata/narc_0341.bin b/files/poketool/trainer/trdata/narc_0341.bin deleted file mode 100644 index 34773a14c94624fe0f6858726d7fd7d0deb3a4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyVPIr{0vH1T1hoJ_ diff --git a/files/poketool/trainer/trdata/narc_0342.bin b/files/poketool/trainer/trdata/narc_0342.bin deleted file mode 100644 index 34773a14c94624fe0f6858726d7fd7d0deb3a4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyVPIr{0vH1T1hoJ_ diff --git a/files/poketool/trainer/trdata/narc_0343.bin b/files/poketool/trainer/trdata/narc_0343.bin deleted file mode 100644 index 24a13ddd8c1f205c429847b274c81aba161c5675..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyWnf}}0!Ane00h|pLI3~& diff --git a/files/poketool/trainer/trdata/narc_0344.bin b/files/poketool/trainer/trdata/narc_0344.bin deleted file mode 100644 index 707d6b2a55a931f1a00a0af6b5f9fc6818dcbd16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyWng500vH1T1jqnE diff --git a/files/poketool/trainer/trdata/narc_0345.bin b/files/poketool/trainer/trdata/narc_0345.bin deleted file mode 100644 index 707d6b2a55a931f1a00a0af6b5f9fc6818dcbd16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyWng500vH1T1jqnE diff --git a/files/poketool/trainer/trdata/narc_0346.bin b/files/poketool/trainer/trdata/narc_0346.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0347.bin b/files/poketool/trainer/trdata/narc_0347.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0348.bin b/files/poketool/trainer/trdata/narc_0348.bin deleted file mode 100644 index bff1e47e755feda738a548acf24f9091a6f36059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQnVPIr{0vH1T0_^}O diff --git a/files/poketool/trainer/trdata/narc_0349.bin b/files/poketool/trainer/trdata/narc_0349.bin deleted file mode 100644 index b7e008718f0a30e3831c2d3b54d7d5534b2f687e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDXJBN20vH1T1VR8h diff --git a/files/poketool/trainer/trdata/narc_0350.bin b/files/poketool/trainer/trdata/narc_0350.bin deleted file mode 100644 index 75ef0429122e3e2a21b1ac7d2ffb94fe10c04399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuU|?i`0vH1T1XTb# diff --git a/files/poketool/trainer/trdata/narc_0351.bin b/files/poketool/trainer/trdata/narc_0351.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0352.bin b/files/poketool/trainer/trdata/narc_0352.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0353.bin b/files/poketool/trainer/trdata/narc_0353.bin deleted file mode 100644 index 172b4b818356a0cf2bebf0c6e93f4e88638a8b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3W?*E10vH1T16}|w diff --git a/files/poketool/trainer/trdata/narc_0354.bin b/files/poketool/trainer/trdata/narc_0354.bin deleted file mode 100644 index 172b4b818356a0cf2bebf0c6e93f4e88638a8b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3W?*E10vH1T16}|w diff --git a/files/poketool/trainer/trdata/narc_0355.bin b/files/poketool/trainer/trdata/narc_0355.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0356.bin b/files/poketool/trainer/trdata/narc_0356.bin deleted file mode 100644 index 58ac33b010df369c3e371ba94d580b7833a6d4fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Vqj!|0vH1T0A~OO diff --git a/files/poketool/trainer/trdata/narc_0357.bin b/files/poketool/trainer/trdata/narc_0357.bin deleted file mode 100644 index 2b6fc47244d8e00f01f3c675c2a4923b8a6fd0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Vqju`0!Ane004LZ2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0358.bin b/files/poketool/trainer/trdata/narc_0358.bin deleted file mode 100644 index 87c08c98cff712deb5e44c42ff38fccc2eece110..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3VPIl_0!Ane00V*mFaQ7m diff --git a/files/poketool/trainer/trdata/narc_0359.bin b/files/poketool/trainer/trdata/narc_0359.bin deleted file mode 100644 index 3855e65d8a942700366e1ee1ee549f47d08d3b44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3VPIr{0vH1T191Q^ diff --git a/files/poketool/trainer/trdata/narc_0360.bin b/files/poketool/trainer/trdata/narc_0360.bin deleted file mode 100644 index 25b4b4227366c69e465dbd5a908b91722a7a2074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Wnf}}0!Ane00Wf(F#rGn diff --git a/files/poketool/trainer/trdata/narc_0361.bin b/files/poketool/trainer/trdata/narc_0361.bin deleted file mode 100644 index 0ece065b1a5494cda77642dade22210d6d7296e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Wng500vH1T1B3uD diff --git a/files/poketool/trainer/trdata/narc_0362.bin b/files/poketool/trainer/trdata/narc_0362.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0363.bin b/files/poketool/trainer/trdata/narc_0363.bin deleted file mode 100644 index 0ac27debec7c53607030bdc6d48501931846adca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWME`~0vH1T1~33r diff --git a/files/poketool/trainer/trdata/narc_0364.bin b/files/poketool/trainer/trdata/narc_0364.bin deleted file mode 100644 index 0ac27debec7c53607030bdc6d48501931846adca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWME`~0vH1T1~33r diff --git a/files/poketool/trainer/trdata/narc_0365.bin b/files/poketool/trainer/trdata/narc_0365.bin deleted file mode 100644 index 0ac27debec7c53607030bdc6d48501931846adca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWME`~0vH1T1~33r diff --git a/files/poketool/trainer/trdata/narc_0366.bin b/files/poketool/trainer/trdata/narc_0366.bin deleted file mode 100644 index faa97bff8b31cc83ee0862424a3a1e1119979e4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROVqj!|0vH1T0viAw diff --git a/files/poketool/trainer/trdata/narc_0367.bin b/files/poketool/trainer/trdata/narc_0367.bin deleted file mode 100644 index bda798c42ae20688b401e07696ff193c526c9aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyW?*7~0!Ane00grDKmY&$ diff --git a/files/poketool/trainer/trdata/narc_0368.bin b/files/poketool/trainer/trdata/narc_0368.bin deleted file mode 100644 index 84abdd3a9020d9aa5c1da52be1881bc2e268873d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZPwVqju`0!APW;s5{!TmV=A diff --git a/files/poketool/trainer/trdata/narc_0369.bin b/files/poketool/trainer/trdata/narc_0369.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0370.bin b/files/poketool/trainer/trdata/narc_0370.bin deleted file mode 100644 index a4bac0b272da95c69061fd464781619fb2296031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwVPIr{0vH1T25A6S diff --git a/files/poketool/trainer/trdata/narc_0371.bin b/files/poketool/trainer/trdata/narc_0371.bin deleted file mode 100644 index cffdde91c07f10a4b395a105be09587dfe7768f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZPwWnf}}0!Ane00xZ!SpWb4 diff --git a/files/poketool/trainer/trdata/narc_0372.bin b/files/poketool/trainer/trdata/narc_0372.bin deleted file mode 100644 index dd29802eb4f80cce7761ade63b248bdec591a78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJVqj!|0vH1T0P6q^ diff --git a/files/poketool/trainer/trdata/narc_0373.bin b/files/poketool/trainer/trdata/narc_0373.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0374.bin b/files/poketool/trainer/trdata/narc_0374.bin deleted file mode 100644 index f31f73f7350a9bddee785d20bef46c512972f72f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&U|?i`0vH1T0bKwS diff --git a/files/poketool/trainer/trdata/narc_0375.bin b/files/poketool/trainer/trdata/narc_0375.bin deleted file mode 100644 index 7ddeabc98a9f00656a67f2338c183eeb15b8f939..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&WME`~0vH1T0dN2m diff --git a/files/poketool/trainer/trdata/narc_0376.bin b/files/poketool/trainer/trdata/narc_0376.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0377.bin b/files/poketool/trainer/trdata/narc_0377.bin deleted file mode 100644 index 02a783151756e8444b434c87c82f6cc980b9b595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%VPIr{0vH1T0F3|$ diff --git a/files/poketool/trainer/trdata/narc_0378.bin b/files/poketool/trainer/trdata/narc_0378.bin deleted file mode 100644 index 5bec4752486c66ec89706c8e4d897d015a022ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%VPIl_0!Ane005o<2><{9 diff --git a/files/poketool/trainer/trdata/narc_0379.bin b/files/poketool/trainer/trdata/narc_0379.bin deleted file mode 100644 index 5bec4752486c66ec89706c8e4d897d015a022ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%VPIl_0!Ane005o<2><{9 diff --git a/files/poketool/trainer/trdata/narc_0380.bin b/files/poketool/trainer/trdata/narc_0380.bin deleted file mode 100644 index 5bec4752486c66ec89706c8e4d897d015a022ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%VPIl_0!Ane005o<2><{9 diff --git a/files/poketool/trainer/trdata/narc_0381.bin b/files/poketool/trainer/trdata/narc_0381.bin deleted file mode 100644 index 19a456425b3cf20dfb25cca3a8ffb84061a701ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjWngB20!Ane00RyHDgXcg diff --git a/files/poketool/trainer/trdata/narc_0382.bin b/files/poketool/trainer/trdata/narc_0382.bin deleted file mode 100644 index 19a456425b3cf20dfb25cca3a8ffb84061a701ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjWngB20!Ane00RyHDgXcg diff --git a/files/poketool/trainer/trdata/narc_0383.bin b/files/poketool/trainer/trdata/narc_0383.bin deleted file mode 100644 index 19a456425b3cf20dfb25cca3a8ffb84061a701ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjWngB20!Ane00RyHDgXcg diff --git a/files/poketool/trainer/trdata/narc_0384.bin b/files/poketool/trainer/trdata/narc_0384.bin deleted file mode 100644 index 0b892d1d9aaeab18df7b1df5282ec9ac4adb6420..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&VPIr{0vH1T0jU5N diff --git a/files/poketool/trainer/trdata/narc_0385.bin b/files/poketool/trainer/trdata/narc_0385.bin deleted file mode 100644 index 33bbf30700b2cfbb84694ecd8a00d2e0e70b87a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Wng500vH1T0lWYh diff --git a/files/poketool/trainer/trdata/narc_0386.bin b/files/poketool/trainer/trdata/narc_0386.bin deleted file mode 100644 index c9b2c5ba139237fce66a0c78d771a22093907248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWnf}}0!Ane00LzIApigX diff --git a/files/poketool/trainer/trdata/narc_0387.bin b/files/poketool/trainer/trdata/narc_0387.bin deleted file mode 100644 index b5fceed9c7539e3c971e0783bfa56453fc8dea50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROU|?i`0vH1T0rdbI diff --git a/files/poketool/trainer/trdata/narc_0388.bin b/files/poketool/trainer/trdata/narc_0388.bin deleted file mode 100644 index 150ff10efa5cb58cc3f04ed586c8cb17c37479ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?o|0!Ane00Juj9smFU diff --git a/files/poketool/trainer/trdata/narc_0389.bin b/files/poketool/trainer/trdata/narc_0389.bin deleted file mode 100644 index 150ff10efa5cb58cc3f04ed586c8cb17c37479ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?o|0!Ane00Juj9smFU diff --git a/files/poketool/trainer/trdata/narc_0390.bin b/files/poketool/trainer/trdata/narc_0390.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0391.bin b/files/poketool/trainer/trdata/narc_0391.bin deleted file mode 100644 index a7f8a89aaa4d8a4d27b9ba4724d1cbc565d9e85e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWME`~0vH1T0tf&c diff --git a/files/poketool/trainer/trdata/narc_0392.bin b/files/poketool/trainer/trdata/narc_0392.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0393.bin b/files/poketool/trainer/trdata/narc_0393.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0394.bin b/files/poketool/trainer/trdata/narc_0394.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0395.bin b/files/poketool/trainer/trdata/narc_0395.bin deleted file mode 100644 index 699541151f99625911fef4c976740c76e140310c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDWME`~0vH1T1JD38 diff --git a/files/poketool/trainer/trdata/narc_0396.bin b/files/poketool/trainer/trdata/narc_0396.bin deleted file mode 100644 index 699541151f99625911fef4c976740c76e140310c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDWME`~0vH1T1JD38 diff --git a/files/poketool/trainer/trdata/narc_0397.bin b/files/poketool/trainer/trdata/narc_0397.bin deleted file mode 100644 index 699541151f99625911fef4c976740c76e140310c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDWME`~0vH1T1JD38 diff --git a/files/poketool/trainer/trdata/narc_0398.bin b/files/poketool/trainer/trdata/narc_0398.bin deleted file mode 100644 index f239c87b656cb4a4cc7b732e7be1e8807628690e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQHVqj!|0vH1T1NQ(n diff --git a/files/poketool/trainer/trdata/narc_0399.bin b/files/poketool/trainer/trdata/narc_0399.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0400.bin b/files/poketool/trainer/trdata/narc_0400.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0401.bin b/files/poketool/trainer/trdata/narc_0401.bin deleted file mode 100644 index 5eb40ab086d057ffea0f0a19b773a37f5402d2e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSNW?*E10vH1T0TKWY diff --git a/files/poketool/trainer/trdata/narc_0402.bin b/files/poketool/trainer/trdata/narc_0402.bin deleted file mode 100644 index 65f46d42912f8538c1bfaee73b9a0fc899d2bfb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVqj!|0vH1T0>UH||9 diff --git a/files/poketool/trainer/trdata/narc_0407.bin b/files/poketool/trainer/trdata/narc_0407.bin deleted file mode 100644 index 8d6b8c0821476050c5d5e08ed7c24a065abcaac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP$XJBT40!Ane00#g7UjP6A diff --git a/files/poketool/trainer/trdata/narc_0408.bin b/files/poketool/trainer/trdata/narc_0408.bin deleted file mode 100644 index bdd1a4c85a9f76342c9f8038b85d573a3b19f9fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRMU|?o|0!Ane00$EQU;qFB diff --git a/files/poketool/trainer/trdata/narc_0409.bin b/files/poketool/trainer/trdata/narc_0409.bin deleted file mode 100644 index bdd1a4c85a9f76342c9f8038b85d573a3b19f9fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRMU|?o|0!Ane00$EQU;qFB diff --git a/files/poketool/trainer/trdata/narc_0410.bin b/files/poketool/trainer/trdata/narc_0410.bin deleted file mode 100644 index ba35ff8ce69d345fe2a48360637d9242de6b3c11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSdWME=|0!Ane00q4OP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0411.bin b/files/poketool/trainer/trdata/narc_0411.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0412.bin b/files/poketool/trainer/trdata/narc_0412.bin deleted file mode 100644 index ba35ff8ce69d345fe2a48360637d9242de6b3c11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSdWME=|0!Ane00q4OP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0413.bin b/files/poketool/trainer/trdata/narc_0413.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0414.bin b/files/poketool/trainer/trdata/narc_0414.bin deleted file mode 100644 index b5fae930869cf36c13eefeb304080f1d5db4516a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSdWME`~0vH1T1*`x~ diff --git a/files/poketool/trainer/trdata/narc_0415.bin b/files/poketool/trainer/trdata/narc_0415.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0416.bin b/files/poketool/trainer/trdata/narc_0416.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0417.bin b/files/poketool/trainer/trdata/narc_0417.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0418.bin b/files/poketool/trainer/trdata/narc_0418.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0419.bin b/files/poketool/trainer/trdata/narc_0419.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0420.bin b/files/poketool/trainer/trdata/narc_0420.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0421.bin b/files/poketool/trainer/trdata/narc_0421.bin deleted file mode 100644 index 7405177457c4b15a45cce0542aa80630af732bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWME=|0!Ane00!9rT>t<8 diff --git a/files/poketool/trainer/trdata/narc_0422.bin b/files/poketool/trainer/trdata/narc_0422.bin deleted file mode 100644 index 39b9f51169a9b2ee3aa3d3cb859ab99be5772d8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKWME`~0vH1T2HXH$ diff --git a/files/poketool/trainer/trdata/narc_0423.bin b/files/poketool/trainer/trdata/narc_0423.bin deleted file mode 100644 index 412c3d60e04d8f2f1b7f88554ca279924c800189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRKWMF210!Ane00#a5UjP6A diff --git a/files/poketool/trainer/trdata/narc_0424.bin b/files/poketool/trainer/trdata/narc_0424.bin deleted file mode 100644 index 6fd4e3c522033410fd202ab7135275688da51ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRGWME`~0vH1T2FL(h diff --git a/files/poketool/trainer/trdata/narc_0425.bin b/files/poketool/trainer/trdata/narc_0425.bin deleted file mode 100644 index 7405177457c4b15a45cce0542aa80630af732bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWME=|0!Ane00!9rT>t<8 diff --git a/files/poketool/trainer/trdata/narc_0426.bin b/files/poketool/trainer/trdata/narc_0426.bin deleted file mode 100644 index 412c3d60e04d8f2f1b7f88554ca279924c800189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRKWMF210!Ane00#a5UjP6A diff --git a/files/poketool/trainer/trdata/narc_0427.bin b/files/poketool/trainer/trdata/narc_0427.bin deleted file mode 100644 index 7405177457c4b15a45cce0542aa80630af732bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWME=|0!Ane00!9rT>t<8 diff --git a/files/poketool/trainer/trdata/narc_0428.bin b/files/poketool/trainer/trdata/narc_0428.bin deleted file mode 100644 index 6fd4e3c522033410fd202ab7135275688da51ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRGWME`~0vH1T2FL(h diff --git a/files/poketool/trainer/trdata/narc_0429.bin b/files/poketool/trainer/trdata/narc_0429.bin deleted file mode 100644 index 6fd4e3c522033410fd202ab7135275688da51ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRGWME`~0vH1T2FL(h diff --git a/files/poketool/trainer/trdata/narc_0430.bin b/files/poketool/trainer/trdata/narc_0430.bin deleted file mode 100644 index 7405177457c4b15a45cce0542aa80630af732bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWME=|0!Ane00!9rT>t<8 diff --git a/files/poketool/trainer/trdata/narc_0431.bin b/files/poketool/trainer/trdata/narc_0431.bin deleted file mode 100644 index 38ea0ddaf3c6711287fede96a16acef9b6fbf6e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVPIl_0!Ane00bHUH~;_u diff --git a/files/poketool/trainer/trdata/narc_0432.bin b/files/poketool/trainer/trdata/narc_0432.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0433.bin b/files/poketool/trainer/trdata/narc_0433.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0434.bin b/files/poketool/trainer/trdata/narc_0434.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0435.bin b/files/poketool/trainer/trdata/narc_0435.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0436.bin b/files/poketool/trainer/trdata/narc_0436.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0437.bin b/files/poketool/trainer/trdata/narc_0437.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0438.bin b/files/poketool/trainer/trdata/narc_0438.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0439.bin b/files/poketool/trainer/trdata/narc_0439.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0440.bin b/files/poketool/trainer/trdata/narc_0440.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0441.bin b/files/poketool/trainer/trdata/narc_0441.bin deleted file mode 100644 index 8694d8138086df427e09ca850926fef4aef94bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDU|?i`0vH1T1HAw< diff --git a/files/poketool/trainer/trdata/narc_0442.bin b/files/poketool/trainer/trdata/narc_0442.bin deleted file mode 100644 index 8694d8138086df427e09ca850926fef4aef94bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDU|?i`0vH1T1HAw< diff --git a/files/poketool/trainer/trdata/narc_0443.bin b/files/poketool/trainer/trdata/narc_0443.bin deleted file mode 100644 index de816f4632b27ee21b10012c36a1115a97d9525f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDU|?c^0!Ane00YhdGynhq diff --git a/files/poketool/trainer/trdata/narc_0444.bin b/files/poketool/trainer/trdata/narc_0444.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0445.bin b/files/poketool/trainer/trdata/narc_0445.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0446.bin b/files/poketool/trainer/trdata/narc_0446.bin deleted file mode 100644 index e6ddce277eb0753b698706710f1ca35c9ab2309f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;%{0!Ane00Bq<5&!@I diff --git a/files/poketool/trainer/trdata/narc_0447.bin b/files/poketool/trainer/trdata/narc_0447.bin deleted file mode 100644 index e6ddce277eb0753b698706710f1ca35c9ab2309f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;%{0!Ane00Bq<5&!@I diff --git a/files/poketool/trainer/trdata/narc_0448.bin b/files/poketool/trainer/trdata/narc_0448.bin deleted file mode 100644 index 26a335b77065a96e587a411dde13557c01e88238..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjW?*E10vH1T0>%I) diff --git a/files/poketool/trainer/trdata/narc_0449.bin b/files/poketool/trainer/trdata/narc_0449.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0450.bin b/files/poketool/trainer/trdata/narc_0450.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0451.bin b/files/poketool/trainer/trdata/narc_0451.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0452.bin b/files/poketool/trainer/trdata/narc_0452.bin deleted file mode 100644 index 6bbdce949719de84656e2e8d06d65d68872006aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWMF210!Ane008;`4gdfE diff --git a/files/poketool/trainer/trdata/narc_0453.bin b/files/poketool/trainer/trdata/narc_0453.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0454.bin b/files/poketool/trainer/trdata/narc_0454.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0455.bin b/files/poketool/trainer/trdata/narc_0455.bin deleted file mode 100644 index a26745d93bba2c12e7c84ae48859681a4a31e502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWME`~0vH1T0N4Nw diff --git a/files/poketool/trainer/trdata/narc_0456.bin b/files/poketool/trainer/trdata/narc_0456.bin deleted file mode 100644 index 63471c101f5d5a7f7fd5cdd10a4a836191a86d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Wng500vH1T0H6Q~ diff --git a/files/poketool/trainer/trdata/narc_0457.bin b/files/poketool/trainer/trdata/narc_0457.bin deleted file mode 100644 index 4766aa43cbed7e0059769e2cefefad87361b3e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Wnf}}0!Ane006N73IG5A diff --git a/files/poketool/trainer/trdata/narc_0458.bin b/files/poketool/trainer/trdata/narc_0458.bin deleted file mode 100644 index 4766aa43cbed7e0059769e2cefefad87361b3e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Wnf}}0!Ane006N73IG5A diff --git a/files/poketool/trainer/trdata/narc_0459.bin b/files/poketool/trainer/trdata/narc_0459.bin deleted file mode 100644 index 63471c101f5d5a7f7fd5cdd10a4a836191a86d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Wng500vH1T0H6Q~ diff --git a/files/poketool/trainer/trdata/narc_0460.bin b/files/poketool/trainer/trdata/narc_0460.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0461.bin b/files/poketool/trainer/trdata/narc_0461.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0462.bin b/files/poketool/trainer/trdata/narc_0462.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0463.bin b/files/poketool/trainer/trdata/narc_0463.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0464.bin b/files/poketool/trainer/trdata/narc_0464.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0465.bin b/files/poketool/trainer/trdata/narc_0465.bin deleted file mode 100644 index 8cdac29c00d2dc45133dad0087e1d2604e329c96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&V_;%{0!Ane00H0t8UO$Q diff --git a/files/poketool/trainer/trdata/narc_0466.bin b/files/poketool/trainer/trdata/narc_0466.bin deleted file mode 100644 index cc11cd420d1385f52c8ca6103b4b648fbd9ec022..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjV_;-}0vH1T0{;Lh diff --git a/files/poketool/trainer/trdata/narc_0467.bin b/files/poketool/trainer/trdata/narc_0467.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0468.bin b/files/poketool/trainer/trdata/narc_0468.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0469.bin b/files/poketool/trainer/trdata/narc_0469.bin deleted file mode 100644 index 493573f7d33711ca7951f897f5f3614211bc2646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjWME`~0vH1T0-yjS diff --git a/files/poketool/trainer/trdata/narc_0470.bin b/files/poketool/trainer/trdata/narc_0470.bin deleted file mode 100644 index 2a39ff7f689f4ac9dc8cec27efe1f1e5c7ab1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBD~0!Ane00kicMgRZ+ diff --git a/files/poketool/trainer/trdata/narc_0471.bin b/files/poketool/trainer/trdata/narc_0471.bin deleted file mode 100644 index 2a39ff7f689f4ac9dc8cec27efe1f1e5c7ab1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBD~0!Ane00kicMgRZ+ diff --git a/files/poketool/trainer/trdata/narc_0472.bin b/files/poketool/trainer/trdata/narc_0472.bin deleted file mode 100644 index 2a39ff7f689f4ac9dc8cec27efe1f1e5c7ab1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBD~0!Ane00kicMgRZ+ diff --git a/files/poketool/trainer/trdata/narc_0473.bin b/files/poketool/trainer/trdata/narc_0473.bin deleted file mode 100644 index 2a39ff7f689f4ac9dc8cec27efe1f1e5c7ab1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBD~0!Ane00kicMgRZ+ diff --git a/files/poketool/trainer/trdata/narc_0474.bin b/files/poketool/trainer/trdata/narc_0474.bin deleted file mode 100644 index 2a39ff7f689f4ac9dc8cec27efe1f1e5c7ab1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBD~0!Ane00kicMgRZ+ diff --git a/files/poketool/trainer/trdata/narc_0475.bin b/files/poketool/trainer/trdata/narc_0475.bin deleted file mode 100644 index 2a39ff7f689f4ac9dc8cec27efe1f1e5c7ab1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBD~0!Ane00kicMgRZ+ diff --git a/files/poketool/trainer/trdata/narc_0476.bin b/files/poketool/trainer/trdata/narc_0476.bin deleted file mode 100644 index bc46df5a315988fc8346e63b803f62a29b9b5caa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBQ30!Ane00lAtM*si- diff --git a/files/poketool/trainer/trdata/narc_0477.bin b/files/poketool/trainer/trdata/narc_0477.bin deleted file mode 100644 index bc46df5a315988fc8346e63b803f62a29b9b5caa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBQ30!Ane00lAtM*si- diff --git a/files/poketool/trainer/trdata/narc_0478.bin b/files/poketool/trainer/trdata/narc_0478.bin deleted file mode 100644 index bc46df5a315988fc8346e63b803f62a29b9b5caa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBQ30!Ane00lAtM*si- diff --git a/files/poketool/trainer/trdata/narc_0479.bin b/files/poketool/trainer/trdata/narc_0479.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0480.bin b/files/poketool/trainer/trdata/narc_0480.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0481.bin b/files/poketool/trainer/trdata/narc_0481.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0482.bin b/files/poketool/trainer/trdata/narc_0482.bin deleted file mode 100644 index 7e07d284dc9fe15121200e140910b58a0a17441c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3V_;^00!Ane00X%IGXMYp diff --git a/files/poketool/trainer/trdata/narc_0483.bin b/files/poketool/trainer/trdata/narc_0483.bin deleted file mode 100644 index 9d15a4ec492b5acda728b877faa0bd303adb603a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS7V_;^00!Ane00YecGynhq diff --git a/files/poketool/trainer/trdata/narc_0484.bin b/files/poketool/trainer/trdata/narc_0484.bin deleted file mode 100644 index 2338a967d296b8d3867ee52ff7c5c6b4191823c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVPIr{0vH1T1fc*w diff --git a/files/poketool/trainer/trdata/narc_0485.bin b/files/poketool/trainer/trdata/narc_0485.bin deleted file mode 100644 index be36e090d23aa5f97c2531bf8e337e7c2c06976d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuWng500vH1T1hfD^ diff --git a/files/poketool/trainer/trdata/narc_0486.bin b/files/poketool/trainer/trdata/narc_0486.bin deleted file mode 100644 index 20a9d31556558e22e4343bd951b23381391a2a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS7WME=|0!Ane00UhBE&u=k diff --git a/files/poketool/trainer/trdata/narc_0487.bin b/files/poketool/trainer/trdata/narc_0487.bin deleted file mode 100644 index 7b5ada8b9979cec9bff2bf0da9077f6d71505452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3WME`~0vH1T12_OI diff --git a/files/poketool/trainer/trdata/narc_0488.bin b/files/poketool/trainer/trdata/narc_0488.bin deleted file mode 100644 index d1ba9d5c852a727c4d1b9c1c8b067e5ea10a2c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIx}0!Ane00LtGApigX diff --git a/files/poketool/trainer/trdata/narc_0489.bin b/files/poketool/trainer/trdata/narc_0489.bin deleted file mode 100644 index 730e212921c7fd71e86244ebf3326399638a2d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIl_0!Ane00L3~AOHXW diff --git a/files/poketool/trainer/trdata/narc_0490.bin b/files/poketool/trainer/trdata/narc_0490.bin deleted file mode 100644 index ea80f17206713fa8ba193bd4ae8f6a93f4bd97e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROVPIr{0vH1T0zm*D diff --git a/files/poketool/trainer/trdata/narc_0491.bin b/files/poketool/trainer/trdata/narc_0491.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0492.bin b/files/poketool/trainer/trdata/narc_0492.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0493.bin b/files/poketool/trainer/trdata/narc_0493.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0494.bin b/files/poketool/trainer/trdata/narc_0494.bin deleted file mode 100644 index 172b4b818356a0cf2bebf0c6e93f4e88638a8b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3W?*E10vH1T16}|w diff --git a/files/poketool/trainer/trdata/narc_0495.bin b/files/poketool/trainer/trdata/narc_0495.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0496.bin b/files/poketool/trainer/trdata/narc_0496.bin deleted file mode 100644 index 6fe8c60d419d0a3303c42ff2ce05d54be08587af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqj)~0!Ane004CW2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0497.bin b/files/poketool/trainer/trdata/narc_0497.bin deleted file mode 100644 index 885c301856e8ac21f116f560597c145cfdd8aa25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS7VPIr{0vH1T1BC!E diff --git a/files/poketool/trainer/trdata/narc_0498.bin b/files/poketool/trainer/trdata/narc_0498.bin deleted file mode 100644 index c9ef989b0d5a33403306a66ed94fa1018c8dc69f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS7Wnf}}0!Ane00XH2G5`Po diff --git a/files/poketool/trainer/trdata/narc_0499.bin b/files/poketool/trainer/trdata/narc_0499.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0500.bin b/files/poketool/trainer/trdata/narc_0500.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0501.bin b/files/poketool/trainer/trdata/narc_0501.bin deleted file mode 100644 index 0ac27debec7c53607030bdc6d48501931846adca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWME`~0vH1T1~33r diff --git a/files/poketool/trainer/trdata/narc_0502.bin b/files/poketool/trainer/trdata/narc_0502.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0503.bin b/files/poketool/trainer/trdata/narc_0503.bin deleted file mode 100644 index 5354608b2db1bac9b43c1704a36e9dfdb66507ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRuW?*7~0!Ane00f@^KL7v# diff --git a/files/poketool/trainer/trdata/narc_0504.bin b/files/poketool/trainer/trdata/narc_0504.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0505.bin b/files/poketool/trainer/trdata/narc_0505.bin deleted file mode 100644 index 5354608b2db1bac9b43c1704a36e9dfdb66507ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRuW?*7~0!Ane00f@^KL7v# diff --git a/files/poketool/trainer/trdata/narc_0506.bin b/files/poketool/trainer/trdata/narc_0506.bin deleted file mode 100644 index 8c82c171499d1aa667ad15ec9310bf4c0ca6b39d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRuW?*K30!Ane00giAKmY&$ diff --git a/files/poketool/trainer/trdata/narc_0507.bin b/files/poketool/trainer/trdata/narc_0507.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0508.bin b/files/poketool/trainer/trdata/narc_0508.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0509.bin b/files/poketool/trainer/trdata/narc_0509.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0510.bin b/files/poketool/trainer/trdata/narc_0510.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0511.bin b/files/poketool/trainer/trdata/narc_0511.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0512.bin b/files/poketool/trainer/trdata/narc_0512.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0513.bin b/files/poketool/trainer/trdata/narc_0513.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0514.bin b/files/poketool/trainer/trdata/narc_0514.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0515.bin b/files/poketool/trainer/trdata/narc_0515.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0516.bin b/files/poketool/trainer/trdata/narc_0516.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0517.bin b/files/poketool/trainer/trdata/narc_0517.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0518.bin b/files/poketool/trainer/trdata/narc_0518.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0519.bin b/files/poketool/trainer/trdata/narc_0519.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0520.bin b/files/poketool/trainer/trdata/narc_0520.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0521.bin b/files/poketool/trainer/trdata/narc_0521.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0522.bin b/files/poketool/trainer/trdata/narc_0522.bin deleted file mode 100644 index 6554b623c891407382767781bcec9992bfec0889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWMF210!Ane00!y+UH||9 diff --git a/files/poketool/trainer/trdata/narc_0523.bin b/files/poketool/trainer/trdata/narc_0523.bin deleted file mode 100644 index 6fd4e3c522033410fd202ab7135275688da51ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRGWME`~0vH1T2FL(h diff --git a/files/poketool/trainer/trdata/narc_0524.bin b/files/poketool/trainer/trdata/narc_0524.bin deleted file mode 100644 index 6554b623c891407382767781bcec9992bfec0889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWMF210!Ane00!y+UH||9 diff --git a/files/poketool/trainer/trdata/narc_0525.bin b/files/poketool/trainer/trdata/narc_0525.bin deleted file mode 100644 index 7405177457c4b15a45cce0542aa80630af732bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWME=|0!Ane00!9rT>t<8 diff --git a/files/poketool/trainer/trdata/narc_0526.bin b/files/poketool/trainer/trdata/narc_0526.bin deleted file mode 100644 index 6554b623c891407382767781bcec9992bfec0889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWMF210!Ane00!y+UH||9 diff --git a/files/poketool/trainer/trdata/narc_0527.bin b/files/poketool/trainer/trdata/narc_0527.bin deleted file mode 100644 index 7405177457c4b15a45cce0542aa80630af732bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRGWME=|0!Ane00!9rT>t<8 diff --git a/files/poketool/trainer/trdata/narc_0528.bin b/files/poketool/trainer/trdata/narc_0528.bin deleted file mode 100644 index 52d1e27f596a39aa889918481da9b883c300a8f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSfU|?o|0!Ane00rX!Pyhe` diff --git a/files/poketool/trainer/trdata/narc_0529.bin b/files/poketool/trainer/trdata/narc_0529.bin deleted file mode 100644 index cde7cb767e776a2685edeecf46362d58a1a2404b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuWME`~0vH1T1ZV&} diff --git a/files/poketool/trainer/trdata/narc_0530.bin b/files/poketool/trainer/trdata/narc_0530.bin deleted file mode 100644 index 4a163b764c3415f75aea026ac7fc726cd0a759b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&VPIx}0!Ane00GMY82|tP diff --git a/files/poketool/trainer/trdata/narc_0531.bin b/files/poketool/trainer/trdata/narc_0531.bin deleted file mode 100644 index 33bbf30700b2cfbb84694ecd8a00d2e0e70b87a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Wng500vH1T0lWYh diff --git a/files/poketool/trainer/trdata/narc_0532.bin b/files/poketool/trainer/trdata/narc_0532.bin deleted file mode 100644 index 6fe8c60d419d0a3303c42ff2ce05d54be08587af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqj)~0!Ane004CW2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0533.bin b/files/poketool/trainer/trdata/narc_0533.bin deleted file mode 100644 index 141f67b9a9f3b576ec15640175dce1a4426a36f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZQ@V_;%{0!APW;s5{zcmPZQ diff --git a/files/poketool/trainer/trdata/narc_0534.bin b/files/poketool/trainer/trdata/narc_0534.bin deleted file mode 100644 index 5f50e7c6ef80d0958088592104398cfe7ff5f7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZP&XJBH00!APW;s5{v`v4sP diff --git a/files/poketool/trainer/trdata/narc_0535.bin b/files/poketool/trainer/trdata/narc_0535.bin deleted file mode 100644 index 41f66e477e1adf09c17ba335579e7a105019b597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzXJBN20vH1T0I~oI diff --git a/files/poketool/trainer/trdata/narc_0536.bin b/files/poketool/trainer/trdata/narc_0536.bin deleted file mode 100644 index 2822319dbca9ea2fb98c471feea08c9069960eec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJXJBN20vH1T0ZIT8 diff --git a/files/poketool/trainer/trdata/narc_0537.bin b/files/poketool/trainer/trdata/narc_0537.bin deleted file mode 100644 index 03f3ea6d99e4287f8e2221c893d102b0f32d2b13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&WME=|0!Ane00Dsj6#xJL diff --git a/files/poketool/trainer/trdata/narc_0538.bin b/files/poketool/trainer/trdata/narc_0538.bin deleted file mode 100644 index c5ec893670e23a64f77072f2822dd429db3bc580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZPwW?*7~0!Ane00w6OR{#J2 diff --git a/files/poketool/trainer/trdata/narc_0539.bin b/files/poketool/trainer/trdata/narc_0539.bin deleted file mode 100644 index 19a456425b3cf20dfb25cca3a8ffb84061a701ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjWngB20!Ane00RyHDgXcg diff --git a/files/poketool/trainer/trdata/narc_0540.bin b/files/poketool/trainer/trdata/narc_0540.bin deleted file mode 100644 index 4b4e675fdb0d85bd663154a1c3562ae1241f2d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&Wnf}}0!Ane00GSa82|tP diff --git a/files/poketool/trainer/trdata/narc_0541.bin b/files/poketool/trainer/trdata/narc_0541.bin deleted file mode 100644 index c105598a2fe80ec13e092e6950d5af3a43d68056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHW?*7~0!Ane00bKVH~;_u diff --git a/files/poketool/trainer/trdata/narc_0542.bin b/files/poketool/trainer/trdata/narc_0542.bin deleted file mode 100644 index 6c34694a0631477e390d61afac9802e72e708047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjVqju`0!Ane00P7SCIA2c diff --git a/files/poketool/trainer/trdata/narc_0543.bin b/files/poketool/trainer/trdata/narc_0543.bin deleted file mode 100644 index 2adcf1cf682517d3736b69a20fd6199d6d464f8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjW?&L$fB;4)4FCj306qW! diff --git a/files/poketool/trainer/trdata/narc_0544.bin b/files/poketool/trainer/trdata/narc_0544.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0545.bin b/files/poketool/trainer/trdata/narc_0545.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0546.bin b/files/poketool/trainer/trdata/narc_0546.bin deleted file mode 100644 index 493791420f320a9fe8c7cee4986fc242e1f6c84a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjWME=|0!Ane00OZ9B>(^b diff --git a/files/poketool/trainer/trdata/narc_0547.bin b/files/poketool/trainer/trdata/narc_0547.bin deleted file mode 100644 index a4bac0b272da95c69061fd464781619fb2296031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwVPIr{0vH1T25A6S diff --git a/files/poketool/trainer/trdata/narc_0548.bin b/files/poketool/trainer/trdata/narc_0548.bin deleted file mode 100644 index 34773a14c94624fe0f6858726d7fd7d0deb3a4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRyVPIr{0vH1T1hoJ_ diff --git a/files/poketool/trainer/trdata/narc_0549.bin b/files/poketool/trainer/trdata/narc_0549.bin deleted file mode 100644 index 7b5ada8b9979cec9bff2bf0da9077f6d71505452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3WME`~0vH1T12_OI diff --git a/files/poketool/trainer/trdata/narc_0550.bin b/files/poketool/trainer/trdata/narc_0550.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0551.bin b/files/poketool/trainer/trdata/narc_0551.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0552.bin b/files/poketool/trainer/trdata/narc_0552.bin deleted file mode 100644 index fd1f828cbe27af395c46c8ce25626e651e50ca18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*7~0!Ane00L70AOHXW diff --git a/files/poketool/trainer/trdata/narc_0553.bin b/files/poketool/trainer/trdata/narc_0553.bin deleted file mode 100644 index 9c98c21e76732f46bd0fda489a3b9770a5a22fff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDU|?o|0!Ane00Z9uH2?qr diff --git a/files/poketool/trainer/trdata/narc_0554.bin b/files/poketool/trainer/trdata/narc_0554.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0555.bin b/files/poketool/trainer/trdata/narc_0555.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0556.bin b/files/poketool/trainer/trdata/narc_0556.bin deleted file mode 100644 index 0075dde00f5b9b9c6a145ba07cd7eb1ed51c52e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;^00!Ane00M~sBLDyZ diff --git a/files/poketool/trainer/trdata/narc_0557.bin b/files/poketool/trainer/trdata/narc_0557.bin deleted file mode 100644 index c9b2c5ba139237fce66a0c78d771a22093907248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWnf}}0!Ane00LzIApigX diff --git a/files/poketool/trainer/trdata/narc_0558.bin b/files/poketool/trainer/trdata/narc_0558.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0559.bin b/files/poketool/trainer/trdata/narc_0559.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0560.bin b/files/poketool/trainer/trdata/narc_0560.bin deleted file mode 100644 index c9b2c5ba139237fce66a0c78d771a22093907248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWnf}}0!Ane00LzIApigX diff --git a/files/poketool/trainer/trdata/narc_0561.bin b/files/poketool/trainer/trdata/narc_0561.bin deleted file mode 100644 index fab42c3c5f52298c1337c0e00c5f3c7577d038b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWngB20!Ane00MRZA^-pY diff --git a/files/poketool/trainer/trdata/narc_0562.bin b/files/poketool/trainer/trdata/narc_0562.bin deleted file mode 100644 index c9b2c5ba139237fce66a0c78d771a22093907248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWnf}}0!Ane00LzIApigX diff --git a/files/poketool/trainer/trdata/narc_0563.bin b/files/poketool/trainer/trdata/narc_0563.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0564.bin b/files/poketool/trainer/trdata/narc_0564.bin deleted file mode 100644 index e5a38ad2b5d19ba764f18fbcc546439630d6edd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSU|?i`0vH1T0to;d diff --git a/files/poketool/trainer/trdata/narc_0565.bin b/files/poketool/trainer/trdata/narc_0565.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0566.bin b/files/poketool/trainer/trdata/narc_0566.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0567.bin b/files/poketool/trainer/trdata/narc_0567.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0568.bin b/files/poketool/trainer/trdata/narc_0568.bin deleted file mode 100644 index e5a38ad2b5d19ba764f18fbcc546439630d6edd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSU|?i`0vH1T0to;d diff --git a/files/poketool/trainer/trdata/narc_0569.bin b/files/poketool/trainer/trdata/narc_0569.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0570.bin b/files/poketool/trainer/trdata/narc_0570.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0571.bin b/files/poketool/trainer/trdata/narc_0571.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0572.bin b/files/poketool/trainer/trdata/narc_0572.bin deleted file mode 100644 index e5a38ad2b5d19ba764f18fbcc546439630d6edd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSU|?i`0vH1T0to;d diff --git a/files/poketool/trainer/trdata/narc_0573.bin b/files/poketool/trainer/trdata/narc_0573.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0574.bin b/files/poketool/trainer/trdata/narc_0574.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0575.bin b/files/poketool/trainer/trdata/narc_0575.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0576.bin b/files/poketool/trainer/trdata/narc_0576.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0577.bin b/files/poketool/trainer/trdata/narc_0577.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0578.bin b/files/poketool/trainer/trdata/narc_0578.bin deleted file mode 100644 index c1b6611375df3b39fb23b1a79d684e5b3e722629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSWME`~0vH1T0vrGx diff --git a/files/poketool/trainer/trdata/narc_0579.bin b/files/poketool/trainer/trdata/narc_0579.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0580.bin b/files/poketool/trainer/trdata/narc_0580.bin deleted file mode 100644 index c1b6611375df3b39fb23b1a79d684e5b3e722629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSWME`~0vH1T0vrGx diff --git a/files/poketool/trainer/trdata/narc_0581.bin b/files/poketool/trainer/trdata/narc_0581.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0582.bin b/files/poketool/trainer/trdata/narc_0582.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0583.bin b/files/poketool/trainer/trdata/narc_0583.bin deleted file mode 100644 index 5ce2c67c479d74025a5c5f8d7d4cbb5b6b2ff18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWME=|0!Ane00ZFwH2?qr diff --git a/files/poketool/trainer/trdata/narc_0584.bin b/files/poketool/trainer/trdata/narc_0584.bin deleted file mode 100644 index 5ce2c67c479d74025a5c5f8d7d4cbb5b6b2ff18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWME=|0!Ane00ZFwH2?qr diff --git a/files/poketool/trainer/trdata/narc_0585.bin b/files/poketool/trainer/trdata/narc_0585.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0586.bin b/files/poketool/trainer/trdata/narc_0586.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0587.bin b/files/poketool/trainer/trdata/narc_0587.bin deleted file mode 100644 index 67ddc3a29cd533081b26ce889aa41f8ddf5dcad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;^00!Ane00CJ56951J diff --git a/files/poketool/trainer/trdata/narc_0588.bin b/files/poketool/trainer/trdata/narc_0588.bin deleted file mode 100644 index e6ddce277eb0753b698706710f1ca35c9ab2309f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;%{0!Ane00Bq<5&!@I diff --git a/files/poketool/trainer/trdata/narc_0589.bin b/files/poketool/trainer/trdata/narc_0589.bin deleted file mode 100644 index 67ddc3a29cd533081b26ce889aa41f8ddf5dcad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;^00!Ane00CJ56951J diff --git a/files/poketool/trainer/trdata/narc_0590.bin b/files/poketool/trainer/trdata/narc_0590.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0591.bin b/files/poketool/trainer/trdata/narc_0591.bin deleted file mode 100644 index b8562b2535cbcd9e6bd7277153584b720f4f8e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjXJBH00!Ane00SccD*ylh diff --git a/files/poketool/trainer/trdata/narc_0592.bin b/files/poketool/trainer/trdata/narc_0592.bin deleted file mode 100644 index b8562b2535cbcd9e6bd7277153584b720f4f8e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjXJBH00!Ane00SccD*ylh diff --git a/files/poketool/trainer/trdata/narc_0593.bin b/files/poketool/trainer/trdata/narc_0593.bin deleted file mode 100644 index 5e6ea68fd9f2731e0b261bb1729319f487e43037..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjXJBN20vH1T0}=o# diff --git a/files/poketool/trainer/trdata/narc_0594.bin b/files/poketool/trainer/trdata/narc_0594.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0595.bin b/files/poketool/trainer/trdata/narc_0595.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0596.bin b/files/poketool/trainer/trdata/narc_0596.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0597.bin b/files/poketool/trainer/trdata/narc_0597.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0598.bin b/files/poketool/trainer/trdata/narc_0598.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0599.bin b/files/poketool/trainer/trdata/narc_0599.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0600.bin b/files/poketool/trainer/trdata/narc_0600.bin deleted file mode 100644 index fc4849c1397146e88c81f92d147653b70d9626e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqj)~0!Ane00V6RF8}}l diff --git a/files/poketool/trainer/trdata/narc_0601.bin b/files/poketool/trainer/trdata/narc_0601.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0602.bin b/files/poketool/trainer/trdata/narc_0602.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0603.bin b/files/poketool/trainer/trdata/narc_0603.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0604.bin b/files/poketool/trainer/trdata/narc_0604.bin deleted file mode 100644 index 4da77e805243aeea3ac191ef92cb6200deb937bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*K30!Ane00V#kFaQ7m diff --git a/files/poketool/trainer/trdata/narc_0605.bin b/files/poketool/trainer/trdata/narc_0605.bin deleted file mode 100644 index 007cd3fac7ab35644ad3a2697c0aee029b2d40ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROW?*E10vH1T0xkd^ diff --git a/files/poketool/trainer/trdata/narc_0606.bin b/files/poketool/trainer/trdata/narc_0606.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0607.bin b/files/poketool/trainer/trdata/narc_0607.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0608.bin b/files/poketool/trainer/trdata/narc_0608.bin deleted file mode 100644 index 25f196240937f7e19061b2d04312eac5804aa6a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKVqj!|0vH1T2JZk~ diff --git a/files/poketool/trainer/trdata/narc_0609.bin b/files/poketool/trainer/trdata/narc_0609.bin deleted file mode 100644 index 4058d3e12f2173b55d24598de7fa52b8aa1cb706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKW?*E10vH1T2Lb?J diff --git a/files/poketool/trainer/trdata/narc_0610.bin b/files/poketool/trainer/trdata/narc_0610.bin deleted file mode 100644 index 51055bc817ca4df77bb84b2055245c1c40346bf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKVPIr{0vH1T2NeKd diff --git a/files/poketool/trainer/trdata/narc_0611.bin b/files/poketool/trainer/trdata/narc_0611.bin deleted file mode 100644 index a588f52b6750a08e860a07aa1f54c900bfdff2f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKWng500vH1T2Pgnx diff --git a/files/poketool/trainer/trdata/narc_0612.bin b/files/poketool/trainer/trdata/narc_0612.bin deleted file mode 100644 index c38d2bb77ee1fa38538ab7029af300d3818155aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKV_;-}0vH1T2Ri^_ diff --git a/files/poketool/trainer/trdata/narc_0613.bin b/files/poketool/trainer/trdata/narc_0613.bin deleted file mode 100644 index adb6759786783c807a0d0d977157c87c4cbdcc9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKXJBN20vH1T2TlNE diff --git a/files/poketool/trainer/trdata/narc_0614.bin b/files/poketool/trainer/trdata/narc_0614.bin deleted file mode 100644 index adb6759786783c807a0d0d977157c87c4cbdcc9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKXJBN20vH1T2TlNE diff --git a/files/poketool/trainer/trdata/narc_0615.bin b/files/poketool/trainer/trdata/narc_0615.bin deleted file mode 100644 index adb6759786783c807a0d0d977157c87c4cbdcc9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRKXJBN20vH1T2TlNE diff --git a/files/poketool/trainer/trdata/narc_0616.bin b/files/poketool/trainer/trdata/narc_0616.bin deleted file mode 100644 index 3329300ddcd89d954a40a394192dc92fbb1ee809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQfU|?i`0vH1T2VnqY diff --git a/files/poketool/trainer/trdata/narc_0617.bin b/files/poketool/trainer/trdata/narc_0617.bin deleted file mode 100644 index 3329300ddcd89d954a40a394192dc92fbb1ee809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQfU|?i`0vH1T2VnqY diff --git a/files/poketool/trainer/trdata/narc_0618.bin b/files/poketool/trainer/trdata/narc_0618.bin deleted file mode 100644 index 3329300ddcd89d954a40a394192dc92fbb1ee809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQfU|?i`0vH1T2VnqY diff --git a/files/poketool/trainer/trdata/narc_0619.bin b/files/poketool/trainer/trdata/narc_0619.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0620.bin b/files/poketool/trainer/trdata/narc_0620.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0621.bin b/files/poketool/trainer/trdata/narc_0621.bin deleted file mode 100644 index 8f1f80f01f6b0d587bd9eb368934d8bce5271304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRKXJBT40!Ane00(dYWdHyG diff --git a/files/poketool/trainer/trdata/narc_0622.bin b/files/poketool/trainer/trdata/narc_0622.bin deleted file mode 100644 index 8f1f80f01f6b0d587bd9eb368934d8bce5271304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRKXJBT40!Ane00(dYWdHyG diff --git a/files/poketool/trainer/trdata/narc_0623.bin b/files/poketool/trainer/trdata/narc_0623.bin deleted file mode 100644 index 8f1f80f01f6b0d587bd9eb368934d8bce5271304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRKXJBT40!Ane00(dYWdHyG diff --git a/files/poketool/trainer/trdata/narc_0624.bin b/files/poketool/trainer/trdata/narc_0624.bin deleted file mode 100644 index ae755ee0ad0233537831319fb5deef3d4fca61fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQfU|?o|0!Ane00)BrW&i*H diff --git a/files/poketool/trainer/trdata/narc_0625.bin b/files/poketool/trainer/trdata/narc_0625.bin deleted file mode 100644 index ae755ee0ad0233537831319fb5deef3d4fca61fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQfU|?o|0!Ane00)BrW&i*H diff --git a/files/poketool/trainer/trdata/narc_0626.bin b/files/poketool/trainer/trdata/narc_0626.bin deleted file mode 100644 index ae755ee0ad0233537831319fb5deef3d4fca61fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQfU|?o|0!Ane00)BrW&i*H diff --git a/files/poketool/trainer/trdata/narc_0627.bin b/files/poketool/trainer/trdata/narc_0627.bin deleted file mode 100644 index 41f66e477e1adf09c17ba335579e7a105019b597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzXJBN20vH1T0I~oI diff --git a/files/poketool/trainer/trdata/narc_0628.bin b/files/poketool/trainer/trdata/narc_0628.bin deleted file mode 100644 index 41f66e477e1adf09c17ba335579e7a105019b597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzXJBN20vH1T0I~oI diff --git a/files/poketool/trainer/trdata/narc_0629.bin b/files/poketool/trainer/trdata/narc_0629.bin deleted file mode 100644 index 41f66e477e1adf09c17ba335579e7a105019b597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzXJBN20vH1T0I~oI diff --git a/files/poketool/trainer/trdata/narc_0630.bin b/files/poketool/trainer/trdata/narc_0630.bin deleted file mode 100644 index 93c51bf7a0bbec6106a8e96df06b4af91b3279ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJXJBH00!Ane00CP76951J diff --git a/files/poketool/trainer/trdata/narc_0631.bin b/files/poketool/trainer/trdata/narc_0631.bin deleted file mode 100644 index 93c51bf7a0bbec6106a8e96df06b4af91b3279ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJXJBH00!Ane00CP76951J diff --git a/files/poketool/trainer/trdata/narc_0632.bin b/files/poketool/trainer/trdata/narc_0632.bin deleted file mode 100644 index 93c51bf7a0bbec6106a8e96df06b4af91b3279ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJXJBH00!Ane00CP76951J diff --git a/files/poketool/trainer/trdata/narc_0633.bin b/files/poketool/trainer/trdata/narc_0633.bin deleted file mode 100644 index 3bdfd7159455c5830c5e6f936a76520403e309ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVqju`0!Ane008^|4gdfE diff --git a/files/poketool/trainer/trdata/narc_0634.bin b/files/poketool/trainer/trdata/narc_0634.bin deleted file mode 100644 index 3bdfd7159455c5830c5e6f936a76520403e309ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVqju`0!Ane008^|4gdfE diff --git a/files/poketool/trainer/trdata/narc_0635.bin b/files/poketool/trainer/trdata/narc_0635.bin deleted file mode 100644 index 3bdfd7159455c5830c5e6f936a76520403e309ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVqju`0!Ane008^|4gdfE diff --git a/files/poketool/trainer/trdata/narc_0636.bin b/files/poketool/trainer/trdata/narc_0636.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0637.bin b/files/poketool/trainer/trdata/narc_0637.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0638.bin b/files/poketool/trainer/trdata/narc_0638.bin deleted file mode 100644 index b954069c24ed7be8a6b1cdeed1a55c75a8f1c602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROV_;%{0!Ane00MXbA^-pY diff --git a/files/poketool/trainer/trdata/narc_0639.bin b/files/poketool/trainer/trdata/narc_0639.bin deleted file mode 100644 index ee98e55181e2d7f941a26757ddd06356c466083c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&U|?o|0!Ane00Dmh6#xJL diff --git a/files/poketool/trainer/trdata/narc_0640.bin b/files/poketool/trainer/trdata/narc_0640.bin deleted file mode 100644 index ee98e55181e2d7f941a26757ddd06356c466083c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&U|?o|0!Ane00Dmh6#xJL diff --git a/files/poketool/trainer/trdata/narc_0641.bin b/files/poketool/trainer/trdata/narc_0641.bin deleted file mode 100644 index ee98e55181e2d7f941a26757ddd06356c466083c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&U|?o|0!Ane00Dmh6#xJL diff --git a/files/poketool/trainer/trdata/narc_0642.bin b/files/poketool/trainer/trdata/narc_0642.bin deleted file mode 100644 index 14e818dff42bf9ecf948fd7c76aa4a961179f968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&WMF210!Ane00EK!761SM diff --git a/files/poketool/trainer/trdata/narc_0643.bin b/files/poketool/trainer/trdata/narc_0643.bin deleted file mode 100644 index 14e818dff42bf9ecf948fd7c76aa4a961179f968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&WMF210!Ane00EK!761SM diff --git a/files/poketool/trainer/trdata/narc_0644.bin b/files/poketool/trainer/trdata/narc_0644.bin deleted file mode 100644 index 14e818dff42bf9ecf948fd7c76aa4a961179f968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&WMF210!Ane00EK!761SM diff --git a/files/poketool/trainer/trdata/narc_0645.bin b/files/poketool/trainer/trdata/narc_0645.bin deleted file mode 100644 index 02a783151756e8444b434c87c82f6cc980b9b595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%VPIr{0vH1T0F3|$ diff --git a/files/poketool/trainer/trdata/narc_0646.bin b/files/poketool/trainer/trdata/narc_0646.bin deleted file mode 100644 index 02a783151756e8444b434c87c82f6cc980b9b595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%VPIr{0vH1T0F3|$ diff --git a/files/poketool/trainer/trdata/narc_0647.bin b/files/poketool/trainer/trdata/narc_0647.bin deleted file mode 100644 index 02a783151756e8444b434c87c82f6cc980b9b595..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%VPIr{0vH1T0F3|$ diff --git a/files/poketool/trainer/trdata/narc_0648.bin b/files/poketool/trainer/trdata/narc_0648.bin deleted file mode 100644 index 942f437330ad27c821f580cc5afb018fafaa07b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHWngB20!Ane00dG1I{*Lx diff --git a/files/poketool/trainer/trdata/narc_0649.bin b/files/poketool/trainer/trdata/narc_0649.bin deleted file mode 100644 index 0eb6d26371148d4e8fc7c680efd9df1758887a4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHV_;%{0!Ane00dM3I{*Lx diff --git a/files/poketool/trainer/trdata/narc_0650.bin b/files/poketool/trainer/trdata/narc_0650.bin deleted file mode 100644 index 19a456425b3cf20dfb25cca3a8ffb84061a701ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjWngB20!Ane00RyHDgXcg diff --git a/files/poketool/trainer/trdata/narc_0651.bin b/files/poketool/trainer/trdata/narc_0651.bin deleted file mode 100644 index dc86effa74e04fb76493a9a232504a9718cc706b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Vqj!|0vH1T0fPV) diff --git a/files/poketool/trainer/trdata/narc_0652.bin b/files/poketool/trainer/trdata/narc_0652.bin deleted file mode 100644 index dc86effa74e04fb76493a9a232504a9718cc706b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&Vqj!|0vH1T0fPV) diff --git a/files/poketool/trainer/trdata/narc_0653.bin b/files/poketool/trainer/trdata/narc_0653.bin deleted file mode 100644 index ef7cb2c89da075fcc581bf989f11f3b8acf3df6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVPIl_0!Ane00ANZ5C8xG diff --git a/files/poketool/trainer/trdata/narc_0654.bin b/files/poketool/trainer/trdata/narc_0654.bin deleted file mode 100644 index ef7cb2c89da075fcc581bf989f11f3b8acf3df6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVPIl_0!Ane00ANZ5C8xG diff --git a/files/poketool/trainer/trdata/narc_0655.bin b/files/poketool/trainer/trdata/narc_0655.bin deleted file mode 100644 index ef7cb2c89da075fcc581bf989f11f3b8acf3df6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJVPIl_0!Ane00ANZ5C8xG diff --git a/files/poketool/trainer/trdata/narc_0656.bin b/files/poketool/trainer/trdata/narc_0656.bin deleted file mode 100644 index b3f17d3d8e32d9c9319398a44c7bcfab7e0f00fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWng500vH1T0VDtr diff --git a/files/poketool/trainer/trdata/narc_0657.bin b/files/poketool/trainer/trdata/narc_0657.bin deleted file mode 100644 index b3f17d3d8e32d9c9319398a44c7bcfab7e0f00fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWng500vH1T0VDtr diff --git a/files/poketool/trainer/trdata/narc_0658.bin b/files/poketool/trainer/trdata/narc_0658.bin deleted file mode 100644 index b3f17d3d8e32d9c9319398a44c7bcfab7e0f00fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJWng500vH1T0VDtr diff --git a/files/poketool/trainer/trdata/narc_0659.bin b/files/poketool/trainer/trdata/narc_0659.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0660.bin b/files/poketool/trainer/trdata/narc_0660.bin deleted file mode 100644 index b245c3b110ee0d32f7a13c95176e14ee1f881500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROWng500vH1T0#pDX diff --git a/files/poketool/trainer/trdata/narc_0661.bin b/files/poketool/trainer/trdata/narc_0661.bin deleted file mode 100644 index c9b2c5ba139237fce66a0c78d771a22093907248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWnf}}0!Ane00LzIApigX diff --git a/files/poketool/trainer/trdata/narc_0662.bin b/files/poketool/trainer/trdata/narc_0662.bin deleted file mode 100644 index c9b2c5ba139237fce66a0c78d771a22093907248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROWnf}}0!Ane00LzIApigX diff --git a/files/poketool/trainer/trdata/narc_0663.bin b/files/poketool/trainer/trdata/narc_0663.bin deleted file mode 100644 index 5dddc4c64f69ed40c9d2515d64267b495ab0f279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 NcmZRSU|?cE0{{XN02}}S diff --git a/files/poketool/trainer/trdata/narc_0664.bin b/files/poketool/trainer/trdata/narc_0664.bin deleted file mode 100644 index 150ff10efa5cb58cc3f04ed586c8cb17c37479ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?o|0!Ane00Juj9smFU diff --git a/files/poketool/trainer/trdata/narc_0665.bin b/files/poketool/trainer/trdata/narc_0665.bin deleted file mode 100644 index 150ff10efa5cb58cc3f04ed586c8cb17c37479ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?o|0!Ane00Juj9smFU diff --git a/files/poketool/trainer/trdata/narc_0666.bin b/files/poketool/trainer/trdata/narc_0666.bin deleted file mode 100644 index 1a48a8ce398a59eb4b978a44a6ac3d8977eb5e4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSU|?c^0!Ane00J5S9RL6T diff --git a/files/poketool/trainer/trdata/narc_0667.bin b/files/poketool/trainer/trdata/narc_0667.bin deleted file mode 100644 index e5a38ad2b5d19ba764f18fbcc546439630d6edd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRSU|?i`0vH1T0to;d diff --git a/files/poketool/trainer/trdata/narc_0668.bin b/files/poketool/trainer/trdata/narc_0668.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0669.bin b/files/poketool/trainer/trdata/narc_0669.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0670.bin b/files/poketool/trainer/trdata/narc_0670.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0671.bin b/files/poketool/trainer/trdata/narc_0671.bin deleted file mode 100644 index 7bfc3d16b7abe546ea3ad5db893a700fd83849f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWME=|0!Ane00J!l9smFU diff --git a/files/poketool/trainer/trdata/narc_0672.bin b/files/poketool/trainer/trdata/narc_0672.bin deleted file mode 100644 index 5f5dee1e29e0bf5186847ce0cf7a1eb6fc3761b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSWMF210!Ane00KS$9{>OV diff --git a/files/poketool/trainer/trdata/narc_0673.bin b/files/poketool/trainer/trdata/narc_0673.bin deleted file mode 100644 index 5ce2c67c479d74025a5c5f8d7d4cbb5b6b2ff18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWME=|0!Ane00ZFwH2?qr diff --git a/files/poketool/trainer/trdata/narc_0674.bin b/files/poketool/trainer/trdata/narc_0674.bin deleted file mode 100644 index 5ce2c67c479d74025a5c5f8d7d4cbb5b6b2ff18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWME=|0!Ane00ZFwH2?qr diff --git a/files/poketool/trainer/trdata/narc_0675.bin b/files/poketool/trainer/trdata/narc_0675.bin deleted file mode 100644 index 5ce2c67c479d74025a5c5f8d7d4cbb5b6b2ff18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWME=|0!Ane00ZFwH2?qr diff --git a/files/poketool/trainer/trdata/narc_0676.bin b/files/poketool/trainer/trdata/narc_0676.bin deleted file mode 100644 index 5ce2c67c479d74025a5c5f8d7d4cbb5b6b2ff18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDWME=|0!Ane00ZFwH2?qr diff --git a/files/poketool/trainer/trdata/narc_0677.bin b/files/poketool/trainer/trdata/narc_0677.bin deleted file mode 100644 index cbfba44283ea6007af42c5733af9d03e4ddd553d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqj)~0!Ane00ad9Hvj+t diff --git a/files/poketool/trainer/trdata/narc_0678.bin b/files/poketool/trainer/trdata/narc_0678.bin deleted file mode 100644 index cbfba44283ea6007af42c5733af9d03e4ddd553d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqj)~0!Ane00ad9Hvj+t diff --git a/files/poketool/trainer/trdata/narc_0679.bin b/files/poketool/trainer/trdata/narc_0679.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0680.bin b/files/poketool/trainer/trdata/narc_0680.bin deleted file mode 100644 index c68fff4442f57bf7cfc8cf98d896589f43bde084..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDVqju`0!Ane00Z;@HUIzs diff --git a/files/poketool/trainer/trdata/narc_0681.bin b/files/poketool/trainer/trdata/narc_0681.bin deleted file mode 100644 index 4f026089e3e60bd2bfccefed11f7d7a50a38b0b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ@XJBT40!Ane00oo)OaK4? diff --git a/files/poketool/trainer/trdata/narc_0682.bin b/files/poketool/trainer/trdata/narc_0682.bin deleted file mode 100644 index 4f026089e3e60bd2bfccefed11f7d7a50a38b0b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ@XJBT40!Ane00oo)OaK4? diff --git a/files/poketool/trainer/trdata/narc_0683.bin b/files/poketool/trainer/trdata/narc_0683.bin deleted file mode 100644 index 2bbdea6468c716da032b3c69dd4e29c878859dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJW?*E10vH1T0R8|D diff --git a/files/poketool/trainer/trdata/narc_0684.bin b/files/poketool/trainer/trdata/narc_0684.bin deleted file mode 100644 index 2bbdea6468c716da032b3c69dd4e29c878859dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJW?*E10vH1T0R8|D diff --git a/files/poketool/trainer/trdata/narc_0685.bin b/files/poketool/trainer/trdata/narc_0685.bin deleted file mode 100644 index 45af2a9b221be6a308c336a6d13517b1da873a1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*7~0!Ane009pG4*&oF diff --git a/files/poketool/trainer/trdata/narc_0686.bin b/files/poketool/trainer/trdata/narc_0686.bin deleted file mode 100644 index 45af2a9b221be6a308c336a6d13517b1da873a1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJW?*7~0!Ane009pG4*&oF diff --git a/files/poketool/trainer/trdata/narc_0687.bin b/files/poketool/trainer/trdata/narc_0687.bin deleted file mode 100644 index 5b752f7dbdb27c4576daeef127cf330eb8ff63ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZSJU|?c^0!APW;s5{u-T)2& diff --git a/files/poketool/trainer/trdata/narc_0688.bin b/files/poketool/trainer/trdata/narc_0688.bin deleted file mode 100644 index 5b752f7dbdb27c4576daeef127cf330eb8ff63ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZSJU|?c^0!APW;s5{u-T)2& diff --git a/files/poketool/trainer/trdata/narc_0689.bin b/files/poketool/trainer/trdata/narc_0689.bin deleted file mode 100644 index 549da88687fb72205ff8e100ae1911bddbd6b470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHW?*K30!Ane00b-mIRF3v diff --git a/files/poketool/trainer/trdata/narc_0690.bin b/files/poketool/trainer/trdata/narc_0690.bin deleted file mode 100644 index 549da88687fb72205ff8e100ae1911bddbd6b470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQHW?*K30!Ane00b-mIRF3v diff --git a/files/poketool/trainer/trdata/narc_0691.bin b/files/poketool/trainer/trdata/narc_0691.bin deleted file mode 100644 index 6f7608cbb4d839a39562e3cc366596a8394b465a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjVqg?!fB;4)4FCiq06YKy diff --git a/files/poketool/trainer/trdata/narc_0692.bin b/files/poketool/trainer/trdata/narc_0692.bin deleted file mode 100644 index 6f7608cbb4d839a39562e3cc366596a8394b465a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjVqg?!fB;4)4FCiq06YKy diff --git a/files/poketool/trainer/trdata/narc_0693.bin b/files/poketool/trainer/trdata/narc_0693.bin deleted file mode 100644 index 6f7608cbb4d839a39562e3cc366596a8394b465a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjVqg?!fB;4)4FCiq06YKy diff --git a/files/poketool/trainer/trdata/narc_0694.bin b/files/poketool/trainer/trdata/narc_0694.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0695.bin b/files/poketool/trainer/trdata/narc_0695.bin deleted file mode 100644 index 8694d8138086df427e09ca850926fef4aef94bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDU|?i`0vH1T1HAw< diff --git a/files/poketool/trainer/trdata/narc_0696.bin b/files/poketool/trainer/trdata/narc_0696.bin deleted file mode 100644 index 8694d8138086df427e09ca850926fef4aef94bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDU|?i`0vH1T1HAw< diff --git a/files/poketool/trainer/trdata/narc_0697.bin b/files/poketool/trainer/trdata/narc_0697.bin deleted file mode 100644 index 2f326060af3e75500492c0eb1506a02d1792cc94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&W?*K30!Ane00FoF7ytkO diff --git a/files/poketool/trainer/trdata/narc_0698.bin b/files/poketool/trainer/trdata/narc_0698.bin deleted file mode 100644 index 2f326060af3e75500492c0eb1506a02d1792cc94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&W?*K30!Ane00FoF7ytkO diff --git a/files/poketool/trainer/trdata/narc_0699.bin b/files/poketool/trainer/trdata/narc_0699.bin deleted file mode 100644 index 9c9d34354013809e059e7085e7c248a73608122e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSJV_;-}0vH1T0XF~< diff --git a/files/poketool/trainer/trdata/narc_0700.bin b/files/poketool/trainer/trdata/narc_0700.bin deleted file mode 100644 index 67ddc3a29cd533081b26ce889aa41f8ddf5dcad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJV_;^00!Ane00CJ56951J diff --git a/files/poketool/trainer/trdata/narc_0701.bin b/files/poketool/trainer/trdata/narc_0701.bin deleted file mode 100644 index 4e847a0363b8045fb1cb75f6229ce94463505582..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjW?&R&fB;4)4FCi-06hQz diff --git a/files/poketool/trainer/trdata/narc_0702.bin b/files/poketool/trainer/trdata/narc_0702.bin deleted file mode 100644 index 4e847a0363b8045fb1cb75f6229ce94463505582..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjW?&R&fB;4)4FCi-06hQz diff --git a/files/poketool/trainer/trdata/narc_0703.bin b/files/poketool/trainer/trdata/narc_0703.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0704.bin b/files/poketool/trainer/trdata/narc_0704.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0705.bin b/files/poketool/trainer/trdata/narc_0705.bin deleted file mode 100644 index cc4b0ebf818501e69f8074fb37263fb12122d333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzW?*E10vH1T0A>IN diff --git a/files/poketool/trainer/trdata/narc_0706.bin b/files/poketool/trainer/trdata/narc_0706.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0707.bin b/files/poketool/trainer/trdata/narc_0707.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0708.bin b/files/poketool/trainer/trdata/narc_0708.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0709.bin b/files/poketool/trainer/trdata/narc_0709.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0710.bin b/files/poketool/trainer/trdata/narc_0710.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0711.bin b/files/poketool/trainer/trdata/narc_0711.bin deleted file mode 100644 index 34600ee367623acc3082645cce3b952696dbca55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSJWME=|0!Ane008L#4FCWD diff --git a/files/poketool/trainer/trdata/narc_0712.bin b/files/poketool/trainer/trdata/narc_0712.bin deleted file mode 100644 index bbee0ad11186a4145a3bf8bc57fae9e25f398185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;%{0!Ane006K63IG5A diff --git a/files/poketool/trainer/trdata/narc_0713.bin b/files/poketool/trainer/trdata/narc_0713.bin deleted file mode 100644 index bbee0ad11186a4145a3bf8bc57fae9e25f398185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;%{0!Ane006K63IG5A diff --git a/files/poketool/trainer/trdata/narc_0714.bin b/files/poketool/trainer/trdata/narc_0714.bin deleted file mode 100644 index bbee0ad11186a4145a3bf8bc57fae9e25f398185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzV_;%{0!Ane006K63IG5A diff --git a/files/poketool/trainer/trdata/narc_0715.bin b/files/poketool/trainer/trdata/narc_0715.bin deleted file mode 100644 index c4fad157a0c7d802d08d2474ce5b0932f051528e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZPwU|?c^0!Ane00u4qQ~&?~ diff --git a/files/poketool/trainer/trdata/narc_0716.bin b/files/poketool/trainer/trdata/narc_0716.bin deleted file mode 100644 index c4fad157a0c7d802d08d2474ce5b0932f051528e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZPwU|?c^0!Ane00u4qQ~&?~ diff --git a/files/poketool/trainer/trdata/narc_0717.bin b/files/poketool/trainer/trdata/narc_0717.bin deleted file mode 100644 index c4fad157a0c7d802d08d2474ce5b0932f051528e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZPwU|?c^0!Ane00u4qQ~&?~ diff --git a/files/poketool/trainer/trdata/narc_0718.bin b/files/poketool/trainer/trdata/narc_0718.bin deleted file mode 100644 index 63471c101f5d5a7f7fd5cdd10a4a836191a86d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Wng500vH1T0H6Q~ diff --git a/files/poketool/trainer/trdata/narc_0719.bin b/files/poketool/trainer/trdata/narc_0719.bin deleted file mode 100644 index 63471c101f5d5a7f7fd5cdd10a4a836191a86d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQ%Wng500vH1T0H6Q~ diff --git a/files/poketool/trainer/trdata/narc_0720.bin b/files/poketool/trainer/trdata/narc_0720.bin deleted file mode 100644 index 7640a237a3b0c4e990b70a0071b902c0586b8451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 NcmZQ%Wng4L0{{S+00;m8 diff --git a/files/poketool/trainer/trdata/narc_0721.bin b/files/poketool/trainer/trdata/narc_0721.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0722.bin b/files/poketool/trainer/trdata/narc_0722.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0723.bin b/files/poketool/trainer/trdata/narc_0723.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0724.bin b/files/poketool/trainer/trdata/narc_0724.bin deleted file mode 100644 index 7611c80ac175df120bf994d47395e7d3dd5ac093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjV_;%{0!Ane00R&JDgXcg diff --git a/files/poketool/trainer/trdata/narc_0725.bin b/files/poketool/trainer/trdata/narc_0725.bin deleted file mode 100644 index 7611c80ac175df120bf994d47395e7d3dd5ac093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjV_;%{0!Ane00R&JDgXcg diff --git a/files/poketool/trainer/trdata/narc_0726.bin b/files/poketool/trainer/trdata/narc_0726.bin deleted file mode 100644 index 7611c80ac175df120bf994d47395e7d3dd5ac093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjV_;%{0!Ane00R&JDgXcg diff --git a/files/poketool/trainer/trdata/narc_0727.bin b/files/poketool/trainer/trdata/narc_0727.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0728.bin b/files/poketool/trainer/trdata/narc_0728.bin deleted file mode 100644 index 3b1cf94229904e3a87ceffaa9e10b651b0c0adba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjU|?i`0vH1T0*wG8 diff --git a/files/poketool/trainer/trdata/narc_0729.bin b/files/poketool/trainer/trdata/narc_0729.bin deleted file mode 100644 index dd4e0cac7e69bfa50d2a6781ba4d9a171b3d442a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjWMC9$fB;4)4FCiX06PEx diff --git a/files/poketool/trainer/trdata/narc_0730.bin b/files/poketool/trainer/trdata/narc_0730.bin deleted file mode 100644 index dd4e0cac7e69bfa50d2a6781ba4d9a171b3d442a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjWMC9$fB;4)4FCiX06PEx diff --git a/files/poketool/trainer/trdata/narc_0731.bin b/files/poketool/trainer/trdata/narc_0731.bin deleted file mode 100644 index dd4e0cac7e69bfa50d2a6781ba4d9a171b3d442a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 RcmZQjWMC9$fB;4)4FCiX06PEx diff --git a/files/poketool/trainer/trdata/narc_0732.bin b/files/poketool/trainer/trdata/narc_0732.bin deleted file mode 100644 index b8562b2535cbcd9e6bd7277153584b720f4f8e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjXJBH00!Ane00SccD*ylh diff --git a/files/poketool/trainer/trdata/narc_0733.bin b/files/poketool/trainer/trdata/narc_0733.bin deleted file mode 100644 index b8562b2535cbcd9e6bd7277153584b720f4f8e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjXJBH00!Ane00SccD*ylh diff --git a/files/poketool/trainer/trdata/narc_0734.bin b/files/poketool/trainer/trdata/narc_0734.bin deleted file mode 100644 index b8562b2535cbcd9e6bd7277153584b720f4f8e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjXJBH00!Ane00SccD*ylh diff --git a/files/poketool/trainer/trdata/narc_0735.bin b/files/poketool/trainer/trdata/narc_0735.bin deleted file mode 100644 index b8562b2535cbcd9e6bd7277153584b720f4f8e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQjXJBH00!Ane00SccD*ylh diff --git a/files/poketool/trainer/trdata/narc_0736.bin b/files/poketool/trainer/trdata/narc_0736.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0737.bin b/files/poketool/trainer/trdata/narc_0737.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0738.bin b/files/poketool/trainer/trdata/narc_0738.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0739.bin b/files/poketool/trainer/trdata/narc_0739.bin deleted file mode 100644 index 8843728d84cc3306ec34a35ed4766f797ce1ebf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3U|?c^0!Ane00TAvEC2ui diff --git a/files/poketool/trainer/trdata/narc_0740.bin b/files/poketool/trainer/trdata/narc_0740.bin deleted file mode 100644 index 972c8d32e6a98a84dc28e3779a28e4d1b6e63d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3V_;%{0!Ane00XE1G5`Po diff --git a/files/poketool/trainer/trdata/narc_0741.bin b/files/poketool/trainer/trdata/narc_0741.bin deleted file mode 100644 index 972c8d32e6a98a84dc28e3779a28e4d1b6e63d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3V_;%{0!Ane00XE1G5`Po diff --git a/files/poketool/trainer/trdata/narc_0742.bin b/files/poketool/trainer/trdata/narc_0742.bin deleted file mode 100644 index 7e07d284dc9fe15121200e140910b58a0a17441c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3V_;^00!Ane00X%IGXMYp diff --git a/files/poketool/trainer/trdata/narc_0743.bin b/files/poketool/trainer/trdata/narc_0743.bin deleted file mode 100644 index 4a1839af43b70145c0de86d2ec521c54f9e7d504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3WME=|0!Ane00T(?EdT%j diff --git a/files/poketool/trainer/trdata/narc_0744.bin b/files/poketool/trainer/trdata/narc_0744.bin deleted file mode 100644 index 4a1839af43b70145c0de86d2ec521c54f9e7d504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3WME=|0!Ane00T(?EdT%j diff --git a/files/poketool/trainer/trdata/narc_0745.bin b/files/poketool/trainer/trdata/narc_0745.bin deleted file mode 100644 index 4a1839af43b70145c0de86d2ec521c54f9e7d504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3WME=|0!Ane00T(?EdT%j diff --git a/files/poketool/trainer/trdata/narc_0746.bin b/files/poketool/trainer/trdata/narc_0746.bin deleted file mode 100644 index d1ba9d5c852a727c4d1b9c1c8b067e5ea10a2c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIx}0!Ane00LtGApigX diff --git a/files/poketool/trainer/trdata/narc_0747.bin b/files/poketool/trainer/trdata/narc_0747.bin deleted file mode 100644 index d1ba9d5c852a727c4d1b9c1c8b067e5ea10a2c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIx}0!Ane00LtGApigX diff --git a/files/poketool/trainer/trdata/narc_0748.bin b/files/poketool/trainer/trdata/narc_0748.bin deleted file mode 100644 index d1ba9d5c852a727c4d1b9c1c8b067e5ea10a2c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZROVPIx}0!Ane00LtGApigX diff --git a/files/poketool/trainer/trdata/narc_0749.bin b/files/poketool/trainer/trdata/narc_0749.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0750.bin b/files/poketool/trainer/trdata/narc_0750.bin deleted file mode 100644 index b58a1adb270d1c63ee12dc449edcfee56055ebbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjVPIr{0vH1T0@(m3 diff --git a/files/poketool/trainer/trdata/narc_0751.bin b/files/poketool/trainer/trdata/narc_0751.bin deleted file mode 100644 index b7e008718f0a30e3831c2d3b54d7d5534b2f687e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDXJBN20vH1T1VR8h diff --git a/files/poketool/trainer/trdata/narc_0752.bin b/files/poketool/trainer/trdata/narc_0752.bin deleted file mode 100644 index b7e008718f0a30e3831c2d3b54d7d5534b2f687e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDXJBN20vH1T1VR8h diff --git a/files/poketool/trainer/trdata/narc_0753.bin b/files/poketool/trainer/trdata/narc_0753.bin deleted file mode 100644 index bfe62fdbf4317cb285e984a5c10c50e41c0e62b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDXJBH00!Ane00dJ2I{*Lx diff --git a/files/poketool/trainer/trdata/narc_0754.bin b/files/poketool/trainer/trdata/narc_0754.bin deleted file mode 100644 index bfe62fdbf4317cb285e984a5c10c50e41c0e62b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQDXJBH00!Ane00dJ2I{*Lx diff --git a/files/poketool/trainer/trdata/narc_0755.bin b/files/poketool/trainer/trdata/narc_0755.bin deleted file mode 100644 index 75ef0429122e3e2a21b1ac7d2ffb94fe10c04399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuU|?i`0vH1T1XTb# diff --git a/files/poketool/trainer/trdata/narc_0756.bin b/files/poketool/trainer/trdata/narc_0756.bin deleted file mode 100644 index 75ef0429122e3e2a21b1ac7d2ffb94fe10c04399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuU|?i`0vH1T1XTb# diff --git a/files/poketool/trainer/trdata/narc_0757.bin b/files/poketool/trainer/trdata/narc_0757.bin deleted file mode 100644 index 75ef0429122e3e2a21b1ac7d2ffb94fe10c04399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuU|?i`0vH1T1XTb# diff --git a/files/poketool/trainer/trdata/narc_0758.bin b/files/poketool/trainer/trdata/narc_0758.bin deleted file mode 100644 index 75ef0429122e3e2a21b1ac7d2ffb94fe10c04399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuU|?i`0vH1T1XTb# diff --git a/files/poketool/trainer/trdata/narc_0759.bin b/files/poketool/trainer/trdata/narc_0759.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0760.bin b/files/poketool/trainer/trdata/narc_0760.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0761.bin b/files/poketool/trainer/trdata/narc_0761.bin deleted file mode 100644 index 06f70012b9bd157e74624fcb7abf62cb3a54645e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3Vqju`0!Ane00UeAE&u=k diff --git a/files/poketool/trainer/trdata/narc_0762.bin b/files/poketool/trainer/trdata/narc_0762.bin deleted file mode 100644 index 172b4b818356a0cf2bebf0c6e93f4e88638a8b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3W?*E10vH1T16}|w diff --git a/files/poketool/trainer/trdata/narc_0763.bin b/files/poketool/trainer/trdata/narc_0763.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0764.bin b/files/poketool/trainer/trdata/narc_0764.bin deleted file mode 100644 index aeccc746ca19f43549320b1b164de7048f5453e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3W?*7~0!Ane00VCTF8}}l diff --git a/files/poketool/trainer/trdata/narc_0765.bin b/files/poketool/trainer/trdata/narc_0765.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0766.bin b/files/poketool/trainer/trdata/narc_0766.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0767.bin b/files/poketool/trainer/trdata/narc_0767.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0768.bin b/files/poketool/trainer/trdata/narc_0768.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0769.bin b/files/poketool/trainer/trdata/narc_0769.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0770.bin b/files/poketool/trainer/trdata/narc_0770.bin deleted file mode 100644 index 7f3f4d636f4d6836e203a4c5c803ce787b020db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQzVqj!|0vH1T08;=3 diff --git a/files/poketool/trainer/trdata/narc_0771.bin b/files/poketool/trainer/trdata/narc_0771.bin deleted file mode 100644 index 337775bd9f83c120f09ae96b65fe1263525fc8eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3VPIx}0!Ane00WZ%F#rGn diff --git a/files/poketool/trainer/trdata/narc_0772.bin b/files/poketool/trainer/trdata/narc_0772.bin deleted file mode 100644 index 337775bd9f83c120f09ae96b65fe1263525fc8eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS3VPIx}0!Ane00WZ%F#rGn diff --git a/files/poketool/trainer/trdata/narc_0773.bin b/files/poketool/trainer/trdata/narc_0773.bin deleted file mode 100644 index 6363128460b5df4a6eabbbacaabd7638f674eec0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS7Wng500vH1T1DF6Y diff --git a/files/poketool/trainer/trdata/narc_0774.bin b/files/poketool/trainer/trdata/narc_0774.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0775.bin b/files/poketool/trainer/trdata/narc_0775.bin deleted file mode 100644 index 6363128460b5df4a6eabbbacaabd7638f674eec0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS7Wng500vH1T1DF6Y diff --git a/files/poketool/trainer/trdata/narc_0776.bin b/files/poketool/trainer/trdata/narc_0776.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0777.bin b/files/poketool/trainer/trdata/narc_0777.bin deleted file mode 100644 index 8d46840d08dfadff1820829a8fc37da4d57c7e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRSW?*K30!Ane00LwHApigX diff --git a/files/poketool/trainer/trdata/narc_0778.bin b/files/poketool/trainer/trdata/narc_0778.bin deleted file mode 100644 index 007cd3fac7ab35644ad3a2697c0aee029b2d40ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZROW?*E10vH1T0xkd^ diff --git a/files/poketool/trainer/trdata/narc_0779.bin b/files/poketool/trainer/trdata/narc_0779.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0780.bin b/files/poketool/trainer/trdata/narc_0780.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0781.bin b/files/poketool/trainer/trdata/narc_0781.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0782.bin b/files/poketool/trainer/trdata/narc_0782.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0783.bin b/files/poketool/trainer/trdata/narc_0783.bin deleted file mode 100644 index 1a29e585f37d3e088e87c97273dc86ef2baaf4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwW?*E10vH1T237!8 diff --git a/files/poketool/trainer/trdata/narc_0784.bin b/files/poketool/trainer/trdata/narc_0784.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0785.bin b/files/poketool/trainer/trdata/narc_0785.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0786.bin b/files/poketool/trainer/trdata/narc_0786.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0787.bin b/files/poketool/trainer/trdata/narc_0787.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0788.bin b/files/poketool/trainer/trdata/narc_0788.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0789.bin b/files/poketool/trainer/trdata/narc_0789.bin deleted file mode 100644 index f322b90ee4fadd1ff6da7297f9c8fe1f06f149cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQDVPIr{0vH1T1PK5) diff --git a/files/poketool/trainer/trdata/narc_0790.bin b/files/poketool/trainer/trdata/narc_0790.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0791.bin b/files/poketool/trainer/trdata/narc_0791.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0792.bin b/files/poketool/trainer/trdata/narc_0792.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0793.bin b/files/poketool/trainer/trdata/narc_0793.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0794.bin b/files/poketool/trainer/trdata/narc_0794.bin deleted file mode 100644 index 895c47bd1741c12c529502831243e2a9e1363770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWng500vH1T27CZm diff --git a/files/poketool/trainer/trdata/narc_0795.bin b/files/poketool/trainer/trdata/narc_0795.bin deleted file mode 100644 index 84abdd3a9020d9aa5c1da52be1881bc2e268873d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZPwVqju`0!APW;s5{!TmV=A diff --git a/files/poketool/trainer/trdata/narc_0796.bin b/files/poketool/trainer/trdata/narc_0796.bin deleted file mode 100644 index 84abdd3a9020d9aa5c1da52be1881bc2e268873d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZPwVqju`0!APW;s5{!TmV=A diff --git a/files/poketool/trainer/trdata/narc_0797.bin b/files/poketool/trainer/trdata/narc_0797.bin deleted file mode 100644 index 84abdd3a9020d9aa5c1da52be1881bc2e268873d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZPwVqju`0!APW;s5{!TmV=A diff --git a/files/poketool/trainer/trdata/narc_0798.bin b/files/poketool/trainer/trdata/narc_0798.bin deleted file mode 100644 index 84abdd3a9020d9aa5c1da52be1881bc2e268873d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZPwVqju`0!APW;s5{!TmV=A diff --git a/files/poketool/trainer/trdata/narc_0799.bin b/files/poketool/trainer/trdata/narc_0799.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0800.bin b/files/poketool/trainer/trdata/narc_0800.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0801.bin b/files/poketool/trainer/trdata/narc_0801.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0802.bin b/files/poketool/trainer/trdata/narc_0802.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0803.bin b/files/poketool/trainer/trdata/narc_0803.bin deleted file mode 100644 index 9401517270262be85b0a6005a2d3e320de070b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuVqj!|0vH1T1bYBI diff --git a/files/poketool/trainer/trdata/narc_0804.bin b/files/poketool/trainer/trdata/narc_0804.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0805.bin b/files/poketool/trainer/trdata/narc_0805.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0806.bin b/files/poketool/trainer/trdata/narc_0806.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0807.bin b/files/poketool/trainer/trdata/narc_0807.bin deleted file mode 100644 index 7ac32e6cbb1836c1bfda316831503dc9f15d2aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZP&V_;-}0vH1T0nY## diff --git a/files/poketool/trainer/trdata/narc_0808.bin b/files/poketool/trainer/trdata/narc_0808.bin deleted file mode 100644 index cc11cd420d1385f52c8ca6103b4b648fbd9ec022..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQjV_;-}0vH1T0{;Lh diff --git a/files/poketool/trainer/trdata/narc_0809.bin b/files/poketool/trainer/trdata/narc_0809.bin deleted file mode 100644 index a4bac0b272da95c69061fd464781619fb2296031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwVPIr{0vH1T25A6S diff --git a/files/poketool/trainer/trdata/narc_0810.bin b/files/poketool/trainer/trdata/narc_0810.bin deleted file mode 100644 index a4bac0b272da95c69061fd464781619fb2296031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwVPIr{0vH1T25A6S diff --git a/files/poketool/trainer/trdata/narc_0811.bin b/files/poketool/trainer/trdata/narc_0811.bin deleted file mode 100644 index a4bac0b272da95c69061fd464781619fb2296031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwVPIr{0vH1T25A6S diff --git a/files/poketool/trainer/trdata/narc_0812.bin b/files/poketool/trainer/trdata/narc_0812.bin deleted file mode 100644 index a4bac0b272da95c69061fd464781619fb2296031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwVPIr{0vH1T25A6S diff --git a/files/poketool/trainer/trdata/narc_0813.bin b/files/poketool/trainer/trdata/narc_0813.bin deleted file mode 100644 index 7b5ada8b9979cec9bff2bf0da9077f6d71505452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3WME`~0vH1T12_OI diff --git a/files/poketool/trainer/trdata/narc_0814.bin b/files/poketool/trainer/trdata/narc_0814.bin deleted file mode 100644 index f4f52d2123586cda6dc6f9618e3a995ddd86ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS3Vqj!|0vH1T14{rc diff --git a/files/poketool/trainer/trdata/narc_0815.bin b/files/poketool/trainer/trdata/narc_0815.bin deleted file mode 100644 index 0ac27debec7c53607030bdc6d48501931846adca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZPwWME`~0vH1T1~33r diff --git a/files/poketool/trainer/trdata/narc_0816.bin b/files/poketool/trainer/trdata/narc_0816.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0817.bin b/files/poketool/trainer/trdata/narc_0817.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0818.bin b/files/poketool/trainer/trdata/narc_0818.bin deleted file mode 100644 index ae12af86e2cdc0476a9f641ee4cb93de546e547c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%W?*7~0!Ane004^s2mk;8 diff --git a/files/poketool/trainer/trdata/narc_0819.bin b/files/poketool/trainer/trdata/narc_0819.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0820.bin b/files/poketool/trainer/trdata/narc_0820.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0821.bin b/files/poketool/trainer/trdata/narc_0821.bin deleted file mode 100644 index ae12af86e2cdc0476a9f641ee4cb93de546e547c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%W?*7~0!Ane004^s2mk;8 diff --git a/files/poketool/trainer/trdata/narc_0822.bin b/files/poketool/trainer/trdata/narc_0822.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0823.bin b/files/poketool/trainer/trdata/narc_0823.bin deleted file mode 100644 index 5f2591611d4d903b008705545bb5bfc6efd97028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzVqju`0!Ane003kF1^@s6 diff --git a/files/poketool/trainer/trdata/narc_0824.bin b/files/poketool/trainer/trdata/narc_0824.bin deleted file mode 100644 index f1a6c7be6c808d60704b0e731b44fb26e9b259ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQzW?*7~0!Ane004IY2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0825.bin b/files/poketool/trainer/trdata/narc_0825.bin deleted file mode 100644 index 2b6fc47244d8e00f01f3c675c2a4923b8a6fd0c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZQ%Vqju`0!Ane004LZ2LJ#7 diff --git a/files/poketool/trainer/trdata/narc_0826.bin b/files/poketool/trainer/trdata/narc_0826.bin deleted file mode 100644 index b8b1054bb367ef6039a2ab745405e2411b7b5cf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQbWME`~0vH1T2VekX diff --git a/files/poketool/trainer/trdata/narc_0827.bin b/files/poketool/trainer/trdata/narc_0827.bin deleted file mode 100644 index 19d0b19d6355533d2f5a64d562bbd4e59998405c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQHWng500vH1T1TX+O diff --git a/files/poketool/trainer/trdata/narc_0828.bin b/files/poketool/trainer/trdata/narc_0828.bin deleted file mode 100644 index a3aab1c52fe59b8d58155d7af309e934775a8649..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZQHV_;-}0vH1T1VaEi diff --git a/files/poketool/trainer/trdata/narc_0829.bin b/files/poketool/trainer/trdata/narc_0829.bin deleted file mode 100644 index 8c1aa65371e17d704be276191a6609bb3ac1c79b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS7WME`~0vH1T155xd diff --git a/files/poketool/trainer/trdata/narc_0830.bin b/files/poketool/trainer/trdata/narc_0830.bin deleted file mode 100644 index 20a9d31556558e22e4343bd951b23381391a2a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZS7WME=|0!Ane00UhBE&u=k diff --git a/files/poketool/trainer/trdata/narc_0831.bin b/files/poketool/trainer/trdata/narc_0831.bin deleted file mode 100644 index 8c1aa65371e17d704be276191a6609bb3ac1c79b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZS7WME`~0vH1T155xd diff --git a/files/poketool/trainer/trdata/narc_0832.bin b/files/poketool/trainer/trdata/narc_0832.bin deleted file mode 100644 index 8cdac29c00d2dc45133dad0087e1d2604e329c96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZP&V_;%{0!Ane00H0t8UO$Q diff --git a/files/poketool/trainer/trdata/narc_0833.bin b/files/poketool/trainer/trdata/narc_0833.bin deleted file mode 100644 index 1fc45f0a0560de0efc840bb23faa0d7ed46d0ad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSdWMF210!Ane00qtfPXGV_ diff --git a/files/poketool/trainer/trdata/narc_0834.bin b/files/poketool/trainer/trdata/narc_0834.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0835.bin b/files/poketool/trainer/trdata/narc_0835.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0836.bin b/files/poketool/trainer/trdata/narc_0836.bin deleted file mode 100644 index d7e26687457cf124f1ba4e62e32602acf7489bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWMF210!Ane00p`LP5=M^ diff --git a/files/poketool/trainer/trdata/narc_0837.bin b/files/poketool/trainer/trdata/narc_0837.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0838.bin b/files/poketool/trainer/trdata/narc_0838.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0839.bin b/files/poketool/trainer/trdata/narc_0839.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0840.bin b/files/poketool/trainer/trdata/narc_0840.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0841.bin b/files/poketool/trainer/trdata/narc_0841.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0842.bin b/files/poketool/trainer/trdata/narc_0842.bin deleted file mode 100644 index c188464a2d4d1f31b08a33c2f3fe48e8b7b74464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRyXJBK10!Ane00lz;NB{r; diff --git a/files/poketool/trainer/trdata/narc_0843.bin b/files/poketool/trainer/trdata/narc_0843.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0844.bin b/files/poketool/trainer/trdata/narc_0844.bin deleted file mode 100644 index 5354608b2db1bac9b43c1704a36e9dfdb66507ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZRuW?*7~0!Ane00f@^KL7v# diff --git a/files/poketool/trainer/trdata/narc_0845.bin b/files/poketool/trainer/trdata/narc_0845.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0846.bin b/files/poketool/trainer/trdata/narc_0846.bin deleted file mode 100644 index b1fae20ef83dc63644b831d42b5e6f819a64918d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZRuW?*E10vH1T1daec diff --git a/files/poketool/trainer/trdata/narc_0847.bin b/files/poketool/trainer/trdata/narc_0847.bin deleted file mode 100644 index 5c3198fb72159b0aeaf3cb08558240a906ab7cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 PcmZSZWME`~0vH1T1(*O# diff --git a/files/poketool/trainer/trdata/narc_0848.bin b/files/poketool/trainer/trdata/narc_0848.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trdata/narc_0849.bin b/files/poketool/trainer/trdata/narc_0849.bin deleted file mode 100644 index 4e09951f258f7b08bb19baaf7f4d9c0c25a206ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmZSZWME=|0!Ane00pT4O#lD@ diff --git a/files/poketool/trainer/trpoke.json.txt b/files/poketool/trainer/trpoke.json.txt new file mode 100644 index 000000000..09fa70b36 --- /dev/null +++ b/files/poketool/trainer/trpoke.json.txt @@ -0,0 +1,52 @@ +{{ doNotModifyHeader }} + +#include "global.h" +#include "trainer_data.h" +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/items.h" + +#define max(a, b) ((a) >= (b) ? (a) : (b)) + +u32 __size[] = { 8, +## for trainer in trdata + (max({{ length(trainer.party) }} * {% if trainer.type == 0 %}6{% else if trainer.type == 1 %}14{% else if trainer.type == 2 %}8{% else %}16{% endif %}, 8) + 3) & ~3, +## endfor +}; + +const u16 __data[] = { 0, 0, 0, 0, +## for trainer in trdata + // Trainer #{{ trainer.index }} +## if trainer.type == 0 +## set mon_length = 3 +## else if trainer.type == 1 +## set mon_length = 7 +## else if trainer.type == 2 +## set mon_length = 4 +## else if trainer.type == 3 +## set mon_length = 8 +## endif +## set total_length = mon_length * length(trainer.party) +## for mon in trainer.party + {{ mon.difficulty }}, // Difficulty 0-255 + {{ mon.level }}, // Level + {{ mon.species }}, // Species +## if trainer.type == 2 or trainer.type == 3 + {{ mon.item }}, // Held item +## endif +## if trainer.type == 1 or trainer.type == 3 + // Moveset +## for i in range(4) +## if i < length(mon.moves) + {{ at(mon.moves, i) }}, +## else + MOVE_NONE, +## endif +## endfor +## endif +## endfor +## if total_length < 4 or total_length % 2 != 0 + 0, // Padding +## endif +## endfor +}; diff --git a/files/poketool/trainer/trpoke/.knarcignore b/files/poketool/trainer/trpoke/.knarcignore deleted file mode 100644 index 2856080a5..000000000 --- a/files/poketool/trainer/trpoke/.knarcignore +++ /dev/null @@ -1,2 +0,0 @@ -*.png -*.pal diff --git a/files/poketool/trainer/trpoke/narc_0000.bin b/files/poketool/trainer/trpoke/narc_0000.bin deleted file mode 100644 index 1b1cb4d44c57c2d7a5122870fa6ac3e62ff7e94e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 KcmZQzfB*mh2mk>9 diff --git a/files/poketool/trainer/trpoke/narc_0001.bin b/files/poketool/trainer/trpoke/narc_0001.bin deleted file mode 100644 index bde4ded3b89db02fff7e61a74651ba690e0bfb40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}flGWMBXQ0$Bi) diff --git a/files/poketool/trainer/trpoke/narc_0002.bin b/files/poketool/trainer/trpoke/narc_0002.bin deleted file mode 100644 index 6622f6c01113418cd20fc2ee1a025713250f32d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}c!h$iM&q0(AhI diff --git a/files/poketool/trainer/trpoke/narc_0003.bin b/files/poketool/trainer/trpoke/narc_0003.bin deleted file mode 100644 index 7fc4387549d531b36f1143c92f8ac7dfa059070c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}orNWB`)@1=Im2 diff --git a/files/poketool/trainer/trpoke/narc_0004.bin b/files/poketool/trainer/trpoke/narc_0004.bin deleted file mode 100644 index 53370b723e1c7efedd94b6facc80242f0669280e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzU}flMWB`(y3;+cq0K@-o diff --git a/files/poketool/trainer/trpoke/narc_0017.bin b/files/poketool/trainer/trpoke/narc_0017.bin deleted file mode 100644 index b4d7e0c3baf73172dac7fd288c180ed190ab7d7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 ccmZQz;9;1|c#%Po0Rng!76N%m3}=8`05+rqKmY&$ diff --git a/files/poketool/trainer/trpoke/narc_0018.bin b/files/poketool/trainer/trpoke/narc_0018.bin deleted file mode 100644 index 5e19ed7b8b6c9c98392d6a3e5802be528a17a03f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 WcmZQz;AZe*U;vU%U=qUaX9NHbCjpZH diff --git a/files/poketool/trainer/trpoke/narc_0019.bin b/files/poketool/trainer/trpoke/narc_0019.bin deleted file mode 100644 index 5971bf36a57721dfc93467a93b8cb5b091a0461e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz;A4nqU|;|M0oVX; diff --git a/files/poketool/trainer/trpoke/narc_0020.bin b/files/poketool/trainer/trpoke/narc_0020.bin deleted file mode 100644 index 909bf61a8a5e7d179320d7aacc074300d549552f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1R;Ae1RU|;|M0$KoY diff --git a/files/poketool/trainer/trpoke/narc_0021.bin b/files/poketool/trainer/trpoke/narc_0021.bin deleted file mode 100644 index 856cb429afd10cf22451027f4d5465f2da1d89df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz;A5D^$iM&q0=EFB diff --git a/files/poketool/trainer/trpoke/narc_0022.bin b/files/poketool/trainer/trpoke/narc_0022.bin deleted file mode 100644 index bbcc073c7942513ab5edb04f5083ea69257baa5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36 QcmZQz;9_WGV8BZP05|>vLjV8( diff --git a/files/poketool/trainer/trpoke/narc_0023.bin b/files/poketool/trainer/trpoke/narc_0023.bin deleted file mode 100644 index 2edcd028bb4684bba5cfb7762caea61a134e4c3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz;A1FbU|;|M0yF@H diff --git a/files/poketool/trainer/trpoke/narc_0024.bin b/files/poketool/trainer/trpoke/narc_0024.bin deleted file mode 100644 index d291493e55825d33f5dcbbf125e5fbbcf9659c90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQz;9_WGU|`^7CKU|;|M0MY;} diff --git a/files/poketool/trainer/trpoke/narc_0032.bin b/files/poketool/trainer/trpoke/narc_0032.bin deleted file mode 100644 index a6f8e7f458e03218ebe0d36b23ee8afdc146f171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQz;Afc3$N(k*2BZN; diff --git a/files/poketool/trainer/trpoke/narc_0033.bin b/files/poketool/trainer/trpoke/narc_0033.bin deleted file mode 100644 index d4be0a74d22a75a6fd4cebc4b216a430cee80e0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQz;AiMzWB`(03=9lH3~fL*01yxXj{pDw diff --git a/files/poketool/trainer/trpoke/narc_0034.bin b/files/poketool/trainer/trpoke/narc_0034.bin deleted file mode 100644 index da6961f7287870a2d2189468bcabd22517a751e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 UcmZQz5N7aYFkw(+&}9Gt00`6o;{X5v diff --git a/files/poketool/trainer/trpoke/narc_0035.bin b/files/poketool/trainer/trpoke/narc_0035.bin deleted file mode 100644 index 5b79cf77d2a6c8f6bb96bf5ccc88cde0a14c7bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 VcmZQz5N24&c#$EA;S2)^000=X0<{1D diff --git a/files/poketool/trainer/trpoke/narc_0036.bin b/files/poketool/trainer/trpoke/narc_0036.bin deleted file mode 100644 index 0fed8833234be89cc7344f82fa0104150813e606..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 WcmZQz;Aik+U|U;qFXQUWUg diff --git a/files/poketool/trainer/trpoke/narc_0047.bin b/files/poketool/trainer/trpoke/narc_0047.bin deleted file mode 100644 index 5ffdc35e19c1dd0563ead705213fe382543947bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 acmZQz5MbEO$iTqQFbzlwGOT4_U;qFXW&$k$ diff --git a/files/poketool/trainer/trpoke/narc_0048.bin b/files/poketool/trainer/trpoke/narc_0048.bin deleted file mode 100644 index 589dc44cd2439a44badba1f6696d9b747930ffae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32 WcmZQz;A7}#WMJS2lLAO=hzI~ORRbIV diff --git a/files/poketool/trainer/trpoke/narc_0049.bin b/files/poketool/trainer/trpoke/narc_0049.bin deleted file mode 100644 index 4372e85dce49b2a59e59cf34886f1e9d093f1cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N4Rd$iM&q0?h!a diff --git a/files/poketool/trainer/trpoke/narc_0050.bin b/files/poketool/trainer/trpoke/narc_0050.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0051.bin b/files/poketool/trainer/trpoke/narc_0051.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0052.bin b/files/poketool/trainer/trpoke/narc_0052.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0053.bin b/files/poketool/trainer/trpoke/narc_0053.bin deleted file mode 100644 index 4b9ee62fa64f4faafb3636a3f67d3e4dd6b0240f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N42MU|;|M0NwyC diff --git a/files/poketool/trainer/trpoke/narc_0054.bin b/files/poketool/trainer/trpoke/narc_0054.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0055.bin b/files/poketool/trainer/trpoke/narc_0055.bin deleted file mode 100644 index cbcdcb8b4926331f54a074b1392395b28ae1727b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5N2> diff --git a/files/poketool/trainer/trpoke/narc_0057.bin b/files/poketool/trainer/trpoke/narc_0057.bin deleted file mode 100644 index db785ea9a2651503c48f882116a1c2724c60475c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 acmZQz5N24*z`!8LpbR9178Jrmy7yuYt0qg(( diff --git a/files/poketool/trainer/trpoke/narc_0080.bin b/files/poketool/trainer/trpoke/narc_0080.bin deleted file mode 100644 index f1fbdba1a30441aa2988a7c615d661ca1eac8038..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkY+f{$N(g@7yt+P0VMzc diff --git a/files/poketool/trainer/trpoke/narc_0081.bin b/files/poketool/trainer/trpoke/narc_0081.bin deleted file mode 100644 index ff2b829c230dd310956cb7c01fe05109f32de9c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmXqFkY`xJz`y_i1mXbp diff --git a/files/poketool/trainer/trpoke/narc_0082.bin b/files/poketool/trainer/trpoke/narc_0082.bin deleted file mode 100644 index 4372e85dce49b2a59e59cf34886f1e9d093f1cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N4Rd$iM&q0?h!a diff --git a/files/poketool/trainer/trpoke/narc_0083.bin b/files/poketool/trainer/trpoke/narc_0083.bin deleted file mode 100644 index f64eecd155c3cf8aaa2ccd4fbd813b669dd63ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N24-$iM&q11SK& diff --git a/files/poketool/trainer/trpoke/narc_0084.bin b/files/poketool/trainer/trpoke/narc_0084.bin deleted file mode 100644 index 90ed08176a0d82ceb99ab88f345a00731362ec23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N6oP$iM&q17QHp diff --git a/files/poketool/trainer/trpoke/narc_0085.bin b/files/poketool/trainer/trpoke/narc_0085.bin deleted file mode 100644 index bc0f7a5fcac08dd5e9da974627d4d37330e50a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N5DuWMBXQ0cikG diff --git a/files/poketool/trainer/trpoke/narc_0086.bin b/files/poketool/trainer/trpoke/narc_0086.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0087.bin b/files/poketool/trainer/trpoke/narc_0087.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0088.bin b/files/poketool/trainer/trpoke/narc_0088.bin deleted file mode 100644 index f96e5e8f5ae3b07f9798fb5a6185df6191151b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5Mo%&zyKtj7yt&O0SW*B diff --git a/files/poketool/trainer/trpoke/narc_0089.bin b/files/poketool/trainer/trpoke/narc_0089.bin deleted file mode 100644 index f96e5e8f5ae3b07f9798fb5a6185df6191151b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5Mo%&zyKtj7yt&O0SW*B diff --git a/files/poketool/trainer/trpoke/narc_0090.bin b/files/poketool/trainer/trpoke/narc_0090.bin deleted file mode 100644 index 3d32274a3f2bfa1ddc8bbbed387d78c6b98b79dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5Mo%&zyKtT836`|0Q>*| diff --git a/files/poketool/trainer/trpoke/narc_0091.bin b/files/poketool/trainer/trpoke/narc_0091.bin deleted file mode 100644 index 619da7229e728b2f0351ea154a612268fbba6473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5M^j$U|;|M0*(Nf diff --git a/files/poketool/trainer/trpoke/narc_0092.bin b/files/poketool/trainer/trpoke/narc_0092.bin deleted file mode 100644 index f2fd51ab9fed4fd04f34c9ebd37ae4acbf823990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5N0T2U;vWAi~t2~0Pz3- diff --git a/files/poketool/trainer/trpoke/narc_0093.bin b/files/poketool/trainer/trpoke/narc_0093.bin deleted file mode 100644 index 5f48099d94a938d32001712bead8ebc9f6221cbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 YcmZQz5M&5uWMB{ilOhbufNYQm02ICf>;M1& diff --git a/files/poketool/trainer/trpoke/narc_0094.bin b/files/poketool/trainer/trpoke/narc_0094.bin deleted file mode 100644 index 161df9bec2215190b517a20b3774a7ff3574b3ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmXqF5M`LcXapn|F#-Szq5;PM diff --git a/files/poketool/trainer/trpoke/narc_0095.bin b/files/poketool/trainer/trpoke/narc_0095.bin deleted file mode 100644 index eabc9eaf635f467904ded763cc2982766c5d83d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmXqF5M}6MGy;r27v(l diff --git a/files/poketool/trainer/trpoke/narc_0103.bin b/files/poketool/trainer/trpoke/narc_0103.bin deleted file mode 100644 index 85ef5856ffb3bb885b63000538f2e849da80f9cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQzkYi|KU|^61lk#8^026`%;Q#;t diff --git a/files/poketool/trainer/trpoke/narc_0104.bin b/files/poketool/trainer/trpoke/narc_0104.bin deleted file mode 100644 index 9565c74ef5194cad8773ce9309aa0f0317f67702..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkYg}sU|>)Hk^lqV0IdK3 diff --git a/files/poketool/trainer/trpoke/narc_0105.bin b/files/poketool/trainer/trpoke/narc_0105.bin deleted file mode 100644 index e22cc17a14e5589b324027d9e0909dccd8418b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQzkZ0J=zyKt7FaQ7u<^iq% diff --git a/files/poketool/trainer/trpoke/narc_0106.bin b/files/poketool/trainer/trpoke/narc_0106.bin deleted file mode 100644 index f6cae1254cd6df51aa460ac34621da4eb2caae7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP+-{3z`!8KAkGK?2de=N diff --git a/files/poketool/trainer/trpoke/narc_0107.bin b/files/poketool/trainer/trpoke/narc_0107.bin deleted file mode 100644 index 8a563178c68ccdd57af7bb174652b89c9adca4b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQz5N24$$iN^9CPly`02XZmG5`Po diff --git a/files/poketool/trainer/trpoke/narc_0108.bin b/files/poketool/trainer/trpoke/narc_0108.bin deleted file mode 100644 index a932f54cba8d0479aa9b343abea9ac2f47ca519a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQz5NDXcXvr{-L6#w(fq?-45wQXc diff --git a/files/poketool/trainer/trpoke/narc_0109.bin b/files/poketool/trainer/trpoke/narc_0109.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0110.bin b/files/poketool/trainer/trpoke/narc_0110.bin deleted file mode 100644 index d91ff941ccfdc85363d4591322f348f07dbcdf08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkY{LOU;vU%3;+gF0RsR4 diff --git a/files/poketool/trainer/trpoke/narc_0111.bin b/files/poketool/trainer/trpoke/narc_0111.bin deleted file mode 100644 index 62c56ef33c236e29471a2e558365f29d55a0581a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 XcmZQz5N2p(U;vW$futBi6OaS|6`%qi diff --git a/files/poketool/trainer/trpoke/narc_0112.bin b/files/poketool/trainer/trpoke/narc_0112.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0113.bin b/files/poketool/trainer/trpoke/narc_0113.bin deleted file mode 100644 index 71621a0bbeb4c9f2b8089cd2a2ed6602ec718d25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 acmZQzkYJd>$iN`R;KjheAkMG_$OZrsoB`ed diff --git a/files/poketool/trainer/trpoke/narc_0114.bin b/files/poketool/trainer/trpoke/narc_0114.bin deleted file mode 100644 index 05ca87ee0dd7b1637df570d9d58a73502ae2345d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkYbp{$iM&q0}lYU diff --git a/files/poketool/trainer/trpoke/narc_0115.bin b/files/poketool/trainer/trpoke/narc_0115.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0116.bin b/files/poketool/trainer/trpoke/narc_0116.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0117.bin b/files/poketool/trainer/trpoke/narc_0117.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0118.bin b/files/poketool/trainer/trpoke/narc_0118.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0119.bin b/files/poketool/trainer/trpoke/narc_0119.bin deleted file mode 100644 index 328994cef82ca2e2d414179d9fb8b4a365f6034c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5NC*GU;vU13;+bS0L%aY diff --git a/files/poketool/trainer/trpoke/narc_0120.bin b/files/poketool/trainer/trpoke/narc_0120.bin deleted file mode 100644 index 086a0bf173bf1d6fd3c45370a2838380514071ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQz5Mzj8U|A} diff --git a/files/poketool/trainer/trpoke/narc_0129.bin b/files/poketool/trainer/trpoke/narc_0129.bin deleted file mode 100644 index be159e9e7fef9165f4dd932de248cbcd66f830c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 Zcmb1R5M?;ZD90eqU<@S17@Qaw7yuW50oecm diff --git a/files/poketool/trainer/trpoke/narc_0130.bin b/files/poketool/trainer/trpoke/narc_0130.bin deleted file mode 100644 index 5e5c1fc53adf9e7793ffb835a1e4a6742db681d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5NGIRWMBXQ0?7cT diff --git a/files/poketool/trainer/trpoke/narc_0131.bin b/files/poketool/trainer/trpoke/narc_0131.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0132.bin b/files/poketool/trainer/trpoke/narc_0132.bin deleted file mode 100644 index cc0d6729dd2f12d5008374520c72cf504bddcc1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 gcmXqFP-a-cc#5%*QHCL%!3fB6V6Xww#SEDY07ydwo&W#< diff --git a/files/poketool/trainer/trpoke/narc_0133.bin b/files/poketool/trainer/trpoke/narc_0133.bin deleted file mode 100644 index e55a7e8ebd83924e6f04a65f21b3dd6693078041..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 ycmXqFP-LiLuwh7JC}t>RFk(<*aAt4RnMk5AghU*NA8ICX{F{CpvFaQ9Va|bm5 diff --git a/files/poketool/trainer/trpoke/narc_0134.bin b/files/poketool/trainer/trpoke/narc_0134.bin deleted file mode 100644 index ce0ad7c674bae3db5256846e0a114c516d28ae13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmXqFP-R%dIEg`uA&KEL0|Ns98SMiG diff --git a/files/poketool/trainer/trpoke/narc_0135.bin b/files/poketool/trainer/trpoke/narc_0135.bin deleted file mode 100644 index af7754669de6bc98bf0d103be1672abdaa16bd17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 ycmXqFP+~A=NMMX*Fk(mtVr2$jhF}I226YBjMk5AAhMf#^8Jro`Gn{5%U;qGu;0BKX diff --git a/files/poketool/trainer/trpoke/narc_0136.bin b/files/poketool/trainer/trpoke/narc_0136.bin deleted file mode 100644 index 2a9a47feff7fa7abce01a79e8f70443a243251dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 WcmZQzP-gIAU;vWdVDdC00|NjLy#dPr diff --git a/files/poketool/trainer/trpoke/narc_0137.bin b/files/poketool/trainer/trpoke/narc_0137.bin deleted file mode 100644 index 2e8055fc0f734b66c0f03b223e8b304372306896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzP-eK!z`y_i1U3Ns diff --git a/files/poketool/trainer/trpoke/narc_0138.bin b/files/poketool/trainer/trpoke/narc_0138.bin deleted file mode 100644 index ce4f614ead24a8155c96a0d0bbf4e0c67aa15bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzP+_oUWB`(<836@)0Z{+| diff --git a/files/poketool/trainer/trpoke/narc_0139.bin b/files/poketool/trainer/trpoke/narc_0139.bin deleted file mode 100644 index 3951a055ccbf06bf0109434f35938cb5519c5f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzP-Ez2WMBXQ10w*n diff --git a/files/poketool/trainer/trpoke/narc_0140.bin b/files/poketool/trainer/trpoke/narc_0140.bin deleted file mode 100644 index 9cf702b82a0ee55e1f4dce4cf4e7acb7cfea7f63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 zcmXqFP-2i`2xSmuNMZ85kIpfouRJSpy^h diff --git a/files/poketool/trainer/trpoke/narc_0143.bin b/files/poketool/trainer/trpoke/narc_0143.bin deleted file mode 100644 index 7ce5b0a38e3865a8c8973985ae7c1b868709cd41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP+>U5$iSe+aGe1F3K0SA diff --git a/files/poketool/trainer/trpoke/narc_0144.bin b/files/poketool/trainer/trpoke/narc_0144.bin deleted file mode 100644 index df91eab41d62f7a96bf0af6f90c936f1e3840169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzP-fW9zyKtb82|_L0U-bY diff --git a/files/poketool/trainer/trpoke/narc_0145.bin b/files/poketool/trainer/trpoke/narc_0145.bin deleted file mode 100644 index 275c6520b225629a38baf5271a0bd7d3f744ebde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzP-QsH$iM&q1Qh`C diff --git a/files/poketool/trainer/trpoke/narc_0146.bin b/files/poketool/trainer/trpoke/narc_0146.bin deleted file mode 100644 index f413d6c5750fe8a855f3b270d80e12337aea85ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 ZcmZQzP-M_#U;vU@KvD_JR$(~G2mlW?0m}dY diff --git a/files/poketool/trainer/trpoke/narc_0147.bin b/files/poketool/trainer/trpoke/narc_0147.bin deleted file mode 100644 index 545687679f98dee588f0ac11f87c6decc89643e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzP-ZyH$N(g@7yt-q0W|;s diff --git a/files/poketool/trainer/trpoke/narc_0148.bin b/files/poketool/trainer/trpoke/narc_0148.bin deleted file mode 100644 index 4b1190896e46b8ed1e7fc74edecb75f0f3449efe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 bcmb1RP+>UAD95185YHgTpvvIPz`y_i8!G}Y diff --git a/files/poketool/trainer/trpoke/narc_0149.bin b/files/poketool/trainer/trpoke/narc_0149.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0150.bin b/files/poketool/trainer/trpoke/narc_0150.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0151.bin b/files/poketool/trainer/trpoke/narc_0151.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0152.bin b/files/poketool/trainer/trpoke/narc_0152.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0153.bin b/files/poketool/trainer/trpoke/narc_0153.bin deleted file mode 100644 index 87a57231a783d491553fe100a423e7780334da84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzkY#9MU;vW<2DSk| diff --git a/files/poketool/trainer/trpoke/narc_0154.bin b/files/poketool/trainer/trpoke/narc_0154.bin deleted file mode 100644 index 8250e034ce8fbd63ab2932f3b9448bf848c746d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32 UcmZQzkYZ?LU_c?|8JgfC05RGF4gdfE diff --git a/files/poketool/trainer/trpoke/narc_0155.bin b/files/poketool/trainer/trpoke/narc_0155.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0156.bin b/files/poketool/trainer/trpoke/narc_0156.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0157.bin b/files/poketool/trainer/trpoke/narc_0157.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0158.bin b/files/poketool/trainer/trpoke/narc_0158.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0159.bin b/files/poketool/trainer/trpoke/narc_0159.bin deleted file mode 100644 index 6d0b6dfbd18a512dc4aa26dbb833844b64592962..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 XcmZQzkYYH+$iN`WaGwE0dH_iP8g~Lm diff --git a/files/poketool/trainer/trpoke/narc_0160.bin b/files/poketool/trainer/trpoke/narc_0160.bin deleted file mode 100644 index ba01e5d5121b4e2fd19ff071a908f04f99414ae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY{LOU|;|M0?GiQ diff --git a/files/poketool/trainer/trpoke/narc_0161.bin b/files/poketool/trainer/trpoke/narc_0161.bin deleted file mode 100644 index 79ed30c829007b54ae27ee928c891cbc9f5d47c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkYx~OWB`&Oi~s`)0H^=} diff --git a/files/poketool/trainer/trpoke/narc_0162.bin b/files/poketool/trainer/trpoke/narc_0162.bin deleted file mode 100644 index b6abc936db72ffb7ca500f413c4d8715762c29e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 PcmZQzkYOleV89>&8V~|W diff --git a/files/poketool/trainer/trpoke/narc_0163.bin b/files/poketool/trainer/trpoke/narc_0163.bin deleted file mode 100644 index 3cfaf03bca80a1a8e3774136bec82aa7283f491d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkY%{fzyKu87ytmAki?J=lw)830F4j@%K!iX diff --git a/files/poketool/trainer/trpoke/narc_0172.bin b/files/poketool/trainer/trpoke/narc_0172.bin deleted file mode 100644 index 059bb431af894e50c6b74f886ee20107c95b1ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQzP-kdlU|`T*VxDO;DYycRN0$cz9 diff --git a/files/poketool/trainer/trpoke/narc_0176.bin b/files/poketool/trainer/trpoke/narc_0176.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0177.bin b/files/poketool/trainer/trpoke/narc_0177.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0178.bin b/files/poketool/trainer/trpoke/narc_0178.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0179.bin b/files/poketool/trainer/trpoke/narc_0179.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0180.bin b/files/poketool/trainer/trpoke/narc_0180.bin deleted file mode 100644 index 96c0630576c866fcb2c7434d728e940104424826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 acmZQzP-Tc^WMI%>aAsg&&}LW;WCH*YtO3FR diff --git a/files/poketool/trainer/trpoke/narc_0181.bin b/files/poketool/trainer/trpoke/narc_0181.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0182.bin b/files/poketool/trainer/trpoke/narc_0182.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0183.bin b/files/poketool/trainer/trpoke/narc_0183.bin deleted file mode 100644 index 975343a4de9c549418f2fd413566c3489680f08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz&}3M|$N(fg82|_K0Y3l$ diff --git a/files/poketool/trainer/trpoke/narc_0184.bin b/files/poketool/trainer/trpoke/narc_0184.bin deleted file mode 100644 index fa62cffe2c25a21a487c19a3639563c31f18ce47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&}Q&tU|;|M0xke` diff --git a/files/poketool/trainer/trpoke/narc_0185.bin b/files/poketool/trainer/trpoke/narc_0185.bin deleted file mode 100644 index 68f44358bdb5801251ac43918630e3d9f53cc6a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQz&|vUjU|`T diff --git a/files/poketool/trainer/trpoke/narc_0195.bin b/files/poketool/trainer/trpoke/narc_0195.bin deleted file mode 100644 index ac2b65ecf59f26c4144f3ba47c1e0a423455769e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 fcmZQzU}x}RP-Mtw&|zc%0(ORYh6o@(3&;ilAEg3V diff --git a/files/poketool/trainer/trpoke/narc_0196.bin b/files/poketool/trainer/trpoke/narc_0196.bin deleted file mode 100644 index 6cad203aebdc4d03485dc7e31479c05b1fcaa0db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 ScmZQz;AC)O_{mVh0096I00FrG diff --git a/files/poketool/trainer/trpoke/narc_0197.bin b/files/poketool/trainer/trpoke/narc_0197.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0198.bin b/files/poketool/trainer/trpoke/narc_0198.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0199.bin b/files/poketool/trainer/trpoke/narc_0199.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0200.bin b/files/poketool/trainer/trpoke/narc_0200.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0201.bin b/files/poketool/trainer/trpoke/narc_0201.bin deleted file mode 100644 index 566188c9849e047eb38079e971b204eeb97c7def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQz;AG%rWMJTC-~y7o4BS8x00P4RLjV8( diff --git a/files/poketool/trainer/trpoke/narc_0202.bin b/files/poketool/trainer/trpoke/narc_0202.bin deleted file mode 100644 index e5a29b7b1a82ec851c1d7af495eb2f315f89b80b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQz;AG%rWMJTC-~p1n47@-R00Q3tM*si- diff --git a/files/poketool/trainer/trpoke/narc_0203.bin b/files/poketool/trainer/trpoke/narc_0203.bin deleted file mode 100644 index 7ac1a6deca4f86317218d4d024cac9d12f03984a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQz;9;1<$N(fKF#-SvzyV1B diff --git a/files/poketool/trainer/trpoke/narc_0204.bin b/files/poketool/trainer/trpoke/narc_0204.bin deleted file mode 100644 index 8b2c687847adb3f5d6bc41eb91d71a3986dc51e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz;A2?G$iM&q0^00V8oCP#0CtX7}OZ_8QK{N8302y1l#}s diff --git a/files/poketool/trainer/trpoke/narc_0227.bin b/files/poketool/trainer/trpoke/narc_0227.bin deleted file mode 100644 index 9415a01dbc9284154990f9705d9e7e817925fc01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 jcmXqF&|^?xFl8)eC}c=sG-5DdXl0CK_{8AJ@R|VtKP3fg diff --git a/files/poketool/trainer/trpoke/narc_0228.bin b/files/poketool/trainer/trpoke/narc_0228.bin deleted file mode 100644 index be0f967c85adc32cdb726179f5e8d5a88a58b53d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 xcmYdc&}Hys*u#*(*v6R7kOJiSFhnx!VN_%2WlUi(VCZJdVsvD90TgFo0071+2yOrX diff --git a/files/poketool/trainer/trpoke/narc_0229.bin b/files/poketool/trainer/trpoke/narc_0229.bin deleted file mode 100644 index c728521302d69d4880dd4848b764bb9626668010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmYdc&}ZmloXeQRkinqKkOJf#VvJdrvPaFQXNL4!eo;R1sw!(1>A08`Wk4*&oF diff --git a/files/poketool/trainer/trpoke/narc_0233.bin b/files/poketool/trainer/trpoke/narc_0233.bin deleted file mode 100644 index 1df2d494aa274edbe1f1172ea76b1e2f8304dea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQz&|_G_z`$U@(8mY>2-N|S diff --git a/files/poketool/trainer/trpoke/narc_0234.bin b/files/poketool/trainer/trpoke/narc_0234.bin deleted file mode 100644 index bbb9eee7b2ed33f6e0bef32b84fb7e3b6d5fcda7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 WcmZQz&}N8bU|`T=a0HWaKoS5DC;@~3 diff --git a/files/poketool/trainer/trpoke/narc_0235.bin b/files/poketool/trainer/trpoke/narc_0235.bin deleted file mode 100644 index 5e7ac6c560e707df0c4395fb15ff3c8520cca305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQz&|%of$iQI0kj4lA2;c#B diff --git a/files/poketool/trainer/trpoke/narc_0236.bin b/files/poketool/trainer/trpoke/narc_0236.bin deleted file mode 100644 index 371aa93de6d935c5774af6f164626372042ff9b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz&}V33U;vUPi~t800TuuN diff --git a/files/poketool/trainer/trpoke/narc_0237.bin b/files/poketool/trainer/trpoke/narc_0237.bin deleted file mode 100644 index 9a6af012bec5574d25a58c22f10837ab5d1f0dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz&}ZmlWB`&Oi~t9|0Yd-) diff --git a/files/poketool/trainer/trpoke/narc_0238.bin b/files/poketool/trainer/trpoke/narc_0238.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0239.bin b/files/poketool/trainer/trpoke/narc_0239.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0240.bin b/files/poketool/trainer/trpoke/narc_0240.bin deleted file mode 100644 index 5bcf952248af802ca1d54d2e8771fa23bf5da8eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 ycmYdcP-NK8*v**4;KGp3kiwwE(8uV*sKSuMpbO+FGk7yZGR$S@Wz1(_U;qHQaR<2o diff --git a/files/poketool/trainer/trpoke/narc_0241.bin b/files/poketool/trainer/trpoke/narc_0241.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0242.bin b/files/poketool/trainer/trpoke/narc_0242.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0243.bin b/files/poketool/trainer/trpoke/narc_0243.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0244.bin b/files/poketool/trainer/trpoke/narc_0244.bin deleted file mode 100644 index 356d873b250903abd1fb6376d858ab699cb4af3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmd;L;9~G%P-MtwfB*mqb^z}H diff --git a/files/poketool/trainer/trpoke/narc_0245.bin b/files/poketool/trainer/trpoke/narc_0245.bin deleted file mode 100644 index c99dca2b4dc99a90efbdf019de1b0149cb953125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 ccmd;L;9&4#P-Mtw00Ax_FPz>% diff --git a/files/poketool/trainer/trpoke/narc_0246.bin b/files/poketool/trainer/trpoke/narc_0246.bin deleted file mode 100644 index 686270afaa73c04b3d719c1a519c29852cd45453..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 mcmXqF;9>A$*vA;b00KrpUObqW4(9PO%wUvdc*39!mIVNXtp&gU diff --git a/files/poketool/trainer/trpoke/narc_0247.bin b/files/poketool/trainer/trpoke/narc_0247.bin deleted file mode 100644 index 446a62facf328a801af9c3363105e88109342598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 dcmb1RU}xxIOk&Vw00B7$PKIViMTR^u4*)0>0(<}f diff --git a/files/poketool/trainer/trpoke/narc_0248.bin b/files/poketool/trainer/trpoke/narc_0248.bin deleted file mode 100644 index 8e1252918925cddc10a23535ca4152fabfadaf0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 dcmb1RU}xxIOk&Vw00B7$PKGu{E(UEd4*(_T0wn+d diff --git a/files/poketool/trainer/trpoke/narc_0249.bin b/files/poketool/trainer/trpoke/narc_0249.bin deleted file mode 100644 index 7a9294bccd3c4c00aaf83614170356275d091b8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 bcmb1RU}xxIOk&Vw00B7$PKHiKMko&eCCUOJ diff --git a/files/poketool/trainer/trpoke/narc_0250.bin b/files/poketool/trainer/trpoke/narc_0250.bin deleted file mode 100644 index 3ed0bfc9b8170d379204306ee26d0240d33b5ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmbQnpu(_)k%3_yqZ?x`Lp;MYApZgb149Pma>j=YCxLu*hS`kMfb!oM{21pj000lu B3-$m2 diff --git a/files/poketool/trainer/trpoke/narc_0251.bin b/files/poketool/trainer/trpoke/narc_0251.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0252.bin b/files/poketool/trainer/trpoke/narc_0252.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0253.bin b/files/poketool/trainer/trpoke/narc_0253.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0254.bin b/files/poketool/trainer/trpoke/narc_0254.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0255.bin b/files/poketool/trainer/trpoke/narc_0255.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0256.bin b/files/poketool/trainer/trpoke/narc_0256.bin deleted file mode 100644 index 9fec2408291c1fbda6f9dfe83d7ea9d25dd01675..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 acmd;LkYR{tc+Mco5Y52Az=em$zyJV+hy|4Z diff --git a/files/poketool/trainer/trpoke/narc_0257.bin b/files/poketool/trainer/trpoke/narc_0257.bin deleted file mode 100644 index 75f6556038f3ecd28d542a9350eac58d6e4fe10a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Ucmd;LkY|Wzc+Mco5X}Gr01~DF-~a#s diff --git a/files/poketool/trainer/trpoke/narc_0258.bin b/files/poketool/trainer/trpoke/narc_0258.bin deleted file mode 100644 index 14040d1589a6859d5f10891501ebcfe9c36df4b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1R&|q+8U|;|M0`vfi diff --git a/files/poketool/trainer/trpoke/narc_0259.bin b/files/poketool/trainer/trpoke/narc_0259.bin deleted file mode 100644 index 9294a9271ee27e4261becba360e9673224320023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 fcmd;L;A5D^=+5BB5XH#Az{S9e!sAEcF)#oCbDjj= diff --git a/files/poketool/trainer/trpoke/narc_0260.bin b/files/poketool/trainer/trpoke/narc_0260.bin deleted file mode 100644 index bdc31772369c66deaa109297913321529f205a4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmd;L5M*d(^kz_GfB*ms!vPEc diff --git a/files/poketool/trainer/trpoke/narc_0261.bin b/files/poketool/trainer/trpoke/narc_0261.bin deleted file mode 100644 index b1b4861f01b9ed176973bcf8346f801f42878b1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80 zcmeyxV9LPD$iNW8FqJWbp^)Jhkk1X|&taU(7{~A($TwqH0OTKIJkEH6aRwuZe~p2G d;Q>Pt;{?V%K)xlz5yp88Qy6zJE@$*%1OOIq6%GIZ diff --git a/files/poketool/trainer/trpoke/narc_0262.bin b/files/poketool/trainer/trpoke/narc_0262.bin deleted file mode 100644 index a9af199a88e14d4875a7f91b0cfb34c0b1e8b295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80 zcmeyxV9s!ufq@~KA%kHX!%2o;3>FMKf&55@R>pKj2;T?H&tQ}Q^UWDT7#SF%7$!2V WVVnz8Z_RLsaUM|p9>z}$>lgqdwiH|d diff --git a/files/poketool/trainer/trpoke/narc_0263.bin b/files/poketool/trainer/trpoke/narc_0263.bin deleted file mode 100644 index 5581dc0b9e0553f8845686a21fafbed43b018a1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80 zcmeyxV8!6az`)SO=)(}g_>tikgC)ZSAb$m;En_+Zh;PNPijjeVmGKf|2E!w;{2Cyi Yo#70_XRy32LkHtLpngte`<>xTY WX3PZg?HRT*&I9VtV2oslW&{B4S`qdD diff --git a/files/poketool/trainer/trpoke/narc_0265.bin b/files/poketool/trainer/trpoke/narc_0265.bin deleted file mode 100644 index de72b3ebad544c2af4c60fad65b6166a97042b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}u=j$iM&q0)YUW diff --git a/files/poketool/trainer/trpoke/narc_0266.bin b/files/poketool/trainer/trpoke/narc_0266.bin deleted file mode 100644 index be37eb487638cec3cbeae21491b3fb72dc1cd47f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 kcmd;LkYZead$Am58Il3@=}>=%PQ!vP?_ lhjAKEMQl$#SA-vd;n@62Z8_q diff --git a/files/poketool/trainer/trpoke/narc_0269.bin b/files/poketool/trainer/trpoke/narc_0269.bin deleted file mode 100644 index 91c614376ced997012367c8112dd79a53f59961a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmcCvP-i&I5Xq3h*vcTu$iM&q85{zD diff --git a/files/poketool/trainer/trpoke/narc_0270.bin b/files/poketool/trainer/trpoke/narc_0270.bin deleted file mode 100644 index a9afb2b25910d67909ab666a6667550822f8cf82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 ycmcCvP-YNkOkfmbFknb#v|&(TFlR_$jAbxlNN2ENP-VElu$6JU;qGsh6Yps diff --git a/files/poketool/trainer/trpoke/narc_0271.bin b/files/poketool/trainer/trpoke/narc_0271.bin deleted file mode 100644 index b538ebcf9e000fd9554966ec0e05cdfbbbb97aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmcCvP-VEzaD-toLpp;tgAI`9$&kR<$5_C?zyJVN76m*2 diff --git a/files/poketool/trainer/trpoke/narc_0272.bin b/files/poketool/trainer/trpoke/narc_0272.bin deleted file mode 100644 index d0b481d4cb40ff30a2ba0620055e04776a57ce6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQz5Mi)pWMB{jlM-MO016oZ_W%F@ diff --git a/files/poketool/trainer/trpoke/narc_0273.bin b/files/poketool/trainer/trpoke/narc_0273.bin deleted file mode 100644 index 6fb067bbbed8f7ea21c90ce57cc2cb5eabdcfd17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQz5M%IVU|-kSjOdy05rD*3jhEB diff --git a/files/poketool/trainer/trpoke/narc_0283.bin b/files/poketool/trainer/trpoke/narc_0283.bin deleted file mode 100644 index 0212f1fbd1f72888cbf2ebd062a26016a480e8e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmcCvP-NJ_@SNc)gE~V#0|Ns9Ad&-U diff --git a/files/poketool/trainer/trpoke/narc_0284.bin b/files/poketool/trainer/trpoke/narc_0284.bin deleted file mode 100644 index c087267cc74c7dc7662627c52d1298f1f2992758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmcCvkYhN(V8d{SA(vqbkd|Xu#rThbf$={>F(Uw7?*`KV diff --git a/files/poketool/trainer/trpoke/narc_0285.bin b/files/poketool/trainer/trpoke/narc_0285.bin deleted file mode 100644 index 2a3a413ed4bdce8552d3075b6a1cec2df0f147d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 hcmcCv&|z?3h+`;bFk;ALumSR<7(yAM8NwI}82~w`1P%ZI diff --git a/files/poketool/trainer/trpoke/narc_0286.bin b/files/poketool/trainer/trpoke/narc_0286.bin deleted file mode 100644 index 82b331f265801370af5464b33b025cf9e9f190f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmXqFuwbZQG-XU@jAQ6zWMBXQ6`%rY diff --git a/files/poketool/trainer/trpoke/narc_0287.bin b/files/poketool/trainer/trpoke/narc_0287.bin deleted file mode 100644 index e831aefed3adc772f2bab4bc9f6e0e8fe529848f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 gcmXqF5NBA=IE!H?Lp*~ngAtJDzz_?hQyCc;07;SrR{#J2 diff --git a/files/poketool/trainer/trpoke/narc_0288.bin b/files/poketool/trainer/trpoke/narc_0288.bin deleted file mode 100644 index 70910a39e6dfdd871cc64c01fa8c6b0b5757e98d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFkv{sz`$U}5X%4n3FZNi diff --git a/files/poketool/trainer/trpoke/narc_0289.bin b/files/poketool/trainer/trpoke/narc_0289.bin deleted file mode 100644 index 6bb9f01bdcbd2b93f329520130865f502d7929f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFkvuZWMD93aAW`g1r-3{ diff --git a/files/poketool/trainer/trpoke/narc_0290.bin b/files/poketool/trainer/trpoke/narc_0290.bin deleted file mode 100644 index df2847c69ab34e459b452d6354b51b8fda8209fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQz5M|iJ$N(hQGXekzC;^TD diff --git a/files/poketool/trainer/trpoke/narc_0291.bin b/files/poketool/trainer/trpoke/narc_0291.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0292.bin b/files/poketool/trainer/trpoke/narc_0292.bin deleted file mode 100644 index 8b3428b5d121ef82fe6ef119b9b638e9e6221808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQz5MtQJz`!8PUz3{GwfvGV)z5(0{}^z1uy^r diff --git a/files/poketool/trainer/trpoke/narc_0296.bin b/files/poketool/trainer/trpoke/narc_0296.bin deleted file mode 100644 index 8bb1c5582768ad9fe7ce14a6a69805921ba54a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 acmb1R;AG%rRAdNb00B85j|<4l0`mYAXaQjW diff --git a/files/poketool/trainer/trpoke/narc_0297.bin b/files/poketool/trainer/trpoke/narc_0297.bin deleted file mode 100644 index 2e85e6f171a781c96a4ff1f3642f06d51f4948c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Tcmb1R;AYTd=w&ctWB>yI3$Fne diff --git a/files/poketool/trainer/trpoke/narc_0298.bin b/files/poketool/trainer/trpoke/narc_0298.bin deleted file mode 100644 index 424b96532c103054d2c346e349a8efdb0aadaf56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Ucmb1R;AY@qRAk6v&|m-o00^%D>Hq)$ diff --git a/files/poketool/trainer/trpoke/narc_0299.bin b/files/poketool/trainer/trpoke/narc_0299.bin deleted file mode 100644 index 7612c43b7832ab9e3a1e1e05e0232900119d9608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Rcmb1R;9}rplmn9M836=h0Sf>C diff --git a/files/poketool/trainer/trpoke/narc_0300.bin b/files/poketool/trainer/trpoke/narc_0300.bin deleted file mode 100644 index d0a517d4e7f447dabb9505f5a5b126a7bb05709e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY|{}$iM&q0~G+Z diff --git a/files/poketool/trainer/trpoke/narc_0301.bin b/files/poketool/trainer/trpoke/narc_0301.bin deleted file mode 100644 index 3e42047a41951d2ce73a1a159875237c342ea737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Vcmd;L&|#RuxQy`=gEj*Q000>(0+0Xz diff --git a/files/poketool/trainer/trpoke/narc_0302.bin b/files/poketool/trainer/trpoke/narc_0302.bin deleted file mode 100644 index 24ed37010e0c40a4f702d140f68ab5969bfebe31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmd;L&|;XvxQy`=gEj*L0~e4tfiaXJfpHN-7y|%E1O)*A diff --git a/files/poketool/trainer/trpoke/narc_0303.bin b/files/poketool/trainer/trpoke/narc_0303.bin deleted file mode 100644 index 18b9422d610ad5a1213cfc8963ebbe248074ab3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmd;L&|#2b2xSmu2xCZMU|;|M3)TU1 diff --git a/files/poketool/trainer/trpoke/narc_0304.bin b/files/poketool/trainer/trpoke/narc_0304.bin deleted file mode 100644 index 1f2fb3e431ead0e6e3a850386df6fad714046ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQz5M|iH$iN`ZFpCiY2o?c- diff --git a/files/poketool/trainer/trpoke/narc_0305.bin b/files/poketool/trainer/trpoke/narc_0305.bin deleted file mode 100644 index f9ad5301de241f23e98ee981b5c3206c2ffe09fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFk`sDz`y_i1dIU( diff --git a/files/poketool/trainer/trpoke/narc_0306.bin b/files/poketool/trainer/trpoke/narc_0306.bin deleted file mode 100644 index edec42fefe69e2bc9f97732e553a931abcd7261f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5M}UXU|;|M0lENV diff --git a/files/poketool/trainer/trpoke/narc_0307.bin b/files/poketool/trainer/trpoke/narc_0307.bin deleted file mode 100644 index a95da80c354b4a5c9e0f04329e2582ab61583669..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ZcmZQz5N4Rd$iN`V&K2FBFDf007_Q_0RR91 diff --git a/files/poketool/trainer/trpoke/narc_0310.bin b/files/poketool/trainer/trpoke/narc_0310.bin deleted file mode 100644 index 570f8931a6fdb559b2f55e221f43c82937d82e3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 hcmdO3kYsRXU}8AP00J67o)eI-4d*#CxI*O^7ywx01H%9S diff --git a/files/poketool/trainer/trpoke/narc_0311.bin b/files/poketool/trainer/trpoke/narc_0311.bin deleted file mode 100644 index 747b51d1365ce56112dce0d2ca4f1ee55b3ed2d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmdO3kYO-p>}HH*ILeT~z`y_i6$Ao@ diff --git a/files/poketool/trainer/trpoke/narc_0312.bin b/files/poketool/trainer/trpoke/narc_0312.bin deleted file mode 100644 index 278ea68921d46ed9ac7eaa1fc8cd7599fb80082e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 hcmdO3kYaFVc*$^(L7RbrK?BG$X6$B+W;_by0RTdg1bzSj diff --git a/files/poketool/trainer/trpoke/narc_0313.bin b/files/poketool/trainer/trpoke/narc_0313.bin deleted file mode 100644 index 0ff790c7209c85b72da21e390965d10359f4ac31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Tcmb1RFkv{#D92#I;KBd^3&#Po diff --git a/files/poketool/trainer/trpoke/narc_0314.bin b/files/poketool/trainer/trpoke/narc_0314.bin deleted file mode 100644 index 202330059d9ef2da209e39e80a9d054177357917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmdO3P-M8kpvJ(<$jq3|z`y_i5xfDp diff --git a/files/poketool/trainer/trpoke/narc_0315.bin b/files/poketool/trainer/trpoke/narc_0315.bin deleted file mode 100644 index dd777cf79d01a54d42472d1839556860c7ca7ffe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 wcmXqF5N24y$iT3l(UZZ8;WmR2klzgEdo$!Q6a)EU4AU9s0p%kZH5mLD0Mw-j+yDRo diff --git a/files/poketool/trainer/trpoke/narc_0316.bin b/files/poketool/trainer/trpoke/narc_0316.bin deleted file mode 100644 index bd6d222a1cbbe883ad004633d6f18ae2cb939570..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmYdckY;FNU|`5%3}Vn>IM0v*ZJy1|^0#1_p+ujD3t-7;=Gp6^6Bp^BBG}*f2yg<}v^P D@LdX1 diff --git a/files/poketool/trainer/trpoke/narc_0319.bin b/files/poketool/trainer/trpoke/narc_0319.bin deleted file mode 100644 index 2334f3a7058f1327d7afc35fca5a942bb4789550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmX@XpvG{Tk%3_`qc?*vqc+0{Apbf8h`*R&Cj&3z2?h-Y6QDc?LpS45hF~CHi{T98 NJfQp$MhC|83;??A4rBlT diff --git a/files/poketool/trainer/trpoke/narc_0320.bin b/files/poketool/trainer/trpoke/narc_0320.bin deleted file mode 100644 index d53d3d89add3f5064f5de6d1fb6009d6a15ce1ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmX@XpvNG^z`$^rQGzjyp^)JOgFeFwMh1p>#zcmNjE}(l2VnVq40a6Oj3*cj8KyGM N1FB!f_=zEm0RYD*4_yEN diff --git a/files/poketool/trainer/trpoke/narc_0321.bin b/files/poketool/trainer/trpoke/narc_0321.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0322.bin b/files/poketool/trainer/trpoke/narc_0322.bin deleted file mode 100644 index 53b333dc41cf9ea26eaab98635f4a2e91dd7ac63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzU}flGWB`)=i~t4L0Vn_f diff --git a/files/poketool/trainer/trpoke/narc_0323.bin b/files/poketool/trainer/trpoke/narc_0323.bin deleted file mode 100644 index 1e494b79d0aa01bdefa263b54b8c404264acca50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 VcmZQzU}5NIWB`)Wz+?}Q1OO4c0l@$O diff --git a/files/poketool/trainer/trpoke/narc_0324.bin b/files/poketool/trainer/trpoke/narc_0324.bin deleted file mode 100644 index ef8e41db06376f3c4639b858ccd95d90361759e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 ecmd;L;AdFEsL0^S00LYC;0{}{01f2i? diff --git a/files/poketool/trainer/trpoke/narc_0331.bin b/files/poketool/trainer/trpoke/narc_0331.bin deleted file mode 100644 index c2ffb26337a5b37ed7252a760a736772c683c08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 Pcmd;L&}5Kg;KCpQ4-f${ diff --git a/files/poketool/trainer/trpoke/narc_0332.bin b/files/poketool/trainer/trpoke/narc_0332.bin deleted file mode 100644 index c9c11d34cc48eff4ad4333d3dd1829f36e28cc84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5Mfx%zyKtj7yt&q0S*8F diff --git a/files/poketool/trainer/trpoke/narc_0333.bin b/files/poketool/trainer/trpoke/narc_0333.bin deleted file mode 100644 index 92c395c346ef9dfd4f70eb4972c8c617c7b5fd16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz&|+A^zyKtj82|_V0XzTz diff --git a/files/poketool/trainer/trpoke/narc_0334.bin b/files/poketool/trainer/trpoke/narc_0334.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0335.bin b/files/poketool/trainer/trpoke/narc_0335.bin deleted file mode 100644 index 6e072826b62b85959edf3ef8850a2b8c5418315c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&}Nvz$iM&q16=^Y diff --git a/files/poketool/trainer/trpoke/narc_0336.bin b/files/poketool/trainer/trpoke/narc_0336.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0337.bin b/files/poketool/trainer/trpoke/narc_0337.bin deleted file mode 100644 index 883a7915dc15639ebb017e8cf8246bac4fcaa5ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&}KNr$iM&q1T_Hn diff --git a/files/poketool/trainer/trpoke/narc_0338.bin b/files/poketool/trainer/trpoke/narc_0338.bin deleted file mode 100644 index 9ad99c86956df4df1fafcc0c5607db5a8f2aa2d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzkY+f=$iN`a(8K@$2=M`k diff --git a/files/poketool/trainer/trpoke/narc_0339.bin b/files/poketool/trainer/trpoke/narc_0339.bin deleted file mode 100644 index 750394611155aca094b3b4de2edc8795b74c6e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 Ycmd;LkYEsFOkfmbFkoO{;6mX602z`2w*UYD diff --git a/files/poketool/trainer/trpoke/narc_0340.bin b/files/poketool/trainer/trpoke/narc_0340.bin deleted file mode 100644 index 1f8361787b471f95f5c8dd0ee7d2545033897942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmd;LkYk8taAj;|%w>pYU|;|M5u^eh diff --git a/files/poketool/trainer/trpoke/narc_0341.bin b/files/poketool/trainer/trpoke/narc_0341.bin deleted file mode 100644 index a95741827a2fc2be6d9b381579dbf484e5b759fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmd;L&|#=z2xXYV7{)M#fq?-46R diff --git a/files/poketool/trainer/trpoke/narc_0344.bin b/files/poketool/trainer/trpoke/narc_0344.bin deleted file mode 100644 index 32ca4a11c2fafb7de3da81d80e2a94e1a22891a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmd;L&|z4}*vz9#fB-=TULa3^Ar{C501XrY7ytkO diff --git a/files/poketool/trainer/trpoke/narc_0380.bin b/files/poketool/trainer/trpoke/narc_0380.bin deleted file mode 100644 index a4846fd1d7c09283c93aa56a10ebc205b851951d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 dcmZQz;AdFGXwJ~cki-B2{0x&BFEZ$W*#I=A18o2R diff --git a/files/poketool/trainer/trpoke/narc_0381.bin b/files/poketool/trainer/trpoke/narc_0381.bin deleted file mode 100644 index bd82de5adc6acfecc021d3667159e6b7d5a91057..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQz5MuCRU|7Be1Y{KU}6u$+;B0RW%42!8+o diff --git a/files/poketool/trainer/trpoke/narc_0389.bin b/files/poketool/trainer/trpoke/narc_0389.bin deleted file mode 100644 index be4aed5d07a7cd11d632f091f3c4b56388cc3aca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 wcmXqFFk_g&D8jgiVIG4dqY;qj#}L9;$B@LJ%K+kWGfrhZ#bC#Hm4Sf)0HaR_X#fBK diff --git a/files/poketool/trainer/trpoke/narc_0390.bin b/files/poketool/trainer/trpoke/narc_0390.bin deleted file mode 100644 index 6ae8b4fb59033c9c0e8faae836ff4604d39ff6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmXqFFlUfr2xs`fAj*)zUhx&QzG diff --git a/files/poketool/trainer/trpoke/narc_0395.bin b/files/poketool/trainer/trpoke/narc_0395.bin deleted file mode 100644 index 3b0f3f74286c7b1e525ee4791a7c84eb9783ae30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz;Ab#qWMBXQ0WknX diff --git a/files/poketool/trainer/trpoke/narc_0396.bin b/files/poketool/trainer/trpoke/narc_0396.bin deleted file mode 100644 index 052be1671a6f4f89732ed6e2281e95040a374f31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwbZSU|;|M13&v)00{s9M$5EOk>byxXv(-VKD;-LlQ$e0|3TE B2r~cx diff --git a/files/poketool/trainer/trpoke/narc_0404.bin b/files/poketool/trainer/trpoke/narc_0404.bin deleted file mode 100644 index 8280fe4fee47d4e130d39d60b27912858a50facf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmX@Xpv$n1k%7UHp`YgG5Rs)0{Q9;8yM#?EN0lr5YO<30RXA~ B2;u+$ diff --git a/files/poketool/trainer/trpoke/narc_0406.bin b/files/poketool/trainer/trpoke/narc_0406.bin deleted file mode 100644 index 58c1c9f158ac0e80bd7c74400dc44e8f7400eb4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32 mcmYdc5Mt0|U|=}KAjqHtq*E9~7&bG`W0=6$&5+KJ!vFwFJ_TR^ diff --git a/files/poketool/trainer/trpoke/narc_0407.bin b/files/poketool/trainer/trpoke/narc_0407.bin deleted file mode 100644 index 514457f9b89a9cb44af69f821557c34f49df8607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmYdc&}7)c$iR@n=*Bpgp_m~B$k$?EVA#W8#dwP03XreIu$gfl!vw}YMpK3y1_0&d B3G@H} diff --git a/files/poketool/trainer/trpoke/narc_0408.bin b/files/poketool/trainer/trpoke/narc_0408.bin deleted file mode 100644 index bd62c6b0cbe9619effe71f12f6f72ae5c458285f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmYdcP-bvoU|@)2h-b`XC}m6m^0zQDFk~=(XRu}T1M*cFjxo+-=wlRTT*bJP0RYZg B35Ngx diff --git a/files/poketool/trainer/trpoke/narc_0409.bin b/files/poketool/trainer/trpoke/narc_0409.bin deleted file mode 100644 index 012123b67353588746fc6d065e8b1a2acf67c28e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmYdcP-AdlU|@)2h-b`XC}m6m^0zQDFk~>gF@9&rWk_MrU^vD&kD-rIf^iDtc?JN` CvkABW diff --git a/files/poketool/trainer/trpoke/narc_0410.bin b/files/poketool/trainer/trpoke/narc_0410.bin deleted file mode 100644 index 48d04a4facccb460a36ff1e5ee39b9a946deaa39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 dcmb1R;AP-sRAdNb&|qL-kOT5~fV?a)4*(d10lNSI diff --git a/files/poketool/trainer/trpoke/narc_0411.bin b/files/poketool/trainer/trpoke/narc_0411.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0412.bin b/files/poketool/trainer/trpoke/narc_0412.bin deleted file mode 100644 index b4355b75b2449e9be4b1ad39a3d2845cc76fad3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 gcmb1R;AP-sRAdNb&|qL-kOT5G8G0Ga7=auH02?X+=l}o! diff --git a/files/poketool/trainer/trpoke/narc_0413.bin b/files/poketool/trainer/trpoke/narc_0413.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0414.bin b/files/poketool/trainer/trpoke/narc_0414.bin deleted file mode 100644 index 611933c298c52f5461997d0a3d07b9e75b8ae17a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Tcmb1R;AGHb=w&ctWB>yI3zGpA diff --git a/files/poketool/trainer/trpoke/narc_0415.bin b/files/poketool/trainer/trpoke/narc_0415.bin deleted file mode 100644 index 5eb3e193badbc7cc1a66e343e6dddb216c0935bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1R;AG%rWMBXQ0aXAp diff --git a/files/poketool/trainer/trpoke/narc_0416.bin b/files/poketool/trainer/trpoke/narc_0416.bin deleted file mode 100644 index 3b29de3bd5fdb03f24c00363b704641f667a449d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Tcmb1RkYwOylw*))ILZhB1$Y5N diff --git a/files/poketool/trainer/trpoke/narc_0417.bin b/files/poketool/trainer/trpoke/narc_0417.bin deleted file mode 100644 index 72406ca8eada3065391f3767ffb6b741f6f1372b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Tcmb1RP+-tvkYi9`ILZhB2Gap? diff --git a/files/poketool/trainer/trpoke/narc_0418.bin b/files/poketool/trainer/trpoke/narc_0418.bin deleted file mode 100644 index ce4329d667c08e63ac2d4e8fe3563a962f4f2ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 Xcmb1RP+~aBD90erzzZh185tM=7OMf9 diff --git a/files/poketool/trainer/trpoke/narc_0419.bin b/files/poketool/trainer/trpoke/narc_0419.bin deleted file mode 100644 index 6c2a74a319989617be0f73048811f29d805787fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1RP-Ixo$iM&q1bqPT diff --git a/files/poketool/trainer/trpoke/narc_0420.bin b/files/poketool/trainer/trpoke/narc_0420.bin deleted file mode 100644 index 11b695645b988fde0124ba1acd3fcf3ae855ff40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Scmb1RP+-`^C;M1& diff --git a/files/poketool/trainer/trpoke/narc_0423.bin b/files/poketool/trainer/trpoke/narc_0423.bin deleted file mode 100644 index 980194e02f3cdd60e017176eac6f4a1d8a28bbfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 mcmb1R;9=loRAdNb&|qL-kOT6#fV?a?Pm`gS!Hf|o1q1*;X9CUu diff --git a/files/poketool/trainer/trpoke/narc_0424.bin b/files/poketool/trainer/trpoke/narc_0424.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0425.bin b/files/poketool/trainer/trpoke/narc_0425.bin deleted file mode 100644 index 2e378b2873f94e3e03cfaaa4e2d834cd66404eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Scmb1RP-IxoCr diff --git a/files/poketool/trainer/trpoke/narc_0428.bin b/files/poketool/trainer/trpoke/narc_0428.bin deleted file mode 100644 index f602934d8d68e6619520e4c0de5d71b8f21c3586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1RP-R%p$iM&q1eE~v diff --git a/files/poketool/trainer/trpoke/narc_0429.bin b/files/poketool/trainer/trpoke/narc_0429.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0430.bin b/files/poketool/trainer/trpoke/narc_0430.bin deleted file mode 100644 index dcf5f2a7aea5cdc532eae1ef1cdc8138e5576c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Tcmb1RP+`zwkYi9{;9>*-1$_Xx diff --git a/files/poketool/trainer/trpoke/narc_0431.bin b/files/poketool/trainer/trpoke/narc_0431.bin deleted file mode 100644 index 79f6d603f79441845b2268bbeb5ab29c5a01d91c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQz5Ma<`U;vW<0)_x{ diff --git a/files/poketool/trainer/trpoke/narc_0432.bin b/files/poketool/trainer/trpoke/narc_0432.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0433.bin b/files/poketool/trainer/trpoke/narc_0433.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0434.bin b/files/poketool/trainer/trpoke/narc_0434.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0435.bin b/files/poketool/trainer/trpoke/narc_0435.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0436.bin b/files/poketool/trainer/trpoke/narc_0436.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0437.bin b/files/poketool/trainer/trpoke/narc_0437.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0438.bin b/files/poketool/trainer/trpoke/narc_0438.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0439.bin b/files/poketool/trainer/trpoke/narc_0439.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0440.bin b/files/poketool/trainer/trpoke/narc_0440.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0441.bin b/files/poketool/trainer/trpoke/narc_0441.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0442.bin b/files/poketool/trainer/trpoke/narc_0442.bin deleted file mode 100644 index 855b609e33ccadfeebf62a858ae77298d173e797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkYm`w$iM&q1CIdI diff --git a/files/poketool/trainer/trpoke/narc_0443.bin b/files/poketool/trainer/trpoke/narc_0443.bin deleted file mode 100644 index 802bf1247953f1c93ade1c09da44690c566cf830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQz;Aik+U|U|>*SaAp7i1eO5J diff --git a/files/poketool/trainer/trpoke/narc_0454.bin b/files/poketool/trainer/trpoke/narc_0454.bin deleted file mode 100644 index d1f81d45cce91530670361c90107c673b7ef28fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz;Aik+U;vU%3;+YN0IL81 diff --git a/files/poketool/trainer/trpoke/narc_0455.bin b/files/poketool/trainer/trpoke/narc_0455.bin deleted file mode 100644 index c0c485ab43b58f8c5852a9f12181a4c17008feda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5M+pFU|;|M0qOv8 diff --git a/files/poketool/trainer/trpoke/narc_0456.bin b/files/poketool/trainer/trpoke/narc_0456.bin deleted file mode 100644 index af5dc133597fafea765c2e4b582597b05fd9ed6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 ScmZQz;A7}yoXFt70096F^#N)C diff --git a/files/poketool/trainer/trpoke/narc_0457.bin b/files/poketool/trainer/trpoke/narc_0457.bin deleted file mode 100644 index b6bf5440a5e8eae03d66c0ea16c3bf569892be22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 gcmZQzkZ0&+^kI}{Okw~5d4{EoJ`9nJo(vxu057ow9smFU diff --git a/files/poketool/trainer/trpoke/narc_0458.bin b/files/poketool/trainer/trpoke/narc_0458.bin deleted file mode 100644 index ac9bdda6c2bcc86ba6f5c0f64b377fcd4d7bb60e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 dcmZQz;Ah}s)L>9#fB=35ZbktH4F-207XS=o0R8{~ diff --git a/files/poketool/trainer/trpoke/narc_0459.bin b/files/poketool/trainer/trpoke/narc_0459.bin deleted file mode 100644 index e959334366e01174c860d883daa1d4251d203d82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 ScmZQz5M(fBjAbZgfB*mrw*eRc diff --git a/files/poketool/trainer/trpoke/narc_0460.bin b/files/poketool/trainer/trpoke/narc_0460.bin deleted file mode 100644 index 0cacb61dcf5f61745a3994e7bde701c0fee24c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5M-!gU|;|M0#*Qw diff --git a/files/poketool/trainer/trpoke/narc_0461.bin b/files/poketool/trainer/trpoke/narc_0461.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0462.bin b/files/poketool/trainer/trpoke/narc_0462.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0463.bin b/files/poketool/trainer/trpoke/narc_0463.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0464.bin b/files/poketool/trainer/trpoke/narc_0464.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0465.bin b/files/poketool/trainer/trpoke/narc_0465.bin deleted file mode 100644 index 39f13891d9c28064645bb94a0b1f36f4a2147afc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQz;AfCzU;vW<0oVXh diff --git a/files/poketool/trainer/trpoke/narc_0466.bin b/files/poketool/trainer/trpoke/narc_0466.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0467.bin b/files/poketool/trainer/trpoke/narc_0467.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0468.bin b/files/poketool/trainer/trpoke/narc_0468.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0469.bin b/files/poketool/trainer/trpoke/narc_0469.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0470.bin b/files/poketool/trainer/trpoke/narc_0470.bin deleted file mode 100644 index 44bdcbd6fb00d98781c9f91a11a40003362bf758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmXqF5N7CM6l6$ZkY>zaFk%p4Sj1=!zaFk%p4Sj1=!zaFk%p4ux9jN&|vUn@B{OF8B7=y8Ppkcfjm)$F2;!r4h%1V FJOI4T2S)$^ diff --git a/files/poketool/trainer/trpoke/narc_0473.bin b/files/poketool/trainer/trpoke/narc_0473.bin deleted file mode 100644 index 16587a115f493e106915f499f7d0f2d8805dd8ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmWGwkYeaz6l6$ZkY>za2w;$8Sj2dgF^S;`gD#lo%V5GF&Y%wF$uP7qdNb%ScrfHK F0008&2&Vu5 diff --git a/files/poketool/trainer/trpoke/narc_0474.bin b/files/poketool/trainer/trpoke/narc_0474.bin deleted file mode 100644 index 74e3fdd68d04c7db5d12df325eeb824facb67a0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmWGwkYeaz6l6$ZkY>za2w;$8Sj2dgF^S;`gD#k7&FI0P!Qjad$r!*O!_dyShG9Fy IECy``01&zg2mk;8 diff --git a/files/poketool/trainer/trpoke/narc_0475.bin b/files/poketool/trainer/trpoke/narc_0475.bin deleted file mode 100644 index 4ca3047db1d897e02be6df255e589c29a72703c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmWGwkYeaz6l6$ZkY>za2w;$8ux9jN&|vUnh-3uud>Kp_#2M5Xbb)d*3|)-23=Rx0 GfII-sO$UVl diff --git a/files/poketool/trainer/trpoke/narc_0476.bin b/files/poketool/trainer/trpoke/narc_0476.bin deleted file mode 100644 index 09675a7bb461e10ce35e1d1a9effbcc07b636944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmYdckZ0&+^kGzCNMgufNMTT5Sj2dg@d=RE2;|8zTw{;`%1&UE1Izg`1T&~Gh%=}I TdCCkejNS}73?2-g3=9ka?*j}7 diff --git a/files/poketool/trainer/trpoke/narc_0477.bin b/files/poketool/trainer/trpoke/narc_0477.bin deleted file mode 100644 index 28e1bc017b8972583fba27f3afbc0be4bdee09f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmYdckZ0&+^kGzCNMgufNMTT5Sj2dg@d=RE2;|8zTw{;`%1&UE1It-6o?>WY^ki^g VOkq%FXlImQT*I)P!H1E70RRh=4dDO) diff --git a/files/poketool/trainer/trpoke/narc_0478.bin b/files/poketool/trainer/trpoke/narc_0478.bin deleted file mode 100644 index 467d03b34d372fb167e05362deb2263bac624e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmYdckZ0&+^kGzCNMgufNMTT5ux32P(8lP=;J}!|AjfcxK>{c{fl&@D=gSbxpu!-| Vpbq3IGjuW9GWamQ0GhzS006t03w{6q diff --git a/files/poketool/trainer/trpoke/narc_0479.bin b/files/poketool/trainer/trpoke/narc_0479.bin deleted file mode 100644 index bf00933f19096d681e28072dffa63a847be0a155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmX@XV8GDFSj6bVc$uM)@dSe*!(zsxjGq{mGfDt?Mhw>&iWuiIOaRJ*&iWuiIOaRJ*b%7 diff --git a/files/poketool/trainer/trpoke/narc_0487.bin b/files/poketool/trainer/trpoke/narc_0487.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0488.bin b/files/poketool/trainer/trpoke/narc_0488.bin deleted file mode 100644 index a4713982dfe69a5d772bed412e552c2840556750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ScmZQz5NGgWV1SZRU^V~@4gn_s diff --git a/files/poketool/trainer/trpoke/narc_0489.bin b/files/poketool/trainer/trpoke/narc_0489.bin deleted file mode 100644 index 78ebe7c05bb5e441e3813ea01bb9ebb50a0840e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkYvzgU;vVb836=20U!VX diff --git a/files/poketool/trainer/trpoke/narc_0490.bin b/files/poketool/trainer/trpoke/narc_0490.bin deleted file mode 100644 index 76ab47cce131dc25c26bd6c91fe6ecc82ca12d6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY?D#$iM&q19bq; diff --git a/files/poketool/trainer/trpoke/narc_0491.bin b/files/poketool/trainer/trpoke/narc_0491.bin deleted file mode 100644 index 93ef49ce65443b48a22161a23de60d7eac046ae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkYt$4$iM&q0~G+c diff --git a/files/poketool/trainer/trpoke/narc_0492.bin b/files/poketool/trainer/trpoke/narc_0492.bin deleted file mode 100644 index f2118689fd151891627d45ea6766138f9fc732dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&}LY}$iM&q1HAy* diff --git a/files/poketool/trainer/trpoke/narc_0493.bin b/files/poketool/trainer/trpoke/narc_0493.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0494.bin b/files/poketool/trainer/trpoke/narc_0494.bin deleted file mode 100644 index 92bdd7537ae5cca49be6b631ae470ba5ed3fd03a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY`xL$iM&q15E(K diff --git a/files/poketool/trainer/trpoke/narc_0495.bin b/files/poketool/trainer/trpoke/narc_0495.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0496.bin b/files/poketool/trainer/trpoke/narc_0496.bin deleted file mode 100644 index 945f637bf09aa061746f769b24e89d43ef355712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ZcmZQz;AQA%WMJT9&}3j>;AhweBmobR0ipl^ diff --git a/files/poketool/trainer/trpoke/narc_0497.bin b/files/poketool/trainer/trpoke/narc_0497.bin deleted file mode 100644 index 90aaebd924eb5d43300dbee256ffe6dad0429ae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmd;LkYZTGc$CqQA&KD$0|Ns97~TT~ diff --git a/files/poketool/trainer/trpoke/narc_0498.bin b/files/poketool/trainer/trpoke/narc_0498.bin deleted file mode 100644 index 47a8cb3189e62b93e346c35566899460c35348c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmd;LkYLbaG-nWHIK#lezy;)OXRu{B%aG5|!3Y2@wgf={ diff --git a/files/poketool/trainer/trpoke/narc_0499.bin b/files/poketool/trainer/trpoke/narc_0499.bin deleted file mode 100644 index 4d7b647f8dd470a5a6656d6ad3e6cf394e5a9df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmYdcFk_g+IE7Jy(T6deAqB`g%;3cs$soxn3g*Qzd}rulh-b)UU|;|MxdaFW diff --git a/files/poketool/trainer/trpoke/narc_0500.bin b/files/poketool/trainer/trpoke/narc_0500.bin deleted file mode 100644 index da30a037da0d673688ca378ff84cab3e441c10e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 wcmYdcFk{%jxR{}s@hZa~h7=&rn<0{652G4`1S5#2#W0!CkTI7rmw|x+0Ox-Q(*OVf diff --git a/files/poketool/trainer/trpoke/narc_0501.bin b/files/poketool/trainer/trpoke/narc_0501.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0502.bin b/files/poketool/trainer/trpoke/narc_0502.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0503.bin b/files/poketool/trainer/trpoke/narc_0503.bin deleted file mode 100644 index 1c94189866791fb97522288df7ee66baf02266ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkY|WzU;vWd3;+d80O*WxWE7a21)^L diff --git a/files/poketool/trainer/trpoke/narc_0506.bin b/files/poketool/trainer/trpoke/narc_0506.bin deleted file mode 100644 index 84f2c9ace3292a33e20548e2dd7ee657dee8fd1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 WcmZQzkY?~=U|^7E@CK9dKoS5AG67Bi diff --git a/files/poketool/trainer/trpoke/narc_0507.bin b/files/poketool/trainer/trpoke/narc_0507.bin deleted file mode 100644 index 1260c564e256859ff9b07a415b01d90248e1325c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1RP-W0!U|;|M0)7B) diff --git a/files/poketool/trainer/trpoke/narc_0508.bin b/files/poketool/trainer/trpoke/narc_0508.bin deleted file mode 100644 index f21480137af5e11b423b13c1e66ca297940ccd95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Rcmb1RP-fs|lmn7m7y$+90Y(4- diff --git a/files/poketool/trainer/trpoke/narc_0509.bin b/files/poketool/trainer/trpoke/narc_0509.bin deleted file mode 100644 index 7482b5e2da068fe3292f8a95881ef53acf89b71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1RP-WP}$iM&q1fc-; diff --git a/files/poketool/trainer/trpoke/narc_0510.bin b/files/poketool/trainer/trpoke/narc_0510.bin deleted file mode 100644 index 8af3d6e85378cc38806c4976eb1c03cbc93db3fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 Zcmb1RP+;I>lw(k0-~o~<47`jC3;+uU0OkMy diff --git a/files/poketool/trainer/trpoke/narc_0511.bin b/files/poketool/trainer/trpoke/narc_0511.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0512.bin b/files/poketool/trainer/trpoke/narc_0512.bin deleted file mode 100644 index 224c13bb16bc8a5ef6f8cd9314b045272cb3139d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Scmb1RP+{1@C<{9 diff --git a/files/poketool/trainer/trpoke/narc_0519.bin b/files/poketool/trainer/trpoke/narc_0519.bin deleted file mode 100644 index cf384c83ef7c41760cdf4042b2f30ea0cce9230a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1R&|uJFU|;|M0+0Z4 diff --git a/files/poketool/trainer/trpoke/narc_0520.bin b/files/poketool/trainer/trpoke/narc_0520.bin deleted file mode 100644 index c2020c0863dc2445e9e59714cbe1acefc2b63206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Rcmb1RP-WP{C0cHRI diff --git a/files/poketool/trainer/trpoke/narc_0521.bin b/files/poketool/trainer/trpoke/narc_0521.bin deleted file mode 100644 index 2112a712dd3f511456b3b52bd35674959e5c3a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Rcmb1RP-Ea_lmn7S836`10bKw9 diff --git a/files/poketool/trainer/trpoke/narc_0522.bin b/files/poketool/trainer/trpoke/narc_0522.bin deleted file mode 100644 index b56d314bc253a97a3bb3ad6ca340a48b26b6270a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 Wcmb1RP-ZyFC@ diff --git a/files/poketool/trainer/trpoke/narc_0527.bin b/files/poketool/trainer/trpoke/narc_0527.bin deleted file mode 100644 index a6dcdedbc0b957fad9dd45e1d79629097fdfc648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Scmb1RP-ED{Cd AWB>pF diff --git a/files/poketool/trainer/trpoke/narc_0529.bin b/files/poketool/trainer/trpoke/narc_0529.bin deleted file mode 100644 index 8dff3fbf82008ab9a5576b5d40f0b2c0c4a32900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N24*z`y_i11~0b2k7 diff --git a/files/poketool/trainer/trpoke/narc_0543.bin b/files/poketool/trainer/trpoke/narc_0543.bin deleted file mode 100644 index 87577a77973cdfc5f7dcc463a182d124c3a4f7b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQz5Mx-w$iN`Nu$~bB2mS$w diff --git a/files/poketool/trainer/trpoke/narc_0544.bin b/files/poketool/trainer/trpoke/narc_0544.bin deleted file mode 100644 index c3f25db1bfba748c9a5ad15e40cc73c48e8a0d1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQz5M}6RWB`)@2G9XZ diff --git a/files/poketool/trainer/trpoke/narc_0545.bin b/files/poketool/trainer/trpoke/narc_0545.bin deleted file mode 100644 index 4c188c1b95f17dd6c679ca001d534724e2d7b267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5NFuQz`y_i19kw> diff --git a/files/poketool/trainer/trpoke/narc_0546.bin b/files/poketool/trainer/trpoke/narc_0546.bin deleted file mode 100644 index 614083b55a1adf723f7d17d017bef391e886d452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQz5M|iL$N(hQFaQ7uK>>~c diff --git a/files/poketool/trainer/trpoke/narc_0547.bin b/files/poketool/trainer/trpoke/narc_0547.bin deleted file mode 100644 index f359beb4b3a5d71053c2a023fc26fdeb68a572da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N9~Xz`y_i1F8Vt diff --git a/files/poketool/trainer/trpoke/narc_0548.bin b/files/poketool/trainer/trpoke/narc_0548.bin deleted file mode 100644 index 5eec213939e26b9f33bcf78b566cd2267d056ff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQz5N9~Vu!>QX!JMI$fq?-46&(Ur diff --git a/files/poketool/trainer/trpoke/narc_0549.bin b/files/poketool/trainer/trpoke/narc_0549.bin deleted file mode 100644 index f98aaf3a24bf676024a14af64033100806c4a6da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5NB{;U|;|M0g?b% diff --git a/files/poketool/trainer/trpoke/narc_0550.bin b/files/poketool/trainer/trpoke/narc_0550.bin deleted file mode 100644 index dd1ca4e0612ec6cefc4d7fab1fc36c75418eb1d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N9~S$iM&q1GNC* diff --git a/files/poketool/trainer/trpoke/narc_0551.bin b/files/poketool/trainer/trpoke/narc_0551.bin deleted file mode 100644 index c6613f1d6432b20a19d83b491d04558e5d44ee1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N9xBU|;|M0crqF diff --git a/files/poketool/trainer/trpoke/narc_0552.bin b/files/poketool/trainer/trpoke/narc_0552.bin deleted file mode 100644 index faeb3988a5b3bbaccde406cda28754e6e1286d6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 gcmYdc5NB{=aAk02ILN@jkOJgwVRU0uWXJ{b06v@q3;+NC diff --git a/files/poketool/trainer/trpoke/narc_0553.bin b/files/poketool/trainer/trpoke/narc_0553.bin deleted file mode 100644 index efc8d07316d7ed8dd4f9f0b0146d1c5dabc96ff8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 XcmZQz5Mc0PU|xQ>C9(Fn*ZWejBWVO+!bi2(ph#09

IxP$Q%!xTmzMg|4|BOU|5 diff --git a/files/poketool/trainer/trpoke/narc_0581.bin b/files/poketool/trainer/trpoke/narc_0581.bin deleted file mode 100644 index f3d24ec0c1d57d34c704aeb8eeacd08deb0379b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmXqFuwXdHAkFxVA)P^z(Fn+^W|+b_nQ;Q+DKIaSA(BCjVJ?F<0|Ns9%CHDf diff --git a/files/poketool/trainer/trpoke/narc_0582.bin b/files/poketool/trainer/trpoke/narc_0582.bin deleted file mode 100644 index 888cc078deaafd7c80cefe1684114ad28b27a734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 icmXqFuw*D^n8fgj;WWc$1|uNvCc|O|2}U2r9Si_vLI&ml diff --git a/files/poketool/trainer/trpoke/narc_0583.bin b/files/poketool/trainer/trpoke/narc_0583.bin deleted file mode 100644 index cae7500379e192078619fdbc84c6dedc9721cd46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFl9(&WMD97NM-~82G9XB diff --git a/files/poketool/trainer/trpoke/narc_0584.bin b/files/poketool/trainer/trpoke/narc_0584.bin deleted file mode 100644 index 9dbe752d789c45e1d476c1f2bdedc1e113bfbfd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFk=X3WMHsjaAO1j23!FU diff --git a/files/poketool/trainer/trpoke/narc_0585.bin b/files/poketool/trainer/trpoke/narc_0585.bin deleted file mode 100644 index 6c390090b6c89b18ec2bd3b2fa0e1486d204b771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFlO*)U|=w32w(sJ1^xjF diff --git a/files/poketool/trainer/trpoke/narc_0586.bin b/files/poketool/trainer/trpoke/narc_0586.bin deleted file mode 100644 index 6914d8b94cff83a7b4ad2a77b51b9b38d73f27cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzuwdB4z`$U|u$B=33J(F( diff --git a/files/poketool/trainer/trpoke/narc_0587.bin b/files/poketool/trainer/trpoke/narc_0587.bin deleted file mode 100644 index bf755385caff5d4a5d1ae76bcf7237333e69d3c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 bcmb1RFk`S_kYg}q&|s8fFlW$YWMBXQ5>f$( diff --git a/files/poketool/trainer/trpoke/narc_0588.bin b/files/poketool/trainer/trpoke/narc_0588.bin deleted file mode 100644 index 0a27f1607acffcc208542df53e28b6d79704cb9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 Rcmb1Ruw?LIlmn733;+l<0YCr% diff --git a/files/poketool/trainer/trpoke/narc_0589.bin b/files/poketool/trainer/trpoke/narc_0589.bin deleted file mode 100644 index 319437cb82f43da5f00f4a277488a7654d57a8f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 Zcmb1RFlBhdAje?IkO?HM7~~ik7yuv_0(Sra diff --git a/files/poketool/trainer/trpoke/narc_0590.bin b/files/poketool/trainer/trpoke/narc_0590.bin deleted file mode 100644 index 0de57f1232549adecfd2c379df2d061085808297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 Pcmb1Rux4;!U|;|M18M-C diff --git a/files/poketool/trainer/trpoke/narc_0591.bin b/files/poketool/trainer/trpoke/narc_0591.bin deleted file mode 100644 index 4b729163ef5592fff21271466c687b6253235368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmXqFFkwhzFk-M`xXAzj3t|Ei diff --git a/files/poketool/trainer/trpoke/narc_0592.bin b/files/poketool/trainer/trpoke/narc_0592.bin deleted file mode 100644 index f5385fc711d9a3defcfab900bc12e6a8ece84c5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmXqFFlTUQGy;+di~tFe0ek=e diff --git a/files/poketool/trainer/trpoke/narc_0593.bin b/files/poketool/trainer/trpoke/narc_0593.bin deleted file mode 100644 index 545ec9ed829742d8fdb0cb4b4b73790af7e64342..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmXqFFlTtdz`y_i27&=n diff --git a/files/poketool/trainer/trpoke/narc_0594.bin b/files/poketool/trainer/trpoke/narc_0594.bin deleted file mode 100644 index 2827db792294545ada332f8425ee5720094f81ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmXqFFk)b5G-9w|c+3C*2x$Sj diff --git a/files/poketool/trainer/trpoke/narc_0595.bin b/files/poketool/trainer/trpoke/narc_0595.bin deleted file mode 100644 index cae163967ac77668cbc7dbba14cb49f7b18d2ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmXqFuw=+#FanYai~tHx0b~FG diff --git a/files/poketool/trainer/trpoke/narc_0596.bin b/files/poketool/trainer/trpoke/narc_0596.bin deleted file mode 100644 index 185a297ce87c1cfefc8781f83d410ca7efcd35b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmXqFFk|pwG-9w|@MHu431$Ii diff --git a/files/poketool/trainer/trpoke/narc_0597.bin b/files/poketool/trainer/trpoke/narc_0597.bin deleted file mode 100644 index 870ef5ed21980e78deb85ce4b41788ef4e161116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzFlGp2U;vVp3;+gr0X6^t diff --git a/files/poketool/trainer/trpoke/narc_0598.bin b/files/poketool/trainer/trpoke/narc_0598.bin deleted file mode 100644 index 464149496e3b3ead6f90bf030c268c64518f1688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFl7j1WMBXQ0-*qn diff --git a/files/poketool/trainer/trpoke/narc_0599.bin b/files/poketool/trainer/trpoke/narc_0599.bin deleted file mode 100644 index 617da377f5972b883d3501372ffa8f27bb5d3599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQzFlJcAzyKsyGXMYyd;z=w diff --git a/files/poketool/trainer/trpoke/narc_0600.bin b/files/poketool/trainer/trpoke/narc_0600.bin deleted file mode 100644 index 4090069744e97910a4bf5215d3d444f17e29fd9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQzFlMl0WPp-p4E8`a01mYQTL1t6 diff --git a/files/poketool/trainer/trpoke/narc_0601.bin b/files/poketool/trainer/trpoke/narc_0601.bin deleted file mode 100644 index 377228fd32d2e8572aae9e9a02a4ac0ab69e8c52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFk&cTWMD93Xl4Ka2Xz5o diff --git a/files/poketool/trainer/trpoke/narc_0602.bin b/files/poketool/trainer/trpoke/narc_0602.bin deleted file mode 100644 index 2dadb03e1495b8c20f30cebc12807001974dcebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFk(2x$iQI2@Q48b3hM$C diff --git a/files/poketool/trainer/trpoke/narc_0603.bin b/files/poketool/trainer/trpoke/narc_0603.bin deleted file mode 100644 index 4b2e75886e5fd9ab22cb56cd84e0f47abfb0dfd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFk%Q}U|=v~2xkBQ1~vf} diff --git a/files/poketool/trainer/trpoke/narc_0604.bin b/files/poketool/trainer/trpoke/narc_0604.bin deleted file mode 100644 index cb4a445c243ba3082bf34f4e638d878550c3ba0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 WcmZQzFkzU$$N(gFFo4J$AR7P~RsvH1 diff --git a/files/poketool/trainer/trpoke/narc_0605.bin b/files/poketool/trainer/trpoke/narc_0605.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0606.bin b/files/poketool/trainer/trpoke/narc_0606.bin deleted file mode 100644 index 00ab7bbf73b01c61faecb3831159f7f2e53c284e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 wcmYdcuwYPQG+@+WNN4!VkOJhrV2ET8W!S-B%Lw8%Ff3qP!}x?@E&~Gt0K|IEL) diff --git a/files/poketool/trainer/trpoke/narc_0611.bin b/files/poketool/trainer/trpoke/narc_0611.bin deleted file mode 100644 index f93dff09da27cf6fdeea0306c69f22942d1338f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmb1RuwsZ{jAQu5P{>fsz`y_i85IKR diff --git a/files/poketool/trainer/trpoke/narc_0612.bin b/files/poketool/trainer/trpoke/narc_0612.bin deleted file mode 100644 index f745362cefa6c768f6254478221312c647fa9e24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Xcmb1R5Mpp(h-HXpoWjt?z`y_i5*-3a diff --git a/files/poketool/trainer/trpoke/narc_0613.bin b/files/poketool/trainer/trpoke/narc_0613.bin deleted file mode 100644 index 71655ed69c5ce1f6ebbaaf63a398ecb0819e4dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmb1R;ALoLbZ1axfB*mtqX8HI diff --git a/files/poketool/trainer/trpoke/narc_0614.bin b/files/poketool/trainer/trpoke/narc_0614.bin deleted file mode 100644 index 2be0d4251e6c3d90311f146bb6adc71a1f18582b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmb1R;ALoIG-2RkfB*msQ2_A( diff --git a/files/poketool/trainer/trpoke/narc_0615.bin b/files/poketool/trainer/trpoke/narc_0615.bin deleted file mode 100644 index dcd10d8f837c9866b07dbf675427c5fa6c3a3a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmb1R;AQA!oXEh)0096F&jCmP diff --git a/files/poketool/trainer/trpoke/narc_0616.bin b/files/poketool/trainer/trpoke/narc_0616.bin deleted file mode 100644 index 71655ed69c5ce1f6ebbaaf63a398ecb0819e4dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmb1R;ALoLbZ1axfB*mtqX8HI diff --git a/files/poketool/trainer/trpoke/narc_0617.bin b/files/poketool/trainer/trpoke/narc_0617.bin deleted file mode 100644 index 2be0d4251e6c3d90311f146bb6adc71a1f18582b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmb1R;ALoIG-2RkfB*msQ2_A( diff --git a/files/poketool/trainer/trpoke/narc_0618.bin b/files/poketool/trainer/trpoke/narc_0618.bin deleted file mode 100644 index dcd10d8f837c9866b07dbf675427c5fa6c3a3a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 Scmb1R;AQA!oXEh)0096F&jCmP diff --git a/files/poketool/trainer/trpoke/narc_0619.bin b/files/poketool/trainer/trpoke/narc_0619.bin deleted file mode 100644 index 2872ebf449fafa33332b58cd4d7ddea7dd32ba9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmbQnpuw<@QHkLn0|R3^!!#hTkFki+hf#$g3CPoASj2dg@d<+j<8vTSi{TnW5u*g- f1fV=f&YJNQLkxp3qXUqq&CmhV*TlGnft3*e8mbZv diff --git a/files/poketool/trainer/trpoke/narc_0620.bin b/files/poketool/trainer/trpoke/narc_0620.bin deleted file mode 100644 index d1b5eef424d6b97e3426b7a0a286445146eaacbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmbQnpuw<@QHkLn0|R3^!!#hTkFki+hf#$g3CPoAux32P5W^tM=)gFQL5txULlL6{ g;{>2QNY0m`j)9d?oIwSsQk$Wh@hDLI1;cp;0LDHL@c;k- diff --git a/files/poketool/trainer/trpoke/narc_0621.bin b/files/poketool/trainer/trpoke/narc_0621.bin deleted file mode 100644 index e7c743960e7e2aa17b4765306cf2fec9e00529fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 ucmcCvkYrG1C}T)rOk>n%umSQMfaGe%VunH>EyK{oXv^>dD5lH6zyJW0j0V5} diff --git a/files/poketool/trainer/trpoke/narc_0622.bin b/files/poketool/trainer/trpoke/narc_0622.bin deleted file mode 100644 index 1b483c6200776f2c43fb01a53bd6d68d1ae34048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmcCvkYrG1C}T)rOk>n%umSQMfaGe%VunH>EyK{l=*{54pu@0^fq?-4kz59q diff --git a/files/poketool/trainer/trpoke/narc_0623.bin b/files/poketool/trainer/trpoke/narc_0623.bin deleted file mode 100644 index 3e834a56c4d5e936a7957c0ce2793d3903bf2a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmcCvkYrG1C}T)rOk>n%umSQMfaGe%VunH>EyK{xxQ1an!z>17Mg|4|n5_pa diff --git a/files/poketool/trainer/trpoke/narc_0624.bin b/files/poketool/trainer/trpoke/narc_0624.bin deleted file mode 100644 index e7c743960e7e2aa17b4765306cf2fec9e00529fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 ucmcCvkYrG1C}T)rOk>n%umSQMfaGe%VunH>EyK{oXv^>dD5lH6zyJW0j0V5} diff --git a/files/poketool/trainer/trpoke/narc_0625.bin b/files/poketool/trainer/trpoke/narc_0625.bin deleted file mode 100644 index 1b483c6200776f2c43fb01a53bd6d68d1ae34048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmcCvkYrG1C}T)rOk>n%umSQMfaGe%VunH>EyK{l=*{54pu@0^fq?-4kz59q diff --git a/files/poketool/trainer/trpoke/narc_0626.bin b/files/poketool/trainer/trpoke/narc_0626.bin deleted file mode 100644 index 3e834a56c4d5e936a7957c0ce2793d3903bf2a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmcCvkYrG1C}T)rOk>n%umSQMfaGe%VunH>EyK{xxQ1an!z>17Mg|4|n5_pa diff --git a/files/poketool/trainer/trpoke/narc_0627.bin b/files/poketool/trainer/trpoke/narc_0627.bin deleted file mode 100644 index 9debb329fe78602dad5f4379d41e007f3164dc19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N4Rh$iM&q0@VPk diff --git a/files/poketool/trainer/trpoke/narc_0628.bin b/files/poketool/trainer/trpoke/narc_0628.bin deleted file mode 100644 index 5cc5edc42173663ef6eefe8f9647a25c683a07f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY})FWMBXQ0kHsF diff --git a/files/poketool/trainer/trpoke/narc_0629.bin b/files/poketool/trainer/trpoke/narc_0629.bin deleted file mode 100644 index c05e7e054c97cd3d88bacca5b7ddb27af76f0d97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlVr4WMBXQ0zm+D diff --git a/files/poketool/trainer/trpoke/narc_0630.bin b/files/poketool/trainer/trpoke/narc_0630.bin deleted file mode 100644 index d910a785b172cdddca5a3eafb9df920a99c17c8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkY%W1U;vUk82|?40d4>Q diff --git a/files/poketool/trainer/trpoke/narc_0631.bin b/files/poketool/trainer/trpoke/narc_0631.bin deleted file mode 100644 index fbb3335025d43c84f60f3f984b6f5ea23658e5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP-UoMU|>*Z*vS9@2V4Pw diff --git a/files/poketool/trainer/trpoke/narc_0632.bin b/files/poketool/trainer/trpoke/narc_0632.bin deleted file mode 100644 index 31b220ca63097b75ecb0e634320386458e7c1814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzuw*Tux4anP-9RAvH=gp0Z9M= diff --git a/files/poketool/trainer/trpoke/narc_0644.bin b/files/poketool/trainer/trpoke/narc_0644.bin deleted file mode 100644 index d49b7b7bf36625b077c4a6e603ce80190b65dfaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 ZcmZQzFkz@-U|=w2ux4anFlA5yvH=n00e1iZ diff --git a/files/poketool/trainer/trpoke/narc_0645.bin b/files/poketool/trainer/trpoke/narc_0645.bin deleted file mode 100644 index a75d12bbb9321b37d18c4f3e9112bb62f0fde7e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQz5N7aVxW^E|(94+5z`y_i6%7KB diff --git a/files/poketool/trainer/trpoke/narc_0646.bin b/files/poketool/trainer/trpoke/narc_0646.bin deleted file mode 100644 index 4ebe6411f23fd3769a460fe0daf428b426c0e330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQzkZ15_h-19R(94+5z`y_i6#4?C diff --git a/files/poketool/trainer/trpoke/narc_0647.bin b/files/poketool/trainer/trpoke/narc_0647.bin deleted file mode 100644 index 81721beb8ab6d2277d09d258145ac19c9bd807a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQzFlX>)h-8?{Ai;Q&fq?-460rhX diff --git a/files/poketool/trainer/trpoke/narc_0648.bin b/files/poketool/trainer/trpoke/narc_0648.bin deleted file mode 100644 index f26c5f03de0a0db8b7718b44e7ef08a741eff321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 vcmXqFFk_Hn2xs`fAj%NNUhAk3J-UV*~(2k_8w5 diff --git a/files/poketool/trainer/trpoke/narc_0650.bin b/files/poketool/trainer/trpoke/narc_0650.bin deleted file mode 100644 index 3960cfbe021df19ccfe93c269c7ed31b707f0cd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQzFlIQ&$iQFA!3fAZ%@D_Mit!Ue7y|%TH3pOb diff --git a/files/poketool/trainer/trpoke/narc_0664.bin b/files/poketool/trainer/trpoke/narc_0664.bin deleted file mode 100644 index e37afe6f051bf3bd6f619c2103b40591c3a58061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 wcmXqFP-kdo3})EQV9UtNXawX|!ipoXfz>XawX`+Gw3sPF)%Oy0MB~|{r~^~ diff --git a/files/poketool/trainer/trpoke/narc_0673.bin b/files/poketool/trainer/trpoke/narc_0673.bin deleted file mode 100644 index 2c90a5031df8263e4a2051c8831e44c2a4f38c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP-BQ?U|`T*ZH~}Qp7#x5k02BrR*Z=?k diff --git a/files/poketool/trainer/trpoke/narc_0678.bin b/files/poketool/trainer/trpoke/narc_0678.bin deleted file mode 100644 index 56fb0e1cbeb6f83faebc1e0d251412791bf8eb67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 YcmZQzuwsZ~U|_IhH~}QB861Hm02b;3761SM diff --git a/files/poketool/trainer/trpoke/narc_0679.bin b/files/poketool/trainer/trpoke/narc_0679.bin deleted file mode 100644 index 70ffdec697b5440ff5b6e5f345800e8a61e3c7c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuwpP_WB`(m3;+dT0P6q% diff --git a/files/poketool/trainer/trpoke/narc_0680.bin b/files/poketool/trainer/trpoke/narc_0680.bin deleted file mode 100644 index 6e4762389f71dc73afbc161bac9f53ab5f5a1a49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuwn>cU|_HTk^lx^0T%!O diff --git a/files/poketool/trainer/trpoke/narc_0681.bin b/files/poketool/trainer/trpoke/narc_0681.bin deleted file mode 100644 index 7e12a46e9b883b6746f144f84646f5bab87f2183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 acmZQzP+?fX$iSe=V9vn6pvG_-NCE&A9ReEw diff --git a/files/poketool/trainer/trpoke/narc_0682.bin b/files/poketool/trainer/trpoke/narc_0682.bin deleted file mode 100644 index c2a1145c6a7537544a395686f1f10edace32da45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 acmZQzuw+=l$iQI5V9vn6V8L)2NCE&C{{mM4 diff --git a/files/poketool/trainer/trpoke/narc_0683.bin b/files/poketool/trainer/trpoke/narc_0683.bin deleted file mode 100644 index 451db44e2717bcf979b2bd63949519f16df44020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY^}oU|;|M0-gYu diff --git a/files/poketool/trainer/trpoke/narc_0684.bin b/files/poketool/trainer/trpoke/narc_0684.bin deleted file mode 100644 index e5a5925bcf8d4fcfd505a6b79cd3f8c15245291b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlQ)dU|;|M11P+(Zk00MFhmPkA!1}h{U0|NkcfCSh8 diff --git a/files/poketool/trainer/trpoke/narc_0691.bin b/files/poketool/trainer/trpoke/narc_0691.bin deleted file mode 100644 index 0e9ce9b7ff0c0244396a9b0928acfd35f7dbbbe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkZ0J*$iM&q1E~Po diff --git a/files/poketool/trainer/trpoke/narc_0692.bin b/files/poketool/trainer/trpoke/narc_0692.bin deleted file mode 100644 index 07a0999a9f570ad23fe34d408324c048c869dc62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|uif$iM&q1K$AS diff --git a/files/poketool/trainer/trpoke/narc_0693.bin b/files/poketool/trainer/trpoke/narc_0693.bin deleted file mode 100644 index b7320eaeb4e4a808b6cb59719dcf878fe636df65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwmHA$iM&q1Xlp} diff --git a/files/poketool/trainer/trpoke/narc_0694.bin b/files/poketool/trainer/trpoke/narc_0694.bin deleted file mode 100644 index 019eb1c971ffac70bf86d4be9fe0ce34413bc19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlU&;$iM&q1Em1X diff --git a/files/poketool/trainer/trpoke/narc_0695.bin b/files/poketool/trainer/trpoke/narc_0695.bin deleted file mode 100644 index bb6d6462278e84b3f785d82abe2f97ad30643671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&}7)c$iM&q1JMBA diff --git a/files/poketool/trainer/trpoke/narc_0696.bin b/files/poketool/trainer/trpoke/narc_0696.bin deleted file mode 100644 index 685a16f40eee8c3641035255f7afe90fa2f2f665..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwdB2$iM&q1Sk0c`*P diff --git a/files/poketool/trainer/trpoke/narc_0709.bin b/files/poketool/trainer/trpoke/narc_0709.bin deleted file mode 100644 index 2b55d875edbe03829882d8ae5a1702aa4a4b55a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzkY$KxU;vW<1y}(2 diff --git a/files/poketool/trainer/trpoke/narc_0710.bin b/files/poketool/trainer/trpoke/narc_0710.bin deleted file mode 100644 index fb2c9b686200130a0cc8855a93c51eb27f5fa219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP-Tc`U|>*ZxWE7a2C@Ns diff --git a/files/poketool/trainer/trpoke/narc_0711.bin b/files/poketool/trainer/trpoke/narc_0711.bin deleted file mode 100644 index b43b42afae26429273e7ed657119d08e96468160..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuw=Nvz`$S)BmoOj0u=xN diff --git a/files/poketool/trainer/trpoke/narc_0712.bin b/files/poketool/trainer/trpoke/narc_0712.bin deleted file mode 100644 index 96fb869b91285fd421eedadf80db14af4070c2e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQz5M-Fh$N(g{7y$*I0KfnM diff --git a/files/poketool/trainer/trpoke/narc_0713.bin b/files/poketool/trainer/trpoke/narc_0713.bin deleted file mode 100644 index 3681e67a26e81cc473aa67c0dea00170f0276e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzkY$*}$N(g{7y$-O0NDTl diff --git a/files/poketool/trainer/trpoke/narc_0714.bin b/files/poketool/trainer/trpoke/narc_0714.bin deleted file mode 100644 index 123b4132617a3f7ed8c7eae2a83274dc372a4121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzFlCs;$N(g{836~N0SW*B diff --git a/files/poketool/trainer/trpoke/narc_0715.bin b/files/poketool/trainer/trpoke/narc_0715.bin deleted file mode 100644 index d7f630ee21dc22bcb4982bcefea54f2a0a0ae404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzkYOleU|^7ASi}eb29W_& diff --git a/files/poketool/trainer/trpoke/narc_0716.bin b/files/poketool/trainer/trpoke/narc_0716.bin deleted file mode 100644 index 939a69459add9adfa23d165deff73a1e5d42c9ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzP-7@(U;vVf7y$z`y_i5A^|^ diff --git a/files/poketool/trainer/trpoke/narc_0719.bin b/files/poketool/trainer/trpoke/narc_0719.bin deleted file mode 100644 index 966becdd8a4cc31558fdcf15e51454acba45acbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQzkZ0&(v}Jg~;J~2Ez`y_i6dM9P diff --git a/files/poketool/trainer/trpoke/narc_0720.bin b/files/poketool/trainer/trpoke/narc_0720.bin deleted file mode 100644 index 5f347443fbebf7a0fccca7dbf4ecc504381b0d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQzFlXpyv|w;#c)_5{z`y_i6a4~G diff --git a/files/poketool/trainer/trpoke/narc_0721.bin b/files/poketool/trainer/trpoke/narc_0721.bin deleted file mode 100644 index 554b55aedd8c3c1b7e0f7717ce1586f57e4a3185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY|u&U|;|M0VV)B diff --git a/files/poketool/trainer/trpoke/narc_0722.bin b/files/poketool/trainer/trpoke/narc_0722.bin deleted file mode 100644 index ccc02933c8de2d47556e98ddc4380822911efdfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|r{cU|;|M0bBq= diff --git a/files/poketool/trainer/trpoke/narc_0723.bin b/files/poketool/trainer/trpoke/narc_0723.bin deleted file mode 100644 index ff385a42338ec345a7a7ebb6362241ac2b03cb0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlUftU|;|M0k!~9 diff --git a/files/poketool/trainer/trpoke/narc_0724.bin b/files/poketool/trainer/trpoke/narc_0724.bin deleted file mode 100644 index 54ec44663c824ef13b0ab6bdd0c3a40730760908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzkYQNNz`!8K;LHF32RZ>E diff --git a/files/poketool/trainer/trpoke/narc_0725.bin b/files/poketool/trainer/trpoke/narc_0725.bin deleted file mode 100644 index 3bf3024b1dd7ab86c7916a607aa0c4446c536a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP-9raz`&rv;LHF32hIUD diff --git a/files/poketool/trainer/trpoke/narc_0726.bin b/files/poketool/trainer/trpoke/narc_0726.bin deleted file mode 100644 index ab645a7ff8fca7da402bffa7c5bb8bb531cd0672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzFlAW6z`$V6;KBd^2%-U1 diff --git a/files/poketool/trainer/trpoke/narc_0727.bin b/files/poketool/trainer/trpoke/narc_0727.bin deleted file mode 100644 index 019eb1c971ffac70bf86d4be9fe0ce34413bc19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlU&;$iM&q1Em1X diff --git a/files/poketool/trainer/trpoke/narc_0728.bin b/files/poketool/trainer/trpoke/narc_0728.bin deleted file mode 100644 index c1beab5f639cce0e4be538a12ef751cbe4e0d317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwj_O$iM&q1H%B) diff --git a/files/poketool/trainer/trpoke/narc_0729.bin b/files/poketool/trainer/trpoke/narc_0729.bin deleted file mode 100644 index f7ad4896984bee499183e9f130abb90311aff590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY`xU$iM&q191S% diff --git a/files/poketool/trainer/trpoke/narc_0730.bin b/files/poketool/trainer/trpoke/narc_0730.bin deleted file mode 100644 index b8bb37b43edd23cb9d1bde823f963383957bf9b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|p}@$iM&q1FHbm diff --git a/files/poketool/trainer/trpoke/narc_0731.bin b/files/poketool/trainer/trpoke/narc_0731.bin deleted file mode 100644 index 61e8042916304f6662a0348823712aeda54af818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwhuk$iM&q1S0_I diff --git a/files/poketool/trainer/trpoke/narc_0732.bin b/files/poketool/trainer/trpoke/narc_0732.bin deleted file mode 100644 index d72097aa7d98a3fa76ecb3bf2ffe261746461c17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmXqFkY|{}Xapn|F#-S!E&)Ik^ls(0L=gZ diff --git a/files/poketool/trainer/trpoke/narc_0745.bin b/files/poketool/trainer/trpoke/narc_0745.bin deleted file mode 100644 index fd45031154e86ab83130460ac5398206d622186c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzFlBILU;vW<1$+SQ diff --git a/files/poketool/trainer/trpoke/narc_0746.bin b/files/poketool/trainer/trpoke/narc_0746.bin deleted file mode 100644 index 1fb351ee9a514488d0a0be8d724b57f520518b41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 TcmZQzkYdneU|^7C(1Mcy2+jb~ diff --git a/files/poketool/trainer/trpoke/narc_0747.bin b/files/poketool/trainer/trpoke/narc_0747.bin deleted file mode 100644 index c8ef8f0ea08dcb8e90182089868e86100fe209a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQzP+`zwU|>)MlWJfR017Ao?f?J) diff --git a/files/poketool/trainer/trpoke/narc_0748.bin b/files/poketool/trainer/trpoke/narc_0748.bin deleted file mode 100644 index a1adbca89215b2d44acdf68908a9fbcc27bfe76c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 WcmZQzFlNwVU|=v|SP3Le!6X0^HUb#{ diff --git a/files/poketool/trainer/trpoke/narc_0749.bin b/files/poketool/trainer/trpoke/narc_0749.bin deleted file mode 100644 index ddc5588973ea368924d0999734ca4a70e9607435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|p~4$iM&q1GfO# diff --git a/files/poketool/trainer/trpoke/narc_0750.bin b/files/poketool/trainer/trpoke/narc_0750.bin deleted file mode 100644 index 2ef0e8537380ed34375e9089b68de7d1c95f09f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwmH1$iM&q1Tz5c diff --git a/files/poketool/trainer/trpoke/narc_0751.bin b/files/poketool/trainer/trpoke/narc_0751.bin deleted file mode 100644 index 248a35c3dc8970a39473c8c1cd459e63c99e1a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|tXEz`y_i1XKY4 diff --git a/files/poketool/trainer/trpoke/narc_0752.bin b/files/poketool/trainer/trpoke/narc_0752.bin deleted file mode 100644 index 5dd4de6b39acd2bb97fd7ff27c7d29a795100fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlV^Vz`y_i1g-%O diff --git a/files/poketool/trainer/trpoke/narc_0753.bin b/files/poketool/trainer/trpoke/narc_0753.bin deleted file mode 100644 index fc72c18d773880825e503a166fe1fb39a30d0842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzP-S?;z`&r+aGe1F3fKY$ diff --git a/files/poketool/trainer/trpoke/narc_0754.bin b/files/poketool/trainer/trpoke/narc_0754.bin deleted file mode 100644 index 9f4be4dbbc01c188083c4586694c9914575f6dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQzuwr<`zyKt#GXMY!_5v;d diff --git a/files/poketool/trainer/trpoke/narc_0755.bin b/files/poketool/trainer/trpoke/narc_0755.bin deleted file mode 100644 index 8d29b7625621872db61266cfeace3cab3889e2a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|v6gWMBXQ11|u# diff --git a/files/poketool/trainer/trpoke/narc_0756.bin b/files/poketool/trainer/trpoke/narc_0756.bin deleted file mode 100644 index ec082d0131a2bc67b9eee8d40171b1bb18391592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlXpvWMBXQ1C0R3 diff --git a/files/poketool/trainer/trpoke/narc_0757.bin b/files/poketool/trainer/trpoke/narc_0757.bin deleted file mode 100644 index f56e6f49379ff2bd4f08001ca164f8ca737da3ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|o;t$iM&q1SbIX diff --git a/files/poketool/trainer/trpoke/narc_0758.bin b/files/poketool/trainer/trpoke/narc_0758.bin deleted file mode 100644 index c202f19fdf505800137a345c3688e8b9e1894c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlRW;$iM&q1c3nr diff --git a/files/poketool/trainer/trpoke/narc_0759.bin b/files/poketool/trainer/trpoke/narc_0759.bin deleted file mode 100644 index a6fbac5cd5987841e0cfdd2cd76fc46dc26872f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuwq!u$N(fg82||B0b&3E diff --git a/files/poketool/trainer/trpoke/narc_0760.bin b/files/poketool/trainer/trpoke/narc_0760.bin deleted file mode 100644 index 2878655e972cfe2e60531aa454e907c3c8f78553..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuww9FU;vWl3;+e@0Q3L= diff --git a/files/poketool/trainer/trpoke/narc_0761.bin b/files/poketool/trainer/trpoke/narc_0761.bin deleted file mode 100644 index 462ec392f89dba2296dfe72e2b982e73066a95de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuwn>jU;vVp3;+h=0Yv}+ diff --git a/files/poketool/trainer/trpoke/narc_0762.bin b/files/poketool/trainer/trpoke/narc_0762.bin deleted file mode 100644 index 9d8b3a1763059c47996329889afdbb601d36eebf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzuwgjK$iM&q1eXB^ diff --git a/files/poketool/trainer/trpoke/narc_0763.bin b/files/poketool/trainer/trpoke/narc_0763.bin deleted file mode 100644 index 297362cca978dfbf3c97370463ff69f05e315280..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 RcmZQzuwoErWB`)o3;+b>0R#X5 diff --git a/files/poketool/trainer/trpoke/narc_0764.bin b/files/poketool/trainer/trpoke/narc_0764.bin deleted file mode 100644 index 8a72363598a7fe3e07ae32d8b42fbcf4975ddefc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 TcmZQzuwW=+WMHsiXl4Ka2gw0z diff --git a/files/poketool/trainer/trpoke/narc_0765.bin b/files/poketool/trainer/trpoke/narc_0765.bin deleted file mode 100644 index 2fb434c97417494b15c2fbf31b1b62c1a63bcce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N7CMWMBXQ0<8d{ diff --git a/files/poketool/trainer/trpoke/narc_0766.bin b/files/poketool/trainer/trpoke/narc_0766.bin deleted file mode 100644 index 6db623926311d74dd21eaf4b266b2d1786798d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkZ0&+WMBXQ0{H;0 diff --git a/files/poketool/trainer/trpoke/narc_0767.bin b/files/poketool/trainer/trpoke/narc_0767.bin deleted file mode 100644 index 8d29b7625621872db61266cfeace3cab3889e2a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz&|v6gWMBXQ11|u# diff --git a/files/poketool/trainer/trpoke/narc_0768.bin b/files/poketool/trainer/trpoke/narc_0768.bin deleted file mode 100644 index 99646dc420640640d51e33c9f1fa68c0c3271cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQz5N4Rf$iM&q0>uEQ diff --git a/files/poketool/trainer/trpoke/narc_0769.bin b/files/poketool/trainer/trpoke/narc_0769.bin deleted file mode 100644 index cdb5b644ca80c8e5e9c33656bf286582d181d50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzkY||0$iM&q0}TMP diff --git a/files/poketool/trainer/trpoke/narc_0770.bin b/files/poketool/trainer/trpoke/narc_0770.bin deleted file mode 100644 index 56d53027dbfe147db95b7b5f691e1d4c93943fb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzFlU&=$iM&q1DycN diff --git a/files/poketool/trainer/trpoke/narc_0771.bin b/files/poketool/trainer/trpoke/narc_0771.bin deleted file mode 100644 index f93cfcae25cc8e0e5e0a3718554f765b80e3d847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQzkYQNH$iN^CCS}1S02hq{N&o-= diff --git a/files/poketool/trainer/trpoke/narc_0772.bin b/files/poketool/trainer/trpoke/narc_0772.bin deleted file mode 100644 index 5f8048a07364fdfd53fc76361bfcda88658c3a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 UcmZQzFkx8E$iQFzql>h($ diff --git a/files/poketool/trainer/trpoke/narc_0773.bin b/files/poketool/trainer/trpoke/narc_0773.bin deleted file mode 100644 index 3752add35630156567afb4669a64d039455da194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQz&|sLrXvr{-L4~1}fq?-46CnaR diff --git a/files/poketool/trainer/trpoke/narc_0774.bin b/files/poketool/trainer/trpoke/narc_0774.bin deleted file mode 100644 index cb0befefc74045036e29ab68739017b66b208091..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 xcmYdcP-9rcc$D!MLnFfzh7<-3hSLmj45t{y8FYa>bp~e!Cm_~lILN@j008%43043A diff --git a/files/poketool/trainer/trpoke/narc_0775.bin b/files/poketool/trainer/trpoke/narc_0775.bin deleted file mode 100644 index ed71a62e326b0a9661097ecf26716dd4675af49d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16 XcmZQzFlU&+Xvr{-p_M^|k%0jK6nFwU diff --git a/files/poketool/trainer/trpoke/narc_0776.bin b/files/poketool/trainer/trpoke/narc_0776.bin deleted file mode 100644 index 43a1fadc1b6cbbdae91ee71b6f0a3001f6ebe7e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 zcmYdcuwq!uc$9HDV-f=|Lkfd6!)b;%hEEJ@7{!4+8wMAKcMQ%9I~e9NFfafB>Wm5q diff --git a/files/poketool/trainer/trpoke/narc_0777.bin b/files/poketool/trainer/trpoke/narc_0777.bin deleted file mode 100644 index 13ed5295d2b5625d753936978074000bbb90f489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44 wcmYdcuwv+AoXc3mn8Z-Xm;&U9GyY>>VEoTu!2sf|WSGpjgHeYemw|x+0N45nEC2ui diff --git a/files/poketool/trainer/trpoke/narc_0778.bin b/files/poketool/trainer/trpoke/narc_0778.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0779.bin b/files/poketool/trainer/trpoke/narc_0779.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0780.bin b/files/poketool/trainer/trpoke/narc_0780.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0781.bin b/files/poketool/trainer/trpoke/narc_0781.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0782.bin b/files/poketool/trainer/trpoke/narc_0782.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0783.bin b/files/poketool/trainer/trpoke/narc_0783.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0784.bin b/files/poketool/trainer/trpoke/narc_0784.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0785.bin b/files/poketool/trainer/trpoke/narc_0785.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0786.bin b/files/poketool/trainer/trpoke/narc_0786.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0787.bin b/files/poketool/trainer/trpoke/narc_0787.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0788.bin b/files/poketool/trainer/trpoke/narc_0788.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0789.bin b/files/poketool/trainer/trpoke/narc_0789.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0790.bin b/files/poketool/trainer/trpoke/narc_0790.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0791.bin b/files/poketool/trainer/trpoke/narc_0791.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0792.bin b/files/poketool/trainer/trpoke/narc_0792.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0793.bin b/files/poketool/trainer/trpoke/narc_0793.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0794.bin b/files/poketool/trainer/trpoke/narc_0794.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0795.bin b/files/poketool/trainer/trpoke/narc_0795.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0796.bin b/files/poketool/trainer/trpoke/narc_0796.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0797.bin b/files/poketool/trainer/trpoke/narc_0797.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0798.bin b/files/poketool/trainer/trpoke/narc_0798.bin deleted file mode 100644 index 1f22752bbb37fde647fa8e4ae6787b3ed820357f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 PcmZQzU}X?yU;vW<0T2K& diff --git a/files/poketool/trainer/trpoke/narc_0799.bin b/files/poketool/trainer/trpoke/narc_0799.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0800.bin b/files/poketool/trainer/trpoke/narc_0800.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0801.bin b/files/poketool/trainer/trpoke/narc_0801.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0802.bin b/files/poketool/trainer/trpoke/narc_0802.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0803.bin b/files/poketool/trainer/trpoke/narc_0803.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0804.bin b/files/poketool/trainer/trpoke/narc_0804.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0805.bin b/files/poketool/trainer/trpoke/narc_0805.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0806.bin b/files/poketool/trainer/trpoke/narc_0806.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0807.bin b/files/poketool/trainer/trpoke/narc_0807.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0808.bin b/files/poketool/trainer/trpoke/narc_0808.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0809.bin b/files/poketool/trainer/trpoke/narc_0809.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0810.bin b/files/poketool/trainer/trpoke/narc_0810.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0811.bin b/files/poketool/trainer/trpoke/narc_0811.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0812.bin b/files/poketool/trainer/trpoke/narc_0812.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0813.bin b/files/poketool/trainer/trpoke/narc_0813.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0814.bin b/files/poketool/trainer/trpoke/narc_0814.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0815.bin b/files/poketool/trainer/trpoke/narc_0815.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0816.bin b/files/poketool/trainer/trpoke/narc_0816.bin deleted file mode 100644 index 67a45289764cf03f6e2b09f900f8eb2df7af0f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzU}X?yU|;|M0CE5s diff --git a/files/poketool/trainer/trpoke/narc_0817.bin b/files/poketool/trainer/trpoke/narc_0817.bin deleted file mode 100644 index 96b135e73bc8c1315364768f410a6c37b8dee956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12 ScmZQz5NFuO$N(fKG6DbyXaRr# diff --git a/files/poketool/trainer/trpoke/narc_0818.bin b/files/poketool/trainer/trpoke/narc_0818.bin deleted file mode 100644 index 5cbe82cf455fc67a064d903148c443a482954d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28 dcmZQz5NFuN=+79z009yV+Zl@)3K^JzTmUce11g`mg{FwV)(=m$uI{f=fKd)xRo&y$oFIb02cNa%>V!Z diff --git a/files/poketool/trainer/trpoke/narc_0838.bin b/files/poketool/trainer/trpoke/narc_0838.bin deleted file mode 100644 index f679f39d7de61e256281d3935fdd649636c95bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeyxV8zhKSj6bVc$uM)@fU+N!(zsxjGq{mGfDt?HVoGo9xxO!PGFqN0Fs-|*vEK^ g;X8u^SgxNziQyANB*Pq_oC8A#qbb8|#-%`$05;DUTL1t6 diff --git a/files/poketool/trainer/trpoke/narc_0839.bin b/files/poketool/trainer/trpoke/narc_0839.bin deleted file mode 100644 index 6cef6043c2e33060ae3fe479c69a819651c45180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeyxV8zhKSj6bVc$uM)@fU+N!*s?z##0R6861E-8-{BP4;YFVCos-s0Ll3=)G>Ty h2w`Le%k?uTF??c(WS9e#b71IZv|xC_;K;C)5damR7n}e9 diff --git a/files/poketool/trainer/trpoke/narc_0840.bin b/files/poketool/trainer/trpoke/narc_0840.bin deleted file mode 100644 index 11a084ae84af578a69410514b1629d3b913060da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeyx;KIP;uv|aG0-(xB29QcGh7QIq#@UQZfhGX}O^+EC diff --git a/files/poketool/trainer/trpoke/narc_0842.bin b/files/poketool/trainer/trpoke/narc_0842.bin deleted file mode 100644 index c5ce5078de70866de01660c14d0591356db6efd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeyx;KI -#include -#include -#include -#include -#include -#include +#ifndef INCLUDE_INJA_INJA_HPP_ +#define INCLUDE_INJA_INJA_HPP_ #include // #include "environment.hpp" -#ifndef PANTOR_INJA_ENVIRONMENT_HPP -#define PANTOR_INJA_ENVIRONMENT_HPP +// Copyright (c) 2019 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_ENVIRONMENT_HPP_ +#define INCLUDE_INJA_ENVIRONMENT_HPP_ -#include #include +#include +#include #include #include #include // #include "config.hpp" -#ifndef PANTOR_INJA_CONFIG_HPP -#define PANTOR_INJA_CONFIG_HPP +// Copyright (c) 2019 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_CONFIG_HPP_ +#define INCLUDE_INJA_CONFIG_HPP_ #include #include @@ -94,94 +42,98 @@ #ifndef NONSTD_SV_LITE_H_INCLUDED #define NONSTD_SV_LITE_H_INCLUDED -#define string_view_lite_MAJOR 1 -#define string_view_lite_MINOR 1 -#define string_view_lite_PATCH 0 +#define string_view_lite_MAJOR 1 +#define string_view_lite_MINOR 4 +#define string_view_lite_PATCH 0 -#define string_view_lite_VERSION nssv_STRINGIFY(string_view_lite_MAJOR) "." nssv_STRINGIFY(string_view_lite_MINOR) "." nssv_STRINGIFY(string_view_lite_PATCH) +#define string_view_lite_VERSION \ + nssv_STRINGIFY(string_view_lite_MAJOR) "." nssv_STRINGIFY(string_view_lite_MINOR) "." nssv_STRINGIFY( \ + string_view_lite_PATCH) -#define nssv_STRINGIFY( x ) nssv_STRINGIFY_( x ) -#define nssv_STRINGIFY_( x ) #x +#define nssv_STRINGIFY(x) nssv_STRINGIFY_(x) +#define nssv_STRINGIFY_(x) #x // string-view lite configuration: -#define nssv_STRING_VIEW_DEFAULT 0 -#define nssv_STRING_VIEW_NONSTD 1 -#define nssv_STRING_VIEW_STD 2 +#define nssv_STRING_VIEW_DEFAULT 0 +#define nssv_STRING_VIEW_NONSTD 1 +#define nssv_STRING_VIEW_STD 2 -#if !defined( nssv_CONFIG_SELECT_STRING_VIEW ) -# define nssv_CONFIG_SELECT_STRING_VIEW ( nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD ) +#if !defined(nssv_CONFIG_SELECT_STRING_VIEW) +#define nssv_CONFIG_SELECT_STRING_VIEW (nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD) #endif -#if defined( nssv_CONFIG_SELECT_STD_STRING_VIEW ) || defined( nssv_CONFIG_SELECT_NONSTD_STRING_VIEW ) -# error nssv_CONFIG_SELECT_STD_STRING_VIEW and nssv_CONFIG_SELECT_NONSTD_STRING_VIEW are deprecated and removed, please use nssv_CONFIG_SELECT_STRING_VIEW=nssv_STRING_VIEW_... +#if defined(nssv_CONFIG_SELECT_STD_STRING_VIEW) || defined(nssv_CONFIG_SELECT_NONSTD_STRING_VIEW) +#error nssv_CONFIG_SELECT_STD_STRING_VIEW and nssv_CONFIG_SELECT_NONSTD_STRING_VIEW are deprecated and removed, please use nssv_CONFIG_SELECT_STRING_VIEW=nssv_STRING_VIEW_... #endif -#ifndef nssv_CONFIG_STD_SV_OPERATOR -# define nssv_CONFIG_STD_SV_OPERATOR 0 +#ifndef nssv_CONFIG_STD_SV_OPERATOR +#define nssv_CONFIG_STD_SV_OPERATOR 0 #endif -#ifndef nssv_CONFIG_USR_SV_OPERATOR -# define nssv_CONFIG_USR_SV_OPERATOR 1 +#ifndef nssv_CONFIG_USR_SV_OPERATOR +#define nssv_CONFIG_USR_SV_OPERATOR 1 #endif -#ifdef nssv_CONFIG_CONVERSION_STD_STRING -# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS nssv_CONFIG_CONVERSION_STD_STRING -# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS nssv_CONFIG_CONVERSION_STD_STRING +#ifdef nssv_CONFIG_CONVERSION_STD_STRING +#define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS nssv_CONFIG_CONVERSION_STD_STRING +#define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS nssv_CONFIG_CONVERSION_STD_STRING #endif -#ifndef nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS -# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS 1 +#ifndef nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +#define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS 1 #endif -#ifndef nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS -# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS 1 +#ifndef nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +#define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS 1 #endif // Control presence of exception handling (try and auto discover): #ifndef nssv_CONFIG_NO_EXCEPTIONS -# if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND) -# define nssv_CONFIG_NO_EXCEPTIONS 0 -# else -# define nssv_CONFIG_NO_EXCEPTIONS 1 -# endif +#if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND) +#define nssv_CONFIG_NO_EXCEPTIONS 0 +#else +#define nssv_CONFIG_NO_EXCEPTIONS 1 +#endif #endif // C++ language version detection (C++20 is speculative): // Note: VC14.0/1900 (VS2015) lacks too much from C++14. -#ifndef nssv_CPLUSPLUS -# if defined(_MSVC_LANG ) && !defined(__clang__) -# define nssv_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG ) -# else -# define nssv_CPLUSPLUS __cplusplus -# endif +#ifndef nssv_CPLUSPLUS +#if defined(_MSVC_LANG) && !defined(__clang__) +#define nssv_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG) +#else +#define nssv_CPLUSPLUS __cplusplus +#endif #endif -#define nssv_CPP98_OR_GREATER ( nssv_CPLUSPLUS >= 199711L ) -#define nssv_CPP11_OR_GREATER ( nssv_CPLUSPLUS >= 201103L ) -#define nssv_CPP11_OR_GREATER_ ( nssv_CPLUSPLUS >= 201103L ) -#define nssv_CPP14_OR_GREATER ( nssv_CPLUSPLUS >= 201402L ) -#define nssv_CPP17_OR_GREATER ( nssv_CPLUSPLUS >= 201703L ) -#define nssv_CPP20_OR_GREATER ( nssv_CPLUSPLUS >= 202000L ) +#define nssv_CPP98_OR_GREATER (nssv_CPLUSPLUS >= 199711L) +#define nssv_CPP11_OR_GREATER (nssv_CPLUSPLUS >= 201103L) +#define nssv_CPP11_OR_GREATER_ (nssv_CPLUSPLUS >= 201103L) +#define nssv_CPP14_OR_GREATER (nssv_CPLUSPLUS >= 201402L) +#define nssv_CPP17_OR_GREATER (nssv_CPLUSPLUS >= 201703L) +#define nssv_CPP20_OR_GREATER (nssv_CPLUSPLUS >= 202000L) // use C++17 std::string_view if available and requested: -#if nssv_CPP17_OR_GREATER && defined(__has_include ) -# if __has_include( ) -# define nssv_HAVE_STD_STRING_VIEW 1 -# else -# define nssv_HAVE_STD_STRING_VIEW 0 -# endif +#if nssv_CPP17_OR_GREATER && defined(__has_include) +#if __has_include( ) +#define nssv_HAVE_STD_STRING_VIEW 1 #else -# define nssv_HAVE_STD_STRING_VIEW 0 +#define nssv_HAVE_STD_STRING_VIEW 0 +#endif +#else +#define nssv_HAVE_STD_STRING_VIEW 0 #endif -#define nssv_USES_STD_STRING_VIEW ( (nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_STD) || ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_DEFAULT) && nssv_HAVE_STD_STRING_VIEW) ) +#define nssv_USES_STD_STRING_VIEW \ + ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_STD) || \ + ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_DEFAULT) && nssv_HAVE_STD_STRING_VIEW)) -#define nssv_HAVE_STARTS_WITH ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW ) -#define nssv_HAVE_ENDS_WITH nssv_HAVE_STARTS_WITH +#define nssv_HAVE_STARTS_WITH (nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW) +#define nssv_HAVE_ENDS_WITH nssv_HAVE_STARTS_WITH // // Use C++17 std::string_view: @@ -197,18 +149,15 @@ namespace nonstd { -template< class CharT, class Traits, class Allocator = std::allocator > -std::basic_string -to_string( std::basic_string_view v, Allocator const & a = Allocator() ) -{ - return std::basic_string( v.begin(), v.end(), a ); +template > +std::basic_string to_string(std::basic_string_view v, + Allocator const &a = Allocator()) { + return std::basic_string(v.begin(), v.end(), a); } -template< class CharT, class Traits, class Allocator > -std::basic_string_view -to_string_view( std::basic_string const & s ) -{ - return std::basic_string_view( s.data(), s.size() ); +template +std::basic_string_view to_string_view(std::basic_string const &s) { + return std::basic_string_view(s.data(), s.size()); } // Literal operators sv and _sv: @@ -224,28 +173,28 @@ using namespace std::literals::string_view_literals; inline namespace literals { inline namespace string_view_literals { - -constexpr std::string_view operator "" _sv( const char* str, size_t len ) noexcept // (1) +constexpr std::string_view operator"" _sv(const char *str, size_t len) noexcept // (1) { - return std::string_view{ str, len }; + return std::string_view {str, len}; } -constexpr std::u16string_view operator "" _sv( const char16_t* str, size_t len ) noexcept // (2) +constexpr std::u16string_view operator"" _sv(const char16_t *str, size_t len) noexcept // (2) { - return std::u16string_view{ str, len }; + return std::u16string_view {str, len}; } -constexpr std::u32string_view operator "" _sv( const char32_t* str, size_t len ) noexcept // (3) +constexpr std::u32string_view operator"" _sv(const char32_t *str, size_t len) noexcept // (3) { - return std::u32string_view{ str, len }; + return std::u32string_view {str, len}; } -constexpr std::wstring_view operator "" _sv( const wchar_t* str, size_t len ) noexcept // (4) +constexpr std::wstring_view operator"" _sv(const wchar_t *str, size_t len) noexcept // (4) { - return std::wstring_view{ str, len }; + return std::wstring_view {str, len}; } -}} // namespace literals::string_view_literals +} // namespace string_view_literals +} // namespace literals #endif // nssv_CONFIG_USR_SV_OPERATOR @@ -255,11 +204,11 @@ constexpr std::wstring_view operator "" _sv( const wchar_t* str, size_t len ) no namespace nonstd { +using std::basic_string_view; using std::string_view; -using std::wstring_view; using std::u16string_view; using std::u32string_view; -using std::basic_string_view; +using std::wstring_view; // literal "sv" and "_sv", see above @@ -293,115 +242,117 @@ using std::operator<<; // MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) // MSVC++ 14.1 _MSC_VER >= 1910 (Visual Studio 2017) -#if defined(_MSC_VER ) && !defined(__clang__) -# define nssv_COMPILER_MSVC_VER (_MSC_VER ) -# define nssv_COMPILER_MSVC_VERSION (_MSC_VER / 10 - 10 * ( 5 + (_MSC_VER < 1900 ) ) ) +#if defined(_MSC_VER) && !defined(__clang__) +#define nssv_COMPILER_MSVC_VER (_MSC_VER) +#define nssv_COMPILER_MSVC_VERSION (_MSC_VER / 10 - 10 * (5 + (_MSC_VER < 1900))) #else -# define nssv_COMPILER_MSVC_VER 0 -# define nssv_COMPILER_MSVC_VERSION 0 +#define nssv_COMPILER_MSVC_VER 0 +#define nssv_COMPILER_MSVC_VERSION 0 #endif -#define nssv_COMPILER_VERSION( major, minor, patch ) (10 * ( 10 * major + minor) + patch) +#define nssv_COMPILER_VERSION(major, minor, patch) (10 * (10 * (major) + (minor)) + (patch)) #if defined(__clang__) -# define nssv_COMPILER_CLANG_VERSION nssv_COMPILER_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__) +#define nssv_COMPILER_CLANG_VERSION nssv_COMPILER_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__) #else -# define nssv_COMPILER_CLANG_VERSION 0 +#define nssv_COMPILER_CLANG_VERSION 0 #endif #if defined(__GNUC__) && !defined(__clang__) -# define nssv_COMPILER_GNUC_VERSION nssv_COMPILER_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#define nssv_COMPILER_GNUC_VERSION nssv_COMPILER_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) #else -# define nssv_COMPILER_GNUC_VERSION 0 +#define nssv_COMPILER_GNUC_VERSION 0 #endif // half-open range [lo..hi): -#define nssv_BETWEEN( v, lo, hi ) ( (lo) <= (v) && (v) < (hi) ) +#define nssv_BETWEEN(v, lo, hi) ((lo) <= (v) && (v) < (hi)) // Presence of language and library features: #ifdef _HAS_CPP0X -# define nssv_HAS_CPP0X _HAS_CPP0X +#define nssv_HAS_CPP0X _HAS_CPP0X #else -# define nssv_HAS_CPP0X 0 +#define nssv_HAS_CPP0X 0 #endif // Unless defined otherwise below, consider VC14 as C++11 for variant-lite: #if nssv_COMPILER_MSVC_VER >= 1900 -# undef nssv_CPP11_OR_GREATER -# define nssv_CPP11_OR_GREATER 1 +#undef nssv_CPP11_OR_GREATER +#define nssv_CPP11_OR_GREATER 1 #endif -#define nssv_CPP11_90 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500) -#define nssv_CPP11_100 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600) -#define nssv_CPP11_110 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700) -#define nssv_CPP11_120 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800) -#define nssv_CPP11_140 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900) -#define nssv_CPP11_141 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910) +#define nssv_CPP11_90 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500) +#define nssv_CPP11_100 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600) +#define nssv_CPP11_110 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700) +#define nssv_CPP11_120 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800) +#define nssv_CPP11_140 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900) +#define nssv_CPP11_141 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910) -#define nssv_CPP14_000 (nssv_CPP14_OR_GREATER) -#define nssv_CPP17_000 (nssv_CPP17_OR_GREATER) +#define nssv_CPP14_000 (nssv_CPP14_OR_GREATER) +#define nssv_CPP17_000 (nssv_CPP17_OR_GREATER) // Presence of C++11 language features: -#define nssv_HAVE_CONSTEXPR_11 nssv_CPP11_140 -#define nssv_HAVE_EXPLICIT_CONVERSION nssv_CPP11_140 -#define nssv_HAVE_INLINE_NAMESPACE nssv_CPP11_140 -#define nssv_HAVE_NOEXCEPT nssv_CPP11_140 -#define nssv_HAVE_NULLPTR nssv_CPP11_100 -#define nssv_HAVE_REF_QUALIFIER nssv_CPP11_140 -#define nssv_HAVE_UNICODE_LITERALS nssv_CPP11_140 +#define nssv_HAVE_CONSTEXPR_11 nssv_CPP11_140 +#define nssv_HAVE_EXPLICIT_CONVERSION nssv_CPP11_140 +#define nssv_HAVE_INLINE_NAMESPACE nssv_CPP11_140 +#define nssv_HAVE_NOEXCEPT nssv_CPP11_140 +#define nssv_HAVE_NULLPTR nssv_CPP11_100 +#define nssv_HAVE_REF_QUALIFIER nssv_CPP11_140 +#define nssv_HAVE_UNICODE_LITERALS nssv_CPP11_140 #define nssv_HAVE_USER_DEFINED_LITERALS nssv_CPP11_140 -#define nssv_HAVE_WCHAR16_T nssv_CPP11_100 -#define nssv_HAVE_WCHAR32_T nssv_CPP11_100 +#define nssv_HAVE_WCHAR16_T nssv_CPP11_100 +#define nssv_HAVE_WCHAR32_T nssv_CPP11_100 -#if ! ( ( nssv_CPP11 && nssv_COMPILER_CLANG_VERSION ) || nssv_BETWEEN( nssv_COMPILER_CLANG_VERSION, 300, 400 ) ) -# define nssv_HAVE_STD_DEFINED_LITERALS nssv_CPP11_140 +#if !((nssv_CPP11_OR_GREATER && nssv_COMPILER_CLANG_VERSION) || nssv_BETWEEN(nssv_COMPILER_CLANG_VERSION, 300, 400)) +#define nssv_HAVE_STD_DEFINED_LITERALS nssv_CPP11_140 +#else +#define nssv_HAVE_STD_DEFINED_LITERALS 0 #endif // Presence of C++14 language features: -#define nssv_HAVE_CONSTEXPR_14 nssv_CPP14_000 +#define nssv_HAVE_CONSTEXPR_14 nssv_CPP14_000 // Presence of C++17 language features: -#define nssv_HAVE_NODISCARD nssv_CPP17_000 +#define nssv_HAVE_NODISCARD nssv_CPP17_000 // Presence of C++ library features: -#define nssv_HAVE_STD_HASH nssv_CPP11_120 +#define nssv_HAVE_STD_HASH nssv_CPP11_120 // C++ feature usage: #if nssv_HAVE_CONSTEXPR_11 -# define nssv_constexpr constexpr +#define nssv_constexpr constexpr #else -# define nssv_constexpr /*constexpr*/ +#define nssv_constexpr /*constexpr*/ #endif -#if nssv_HAVE_CONSTEXPR_14 -# define nssv_constexpr14 constexpr +#if nssv_HAVE_CONSTEXPR_14 +#define nssv_constexpr14 constexpr #else -# define nssv_constexpr14 /*constexpr*/ +#define nssv_constexpr14 /*constexpr*/ #endif #if nssv_HAVE_EXPLICIT_CONVERSION -# define nssv_explicit explicit +#define nssv_explicit explicit #else -# define nssv_explicit /*explicit*/ +#define nssv_explicit /*explicit*/ #endif #if nssv_HAVE_INLINE_NAMESPACE -# define nssv_inline_ns inline +#define nssv_inline_ns inline #else -# define nssv_inline_ns /*inline*/ +#define nssv_inline_ns /*inline*/ #endif #if nssv_HAVE_NOEXCEPT -# define nssv_noexcept noexcept +#define nssv_noexcept noexcept #else -# define nssv_noexcept /*noexcept*/ +#define nssv_noexcept /*noexcept*/ #endif //#if nssv_HAVE_REF_QUALIFIER @@ -413,15 +364,15 @@ using std::operator<<; //#endif #if nssv_HAVE_NULLPTR -# define nssv_nullptr nullptr +#define nssv_nullptr nullptr #else -# define nssv_nullptr NULL +#define nssv_nullptr NULL #endif #if nssv_HAVE_NODISCARD -# define nssv_nodiscard [[nodiscard]] +#define nssv_nodiscard [[nodiscard]] #else -# define nssv_nodiscard /*[[nodiscard]]*/ +#define nssv_nodiscard /*[[nodiscard]]*/ #endif // Additional includes: @@ -431,45 +382,45 @@ using std::operator<<; #include #include #include -#include // std::char_traits<> +#include // std::char_traits<> -#if ! nssv_CONFIG_NO_EXCEPTIONS -# include +#if !nssv_CONFIG_NO_EXCEPTIONS +#include #endif #if nssv_CPP11_OR_GREATER -# include +#include #endif // Clang, GNUC, MSVC warning suppression macros: #if defined(__clang__) -# pragma clang diagnostic ignored "-Wreserved-user-defined-literal" -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wuser-defined-literals" +#pragma clang diagnostic ignored "-Wreserved-user-defined-literal" +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wuser-defined-literals" #elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wliteral-suffix" +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wliteral-suffix" #endif // __clang__ #if nssv_COMPILER_MSVC_VERSION >= 140 -# define nssv_SUPPRESS_MSGSL_WARNING(expr) [[gsl::suppress(expr)]] -# define nssv_SUPPRESS_MSVC_WARNING(code, descr) __pragma(warning(suppress: code) ) -# define nssv_DISABLE_MSVC_WARNINGS(codes) __pragma(warning(push)) __pragma(warning(disable: codes)) +#define nssv_SUPPRESS_MSGSL_WARNING(expr) [[gsl::suppress(expr)]] +#define nssv_SUPPRESS_MSVC_WARNING(code, descr) __pragma(warning(suppress : code)) +#define nssv_DISABLE_MSVC_WARNINGS(codes) __pragma(warning(push)) __pragma(warning(disable : codes)) #else -# define nssv_SUPPRESS_MSGSL_WARNING(expr) -# define nssv_SUPPRESS_MSVC_WARNING(code, descr) -# define nssv_DISABLE_MSVC_WARNINGS(codes) +#define nssv_SUPPRESS_MSGSL_WARNING(expr) +#define nssv_SUPPRESS_MSVC_WARNING(code, descr) +#define nssv_DISABLE_MSVC_WARNINGS(codes) #endif #if defined(__clang__) -# define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") +#define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") #elif defined(__GNUC__) -# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") +#define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") #elif nssv_COMPILER_MSVC_VERSION >= 140 -# define nssv_RESTORE_WARNINGS() __pragma(warning(pop )) +#define nssv_RESTORE_WARNINGS() __pragma(warning(pop)) #else -# define nssv_RESTORE_WARNINGS() +#define nssv_RESTORE_WARNINGS() #endif // Suppress the following MSVC (GSL) warnings: @@ -479,418 +430,409 @@ using std::operator<<; // use brace initialization, gsl::narrow_cast or gsl::narow // - C26481: gsl::b.1 : don't use pointer arithmetic. Use span instead -nssv_DISABLE_MSVC_WARNINGS( 4455 26481 26472 ) -//nssv_DISABLE_CLANG_WARNINGS( "-Wuser-defined-literals" ) -//nssv_DISABLE_GNUC_WARNINGS( -Wliteral-suffix ) +nssv_DISABLE_MSVC_WARNINGS(4455 26481 26472) + // nssv_DISABLE_CLANG_WARNINGS( "-Wuser-defined-literals" ) + // nssv_DISABLE_GNUC_WARNINGS( -Wliteral-suffix ) -namespace nonstd { namespace sv_lite { + namespace nonstd { + namespace sv_lite { -template -< - class CharT, - class Traits = std::char_traits -> -class basic_string_view; +#if nssv_CPP11_OR_GREATER -// -// basic_string_view: -// + namespace detail { -template -< - class CharT, - class Traits /* = std::char_traits */ -> -class basic_string_view -{ -public: + // Expect tail call optimization to make length() non-recursive: + + template inline constexpr std::size_t length(CharT *s, std::size_t result = 0) { + return *s == '\0' ? result : length(s + 1, result + 1); + } + + } // namespace detail + +#endif // nssv_CPP11_OR_GREATER + + template > class basic_string_view; + + // + // basic_string_view: + // + + template */ + > + class basic_string_view { + public: // Member types: typedef Traits traits_type; - typedef CharT value_type; + typedef CharT value_type; - typedef CharT * pointer; - typedef CharT const * const_pointer; - typedef CharT & reference; - typedef CharT const & const_reference; + typedef CharT *pointer; + typedef CharT const *const_pointer; + typedef CharT &reference; + typedef CharT const &const_reference; typedef const_pointer iterator; typedef const_pointer const_iterator; - typedef std::reverse_iterator< const_iterator > reverse_iterator; - typedef std::reverse_iterator< const_iterator > const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + typedef std::reverse_iterator const_reverse_iterator; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; // 24.4.2.1 Construction and assignment: - nssv_constexpr basic_string_view() nssv_noexcept - : data_( nssv_nullptr ) - , size_( 0 ) - {} + nssv_constexpr basic_string_view() nssv_noexcept : data_(nssv_nullptr), size_(0) {} #if nssv_CPP11_OR_GREATER - nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept = default; + nssv_constexpr basic_string_view(basic_string_view const &other) nssv_noexcept = default; #else - nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept - : data_( other.data_) - , size_( other.size_) - {} + nssv_constexpr basic_string_view(basic_string_view const &other) nssv_noexcept : data_(other.data_), + size_(other.size_) {} #endif - nssv_constexpr basic_string_view( CharT const * s, size_type count ) - : data_( s ) - , size_( count ) - {} + nssv_constexpr basic_string_view(CharT const *s, size_type count) nssv_noexcept // non-standard noexcept + : data_(s), + size_(count) {} - nssv_constexpr basic_string_view( CharT const * s) - : data_( s ) - , size_( Traits::length(s) ) - {} + nssv_constexpr basic_string_view(CharT const *s) nssv_noexcept // non-standard noexcept + : data_(s) +#if nssv_CPP17_OR_GREATER + , + size_(Traits::length(s)) +#elif nssv_CPP11_OR_GREATER + , + size_(detail::length(s)) +#else + , + size_(Traits::length(s)) +#endif + { + } // Assignment: #if nssv_CPP11_OR_GREATER - nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept = default; + nssv_constexpr14 basic_string_view &operator=(basic_string_view const &other) nssv_noexcept = default; #else - nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept - { - data_ = other.data_; - size_ = other.size_; - return *this; + nssv_constexpr14 basic_string_view &operator=(basic_string_view const &other) nssv_noexcept { + data_ = other.data_; + size_ = other.size_; + return *this; } #endif // 24.4.2.2 Iterator support: - nssv_constexpr const_iterator begin() const nssv_noexcept { return data_; } - nssv_constexpr const_iterator end() const nssv_noexcept { return data_ + size_; } + nssv_constexpr const_iterator begin() const nssv_noexcept { return data_; } + nssv_constexpr const_iterator end() const nssv_noexcept { return data_ + size_; } nssv_constexpr const_iterator cbegin() const nssv_noexcept { return begin(); } - nssv_constexpr const_iterator cend() const nssv_noexcept { return end(); } + nssv_constexpr const_iterator cend() const nssv_noexcept { return end(); } - nssv_constexpr const_reverse_iterator rbegin() const nssv_noexcept { return const_reverse_iterator( end() ); } - nssv_constexpr const_reverse_iterator rend() const nssv_noexcept { return const_reverse_iterator( begin() ); } + nssv_constexpr const_reverse_iterator rbegin() const nssv_noexcept { return const_reverse_iterator(end()); } + nssv_constexpr const_reverse_iterator rend() const nssv_noexcept { return const_reverse_iterator(begin()); } nssv_constexpr const_reverse_iterator crbegin() const nssv_noexcept { return rbegin(); } - nssv_constexpr const_reverse_iterator crend() const nssv_noexcept { return rend(); } + nssv_constexpr const_reverse_iterator crend() const nssv_noexcept { return rend(); } // 24.4.2.3 Capacity: - nssv_constexpr size_type size() const nssv_noexcept { return size_; } - nssv_constexpr size_type length() const nssv_noexcept { return size_; } - nssv_constexpr size_type max_size() const nssv_noexcept { return (std::numeric_limits< size_type >::max)(); } + nssv_constexpr size_type size() const nssv_noexcept { return size_; } + nssv_constexpr size_type length() const nssv_noexcept { return size_; } + nssv_constexpr size_type max_size() const nssv_noexcept { return (std::numeric_limits::max)(); } // since C++20 - nssv_nodiscard nssv_constexpr bool empty() const nssv_noexcept - { - return 0 == size_; - } + nssv_nodiscard nssv_constexpr bool empty() const nssv_noexcept { return 0 == size_; } // 24.4.2.4 Element access: - nssv_constexpr const_reference operator[]( size_type pos ) const - { - return data_at( pos ); - } + nssv_constexpr const_reference operator[](size_type pos) const { return data_at(pos); } - nssv_constexpr14 const_reference at( size_type pos ) const - { + nssv_constexpr14 const_reference at(size_type pos) const { #if nssv_CONFIG_NO_EXCEPTIONS - assert( pos < size() ); + assert(pos < size()); #else - if ( pos >= size() ) - { - throw std::out_of_range("nonst::string_view::at()"); - } + if (pos >= size()) { + throw std::out_of_range("nonstd::string_view::at()"); + } #endif - return data_at( pos ); + return data_at(pos); } - nssv_constexpr const_reference front() const { return data_at( 0 ); } - nssv_constexpr const_reference back() const { return data_at( size() - 1 ); } + nssv_constexpr const_reference front() const { return data_at(0); } + nssv_constexpr const_reference back() const { return data_at(size() - 1); } - nssv_constexpr const_pointer data() const nssv_noexcept { return data_; } + nssv_constexpr const_pointer data() const nssv_noexcept { return data_; } // 24.4.2.5 Modifiers: - nssv_constexpr14 void remove_prefix( size_type n ) - { - assert( n <= size() ); - data_ += n; - size_ -= n; + nssv_constexpr14 void remove_prefix(size_type n) { + assert(n <= size()); + data_ += n; + size_ -= n; } - nssv_constexpr14 void remove_suffix( size_type n ) - { - assert( n <= size() ); - size_ -= n; + nssv_constexpr14 void remove_suffix(size_type n) { + assert(n <= size()); + size_ -= n; } - nssv_constexpr14 void swap( basic_string_view & other ) nssv_noexcept - { - using std::swap; - swap( data_, other.data_ ); - swap( size_, other.size_ ); + nssv_constexpr14 void swap(basic_string_view &other) nssv_noexcept { + using std::swap; + swap(data_, other.data_); + swap(size_, other.size_); } // 24.4.2.6 String operations: - size_type copy( CharT * dest, size_type n, size_type pos = 0 ) const - { + size_type copy(CharT *dest, size_type n, size_type pos = 0) const { #if nssv_CONFIG_NO_EXCEPTIONS - assert( pos <= size() ); + assert(pos <= size()); #else - if ( pos > size() ) - { - throw std::out_of_range("nonst::string_view::copy()"); - } + if (pos > size()) { + throw std::out_of_range("nonstd::string_view::copy()"); + } #endif - const size_type rlen = (std::min)( n, size() - pos ); + const size_type rlen = (std::min)(n, size() - pos); - (void) Traits::copy( dest, data() + pos, rlen ); + (void)Traits::copy(dest, data() + pos, rlen); - return rlen; + return rlen; } - nssv_constexpr14 basic_string_view substr( size_type pos = 0, size_type n = npos ) const - { + nssv_constexpr14 basic_string_view substr(size_type pos = 0, size_type n = npos) const { #if nssv_CONFIG_NO_EXCEPTIONS - assert( pos <= size() ); + assert(pos <= size()); #else - if ( pos > size() ) - { - throw std::out_of_range("nonst::string_view::substr()"); - } + if (pos > size()) { + throw std::out_of_range("nonstd::string_view::substr()"); + } #endif - return basic_string_view( data() + pos, (std::min)( n, size() - pos ) ); + return basic_string_view(data() + pos, (std::min)(n, size() - pos)); } // compare(), 6x: - nssv_constexpr14 int compare( basic_string_view other ) const nssv_noexcept // (1) + nssv_constexpr14 int compare(basic_string_view other) const nssv_noexcept // (1) { - if ( const int result = Traits::compare( data(), other.data(), (std::min)( size(), other.size() ) ) ) - return result; + if (const int result = Traits::compare(data(), other.data(), (std::min)(size(), other.size()))) { + return result; + } - return size() == other.size() ? 0 : size() < other.size() ? -1 : 1; + return size() == other.size() ? 0 : size() < other.size() ? -1 : 1; } - nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other ) const // (2) + nssv_constexpr int compare(size_type pos1, size_type n1, basic_string_view other) const // (2) { - return substr( pos1, n1 ).compare( other ); + return substr(pos1, n1).compare(other); } - nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other, size_type pos2, size_type n2 ) const // (3) + nssv_constexpr int compare(size_type pos1, size_type n1, basic_string_view other, size_type pos2, + size_type n2) const // (3) { - return substr( pos1, n1 ).compare( other.substr( pos2, n2 ) ); + return substr(pos1, n1).compare(other.substr(pos2, n2)); } - nssv_constexpr int compare( CharT const * s ) const // (4) + nssv_constexpr int compare(CharT const *s) const // (4) { - return compare( basic_string_view( s ) ); + return compare(basic_string_view(s)); } - nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s ) const // (5) + nssv_constexpr int compare(size_type pos1, size_type n1, CharT const *s) const // (5) { - return substr( pos1, n1 ).compare( basic_string_view( s ) ); + return substr(pos1, n1).compare(basic_string_view(s)); } - nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s, size_type n2 ) const // (6) + nssv_constexpr int compare(size_type pos1, size_type n1, CharT const *s, size_type n2) const // (6) { - return substr( pos1, n1 ).compare( basic_string_view( s, n2 ) ); + return substr(pos1, n1).compare(basic_string_view(s, n2)); } // 24.4.2.7 Searching: // starts_with(), 3x, since C++20: - nssv_constexpr bool starts_with( basic_string_view v ) const nssv_noexcept // (1) + nssv_constexpr bool starts_with(basic_string_view v) const nssv_noexcept // (1) { - return size() >= v.size() && compare( 0, v.size(), v ) == 0; + return size() >= v.size() && compare(0, v.size(), v) == 0; } - nssv_constexpr bool starts_with( CharT c ) const nssv_noexcept // (2) + nssv_constexpr bool starts_with(CharT c) const nssv_noexcept // (2) { - return starts_with( basic_string_view( &c, 1 ) ); + return starts_with(basic_string_view(&c, 1)); } - nssv_constexpr bool starts_with( CharT const * s ) const // (3) + nssv_constexpr bool starts_with(CharT const *s) const // (3) { - return starts_with( basic_string_view( s ) ); + return starts_with(basic_string_view(s)); } // ends_with(), 3x, since C++20: - nssv_constexpr bool ends_with( basic_string_view v ) const nssv_noexcept // (1) + nssv_constexpr bool ends_with(basic_string_view v) const nssv_noexcept // (1) { - return size() >= v.size() && compare( size() - v.size(), npos, v ) == 0; + return size() >= v.size() && compare(size() - v.size(), npos, v) == 0; } - nssv_constexpr bool ends_with( CharT c ) const nssv_noexcept // (2) + nssv_constexpr bool ends_with(CharT c) const nssv_noexcept // (2) { - return ends_with( basic_string_view( &c, 1 ) ); + return ends_with(basic_string_view(&c, 1)); } - nssv_constexpr bool ends_with( CharT const * s ) const // (3) + nssv_constexpr bool ends_with(CharT const *s) const // (3) { - return ends_with( basic_string_view( s ) ); + return ends_with(basic_string_view(s)); } // find(), 4x: - nssv_constexpr14 size_type find( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + nssv_constexpr14 size_type find(basic_string_view v, size_type pos = 0) const nssv_noexcept // (1) { - return assert( v.size() == 0 || v.data() != nssv_nullptr ) - , pos >= size() - ? npos - : to_pos( std::search( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); + return assert(v.size() == 0 || v.data() != nssv_nullptr), + pos >= size() ? npos : to_pos(std::search(cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq)); } - nssv_constexpr14 size_type find( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + nssv_constexpr14 size_type find(CharT c, size_type pos = 0) const nssv_noexcept // (2) { - return find( basic_string_view( &c, 1 ), pos ); + return find(basic_string_view(&c, 1), pos); } - nssv_constexpr14 size_type find( CharT const * s, size_type pos, size_type n ) const // (3) + nssv_constexpr14 size_type find(CharT const *s, size_type pos, size_type n) const // (3) { - return find( basic_string_view( s, n ), pos ); + return find(basic_string_view(s, n), pos); } - nssv_constexpr14 size_type find( CharT const * s, size_type pos = 0 ) const // (4) + nssv_constexpr14 size_type find(CharT const *s, size_type pos = 0) const // (4) { - return find( basic_string_view( s ), pos ); + return find(basic_string_view(s), pos); } // rfind(), 4x: - nssv_constexpr14 size_type rfind( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + nssv_constexpr14 size_type rfind(basic_string_view v, size_type pos = npos) const nssv_noexcept // (1) { - if ( size() < v.size() ) - return npos; + if (size() < v.size()) { + return npos; + } - if ( v.empty() ) - return (std::min)( size(), pos ); + if (v.empty()) { + return (std::min)(size(), pos); + } - const_iterator last = cbegin() + (std::min)( size() - v.size(), pos ) + v.size(); - const_iterator result = std::find_end( cbegin(), last, v.cbegin(), v.cend(), Traits::eq ); + const_iterator last = cbegin() + (std::min)(size() - v.size(), pos) + v.size(); + const_iterator result = std::find_end(cbegin(), last, v.cbegin(), v.cend(), Traits::eq); - return result != last ? size_type( result - cbegin() ) : npos; + return result != last ? size_type(result - cbegin()) : npos; } - nssv_constexpr14 size_type rfind( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + nssv_constexpr14 size_type rfind(CharT c, size_type pos = npos) const nssv_noexcept // (2) { - return rfind( basic_string_view( &c, 1 ), pos ); + return rfind(basic_string_view(&c, 1), pos); } - nssv_constexpr14 size_type rfind( CharT const * s, size_type pos, size_type n ) const // (3) + nssv_constexpr14 size_type rfind(CharT const *s, size_type pos, size_type n) const // (3) { - return rfind( basic_string_view( s, n ), pos ); + return rfind(basic_string_view(s, n), pos); } - nssv_constexpr14 size_type rfind( CharT const * s, size_type pos = npos ) const // (4) + nssv_constexpr14 size_type rfind(CharT const *s, size_type pos = npos) const // (4) { - return rfind( basic_string_view( s ), pos ); + return rfind(basic_string_view(s), pos); } // find_first_of(), 4x: - nssv_constexpr size_type find_first_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + nssv_constexpr size_type find_first_of(basic_string_view v, size_type pos = 0) const nssv_noexcept // (1) { - return pos >= size() - ? npos - : to_pos( std::find_first_of( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); + return pos >= size() ? npos + : to_pos(std::find_first_of(cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq)); } - nssv_constexpr size_type find_first_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + nssv_constexpr size_type find_first_of(CharT c, size_type pos = 0) const nssv_noexcept // (2) { - return find_first_of( basic_string_view( &c, 1 ), pos ); + return find_first_of(basic_string_view(&c, 1), pos); } - nssv_constexpr size_type find_first_of( CharT const * s, size_type pos, size_type n ) const // (3) + nssv_constexpr size_type find_first_of(CharT const *s, size_type pos, size_type n) const // (3) { - return find_first_of( basic_string_view( s, n ), pos ); + return find_first_of(basic_string_view(s, n), pos); } - nssv_constexpr size_type find_first_of( CharT const * s, size_type pos = 0 ) const // (4) + nssv_constexpr size_type find_first_of(CharT const *s, size_type pos = 0) const // (4) { - return find_first_of( basic_string_view( s ), pos ); + return find_first_of(basic_string_view(s), pos); } // find_last_of(), 4x: - nssv_constexpr size_type find_last_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + nssv_constexpr size_type find_last_of(basic_string_view v, size_type pos = npos) const nssv_noexcept // (1) { - return empty() - ? npos - : pos >= size() - ? find_last_of( v, size() - 1 ) - : to_pos( std::find_first_of( const_reverse_iterator( cbegin() + pos + 1 ), crend(), v.cbegin(), v.cend(), Traits::eq ) ); + return empty() ? npos + : pos >= size() ? find_last_of(v, size() - 1) + : to_pos(std::find_first_of(const_reverse_iterator(cbegin() + pos + 1), crend(), + v.cbegin(), v.cend(), Traits::eq)); } - nssv_constexpr size_type find_last_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + nssv_constexpr size_type find_last_of(CharT c, size_type pos = npos) const nssv_noexcept // (2) { - return find_last_of( basic_string_view( &c, 1 ), pos ); + return find_last_of(basic_string_view(&c, 1), pos); } - nssv_constexpr size_type find_last_of( CharT const * s, size_type pos, size_type count ) const // (3) + nssv_constexpr size_type find_last_of(CharT const *s, size_type pos, size_type count) const // (3) { - return find_last_of( basic_string_view( s, count ), pos ); + return find_last_of(basic_string_view(s, count), pos); } - nssv_constexpr size_type find_last_of( CharT const * s, size_type pos = npos ) const // (4) + nssv_constexpr size_type find_last_of(CharT const *s, size_type pos = npos) const // (4) { - return find_last_of( basic_string_view( s ), pos ); + return find_last_of(basic_string_view(s), pos); } // find_first_not_of(), 4x: - nssv_constexpr size_type find_first_not_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) + nssv_constexpr size_type find_first_not_of(basic_string_view v, size_type pos = 0) const nssv_noexcept // (1) { - return pos >= size() - ? npos - : to_pos( std::find_if( cbegin() + pos, cend(), not_in_view( v ) ) ); + return pos >= size() ? npos : to_pos(std::find_if(cbegin() + pos, cend(), not_in_view(v))); } - nssv_constexpr size_type find_first_not_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) + nssv_constexpr size_type find_first_not_of(CharT c, size_type pos = 0) const nssv_noexcept // (2) { - return find_first_not_of( basic_string_view( &c, 1 ), pos ); + return find_first_not_of(basic_string_view(&c, 1), pos); } - nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos, size_type count ) const // (3) + nssv_constexpr size_type find_first_not_of(CharT const *s, size_type pos, size_type count) const // (3) { - return find_first_not_of( basic_string_view( s, count ), pos ); + return find_first_not_of(basic_string_view(s, count), pos); } - nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos = 0 ) const // (4) + nssv_constexpr size_type find_first_not_of(CharT const *s, size_type pos = 0) const // (4) { - return find_first_not_of( basic_string_view( s ), pos ); + return find_first_not_of(basic_string_view(s), pos); } // find_last_not_of(), 4x: - nssv_constexpr size_type find_last_not_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) + nssv_constexpr size_type find_last_not_of(basic_string_view v, size_type pos = npos) const nssv_noexcept // (1) { - return empty() - ? npos - : pos >= size() - ? find_last_not_of( v, size() - 1 ) - : to_pos( std::find_if( const_reverse_iterator( cbegin() + pos + 1 ), crend(), not_in_view( v ) ) ); + return empty() ? npos + : pos >= size() + ? find_last_not_of(v, size() - 1) + : to_pos(std::find_if(const_reverse_iterator(cbegin() + pos + 1), crend(), not_in_view(v))); } - nssv_constexpr size_type find_last_not_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) + nssv_constexpr size_type find_last_not_of(CharT c, size_type pos = npos) const nssv_noexcept // (2) { - return find_last_not_of( basic_string_view( &c, 1 ), pos ); + return find_last_not_of(basic_string_view(&c, 1), pos); } - nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos, size_type count ) const // (3) + nssv_constexpr size_type find_last_not_of(CharT const *s, size_type pos, size_type count) const // (3) { - return find_last_not_of( basic_string_view( s, count ), pos ); + return find_last_not_of(basic_string_view(s, count), pos); } - nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos = npos ) const // (4) + nssv_constexpr size_type find_last_not_of(CharT const *s, size_type pos = npos) const // (4) { - return find_last_not_of( basic_string_view( s ), pos ); + return find_last_not_of(basic_string_view(s), pos); } // Constants: @@ -903,298 +845,418 @@ public: enum { npos = size_type(-1) }; #endif -private: - struct not_in_view - { - const basic_string_view v; + private: + struct not_in_view { + const basic_string_view v; - nssv_constexpr not_in_view( basic_string_view v ) : v( v ) {} + nssv_constexpr explicit not_in_view(basic_string_view v) : v(v) {} - nssv_constexpr bool operator()( CharT c ) const - { - return npos == v.find_first_of( c ); - } + nssv_constexpr bool operator()(CharT c) const { return npos == v.find_first_of(c); } }; - nssv_constexpr size_type to_pos( const_iterator it ) const - { - return it == cend() ? npos : size_type( it - cbegin() ); + nssv_constexpr size_type to_pos(const_iterator it) const { return it == cend() ? npos : size_type(it - cbegin()); } + + nssv_constexpr size_type to_pos(const_reverse_iterator it) const { + return it == crend() ? npos : size_type(crend() - it - 1); } - nssv_constexpr size_type to_pos( const_reverse_iterator it ) const - { - return it == crend() ? npos : size_type( crend() - it - 1 ); - } - - nssv_constexpr const_reference data_at( size_type pos ) const - { -#if nssv_BETWEEN( nssv_COMPILER_GNUC_VERSION, 1, 500 ) - return data_[pos]; + nssv_constexpr const_reference data_at(size_type pos) const { +#if nssv_BETWEEN(nssv_COMPILER_GNUC_VERSION, 1, 500) + return data_[pos]; #else - return assert( pos < size() ), data_[pos]; + return assert(pos < size()), data_[pos]; #endif } -private: + private: const_pointer data_; - size_type size_; + size_type size_; -public: + public: #if nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS - template< class Allocator > - basic_string_view( std::basic_string const & s ) nssv_noexcept - : data_( s.data() ) - , size_( s.size() ) - {} + template + basic_string_view(std::basic_string const &s) nssv_noexcept : data_(s.data()), + size_(s.size()) {} #if nssv_HAVE_EXPLICIT_CONVERSION - template< class Allocator > - explicit operator std::basic_string() const - { - return to_string( Allocator() ); + template explicit operator std::basic_string() const { + return to_string(Allocator()); } #endif // nssv_HAVE_EXPLICIT_CONVERSION #if nssv_CPP11_OR_GREATER - template< class Allocator = std::allocator > - std::basic_string - to_string( Allocator const & a = Allocator() ) const - { - return std::basic_string( begin(), end(), a ); + template > + std::basic_string to_string(Allocator const &a = Allocator()) const { + return std::basic_string(begin(), end(), a); } #else - std::basic_string - to_string() const - { - return std::basic_string( begin(), end() ); - } + std::basic_string to_string() const { return std::basic_string(begin(), end()); } - template< class Allocator > - std::basic_string - to_string( Allocator const & a ) const - { - return std::basic_string( begin(), end(), a ); + template std::basic_string to_string(Allocator const &a) const { + return std::basic_string(begin(), end(), a); } #endif // nssv_CPP11_OR_GREATER #endif // nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS -}; + }; -// -// Non-member functions: -// + // + // Non-member functions: + // -// 24.4.3 Non-member comparison functions: -// lexicographically compare two string views (function template): + // 24.4.3 Non-member comparison functions: + // lexicographically compare two string views (function template): -template< class CharT, class Traits > -nssv_constexpr bool operator== ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) == 0 ; } + template + nssv_constexpr bool operator==(basic_string_view lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) == 0; + } -template< class CharT, class Traits > -nssv_constexpr bool operator!= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) != 0 ; } + template + nssv_constexpr bool operator!=(basic_string_view lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) != 0; + } -template< class CharT, class Traits > -nssv_constexpr bool operator< ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } + template + nssv_constexpr bool operator<(basic_string_view lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) < 0; + } -template< class CharT, class Traits > -nssv_constexpr bool operator<= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } + template + nssv_constexpr bool operator<=(basic_string_view lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) <= 0; + } -template< class CharT, class Traits > -nssv_constexpr bool operator> ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } + template + nssv_constexpr bool operator>(basic_string_view lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) > 0; + } -template< class CharT, class Traits > -nssv_constexpr bool operator>= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } + template + nssv_constexpr bool operator>=(basic_string_view lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) >= 0; + } -// Let S be basic_string_view, and sv be an instance of S. -// Implementations shall provide sufficient additional overloads marked -// constexpr and noexcept so that an object t with an implicit conversion -// to S can be compared according to Table 67. + // Let S be basic_string_view, and sv be an instance of S. + // Implementations shall provide sufficient additional overloads marked + // constexpr and noexcept so that an object t with an implicit conversion + // to S can be compared according to Table 67. -#if nssv_CPP11_OR_GREATER && ! nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 100, 141 ) +#if !nssv_CPP11_OR_GREATER || nssv_BETWEEN(nssv_COMPILER_MSVC_VERSION, 100, 141) -#define nssv_BASIC_STRING_VIEW_I(T,U) typename std::decay< basic_string_view >::type + // accomodate for older compilers: -#if nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 140, 150 ) -# define nssv_MSVC_ORDER(x) , int=x + // == + + template + nssv_constexpr bool operator==(basic_string_view lhs, char const *rhs) nssv_noexcept { + return lhs.compare(rhs) == 0; + } + + template + nssv_constexpr bool operator==(char const *lhs, basic_string_view rhs) nssv_noexcept { + return rhs.compare(lhs) == 0; + } + + template + nssv_constexpr bool operator==(basic_string_view lhs, + std::basic_string rhs) nssv_noexcept { + return lhs.size() == rhs.size() && lhs.compare(rhs) == 0; + } + + template + nssv_constexpr bool operator==(std::basic_string rhs, + basic_string_view lhs) nssv_noexcept { + return lhs.size() == rhs.size() && lhs.compare(rhs) == 0; + } + + // != + + template + nssv_constexpr bool operator!=(basic_string_view lhs, char const *rhs) nssv_noexcept { + return lhs.compare(rhs) != 0; + } + + template + nssv_constexpr bool operator!=(char const *lhs, basic_string_view rhs) nssv_noexcept { + return rhs.compare(lhs) != 0; + } + + template + nssv_constexpr bool operator!=(basic_string_view lhs, + std::basic_string rhs) nssv_noexcept { + return lhs.size() != rhs.size() && lhs.compare(rhs) != 0; + } + + template + nssv_constexpr bool operator!=(std::basic_string rhs, + basic_string_view lhs) nssv_noexcept { + return lhs.size() != rhs.size() || rhs.compare(lhs) != 0; + } + + // < + + template + nssv_constexpr bool operator<(basic_string_view lhs, char const *rhs) nssv_noexcept { + return lhs.compare(rhs) < 0; + } + + template + nssv_constexpr bool operator<(char const *lhs, basic_string_view rhs) nssv_noexcept { + return rhs.compare(lhs) > 0; + } + + template + nssv_constexpr bool operator<(basic_string_view lhs, + std::basic_string rhs) nssv_noexcept { + return lhs.compare(rhs) < 0; + } + + template + nssv_constexpr bool operator<(std::basic_string rhs, + basic_string_view lhs) nssv_noexcept { + return rhs.compare(lhs) > 0; + } + + // <= + + template + nssv_constexpr bool operator<=(basic_string_view lhs, char const *rhs) nssv_noexcept { + return lhs.compare(rhs) <= 0; + } + + template + nssv_constexpr bool operator<=(char const *lhs, basic_string_view rhs) nssv_noexcept { + return rhs.compare(lhs) >= 0; + } + + template + nssv_constexpr bool operator<=(basic_string_view lhs, + std::basic_string rhs) nssv_noexcept { + return lhs.compare(rhs) <= 0; + } + + template + nssv_constexpr bool operator<=(std::basic_string rhs, + basic_string_view lhs) nssv_noexcept { + return rhs.compare(lhs) >= 0; + } + + // > + + template + nssv_constexpr bool operator>(basic_string_view lhs, char const *rhs) nssv_noexcept { + return lhs.compare(rhs) > 0; + } + + template + nssv_constexpr bool operator>(char const *lhs, basic_string_view rhs) nssv_noexcept { + return rhs.compare(lhs) < 0; + } + + template + nssv_constexpr bool operator>(basic_string_view lhs, + std::basic_string rhs) nssv_noexcept { + return lhs.compare(rhs) > 0; + } + + template + nssv_constexpr bool operator>(std::basic_string rhs, + basic_string_view lhs) nssv_noexcept { + return rhs.compare(lhs) < 0; + } + + // >= + + template + nssv_constexpr bool operator>=(basic_string_view lhs, char const *rhs) nssv_noexcept { + return lhs.compare(rhs) >= 0; + } + + template + nssv_constexpr bool operator>=(char const *lhs, basic_string_view rhs) nssv_noexcept { + return rhs.compare(lhs) <= 0; + } + + template + nssv_constexpr bool operator>=(basic_string_view lhs, + std::basic_string rhs) nssv_noexcept { + return lhs.compare(rhs) >= 0; + } + + template + nssv_constexpr bool operator>=(std::basic_string rhs, + basic_string_view lhs) nssv_noexcept { + return rhs.compare(lhs) <= 0; + } + +#else // newer compilers: + +#define nssv_BASIC_STRING_VIEW_I(T, U) typename std::decay>::type + +#if nssv_BETWEEN(nssv_COMPILER_MSVC_VERSION, 140, 150) +#define nssv_MSVC_ORDER(x) , int = x #else -# define nssv_MSVC_ORDER(x) /*, int=x*/ +#define nssv_MSVC_ORDER(x) /*, int=x*/ #endif -// == + // == -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator==( - basic_string_view lhs, - nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) == 0; } + template + nssv_constexpr bool operator==(basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs) nssv_noexcept { + return lhs.compare(rhs) == 0; + } -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator==( - nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.size() == rhs.size() && lhs.compare( rhs ) == 0; } + template + nssv_constexpr bool operator==(nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.size() == rhs.size() && lhs.compare(rhs) == 0; + } -// != + // != -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator!= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.size() != rhs.size() || lhs.compare( rhs ) != 0 ; } + template + nssv_constexpr bool operator!=(basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs) nssv_noexcept { + return lhs.size() != rhs.size() || lhs.compare(rhs) != 0; + } -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator!= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) != 0 ; } + template + nssv_constexpr bool operator!=(nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) != 0; + } -// < + // < -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator< ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } + template + nssv_constexpr bool operator<(basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs) nssv_noexcept { + return lhs.compare(rhs) < 0; + } -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator< ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } + template + nssv_constexpr bool operator<(nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) < 0; + } -// <= + // <= -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator<= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } + template + nssv_constexpr bool operator<=(basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs) nssv_noexcept { + return lhs.compare(rhs) <= 0; + } -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator<= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } + template + nssv_constexpr bool operator<=(nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) <= 0; + } -// > + // > -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator> ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } + template + nssv_constexpr bool operator>(basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs) nssv_noexcept { + return lhs.compare(rhs) > 0; + } -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator> ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } + template + nssv_constexpr bool operator>(nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) > 0; + } -// >= + // >= -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator>= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } + template + nssv_constexpr bool operator>=(basic_string_view lhs, + nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs) nssv_noexcept { + return lhs.compare(rhs) >= 0; + } -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator>= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } + template + nssv_constexpr bool operator>=(nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, + basic_string_view rhs) nssv_noexcept { + return lhs.compare(rhs) >= 0; + } #undef nssv_MSVC_ORDER #undef nssv_BASIC_STRING_VIEW_I -#endif // nssv_CPP11_OR_GREATER +#endif // compiler-dependent approach to comparisons -// 24.4.4 Inserters and extractors: + // 24.4.4 Inserters and extractors: -namespace detail { + namespace detail { -template< class Stream > -void write_padding( Stream & os, std::streamsize n ) -{ - for ( std::streamsize i = 0; i < n; ++i ) - os.rdbuf()->sputc( os.fill() ); -} + template void write_padding(Stream &os, std::streamsize n) { + for (std::streamsize i = 0; i < n; ++i) + os.rdbuf()->sputc(os.fill()); + } -template< class Stream, class View > -Stream & write_to_stream( Stream & os, View const & sv ) -{ - typename Stream::sentry sentry( os ); + template Stream &write_to_stream(Stream &os, View const &sv) { + typename Stream::sentry sentry(os); - if ( !os ) - return os; + if (!os) + return os; - const std::streamsize length = static_cast( sv.length() ); + const std::streamsize length = static_cast(sv.length()); // Whether, and how, to pad: - const bool pad = ( length < os.width() ); - const bool left_pad = pad && ( os.flags() & std::ios_base::adjustfield ) == std::ios_base::right; + const bool pad = (length < os.width()); + const bool left_pad = pad && (os.flags() & std::ios_base::adjustfield) == std::ios_base::right; - if ( left_pad ) - write_padding( os, os.width() - length ); + if (left_pad) + write_padding(os, os.width() - length); // Write span characters: - os.rdbuf()->sputn( sv.begin(), length ); + os.rdbuf()->sputn(sv.begin(), length); - if ( pad && !left_pad ) - write_padding( os, os.width() - length ); + if (pad && !left_pad) + write_padding(os, os.width() - length); // Reset output stream width: - os.width( 0 ); + os.width(0); return os; -} + } -} // namespace detail + } // namespace detail -template< class CharT, class Traits > -std::basic_ostream & -operator<<( - std::basic_ostream& os, - basic_string_view sv ) -{ - return detail::write_to_stream( os, sv ); -} + template + std::basic_ostream &operator<<(std::basic_ostream &os, + basic_string_view sv) { + return detail::write_to_stream(os, sv); + } -// Several typedefs for common character types are provided: + // Several typedefs for common character types are provided: -typedef basic_string_view string_view; -typedef basic_string_view wstring_view; + typedef basic_string_view string_view; + typedef basic_string_view wstring_view; #if nssv_HAVE_WCHAR16_T -typedef basic_string_view u16string_view; -typedef basic_string_view u32string_view; + typedef basic_string_view u16string_view; + typedef basic_string_view u32string_view; #endif -}} // namespace nonstd::sv_lite + } // namespace sv_lite +} // namespace nonstd::sv_lite // // 24.4.6 Suffix for basic_string_view literals: @@ -1204,57 +1266,58 @@ typedef basic_string_view u32string_view; namespace nonstd { nssv_inline_ns namespace literals { -nssv_inline_ns namespace string_view_literals { + nssv_inline_ns namespace string_view_literals { #if nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS -nssv_constexpr nonstd::sv_lite::string_view operator "" sv( const char* str, size_t len ) nssv_noexcept // (1) -{ - return nonstd::sv_lite::string_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::string_view operator"" sv(const char *str, size_t len) nssv_noexcept // (1) + { + return nonstd::sv_lite::string_view {str, len}; + } -nssv_constexpr nonstd::sv_lite::u16string_view operator "" sv( const char16_t* str, size_t len ) nssv_noexcept // (2) -{ - return nonstd::sv_lite::u16string_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::u16string_view operator"" sv(const char16_t *str, size_t len) nssv_noexcept // (2) + { + return nonstd::sv_lite::u16string_view {str, len}; + } -nssv_constexpr nonstd::sv_lite::u32string_view operator "" sv( const char32_t* str, size_t len ) nssv_noexcept // (3) -{ - return nonstd::sv_lite::u32string_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::u32string_view operator"" sv(const char32_t *str, size_t len) nssv_noexcept // (3) + { + return nonstd::sv_lite::u32string_view {str, len}; + } -nssv_constexpr nonstd::sv_lite::wstring_view operator "" sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) -{ - return nonstd::sv_lite::wstring_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::wstring_view operator"" sv(const wchar_t *str, size_t len) nssv_noexcept // (4) + { + return nonstd::sv_lite::wstring_view {str, len}; + } #endif // nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS #if nssv_CONFIG_USR_SV_OPERATOR -nssv_constexpr nonstd::sv_lite::string_view operator "" _sv( const char* str, size_t len ) nssv_noexcept // (1) -{ - return nonstd::sv_lite::string_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::string_view operator"" _sv(const char *str, size_t len) nssv_noexcept // (1) + { + return nonstd::sv_lite::string_view {str, len}; + } -nssv_constexpr nonstd::sv_lite::u16string_view operator "" _sv( const char16_t* str, size_t len ) nssv_noexcept // (2) -{ - return nonstd::sv_lite::u16string_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::u16string_view operator"" _sv(const char16_t *str, size_t len) nssv_noexcept // (2) + { + return nonstd::sv_lite::u16string_view {str, len}; + } -nssv_constexpr nonstd::sv_lite::u32string_view operator "" _sv( const char32_t* str, size_t len ) nssv_noexcept // (3) -{ - return nonstd::sv_lite::u32string_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::u32string_view operator"" _sv(const char32_t *str, size_t len) nssv_noexcept // (3) + { + return nonstd::sv_lite::u32string_view {str, len}; + } -nssv_constexpr nonstd::sv_lite::wstring_view operator "" _sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) -{ - return nonstd::sv_lite::wstring_view{ str, len }; -} + nssv_constexpr nonstd::sv_lite::wstring_view operator"" _sv(const wchar_t *str, size_t len) nssv_noexcept // (4) + { + return nonstd::sv_lite::wstring_view {str, len}; + } #endif // nssv_CONFIG_USR_SV_OPERATOR - -}}} // namespace nonstd::literals::string_view_literals + } +} +} // namespace nonstd #endif @@ -1271,39 +1334,32 @@ namespace sv_lite { #if nssv_CPP11_OR_GREATER && nssv_COMPILER_MSVC_VERSION != 140 -template< class CharT, class Traits, class Allocator = std::allocator > -std::basic_string -to_string( basic_string_view v, Allocator const & a = Allocator() ) -{ - return std::basic_string( v.begin(), v.end(), a ); +template > +std::basic_string to_string(basic_string_view v, + Allocator const &a = Allocator()) { + return std::basic_string(v.begin(), v.end(), a); } #else -template< class CharT, class Traits > -std::basic_string -to_string( basic_string_view v ) -{ - return std::basic_string( v.begin(), v.end() ); +template std::basic_string to_string(basic_string_view v) { + return std::basic_string(v.begin(), v.end()); } -template< class CharT, class Traits, class Allocator > -std::basic_string -to_string( basic_string_view v, Allocator const & a ) -{ - return std::basic_string( v.begin(), v.end(), a ); +template +std::basic_string to_string(basic_string_view v, Allocator const &a) { + return std::basic_string(v.begin(), v.end(), a); } #endif // nssv_CPP11_OR_GREATER -template< class CharT, class Traits, class Allocator > -basic_string_view -to_string_view( std::basic_string const & s ) -{ - return basic_string_view( s.data(), s.size() ); +template +basic_string_view to_string_view(std::basic_string const &s) { + return basic_string_view(s.data(), s.size()); } -}} // namespace nonstd::sv_lite +} // namespace sv_lite +} // namespace nonstd #endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS @@ -1353,44 +1409,32 @@ using sv_lite::to_string_view; namespace std { -template<> -struct hash< nonstd::string_view > -{ +template <> struct hash { public: - std::size_t operator()( nonstd::string_view v ) const nssv_noexcept - { - return std::hash()( std::string( v.data(), v.size() ) ); - } + std::size_t operator()(nonstd::string_view v) const nssv_noexcept { + return std::hash()(std::string(v.data(), v.size())); + } }; -template<> -struct hash< nonstd::wstring_view > -{ +template <> struct hash { public: - std::size_t operator()( nonstd::wstring_view v ) const nssv_noexcept - { - return std::hash()( std::wstring( v.data(), v.size() ) ); - } + std::size_t operator()(nonstd::wstring_view v) const nssv_noexcept { + return std::hash()(std::wstring(v.data(), v.size())); + } }; -template<> -struct hash< nonstd::u16string_view > -{ +template <> struct hash { public: - std::size_t operator()( nonstd::u16string_view v ) const nssv_noexcept - { - return std::hash()( std::u16string( v.data(), v.size() ) ); - } + std::size_t operator()(nonstd::u16string_view v) const nssv_noexcept { + return std::hash()(std::u16string(v.data(), v.size())); + } }; -template<> -struct hash< nonstd::u32string_view > -{ +template <> struct hash { public: - std::size_t operator()( nonstd::u32string_view v ) const nssv_noexcept - { - return std::hash()( std::u32string( v.data(), v.size() ) ); - } + std::size_t operator()(nonstd::u32string_view v) const nssv_noexcept { + return std::hash()(std::u32string(v.data(), v.size())); + } }; } // namespace std @@ -1403,23 +1447,22 @@ nssv_RESTORE_WARNINGS() #endif // NONSTD_SV_LITE_H_INCLUDED - namespace inja { -enum class ElementNotation { - Dot, - Pointer -}; - /*! * \brief Class for lexer configuration. */ struct LexerConfig { std::string statement_open {"{%"}; + std::string statement_open_no_lstrip {"{%+"}; + std::string statement_open_force_lstrip {"{%-"}; std::string statement_close {"%}"}; + std::string statement_close_force_rstrip {"-%}"}; std::string line_statement {"##"}; std::string expression_open {"{{"}; + std::string expression_open_force_lstrip {"{{-"}; std::string expression_close {"}}"}; + std::string expression_close_force_rstrip {"-}}"}; std::string comment_open {"{#"}; std::string comment_close {"#}"}; std::string open_chars {"#{"}; @@ -1435,9 +1478,18 @@ struct LexerConfig { if (open_chars.find(statement_open[0]) == std::string::npos) { open_chars += statement_open[0]; } + if (open_chars.find(statement_open_no_lstrip[0]) == std::string::npos) { + open_chars += statement_open_no_lstrip[0]; + } + if (open_chars.find(statement_open_force_lstrip[0]) == std::string::npos) { + open_chars += statement_open_force_lstrip[0]; + } if (open_chars.find(expression_open[0]) == std::string::npos) { open_chars += expression_open[0]; } + if (open_chars.find(expression_open_force_lstrip[0]) == std::string::npos) { + open_chars += expression_open_force_lstrip[0]; + } if (open_chars.find(comment_open[0]) == std::string::npos) { open_chars += comment_open[0]; } @@ -1448,69 +1500,78 @@ struct LexerConfig { * \brief Class for parser configuration. */ struct ParserConfig { - ElementNotation notation {ElementNotation::Dot}; + bool search_included_templates_in_files {true}; }; -} +/*! + * \brief Class for render configuration. + */ +struct RenderConfig { + bool throw_at_missing_includes {true}; +}; -#endif // PANTOR_INJA_CONFIG_HPP +} // namespace inja + +#endif // INCLUDE_INJA_CONFIG_HPP_ // #include "function_storage.hpp" -#ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP -#define PANTOR_INJA_FUNCTION_STORAGE_HPP +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_FUNCTION_STORAGE_HPP_ +#define INCLUDE_INJA_FUNCTION_STORAGE_HPP_ #include -// #include "bytecode.hpp" -#ifndef PANTOR_INJA_BYTECODE_HPP -#define PANTOR_INJA_BYTECODE_HPP - -#include -#include - -#include - // #include "string_view.hpp" - namespace inja { using json = nlohmann::json; +using Arguments = std::vector; +using CallbackFunction = std::function; +using VoidCallbackFunction = std::function; -struct Bytecode { - enum class Op : uint8_t { - Nop, - // print StringRef (always immediate) - PrintText, - // print value - PrintValue, - // push value onto stack (always immediate) - Push, - - // builtin functions - // result is pushed to stack - // args specify number of arguments - // all functions can take their "last" argument either immediate - // or popped off stack (e.g. if immediate, it's like the immediate was - // just pushed to the stack) +/*! + * \brief Class for builtin functions and user-defined callbacks. + */ +class FunctionStorage { +public: + enum class Operation { Not, And, Or, In, Equal, + NotEqual, Greater, GreaterEqual, Less, LessEqual, + Add, + Subtract, + Multiplication, + Division, + Power, + Modulo, + AtId, At, - Different, + Default, DivisibleBy, Even, + Exists, + ExistsInObject, First, Float, Int, + IsArray, + IsBoolean, + IsFloat, + IsInteger, + IsNumber, + IsObject, + IsString, Last, Length, Lower, @@ -1518,175 +1579,157 @@ struct Bytecode { Min, Odd, Range, - Result, Round, Sort, Upper, - Exists, - ExistsInObject, - IsBoolean, - IsNumber, - IsInteger, - IsFloat, - IsObject, - IsArray, - IsString, - Default, - - // include another template - // value is the template name - Include, - - // callback function - // str is the function name (this means it cannot be a lookup) - // args specify number of arguments - // as with builtin functions, "last" argument can be immediate Callback, - - // unconditional jump - // args is the index of the bytecode to jump to. - Jump, - - // conditional jump - // value popped off stack is checked for truthyness - // if false, args is the index of the bytecode to jump to. - // if true, no action is taken (falls through) - ConditionalJump, - - // start loop - // value popped off stack is what is iterated over - // args is index of bytecode after end loop (jumped to if iterable is - // empty) - // immediate value is key name (for maps) - // str is value name - StartLoop, - - // end a loop - // args is index of the first bytecode in the loop body - EndLoop, + ParenLeft, + ParenRight, + None, }; - enum Flag { - // location of value for value-taking ops (mask) - ValueMask = 0x03, - // pop value off stack - ValuePop = 0x00, - // value is immediate rather than on stack - ValueImmediate = 0x01, - // lookup immediate str (dot notation) - ValueLookupDot = 0x02, - // lookup immediate str (json pointer notation) - ValueLookupPointer = 0x03, + struct FunctionData { + explicit FunctionData(const Operation &op, const CallbackFunction &cb = CallbackFunction{}) : operation(op), callback(cb) {} + const Operation operation; + const CallbackFunction callback; }; - Op op {Op::Nop}; - uint32_t args: 30; - uint32_t flags: 2; +private: + const int VARIADIC {-1}; - json value; - std::string str; + std::map, FunctionData> function_storage = { + {std::make_pair("at", 2), FunctionData { Operation::At }}, + {std::make_pair("default", 2), FunctionData { Operation::Default }}, + {std::make_pair("divisibleBy", 2), FunctionData { Operation::DivisibleBy }}, + {std::make_pair("even", 1), FunctionData { Operation::Even }}, + {std::make_pair("exists", 1), FunctionData { Operation::Exists }}, + {std::make_pair("existsIn", 2), FunctionData { Operation::ExistsInObject }}, + {std::make_pair("first", 1), FunctionData { Operation::First }}, + {std::make_pair("float", 1), FunctionData { Operation::Float }}, + {std::make_pair("int", 1), FunctionData { Operation::Int }}, + {std::make_pair("isArray", 1), FunctionData { Operation::IsArray }}, + {std::make_pair("isBoolean", 1), FunctionData { Operation::IsBoolean }}, + {std::make_pair("isFloat", 1), FunctionData { Operation::IsFloat }}, + {std::make_pair("isInteger", 1), FunctionData { Operation::IsInteger }}, + {std::make_pair("isNumber", 1), FunctionData { Operation::IsNumber }}, + {std::make_pair("isObject", 1), FunctionData { Operation::IsObject }}, + {std::make_pair("isString", 1), FunctionData { Operation::IsString }}, + {std::make_pair("last", 1), FunctionData { Operation::Last }}, + {std::make_pair("length", 1), FunctionData { Operation::Length }}, + {std::make_pair("lower", 1), FunctionData { Operation::Lower }}, + {std::make_pair("max", 1), FunctionData { Operation::Max }}, + {std::make_pair("min", 1), FunctionData { Operation::Min }}, + {std::make_pair("odd", 1), FunctionData { Operation::Odd }}, + {std::make_pair("range", 1), FunctionData { Operation::Range }}, + {std::make_pair("round", 2), FunctionData { Operation::Round }}, + {std::make_pair("sort", 1), FunctionData { Operation::Sort }}, + {std::make_pair("upper", 1), FunctionData { Operation::Upper }}, + }; - Bytecode(): args(0), flags(0) {} - explicit Bytecode(Op op, unsigned int args = 0): op(op), args(args), flags(0) {} - explicit Bytecode(Op op, nonstd::string_view str, unsigned int flags): op(op), args(0), flags(flags), str(str) {} - explicit Bytecode(Op op, json&& value, unsigned int flags): op(op), args(0), flags(flags), value(std::move(value)) {} +public: + void add_builtin(nonstd::string_view name, int num_args, Operation op) { + function_storage.emplace(std::make_pair(static_cast(name), num_args), FunctionData { op }); + } + + void add_callback(nonstd::string_view name, int num_args, const CallbackFunction &callback) { + function_storage.emplace(std::make_pair(static_cast(name), num_args), FunctionData { Operation::Callback, callback }); + } + + FunctionData find_function(nonstd::string_view name, int num_args) const { + auto it = function_storage.find(std::make_pair(static_cast(name), num_args)); + if (it != function_storage.end()) { + return it->second; + + // Find variadic function + } else if (num_args > 0) { + it = function_storage.find(std::make_pair(static_cast(name), VARIADIC)); + if (it != function_storage.end()) { + return it->second; + } + } + + return FunctionData { Operation::None }; + } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_BYTECODE_HPP +#endif // INCLUDE_INJA_FUNCTION_STORAGE_HPP_ -// #include "string_view.hpp" +// #include "parser.hpp" +// Copyright (c) 2020 Pantor. All rights reserved. +#ifndef INCLUDE_INJA_PARSER_HPP_ +#define INCLUDE_INJA_PARSER_HPP_ +#include +#include +#include +#include +#include +#include + +// #include "config.hpp" + +// #include "exceptions.hpp" +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_EXCEPTIONS_HPP_ +#define INCLUDE_INJA_EXCEPTIONS_HPP_ + +#include +#include namespace inja { -using namespace nlohmann; - -using Arguments = std::vector; -using CallbackFunction = std::function; - -/*! - * \brief Class for builtin functions and user-defined callbacks. - */ -class FunctionStorage { - public: - void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { - auto& data = get_or_new(name, num_args); - data.op = op; - } - - void add_callback(nonstd::string_view name, unsigned int num_args, const CallbackFunction& function) { - auto& data = get_or_new(name, num_args); - data.function = function; - } - - Bytecode::Op find_builtin(nonstd::string_view name, unsigned int num_args) const { - if (auto ptr = get(name, num_args)) { - return ptr->op; - } - return Bytecode::Op::Nop; - } - - CallbackFunction find_callback(nonstd::string_view name, unsigned int num_args) const { - if (auto ptr = get(name, num_args)) { - return ptr->function; - } - return nullptr; - } - - private: - struct FunctionData { - unsigned int num_args {0}; - Bytecode::Op op {Bytecode::Op::Nop}; // for builtins - CallbackFunction function; // for callbacks - }; - - FunctionData& get_or_new(nonstd::string_view name, unsigned int num_args) { - auto &vec = m_map[static_cast(name)]; - for (auto &i: vec) { - if (i.num_args == num_args) return i; - } - vec.emplace_back(); - vec.back().num_args = num_args; - return vec.back(); - } - - const FunctionData* get(nonstd::string_view name, unsigned int num_args) const { - auto it = m_map.find(static_cast(name)); - if (it == m_map.end()) return nullptr; - for (auto &&i: it->second) { - if (i.num_args == num_args) return &i; - } - return nullptr; - } - - std::map> m_map; +struct SourceLocation { + size_t line; + size_t column; }; -} +struct InjaError : public std::runtime_error { + const std::string type; + const std::string message; -#endif // PANTOR_INJA_FUNCTION_STORAGE_HPP + const SourceLocation location; -// #include "parser.hpp" -#ifndef PANTOR_INJA_PARSER_HPP -#define PANTOR_INJA_PARSER_HPP + explicit InjaError(const std::string &type, const std::string &message) + : std::runtime_error("[inja.exception." + type + "] " + message), type(type), message(message), location({0, 0}) {} -#include -#include -#include -#include + explicit InjaError(const std::string &type, const std::string &message, SourceLocation location) + : std::runtime_error("[inja.exception." + type + "] (at " + std::to_string(location.line) + ":" + + std::to_string(location.column) + ") " + message), + type(type), message(message), location(location) {} +}; -// #include "bytecode.hpp" +struct ParserError : public InjaError { + explicit ParserError(const std::string &message, SourceLocation location) : InjaError("parser_error", message, location) {} +}; -// #include "config.hpp" +struct RenderError : public InjaError { + explicit RenderError(const std::string &message, SourceLocation location) : InjaError("render_error", message, location) {} +}; + +struct FileError : public InjaError { + explicit FileError(const std::string &message) : InjaError("file_error", message) {} + explicit FileError(const std::string &message, SourceLocation location) : InjaError("file_error", message, location) {} +}; + +struct JsonError : public InjaError { + explicit JsonError(const std::string &message, SourceLocation location) : InjaError("json_error", message, location) {} +}; + +} // namespace inja + +#endif // INCLUDE_INJA_EXCEPTIONS_HPP_ // #include "function_storage.hpp" // #include "lexer.hpp" -#ifndef PANTOR_INJA_LEXER_HPP -#define PANTOR_INJA_LEXER_HPP +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_LEXER_HPP_ +#define INCLUDE_INJA_LEXER_HPP_ #include #include @@ -1694,130 +1737,157 @@ class FunctionStorage { // #include "config.hpp" // #include "token.hpp" -#ifndef PANTOR_INJA_TOKEN_HPP -#define PANTOR_INJA_TOKEN_HPP +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_TOKEN_HPP_ +#define INCLUDE_INJA_TOKEN_HPP_ #include // #include "string_view.hpp" - namespace inja { /*! - * \brief Helper-class for the inja Parser. + * \brief Helper-class for the inja Lexer. */ struct Token { enum class Kind { Text, - ExpressionOpen, // {{ - ExpressionClose, // }} - LineStatementOpen, // ## - LineStatementClose, // \n - StatementOpen, // {% - StatementClose, // %} - CommentOpen, // {# - CommentClose, // #} - Id, // this, this.foo - Number, // 1, 2, -1, 5.2, -5.3 - String, // "this" - Comma, // , - Colon, // : - LeftParen, // ( - RightParen, // ) - LeftBracket, // [ - RightBracket, // ] - LeftBrace, // { - RightBrace, // } - Equal, // == - GreaterThan, // > - GreaterEqual, // >= - LessThan, // < - LessEqual, // <= - NotEqual, // != + ExpressionOpen, // {{ + ExpressionClose, // }} + LineStatementOpen, // ## + LineStatementClose, // \n + StatementOpen, // {% + StatementClose, // %} + CommentOpen, // {# + CommentClose, // #} + Id, // this, this.foo + Number, // 1, 2, -1, 5.2, -5.3 + String, // "this" + Plus, // + + Minus, // - + Times, // * + Slash, // / + Percent, // % + Power, // ^ + Comma, // , + Dot, // . + Colon, // : + LeftParen, // ( + RightParen, // ) + LeftBracket, // [ + RightBracket, // ] + LeftBrace, // { + RightBrace, // } + Equal, // == + NotEqual, // != + GreaterThan, // > + GreaterEqual, // >= + LessThan, // < + LessEqual, // <= Unknown, - Eof - } kind {Kind::Unknown}; - + Eof, + }; + + Kind kind {Kind::Unknown}; nonstd::string_view text; - constexpr Token() = default; - constexpr Token(Kind kind, nonstd::string_view text): kind(kind), text(text) {} + explicit constexpr Token() = default; + explicit constexpr Token(Kind kind, nonstd::string_view text) : kind(kind), text(text) {} std::string describe() const { switch (kind) { - case Kind::Text: - return ""; - case Kind::LineStatementClose: - return ""; - case Kind::Eof: - return ""; - default: - return static_cast(text); + case Kind::Text: + return ""; + case Kind::LineStatementClose: + return ""; + case Kind::Eof: + return ""; + default: + return static_cast(text); } } }; -} +} // namespace inja -#endif // PANTOR_INJA_TOKEN_HPP +#endif // INCLUDE_INJA_TOKEN_HPP_ // #include "utils.hpp" -#ifndef PANTOR_INJA_UTILS_HPP -#define PANTOR_INJA_UTILS_HPP +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_UTILS_HPP_ +#define INCLUDE_INJA_UTILS_HPP_ #include #include -#include #include #include +// #include "exceptions.hpp" + // #include "string_view.hpp" - namespace inja { -inline void inja_throw(const std::string& type, const std::string& message) { - throw std::runtime_error("[inja.exception." + type + "] " + message); -} - -inline std::ifstream open_file_or_throw(const std::string& path) { - std::ifstream file; +inline void open_file_or_throw(const std::string &path, std::ifstream &file) { file.exceptions(std::ifstream::failbit | std::ifstream::badbit); try { file.open(path); - } catch(const std::ios_base::failure& e) { - inja_throw("file_error", "failed accessing file at '" + path + "'"); + } catch (const std::ios_base::failure & /*e*/) { + throw FileError("failed accessing file at '" + path + "'"); } - return file; } namespace string_view { - inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { - start = std::min(start, view.size()); - end = std::min(std::max(start, end), view.size()); - return view.substr(start, end - start); // StringRef(Data + Start, End - Start); +inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { + start = std::min(start, view.size()); + end = std::min(std::max(start, end), view.size()); + return view.substr(start, end - start); +} + +inline std::pair split(nonstd::string_view view, char Separator) { + size_t idx = view.find(Separator); + if (idx == nonstd::string_view::npos) { + return std::make_pair(view, nonstd::string_view()); + } + return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, nonstd::string_view::npos)); +} + +inline bool starts_with(nonstd::string_view view, nonstd::string_view prefix) { + return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); +} +} // namespace string_view + +inline SourceLocation get_source_location(nonstd::string_view content, size_t pos) { + // Get line and offset position (starts at 1:1) + auto sliced = string_view::slice(content, 0, pos); + std::size_t last_newline = sliced.rfind("\n"); + + if (last_newline == nonstd::string_view::npos) { + return {1, sliced.length() + 1}; } - inline std::pair split(nonstd::string_view view, char Separator) { - size_t idx = view.find(Separator); - if (idx == nonstd::string_view::npos) { - return std::make_pair(view, nonstd::string_view()); + // Count newlines + size_t count_lines = 0; + size_t search_start = 0; + while (search_start <= sliced.size()) { + search_start = sliced.find("\n", search_start) + 1; + if (search_start == 0) { + break; } - return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, nonstd::string_view::npos)); + count_lines += 1; } - inline bool starts_with(nonstd::string_view view, nonstd::string_view prefix) { - return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); - } -} // namespace string + return {count_lines + 1, sliced.length() - last_newline}; +} -} // namespace inja - -#endif // PANTOR_INJA_UTILS_HPP +} // namespace inja +#endif // INCLUDE_INJA_UTILS_HPP_ namespace inja { @@ -1829,236 +1899,188 @@ class Lexer { enum class State { Text, ExpressionStart, + ExpressionStartForceLstrip, ExpressionBody, LineStart, LineBody, StatementStart, + StatementStartNoLstrip, + StatementStartForceLstrip, StatementBody, CommentStart, - CommentBody - } m_state; + CommentBody, + }; - const LexerConfig& m_config; + enum class MinusState { + Operator, + Number, + }; + + const LexerConfig &config; + + State state; + MinusState minus_state; nonstd::string_view m_in; - size_t m_tok_start; - size_t m_pos; + size_t tok_start; + size_t pos; - public: - explicit Lexer(const LexerConfig& config) : m_config(config) {} - void start(nonstd::string_view in) { - m_in = in; - m_tok_start = 0; - m_pos = 0; - m_state = State::Text; - } - - Token scan() { - m_tok_start = m_pos; - - again: - if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); - - switch (m_state) { - default: - case State::Text: { - // fast-scan to first open character - size_t open_start = m_in.substr(m_pos).find_first_of(m_config.open_chars); - if (open_start == nonstd::string_view::npos) { - // didn't find open, return remaining text as text token - m_pos = m_in.size(); - return make_token(Token::Kind::Text); - } - m_pos += open_start; - - // try to match one of the opening sequences, and get the close - nonstd::string_view open_str = m_in.substr(m_pos); - bool must_lstrip = false; - if (inja::string_view::starts_with(open_str, m_config.expression_open)) { - m_state = State::ExpressionStart; - } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { - m_state = State::StatementStart; - must_lstrip = m_config.lstrip_blocks; - } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { - m_state = State::CommentStart; - must_lstrip = m_config.lstrip_blocks; - } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && - inja::string_view::starts_with(open_str, m_config.line_statement)) { - m_state = State::LineStart; - } else { - m_pos += 1; // wasn't actually an opening sequence - goto again; - } - - nonstd::string_view text = string_view::slice(m_in, m_tok_start, m_pos); - if (must_lstrip) - text = clear_final_line_if_whitespace(text); - - if (text.empty()) goto again; // don't generate empty token - return Token(Token::Kind::Text, text); - } - case State::ExpressionStart: { - m_state = State::ExpressionBody; - m_pos += m_config.expression_open.size(); - return make_token(Token::Kind::ExpressionOpen); - } - case State::LineStart: { - m_state = State::LineBody; - m_pos += m_config.line_statement.size(); - return make_token(Token::Kind::LineStatementOpen); - } - case State::StatementStart: { - m_state = State::StatementBody; - m_pos += m_config.statement_open.size(); - return make_token(Token::Kind::StatementOpen); - } - case State::CommentStart: { - m_state = State::CommentBody; - m_pos += m_config.comment_open.size(); - return make_token(Token::Kind::CommentOpen); - } - case State::ExpressionBody: - return scan_body(m_config.expression_close, Token::Kind::ExpressionClose); - case State::LineBody: - return scan_body("\n", Token::Kind::LineStatementClose); - case State::StatementBody: - return scan_body(m_config.statement_close, Token::Kind::StatementClose, m_config.trim_blocks); - case State::CommentBody: { - // fast-scan to comment close - size_t end = m_in.substr(m_pos).find(m_config.comment_close); - if (end == nonstd::string_view::npos) { - m_pos = m_in.size(); - return make_token(Token::Kind::Eof); - } - // return the entire comment in the close token - m_state = State::Text; - m_pos += end + m_config.comment_close.size(); - Token tok = make_token(Token::Kind::CommentClose); - if (m_config.trim_blocks) - skip_newline(); - return tok; - } - } - } - - const LexerConfig& get_config() const { return m_config; } - - private: - Token scan_body(nonstd::string_view close, Token::Kind closeKind, bool trim = false) { + Token scan_body(nonstd::string_view close, Token::Kind closeKind, nonstd::string_view close_trim = nonstd::string_view(), bool trim = false) { again: // skip whitespace (except for \n as it might be a close) - if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); - char ch = m_in[m_tok_start]; + if (tok_start >= m_in.size()) { + return make_token(Token::Kind::Eof); + } + char ch = m_in[tok_start]; if (ch == ' ' || ch == '\t' || ch == '\r') { - m_tok_start += 1; + tok_start += 1; goto again; } // check for close - if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { - m_state = State::Text; - m_pos = m_tok_start + close.size(); + if (!close_trim.empty() && inja::string_view::starts_with(m_in.substr(tok_start), close_trim)) { + state = State::Text; + pos = tok_start + close_trim.size(); Token tok = make_token(closeKind); - if (trim) - skip_newline(); + skip_whitespaces_and_newlines(); + return tok; + } + + if (inja::string_view::starts_with(m_in.substr(tok_start), close)) { + state = State::Text; + pos = tok_start + close.size(); + Token tok = make_token(closeKind); + if (trim) { + skip_whitespaces_and_first_newline(); + } return tok; } // skip \n if (ch == '\n') { - m_tok_start += 1; + tok_start += 1; goto again; } - m_pos = m_tok_start + 1; - if (std::isalpha(ch)) return scan_id(); + pos = tok_start + 1; + if (std::isalpha(ch)) { + minus_state = MinusState::Operator; + return scan_id(); + } + + MinusState current_minus_state = minus_state; + if (minus_state == MinusState::Operator) { + minus_state = MinusState::Number; + } + switch (ch) { - case ',': - return make_token(Token::Kind::Comma); - case ':': - return make_token(Token::Kind::Colon); - case '(': - return make_token(Token::Kind::LeftParen); - case ')': - return make_token(Token::Kind::RightParen); - case '[': - return make_token(Token::Kind::LeftBracket); - case ']': - return make_token(Token::Kind::RightBracket); - case '{': - return make_token(Token::Kind::LeftBrace); - case '}': - return make_token(Token::Kind::RightBrace); - case '>': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::GreaterEqual); - } - return make_token(Token::Kind::GreaterThan); - case '<': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::LessEqual); - } - return make_token(Token::Kind::LessThan); - case '=': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::Equal); - } - return make_token(Token::Kind::Unknown); - case '!': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::NotEqual); - } - return make_token(Token::Kind::Unknown); - case '\"': - return scan_string(); - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - return scan_number(); - case '_': - return scan_id(); - default: - return make_token(Token::Kind::Unknown); + case '+': + return make_token(Token::Kind::Plus); + case '-': + if (current_minus_state == MinusState::Operator) { + return make_token(Token::Kind::Minus); + } + return scan_number(); + case '*': + return make_token(Token::Kind::Times); + case '/': + return make_token(Token::Kind::Slash); + case '^': + return make_token(Token::Kind::Power); + case '%': + return make_token(Token::Kind::Percent); + case '.': + return make_token(Token::Kind::Dot); + case ',': + return make_token(Token::Kind::Comma); + case ':': + return make_token(Token::Kind::Colon); + case '(': + return make_token(Token::Kind::LeftParen); + case ')': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightParen); + case '[': + return make_token(Token::Kind::LeftBracket); + case ']': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightBracket); + case '{': + return make_token(Token::Kind::LeftBrace); + case '}': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightBrace); + case '>': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::GreaterEqual); + } + return make_token(Token::Kind::GreaterThan); + case '<': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::LessEqual); + } + return make_token(Token::Kind::LessThan); + case '=': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::Equal); + } + return make_token(Token::Kind::Unknown); + case '!': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::NotEqual); + } + return make_token(Token::Kind::Unknown); + case '\"': + return scan_string(); + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + minus_state = MinusState::Operator; + return scan_number(); + case '_': + minus_state = MinusState::Operator; + return scan_id(); + default: + return make_token(Token::Kind::Unknown); } } Token scan_id() { for (;;) { - if (m_pos >= m_in.size()) { + if (pos >= m_in.size()) { break; } - char ch = m_in[m_pos]; + char ch = m_in[pos]; if (!std::isalnum(ch) && ch != '.' && ch != '/' && ch != '_' && ch != '-') { break; } - m_pos += 1; + pos += 1; } return make_token(Token::Kind::Id); } Token scan_number() { for (;;) { - if (m_pos >= m_in.size()) { + if (pos >= m_in.size()) { break; } - char ch = m_in[m_pos]; + char ch = m_in[pos]; // be very permissive in lexer (we'll catch errors when conversion happens) if (!std::isdigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && ch != '+' && ch != '-') { break; } - m_pos += 1; + pos += 1; } return make_token(Token::Kind::Number); } @@ -2066,11 +2088,13 @@ class Lexer { Token scan_string() { bool escape {false}; for (;;) { - if (m_pos >= m_in.size()) break; - char ch = m_in[m_pos++]; + if (pos >= m_in.size()) { + break; + } + char ch = m_in[pos++]; if (ch == '\\') { escape = true; - } else if (!escape && ch == m_in[m_tok_start]) { + } else if (!escape && ch == m_in[tok_start]) { break; } else { escape = false; @@ -2079,52 +2103,615 @@ class Lexer { return make_token(Token::Kind::String); } - Token make_token(Token::Kind kind) const { - return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); - } + Token make_token(Token::Kind kind) const { return Token(kind, string_view::slice(m_in, tok_start, pos)); } - void skip_newline() { - if (m_pos < m_in.size()) { - char ch = m_in[m_pos]; - if (ch == '\n') - m_pos += 1; - else if (ch == '\r') { - m_pos += 1; - if (m_pos < m_in.size() && m_in[m_pos] == '\n') - m_pos += 1; + void skip_whitespaces_and_newlines() { + if (pos < m_in.size()) { + while (pos < m_in.size() && (m_in[pos] == ' ' || m_in[pos] == '\t' || m_in[pos] == '\n' || m_in[pos] == '\r')) { + pos += 1; } } } - static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text) - { + void skip_whitespaces_and_first_newline() { + if (pos < m_in.size()) { + while (pos < m_in.size() && (m_in[pos] == ' ' || m_in[pos] == '\t')) { + pos += 1; + } + } + + if (pos < m_in.size()) { + char ch = m_in[pos]; + if (ch == '\n') { + pos += 1; + } else if (ch == '\r') { + pos += 1; + if (pos < m_in.size() && m_in[pos] == '\n') { + pos += 1; + } + } + } + } + + static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text) { nonstd::string_view result = text; while (!result.empty()) { char ch = result.back(); - if (ch == ' ' || ch == '\t') - result.remove_suffix(1); - else if (ch == '\n' || ch == '\r') + if (ch == ' ' || ch == '\t') { + result.remove_suffix(1); + } else if (ch == '\n' || ch == '\r') { break; - else + } else { return text; + } } return result; } + +public: + explicit Lexer(const LexerConfig &config) : config(config), state(State::Text), minus_state(MinusState::Number) {} + + SourceLocation current_position() const { + return get_source_location(m_in, tok_start); + } + + void start(nonstd::string_view input) { + m_in = input; + tok_start = 0; + pos = 0; + state = State::Text; + minus_state = MinusState::Number; + + // Consume byte order mark (BOM) for UTF-8 + if (inja::string_view::starts_with(m_in, "\xEF\xBB\xBF")) { + m_in = m_in.substr(3); + } + } + + Token scan() { + tok_start = pos; + + again: + if (tok_start >= m_in.size()) { + return make_token(Token::Kind::Eof); + } + + switch (state) { + default: + case State::Text: { + // fast-scan to first open character + size_t open_start = m_in.substr(pos).find_first_of(config.open_chars); + if (open_start == nonstd::string_view::npos) { + // didn't find open, return remaining text as text token + pos = m_in.size(); + return make_token(Token::Kind::Text); + } + pos += open_start; + + // try to match one of the opening sequences, and get the close + nonstd::string_view open_str = m_in.substr(pos); + bool must_lstrip = false; + if (inja::string_view::starts_with(open_str, config.expression_open)) { + if (inja::string_view::starts_with(open_str, config.expression_open_force_lstrip)) { + state = State::ExpressionStartForceLstrip; + must_lstrip = true; + } else { + state = State::ExpressionStart; + } + } else if (inja::string_view::starts_with(open_str, config.statement_open)) { + if (inja::string_view::starts_with(open_str, config.statement_open_no_lstrip)) { + state = State::StatementStartNoLstrip; + } else if (inja::string_view::starts_with(open_str, config.statement_open_force_lstrip )) { + state = State::StatementStartForceLstrip; + must_lstrip = true; + } else { + state = State::StatementStart; + must_lstrip = config.lstrip_blocks; + } + } else if (inja::string_view::starts_with(open_str, config.comment_open)) { + state = State::CommentStart; + must_lstrip = config.lstrip_blocks; + } else if ((pos == 0 || m_in[pos - 1] == '\n') && inja::string_view::starts_with(open_str, config.line_statement)) { + state = State::LineStart; + } else { + pos += 1; // wasn't actually an opening sequence + goto again; + } + + nonstd::string_view text = string_view::slice(m_in, tok_start, pos); + if (must_lstrip) { + text = clear_final_line_if_whitespace(text); + } + + if (text.empty()) { + goto again; // don't generate empty token + } + return Token(Token::Kind::Text, text); + } + case State::ExpressionStart: { + state = State::ExpressionBody; + pos += config.expression_open.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::ExpressionStartForceLstrip: { + state = State::ExpressionBody; + pos += config.expression_open_force_lstrip.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::LineStart: { + state = State::LineBody; + pos += config.line_statement.size(); + return make_token(Token::Kind::LineStatementOpen); + } + case State::StatementStart: { + state = State::StatementBody; + pos += config.statement_open.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::StatementStartNoLstrip: { + state = State::StatementBody; + pos += config.statement_open_no_lstrip.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::StatementStartForceLstrip: { + state = State::StatementBody; + pos += config.statement_open_force_lstrip.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::CommentStart: { + state = State::CommentBody; + pos += config.comment_open.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::ExpressionBody: + return scan_body(config.expression_close, Token::Kind::ExpressionClose, config.expression_close_force_rstrip); + case State::LineBody: + return scan_body("\n", Token::Kind::LineStatementClose); + case State::StatementBody: + return scan_body(config.statement_close, Token::Kind::StatementClose, config.statement_close_force_rstrip, config.trim_blocks); + case State::CommentBody: { + // fast-scan to comment close + size_t end = m_in.substr(pos).find(config.comment_close); + if (end == nonstd::string_view::npos) { + pos = m_in.size(); + return make_token(Token::Kind::Eof); + } + // return the entire comment in the close token + state = State::Text; + pos += end + config.comment_close.size(); + Token tok = make_token(Token::Kind::CommentClose); + if (config.trim_blocks) { + skip_whitespaces_and_first_newline(); + } + return tok; + } + } + } + + const LexerConfig &get_config() const { + return config; + } }; -} +} // namespace inja -#endif // PANTOR_INJA_LEXER_HPP +#endif // INCLUDE_INJA_LEXER_HPP_ + +// #include "node.hpp" +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_NODE_HPP_ +#define INCLUDE_INJA_NODE_HPP_ + +#include +#include + +#include + +// #include "function_storage.hpp" + +// #include "string_view.hpp" + + + +namespace inja { + +class NodeVisitor; +class BlockNode; +class TextNode; +class ExpressionNode; +class LiteralNode; +class JsonNode; +class FunctionNode; +class ExpressionListNode; +class StatementNode; +class ForStatementNode; +class ForArrayStatementNode; +class ForObjectStatementNode; +class IfStatementNode; +class IncludeStatementNode; +class SetStatementNode; + + +class NodeVisitor { +public: + virtual void visit(const BlockNode& node) = 0; + virtual void visit(const TextNode& node) = 0; + virtual void visit(const ExpressionNode& node) = 0; + virtual void visit(const LiteralNode& node) = 0; + virtual void visit(const JsonNode& node) = 0; + virtual void visit(const FunctionNode& node) = 0; + virtual void visit(const ExpressionListNode& node) = 0; + virtual void visit(const StatementNode& node) = 0; + virtual void visit(const ForStatementNode& node) = 0; + virtual void visit(const ForArrayStatementNode& node) = 0; + virtual void visit(const ForObjectStatementNode& node) = 0; + virtual void visit(const IfStatementNode& node) = 0; + virtual void visit(const IncludeStatementNode& node) = 0; + virtual void visit(const SetStatementNode& node) = 0; +}; + +/*! + * \brief Base node class for the abstract syntax tree (AST). + */ +class AstNode { +public: + virtual void accept(NodeVisitor& v) const = 0; + + size_t pos; + + AstNode(size_t pos) : pos(pos) { } + virtual ~AstNode() { }; +}; + + +class BlockNode : public AstNode { +public: + std::vector> nodes; + + explicit BlockNode() : AstNode(0) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class TextNode : public AstNode { +public: + const size_t length; + + explicit TextNode(size_t pos, size_t length): AstNode(pos), length(length) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExpressionNode : public AstNode { +public: + explicit ExpressionNode(size_t pos) : AstNode(pos) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class LiteralNode : public ExpressionNode { +public: + const nlohmann::json value; + + explicit LiteralNode(const nlohmann::json& value, size_t pos) : ExpressionNode(pos), value(value) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class JsonNode : public ExpressionNode { +public: + const std::string name; + const json::json_pointer ptr; + + static std::string convert_dot_to_json_ptr(nonstd::string_view ptr_name) { + std::string result; + do { + nonstd::string_view part; + std::tie(part, ptr_name) = string_view::split(ptr_name, '.'); + result.push_back('/'); + result.append(part.begin(), part.end()); + } while (!ptr_name.empty()); + return result; + } + + explicit JsonNode(nonstd::string_view ptr_name, size_t pos) : ExpressionNode(pos), name(ptr_name), ptr(json::json_pointer(convert_dot_to_json_ptr(ptr_name))) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class FunctionNode : public ExpressionNode { + using Op = FunctionStorage::Operation; + +public: + enum class Associativity { + Left, + Right, + }; + + unsigned int precedence; + Associativity associativity; + + Op operation; + + std::string name; + int number_args; // Should also be negative -> -1 for unknown number + CallbackFunction callback; + + explicit FunctionNode(nonstd::string_view name, size_t pos) : ExpressionNode(pos), precedence(8), associativity(Associativity::Left), operation(Op::Callback), name(name), number_args(1) { } + explicit FunctionNode(Op operation, size_t pos) : ExpressionNode(pos), operation(operation), number_args(1) { + switch (operation) { + case Op::Not: { + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::And: { + precedence = 1; + associativity = Associativity::Left; + } break; + case Op::Or: { + precedence = 1; + associativity = Associativity::Left; + } break; + case Op::In: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Equal: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::NotEqual: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Greater: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::GreaterEqual: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Less: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::LessEqual: { + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Add: { + precedence = 3; + associativity = Associativity::Left; + } break; + case Op::Subtract: { + precedence = 3; + associativity = Associativity::Left; + } break; + case Op::Multiplication: { + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::Division: { + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::Power: { + precedence = 5; + associativity = Associativity::Right; + } break; + case Op::Modulo: { + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::AtId: { + precedence = 8; + associativity = Associativity::Left; + } break; + default: { + precedence = 1; + associativity = Associativity::Left; + } + } + } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExpressionListNode : public AstNode { +public: + std::vector> rpn_output; + + explicit ExpressionListNode() : AstNode(0) { } + explicit ExpressionListNode(size_t pos) : AstNode(pos) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class StatementNode : public AstNode { +public: + StatementNode(size_t pos) : AstNode(pos) { } + + virtual void accept(NodeVisitor& v) const = 0; +}; + +class ForStatementNode : public StatementNode { +public: + ExpressionListNode condition; + BlockNode body; + BlockNode *const parent; + + ForStatementNode(BlockNode *const parent, size_t pos) : StatementNode(pos), parent(parent) { } + + virtual void accept(NodeVisitor& v) const = 0; +}; + +class ForArrayStatementNode : public ForStatementNode { +public: + const std::string value; + + explicit ForArrayStatementNode(const std::string& value, BlockNode *const parent, size_t pos) : ForStatementNode(parent, pos), value(value) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ForObjectStatementNode : public ForStatementNode { +public: + const std::string key; + const std::string value; + + explicit ForObjectStatementNode(const std::string& key, const std::string& value, BlockNode *const parent, size_t pos) : ForStatementNode(parent, pos), key(key), value(value) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class IfStatementNode : public StatementNode { +public: + ExpressionListNode condition; + BlockNode true_statement; + BlockNode false_statement; + BlockNode *const parent; + + const bool is_nested; + bool has_false_statement {false}; + + explicit IfStatementNode(BlockNode *const parent, size_t pos) : StatementNode(pos), parent(parent), is_nested(false) { } + explicit IfStatementNode(bool is_nested, BlockNode *const parent, size_t pos) : StatementNode(pos), parent(parent), is_nested(is_nested) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class IncludeStatementNode : public StatementNode { +public: + const std::string file; + + explicit IncludeStatementNode(const std::string& file, size_t pos) : StatementNode(pos), file(file) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + }; +}; + +class SetStatementNode : public StatementNode { +public: + const std::string key; + ExpressionListNode expression; + + explicit SetStatementNode(const std::string& key, size_t pos) : StatementNode(pos), key(key) { } + + void accept(NodeVisitor& v) const { + v.visit(*this); + }; +}; + +} // namespace inja + +#endif // INCLUDE_INJA_NODE_HPP_ // #include "template.hpp" -#ifndef PANTOR_INJA_TEMPLATE_HPP -#define PANTOR_INJA_TEMPLATE_HPP +// Copyright (c) 2019 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_TEMPLATE_HPP_ +#define INCLUDE_INJA_TEMPLATE_HPP_ #include +#include #include #include -// #include "bytecode.hpp" +// #include "node.hpp" + +// #include "statistics.hpp" +// Copyright (c) 2019 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_STATISTICS_HPP_ +#define INCLUDE_INJA_STATISTICS_HPP_ + +// #include "node.hpp" + + + +namespace inja { + +/*! + * \brief A class for counting statistics on a Template. + */ +class StatisticsVisitor : public NodeVisitor { + void visit(const BlockNode& node) { + for (auto& n : node.nodes) { + n->accept(*this); + } + } + + void visit(const TextNode&) { } + void visit(const ExpressionNode&) { } + void visit(const LiteralNode&) { } + + void visit(const JsonNode&) { + variable_counter += 1; + } + + void visit(const FunctionNode&) { } + + void visit(const ExpressionListNode& node) { + for (auto& n : node.rpn_output) { + n->accept(*this); + } + } + + void visit(const StatementNode&) { } + void visit(const ForStatementNode&) { } + + void visit(const ForArrayStatementNode& node) { + node.condition.accept(*this); + node.body.accept(*this); + } + + void visit(const ForObjectStatementNode& node) { + node.condition.accept(*this); + node.body.accept(*this); + } + + void visit(const IfStatementNode& node) { + node.condition.accept(*this); + node.true_statement.accept(*this); + node.false_statement.accept(*this); + } + + void visit(const IncludeStatementNode&) { } + + void visit(const SetStatementNode&) { } + +public: + unsigned int variable_counter; + + explicit StatisticsVisitor() : variable_counter(0) { } +}; + +} // namespace inja + +#endif // INCLUDE_INJA_STATISTICS_HPP_ @@ -2134,15 +2721,25 @@ namespace inja { * \brief The main inja Template. */ struct Template { - std::vector bytecodes; + BlockNode root; std::string content; + + explicit Template() { } + explicit Template(const std::string& content): content(content) { } + + /// Return number of variables (total number, not distinct ones) in the template + int count_variables() { + auto statistic_visitor = StatisticsVisitor(); + root.accept(statistic_visitor); + return statistic_visitor.variable_counter; + } }; using TemplateStorage = std::map; -} +} // namespace inja -#endif // PANTOR_INJA_TEMPLATE_HPP +#endif // INCLUDE_INJA_TEMPLATE_HPP_ // #include "token.hpp" @@ -2151,484 +2748,538 @@ using TemplateStorage = std::map; #include - namespace inja { -class ParserStatic { - ParserStatic() { - functions.add_builtin("at", 2, Bytecode::Op::At); - functions.add_builtin("default", 2, Bytecode::Op::Default); - functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); - functions.add_builtin("even", 1, Bytecode::Op::Even); - functions.add_builtin("first", 1, Bytecode::Op::First); - functions.add_builtin("float", 1, Bytecode::Op::Float); - functions.add_builtin("int", 1, Bytecode::Op::Int); - functions.add_builtin("last", 1, Bytecode::Op::Last); - functions.add_builtin("length", 1, Bytecode::Op::Length); - functions.add_builtin("lower", 1, Bytecode::Op::Lower); - functions.add_builtin("max", 1, Bytecode::Op::Max); - functions.add_builtin("min", 1, Bytecode::Op::Min); - functions.add_builtin("odd", 1, Bytecode::Op::Odd); - functions.add_builtin("range", 1, Bytecode::Op::Range); - functions.add_builtin("round", 2, Bytecode::Op::Round); - functions.add_builtin("sort", 1, Bytecode::Op::Sort); - functions.add_builtin("upper", 1, Bytecode::Op::Upper); - functions.add_builtin("exists", 1, Bytecode::Op::Exists); - functions.add_builtin("existsIn", 2, Bytecode::Op::ExistsInObject); - functions.add_builtin("isBoolean", 1, Bytecode::Op::IsBoolean); - functions.add_builtin("isNumber", 1, Bytecode::Op::IsNumber); - functions.add_builtin("isInteger", 1, Bytecode::Op::IsInteger); - functions.add_builtin("isFloat", 1, Bytecode::Op::IsFloat); - functions.add_builtin("isObject", 1, Bytecode::Op::IsObject); - functions.add_builtin("isArray", 1, Bytecode::Op::IsArray); - functions.add_builtin("isString", 1, Bytecode::Op::IsString); - } - - public: - ParserStatic(const ParserStatic&) = delete; - ParserStatic& operator=(const ParserStatic&) = delete; - - static const ParserStatic& get_instance() { - static ParserStatic inst; - return inst; - } - - FunctionStorage functions; -}; - /*! * \brief Class for parsing an inja Template. */ class Parser { - public: - explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } + const ParserConfig &config; - bool parse_expression(Template& tmpl) { - if (!parse_expression_and(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("or")) return true; - get_next_token(); - if (!parse_expression_and(tmpl)) return false; - append_function(tmpl, Bytecode::Op::Or, 2); - return true; + Lexer lexer; + TemplateStorage &template_storage; + const FunctionStorage &function_storage; + + Token tok, peek_tok; + bool have_peek_tok {false}; + + size_t current_paren_level {0}; + size_t current_bracket_level {0}; + size_t current_brace_level {0}; + + nonstd::string_view json_literal_start; + + BlockNode *current_block {nullptr}; + ExpressionListNode *current_expression_list {nullptr}; + std::stack> function_stack; + + std::stack> operator_stack; + std::stack if_statement_stack; + std::stack for_statement_stack; + + void throw_parser_error(const std::string &message) { + throw ParserError(message, lexer.current_position()); } - bool parse_expression_and(Template& tmpl) { - if (!parse_expression_not(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("and")) return true; - get_next_token(); - if (!parse_expression_not(tmpl)) return false; - append_function(tmpl, Bytecode::Op::And, 2); - return true; - } - - bool parse_expression_not(Template& tmpl) { - if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("not")) { - get_next_token(); - if (!parse_expression_not(tmpl)) return false; - append_function(tmpl, Bytecode::Op::Not, 1); - return true; + void get_next_token() { + if (have_peek_tok) { + tok = peek_tok; + have_peek_tok = false; } else { - return parse_expression_comparison(tmpl); + tok = lexer.scan(); } } - bool parse_expression_comparison(Template& tmpl) { - if (!parse_expression_datum(tmpl)) return false; - Bytecode::Op op; - switch (m_tok.kind) { - case Token::Kind::Id: - if (m_tok.text == static_cast("in")) - op = Bytecode::Op::In; - else - return true; - break; - case Token::Kind::Equal: - op = Bytecode::Op::Equal; - break; - case Token::Kind::GreaterThan: - op = Bytecode::Op::Greater; - break; - case Token::Kind::LessThan: - op = Bytecode::Op::Less; - break; - case Token::Kind::LessEqual: - op = Bytecode::Op::LessEqual; - break; - case Token::Kind::GreaterEqual: - op = Bytecode::Op::GreaterEqual; - break; - case Token::Kind::NotEqual: - op = Bytecode::Op::Different; - break; - default: - return true; + void get_peek_token() { + if (!have_peek_tok) { + peek_tok = lexer.scan(); + have_peek_tok = true; } - get_next_token(); - if (!parse_expression_datum(tmpl)) return false; - append_function(tmpl, op, 2); - return true; } - bool parse_expression_datum(Template& tmpl) { - nonstd::string_view json_first; - size_t bracket_level = 0; - size_t brace_level = 0; + void add_json_literal(const char* content_ptr) { + nonstd::string_view json_text(json_literal_start.data(), tok.text.data() - json_literal_start.data() + tok.text.size()); + current_expression_list->rpn_output.emplace_back(std::make_shared(json::parse(json_text), json_text.data() - content_ptr)); + } - for (;;) { - switch (m_tok.kind) { - case Token::Kind::LeftParen: { - get_next_token(); - if (!parse_expression(tmpl)) return false; - if (m_tok.kind != Token::Kind::RightParen) { - inja_throw("parser_error", "unmatched '('"); - } - get_next_token(); - return true; + bool parse_expression(Template &tmpl, Token::Kind closing) { + while (tok.kind != closing && tok.kind != Token::Kind::Eof) { + // Literals + switch (tok.kind) { + case Token::Kind::String: { + if (current_brace_level == 0 && current_bracket_level == 0) { + json_literal_start = tok.text; + add_json_literal(tmpl.content.c_str()); } - case Token::Kind::Id: - get_peek_token(); - if (m_peek_tok.kind == Token::Kind::LeftParen) { - // function call, parse arguments - Token func_token = m_tok; - get_next_token(); // id - get_next_token(); // leftParen - unsigned int num_args = 0; - if (m_tok.kind == Token::Kind::RightParen) { - // no args - get_next_token(); - } else { - for (;;) { - if (!parse_expression(tmpl)) { - inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); - } - num_args += 1; - if (m_tok.kind == Token::Kind::RightParen) { - get_next_token(); - break; - } - if (m_tok.kind != Token::Kind::Comma) { - inja_throw("parser_error", "expected ')' or ',', got '" + m_tok.describe() + "'"); - } - get_next_token(); - } - } - auto op = m_static.functions.find_builtin(func_token.text, num_args); + } break; + case Token::Kind::Number: { + if (current_brace_level == 0 && current_bracket_level == 0) { + json_literal_start = tok.text; + add_json_literal(tmpl.content.c_str()); + } - if (op != Bytecode::Op::Nop) { - // swap arguments for default(); see comment in RenderTo() - if (op == Bytecode::Op::Default) - std::swap(tmpl.bytecodes.back(), *(tmpl.bytecodes.rbegin() + 1)); - append_function(tmpl, op, num_args); - return true; - } else { - append_callback(tmpl, func_token.text, num_args); - return true; - } - } else if (m_tok.text == static_cast("true") || - m_tok.text == static_cast("false") || - m_tok.text == static_cast("null")) { - // true, false, null are json literals - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; - goto returnJson; - } - break; + } break; + case Token::Kind::LeftBracket: { + if (current_brace_level == 0 && current_bracket_level == 0) { + json_literal_start = tok.text; + } + current_bracket_level += 1; + + } break; + case Token::Kind::LeftBrace: { + if (current_brace_level == 0 && current_bracket_level == 0) { + json_literal_start = tok.text; + } + current_brace_level += 1; + + } break; + case Token::Kind::RightBracket: { + if (current_bracket_level == 0) { + throw_parser_error("unexpected ']'"); + } + + current_bracket_level -= 1; + if (current_brace_level == 0 && current_bracket_level == 0) { + add_json_literal(tmpl.content.c_str()); + } + + } break; + case Token::Kind::RightBrace: { + if (current_brace_level == 0) { + throw_parser_error("unexpected '}'"); + } + + current_brace_level -= 1; + if (current_brace_level == 0 && current_bracket_level == 0) { + add_json_literal(tmpl.content.c_str()); + } + + } break; + case Token::Kind::Id: { + get_peek_token(); + + // Json Literal + if (tok.text == static_cast("true") || tok.text == static_cast("false") || tok.text == static_cast("null")) { + if (current_brace_level == 0 && current_bracket_level == 0) { + json_literal_start = tok.text; + add_json_literal(tmpl.content.c_str()); + } + + // Operator + } else if (tok.text == "and" || tok.text == "or" || tok.text == "in" || tok.text == "not") { + goto parse_operator; + + // Functions + } else if (peek_tok.kind == Token::Kind::LeftParen) { + operator_stack.emplace(std::make_shared(static_cast(tok.text), tok.text.data() - tmpl.content.c_str())); + function_stack.emplace(operator_stack.top().get(), current_paren_level); + + // Variables + } else { + current_expression_list->rpn_output.emplace_back(std::make_shared(static_cast(tok.text), tok.text.data() - tmpl.content.c_str())); + } + + // Operators + } break; + case Token::Kind::Equal: + case Token::Kind::NotEqual: + case Token::Kind::GreaterThan: + case Token::Kind::GreaterEqual: + case Token::Kind::LessThan: + case Token::Kind::LessEqual: + case Token::Kind::Plus: + case Token::Kind::Minus: + case Token::Kind::Times: + case Token::Kind::Slash: + case Token::Kind::Power: + case Token::Kind::Percent: + case Token::Kind::Dot: { + + parse_operator: + FunctionStorage::Operation operation; + switch (tok.kind) { + case Token::Kind::Id: { + if (tok.text == "and") { + operation = FunctionStorage::Operation::And; + } else if (tok.text == "or") { + operation = FunctionStorage::Operation::Or; + } else if (tok.text == "in") { + operation = FunctionStorage::Operation::In; + } else if (tok.text == "not") { + operation = FunctionStorage::Operation::Not; } else { - // normal literal (json read) - tmpl.bytecodes.emplace_back( - Bytecode::Op::Push, m_tok.text, - m_config.notation == ElementNotation::Pointer ? Bytecode::Flag::ValueLookupPointer : Bytecode::Flag::ValueLookupDot); - get_next_token(); - return true; + throw_parser_error("unknown operator in parser."); } - // json passthrough - case Token::Kind::Number: - case Token::Kind::String: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; - goto returnJson; + } break; + case Token::Kind::Equal: { + operation = FunctionStorage::Operation::Equal; + } break; + case Token::Kind::NotEqual: { + operation = FunctionStorage::Operation::NotEqual; + } break; + case Token::Kind::GreaterThan: { + operation = FunctionStorage::Operation::Greater; + } break; + case Token::Kind::GreaterEqual: { + operation = FunctionStorage::Operation::GreaterEqual; + } break; + case Token::Kind::LessThan: { + operation = FunctionStorage::Operation::Less; + } break; + case Token::Kind::LessEqual: { + operation = FunctionStorage::Operation::LessEqual; + } break; + case Token::Kind::Plus: { + operation = FunctionStorage::Operation::Add; + } break; + case Token::Kind::Minus: { + operation = FunctionStorage::Operation::Subtract; + } break; + case Token::Kind::Times: { + operation = FunctionStorage::Operation::Multiplication; + } break; + case Token::Kind::Slash: { + operation = FunctionStorage::Operation::Division; + } break; + case Token::Kind::Power: { + operation = FunctionStorage::Operation::Power; + } break; + case Token::Kind::Percent: { + operation = FunctionStorage::Operation::Modulo; + } break; + case Token::Kind::Dot: { + operation = FunctionStorage::Operation::AtId; + } break; + default: { + throw_parser_error("unknown operator in parser."); + } + } + auto function_node = std::make_shared(operation, tok.text.data() - tmpl.content.c_str()); + + while (!operator_stack.empty() && ((operator_stack.top()->precedence > function_node->precedence) || (operator_stack.top()->precedence == function_node->precedence && function_node->associativity == FunctionNode::Associativity::Left)) && (operator_stack.top()->operation != FunctionStorage::Operation::ParenLeft)) { + current_expression_list->rpn_output.emplace_back(operator_stack.top()); + operator_stack.pop(); + } + + operator_stack.emplace(function_node); + + } break; + case Token::Kind::Comma: { + if (current_brace_level == 0 && current_bracket_level == 0) { + if (function_stack.empty()) { + throw_parser_error("unexpected ','"); } - break; - case Token::Kind::Comma: - case Token::Kind::Colon: - if (brace_level == 0 && bracket_level == 0) { - inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + + function_stack.top().first->number_args += 1; + } + + } break; + case Token::Kind::Colon: { + if (current_brace_level == 0 && current_bracket_level == 0) { + throw_parser_error("unexpected ':'"); + } + + } break; + case Token::Kind::LeftParen: { + current_paren_level += 1; + operator_stack.emplace(std::make_shared(FunctionStorage::Operation::ParenLeft, tok.text.data() - tmpl.content.c_str())); + + get_peek_token(); + if (peek_tok.kind == Token::Kind::RightParen) { + if (!function_stack.empty() && function_stack.top().second == current_paren_level - 1) { + function_stack.top().first->number_args = 0; } - break; - case Token::Kind::LeftBracket: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; + } + + } break; + case Token::Kind::RightParen: { + current_paren_level -= 1; + while (!operator_stack.empty() && operator_stack.top()->operation != FunctionStorage::Operation::ParenLeft) { + current_expression_list->rpn_output.emplace_back(operator_stack.top()); + operator_stack.pop(); + } + + if (!operator_stack.empty() && operator_stack.top()->operation == FunctionStorage::Operation::ParenLeft) { + operator_stack.pop(); + } + + if (!function_stack.empty() && function_stack.top().second == current_paren_level) { + auto func = function_stack.top().first; + auto function_data = function_storage.find_function(func->name, func->number_args); + if (function_data.operation == FunctionStorage::Operation::None) { + throw_parser_error("unknown function " + func->name); } - bracket_level += 1; - break; - case Token::Kind::LeftBrace: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; + func->operation = function_data.operation; + if (function_data.operation == FunctionStorage::Operation::Callback) { + func->callback = function_data.callback; } - brace_level += 1; - break; - case Token::Kind::RightBracket: - if (bracket_level == 0) { - inja_throw("parser_error", "unexpected ']'"); + + if (operator_stack.empty()) { + throw_parser_error("internal error at function " + func->name); } - --bracket_level; - if (brace_level == 0 && bracket_level == 0) goto returnJson; - break; - case Token::Kind::RightBrace: - if (brace_level == 0) { - inja_throw("parser_error", "unexpected '}'"); - } - --brace_level; - if (brace_level == 0 && bracket_level == 0) goto returnJson; - break; - default: - if (brace_level != 0) { - inja_throw("parser_error", "unmatched '{'"); - } - if (bracket_level != 0) { - inja_throw("parser_error", "unmatched '['"); - } - return false; + + current_expression_list->rpn_output.emplace_back(operator_stack.top()); + operator_stack.pop(); + function_stack.pop(); + } + } + default: + break; } get_next_token(); } - returnJson: - // bridge across all intermediate tokens - nonstd::string_view json_text(json_first.data(), m_tok.text.data() - json_first.data() + m_tok.text.size()); - tmpl.bytecodes.emplace_back(Bytecode::Op::Push, json::parse(json_text), Bytecode::Flag::ValueImmediate); - get_next_token(); + while (!operator_stack.empty()) { + current_expression_list->rpn_output.emplace_back(operator_stack.top()); + operator_stack.pop(); + } + return true; } - bool parse_statement(Template& tmpl, nonstd::string_view path) { - if (m_tok.kind != Token::Kind::Id) return false; + bool parse_statement(Template &tmpl, Token::Kind closing, nonstd::string_view path) { + if (tok.kind != Token::Kind::Id) { + return false; + } - if (m_tok.text == static_cast("if")) { + if (tok.text == static_cast("if")) { get_next_token(); - // evaluate expression - if (!parse_expression(tmpl)) return false; + auto if_statement_node = std::make_shared(current_block, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(if_statement_node); + if_statement_stack.emplace(if_statement_node.get()); + current_block = &if_statement_node->true_statement; + current_expression_list = &if_statement_node->condition; - // start a new if block on if stack - m_if_stack.emplace_back(tmpl.bytecodes.size()); - - // conditional jump; destination will be filled in by else or endif - tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); - } else if (m_tok.text == static_cast("endif")) { - if (m_if_stack.empty()) { - inja_throw("parser_error", "endif without matching if"); + if (!parse_expression(tmpl, closing)) { + return false; } - auto& if_data = m_if_stack.back(); + + } else if (tok.text == static_cast("else")) { + if (if_statement_stack.empty()) { + throw_parser_error("else without matching if"); + } + auto &if_statement_data = if_statement_stack.top(); get_next_token(); - // previous conditional jump jumps here - if (if_data.prev_cond_jump != std::numeric_limits::max()) { - tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); - } + if_statement_data->has_false_statement = true; + current_block = &if_statement_data->false_statement; - // update all previous unconditional jumps to here - for (unsigned int i: if_data.uncond_jumps) { - tmpl.bytecodes[i].args = tmpl.bytecodes.size(); - } - - // pop if stack - m_if_stack.pop_back(); - } else if (m_tok.text == static_cast("else")) { - if (m_if_stack.empty()) - inja_throw("parser_error", "else without matching if"); - auto& if_data = m_if_stack.back(); - get_next_token(); - - // end previous block with unconditional jump to endif; destination will be - // filled in by endif - if_data.uncond_jumps.push_back(tmpl.bytecodes.size()); - tmpl.bytecodes.emplace_back(Bytecode::Op::Jump); - - // previous conditional jump jumps here - tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); - if_data.prev_cond_jump = std::numeric_limits::max(); - - // chained else if - if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("if")) { + // Chained else if + if (tok.kind == Token::Kind::Id && tok.text == static_cast("if")) { get_next_token(); - // evaluate expression - if (!parse_expression(tmpl)) return false; + auto if_statement_node = std::make_shared(true, current_block, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(if_statement_node); + if_statement_stack.emplace(if_statement_node.get()); + current_block = &if_statement_node->true_statement; + current_expression_list = &if_statement_node->condition; - // update "previous jump" - if_data.prev_cond_jump = tmpl.bytecodes.size(); - - // conditional jump; destination will be filled in by else or endif - tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + if (!parse_expression(tmpl, closing)) { + return false; + } } - } else if (m_tok.text == static_cast("for")) { + + } else if (tok.text == static_cast("endif")) { + if (if_statement_stack.empty()) { + throw_parser_error("endif without matching if"); + } + + // Nested if statements + while (if_statement_stack.top()->is_nested) { + if_statement_stack.pop(); + } + + auto &if_statement_data = if_statement_stack.top(); + get_next_token(); + + current_block = if_statement_data->parent; + if_statement_stack.pop(); + + } else if (tok.text == static_cast("for")) { get_next_token(); // options: for a in arr; for a, b in obj - if (m_tok.kind != Token::Kind::Id) - inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); - Token value_token = m_tok; + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected id, got '" + tok.describe() + "'"); + } + + Token value_token = tok; get_next_token(); - Token key_token; - if (m_tok.kind == Token::Kind::Comma) { + // Object type + std::shared_ptr for_statement_node; + if (tok.kind == Token::Kind::Comma) { get_next_token(); - if (m_tok.kind != Token::Kind::Id) - inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); - key_token = std::move(value_token); - value_token = m_tok; + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected id, got '" + tok.describe() + "'"); + } + + Token key_token = std::move(value_token); + value_token = tok; get_next_token(); + + for_statement_node = std::make_shared(static_cast(key_token.text), static_cast(value_token.text), current_block, tok.text.data() - tmpl.content.c_str()); + + // Array type + } else { + for_statement_node = std::make_shared(static_cast(value_token.text), current_block, tok.text.data() - tmpl.content.c_str()); } - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("in")) - inja_throw("parser_error", - "expected 'in', got '" + m_tok.describe() + "'"); + current_block->nodes.emplace_back(for_statement_node); + for_statement_stack.emplace(for_statement_node.get()); + current_block = &for_statement_node->body; + current_expression_list = &for_statement_node->condition; + + if (tok.kind != Token::Kind::Id || tok.text != static_cast("in")) { + throw_parser_error("expected 'in', got '" + tok.describe() + "'"); + } get_next_token(); - if (!parse_expression(tmpl)) return false; - - m_loop_stack.push_back(tmpl.bytecodes.size()); - - tmpl.bytecodes.emplace_back(Bytecode::Op::StartLoop); - if (!key_token.text.empty()) { - tmpl.bytecodes.back().value = key_token.text; - } - tmpl.bytecodes.back().str = static_cast(value_token.text); - } else if (m_tok.text == static_cast("endfor")) { - get_next_token(); - if (m_loop_stack.empty()) { - inja_throw("parser_error", "endfor without matching for"); + if (!parse_expression(tmpl, closing)) { + return false; } - // update loop with EndLoop index (for empty case) - tmpl.bytecodes[m_loop_stack.back()].args = tmpl.bytecodes.size(); + } else if (tok.text == static_cast("endfor")) { + if (for_statement_stack.empty()) { + throw_parser_error("endfor without matching for"); + } - tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); - tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body - m_loop_stack.pop_back(); - } else if (m_tok.text == static_cast("include")) { + auto &for_statement_data = for_statement_stack.top(); get_next_token(); - if (m_tok.kind != Token::Kind::String) { - inja_throw("parser_error", "expected string, got '" + m_tok.describe() + "'"); + current_block = for_statement_data->parent; + for_statement_stack.pop(); + + } else if (tok.text == static_cast("include")) { + get_next_token(); + + if (tok.kind != Token::Kind::String) { + throw_parser_error("expected string, got '" + tok.describe() + "'"); } - // build the relative path - json json_name = json::parse(m_tok.text); + // Build the relative path + json json_name = json::parse(tok.text); std::string pathname = static_cast(path); - pathname += json_name.get_ref(); + pathname += json_name.get_ref(); if (pathname.compare(0, 2, "./") == 0) { pathname.erase(0, 2); } // sys::path::remove_dots(pathname, true, sys::path::Style::posix); - if (m_included_templates.find(pathname) == m_included_templates.end()) { - Template include_template = parse_template(pathname); - m_included_templates.emplace(pathname, include_template); + if (config.search_included_templates_in_files && template_storage.find(pathname) == template_storage.end()) { + auto include_template = Template(load_file(pathname)); + template_storage.emplace(pathname, include_template); + parse_into_template(template_storage[pathname], pathname); } - // generate a reference bytecode - tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); + current_block->nodes.emplace_back(std::make_shared(pathname, tok.text.data() - tmpl.content.c_str())); get_next_token(); + + } else if (tok.text == static_cast("set")) { + get_next_token(); + + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected variable name, got '" + tok.describe() + "'"); + } + + std::string key = static_cast(tok.text); + get_next_token(); + + auto set_statement_node = std::make_shared(key, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(set_statement_node); + current_expression_list = &set_statement_node->expression; + + if (tok.text != static_cast("=")) { + throw_parser_error("expected '=', got '" + tok.describe() + "'"); + } + get_next_token(); + + if (!parse_expression(tmpl, closing)) { + return false; + } + } else { return false; } return true; } - void append_function(Template& tmpl, Bytecode::Op op, unsigned int num_args) { - // we can merge with back-to-back push - if (!tmpl.bytecodes.empty()) { - Bytecode& last = tmpl.bytecodes.back(); - if (last.op == Bytecode::Op::Push) { - last.op = op; - last.args = num_args; - return; - } - } - - // otherwise just add it to the end - tmpl.bytecodes.emplace_back(op, num_args); - } - - void append_callback(Template& tmpl, nonstd::string_view name, unsigned int num_args) { - // we can merge with back-to-back push value (not lookup) - if (!tmpl.bytecodes.empty()) { - Bytecode& last = tmpl.bytecodes.back(); - if (last.op == Bytecode::Op::Push && - (last.flags & Bytecode::Flag::ValueMask) == Bytecode::Flag::ValueImmediate) { - last.op = Bytecode::Op::Callback; - last.args = num_args; - last.str = static_cast(name); - return; - } - } - - // otherwise just add it to the end - tmpl.bytecodes.emplace_back(Bytecode::Op::Callback, num_args); - tmpl.bytecodes.back().str = static_cast(name); - } - - void parse_into(Template& tmpl, nonstd::string_view path) { - m_lexer.start(tmpl.content); + void parse_into(Template &tmpl, nonstd::string_view path) { + lexer.start(tmpl.content); + current_block = &tmpl.root; for (;;) { get_next_token(); - switch (m_tok.kind) { - case Token::Kind::Eof: - if (!m_if_stack.empty()) inja_throw("parser_error", "unmatched if"); - if (!m_loop_stack.empty()) inja_throw("parser_error", "unmatched for"); - return; - case Token::Kind::Text: - tmpl.bytecodes.emplace_back(Bytecode::Op::PrintText, m_tok.text, 0u); - break; - case Token::Kind::StatementOpen: - get_next_token(); - if (!parse_statement(tmpl, path)) { - inja_throw("parser_error", "expected statement, got '" + m_tok.describe() + "'"); - } - if (m_tok.kind != Token::Kind::StatementClose) { - inja_throw("parser_error", "expected statement close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::LineStatementOpen: - get_next_token(); - parse_statement(tmpl, path); - if (m_tok.kind != Token::Kind::LineStatementClose && - m_tok.kind != Token::Kind::Eof) { - inja_throw("parser_error", "expected line statement close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::ExpressionOpen: - get_next_token(); - if (!parse_expression(tmpl)) { - inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); - } - append_function(tmpl, Bytecode::Op::PrintValue, 1); - if (m_tok.kind != Token::Kind::ExpressionClose) { - inja_throw("parser_error", "expected expression close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::CommentOpen: - get_next_token(); - if (m_tok.kind != Token::Kind::CommentClose) { - inja_throw("parser_error", "expected comment close, got '" + m_tok.describe() + "'"); - } - break; - default: - inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); - break; + switch (tok.kind) { + case Token::Kind::Eof: { + if (!if_statement_stack.empty()) { + throw_parser_error("unmatched if"); + } + if (!for_statement_stack.empty()) { + throw_parser_error("unmatched for"); + } + } return; + case Token::Kind::Text: { + current_block->nodes.emplace_back(std::make_shared(tok.text.data() - tmpl.content.c_str(), tok.text.size())); + } break; + case Token::Kind::StatementOpen: { + get_next_token(); + if (!parse_statement(tmpl, Token::Kind::StatementClose, path)) { + throw_parser_error("expected statement, got '" + tok.describe() + "'"); + } + if (tok.kind != Token::Kind::StatementClose) { + throw_parser_error("expected statement close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::LineStatementOpen: { + get_next_token(); + if (!parse_statement(tmpl, Token::Kind::LineStatementClose, path)) { + throw_parser_error("expected statement, got '" + tok.describe() + "'"); + } + if (tok.kind != Token::Kind::LineStatementClose && tok.kind != Token::Kind::Eof) { + throw_parser_error("expected line statement close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::ExpressionOpen: { + get_next_token(); + + auto expression_list_node = std::make_shared(tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(expression_list_node); + current_expression_list = expression_list_node.get(); + + if (!parse_expression(tmpl, Token::Kind::ExpressionClose)) { + throw_parser_error("expected expression, got '" + tok.describe() + "'"); + } + + if (tok.kind != Token::Kind::ExpressionClose) { + throw_parser_error("expected expression close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::CommentOpen: { + get_next_token(); + if (tok.kind != Token::Kind::CommentClose) { + throw_parser_error("expected comment close, got '" + tok.describe() + "'"); + } + } break; + default: { + throw_parser_error("unexpected token '" + tok.describe() + "'"); + } break; } } } + +public: + explicit Parser(const ParserConfig &parser_config, const LexerConfig &lexer_config, + TemplateStorage &template_storage, const FunctionStorage &function_storage) + : config(parser_config), lexer(lexer_config), template_storage(template_storage), function_storage(function_storage) { } + Template parse(nonstd::string_view input, nonstd::string_view path) { - Template result; - result.content = static_cast(input); + auto result = Template(static_cast(input)); parse_into(result, path); return result; } @@ -2637,118 +3288,31 @@ class Parser { return parse(input, "./"); } - Template parse_template(nonstd::string_view filename) { - Template result; - result.content = load_file(filename); - + void parse_into_template(Template& tmpl, nonstd::string_view filename) { nonstd::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); - // StringRef path = sys::path::parent_path(filename); - Parser(m_config, m_lexer.get_config(), m_included_templates).parse_into(result, path); - return result; + + // StringRef path = sys::path::parent_path(filename); + auto sub_parser = Parser(config, lexer.get_config(), template_storage, function_storage); + sub_parser.parse_into(tmpl, path); } std::string load_file(nonstd::string_view filename) { - std::ifstream file = open_file_or_throw(static_cast(filename)); + std::ifstream file; + open_file_or_throw(static_cast(filename), file); std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); return text; } - - private: - const ParserConfig& m_config; - Lexer m_lexer; - Token m_tok; - Token m_peek_tok; - bool m_have_peek_tok {false}; - TemplateStorage& m_included_templates; - const ParserStatic& m_static; - - struct IfData { - unsigned int prev_cond_jump; - std::vector uncond_jumps; - - explicit IfData(unsigned int condJump): prev_cond_jump(condJump) {} - }; - - std::vector m_if_stack; - std::vector m_loop_stack; - - void get_next_token() { - if (m_have_peek_tok) { - m_tok = m_peek_tok; - m_have_peek_tok = false; - } else { - m_tok = m_lexer.scan(); - } - } - - void get_peek_token() { - if (!m_have_peek_tok) { - m_peek_tok = m_lexer.scan(); - m_have_peek_tok = true; - } - } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_PARSER_HPP - -// #include "polyfill.hpp" -#ifndef PANTOR_INJA_POLYFILL_HPP -#define PANTOR_INJA_POLYFILL_HPP - - -#if __cplusplus < 201402L - -#include -#include -#include -#include - - -namespace stdinja { - template struct _Unique_if { - typedef std::unique_ptr _Single_object; - }; - - template struct _Unique_if { - typedef std::unique_ptr _Unknown_bound; - }; - - template struct _Unique_if { - typedef void _Known_bound; - }; - - template - typename _Unique_if::_Single_object - make_unique(Args&&... args) { - return std::unique_ptr(new T(std::forward(args)...)); - } - - template - typename _Unique_if::_Unknown_bound - make_unique(size_t n) { - typedef typename std::remove_extent::type U; - return std::unique_ptr(new U[n]()); - } - - template - typename _Unique_if::_Known_bound - make_unique(Args&&...) = delete; -} - -#else - -namespace stdinja = std; - -#endif // memory */ - - -#endif // PANTOR_INJA_POLYFILL_HPP +#endif // INCLUDE_INJA_PARSER_HPP_ // #include "renderer.hpp" -#ifndef PANTOR_INJA_RENDERER_HPP -#define PANTOR_INJA_RENDERER_HPP +// Copyright (c) 2020 Pantor. All rights reserved. + +#ifndef INCLUDE_INJA_RENDERER_HPP_ +#define INCLUDE_INJA_RENDERER_HPP_ #include #include @@ -2758,577 +3322,605 @@ namespace stdinja = std; #include -// #include "bytecode.hpp" +// #include "config.hpp" + +// #include "exceptions.hpp" + +// #include "node.hpp" // #include "template.hpp" // #include "utils.hpp" - namespace inja { -inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, std::string& out) { - out.clear(); - do { - nonstd::string_view part; - std::tie(part, dot) = string_view::split(dot, '.'); - out.push_back('/'); - out.append(part.begin(), part.end()); - } while (!dot.empty()); - return nonstd::string_view(out.data(), out.size()); -} - /*! * \brief Class for rendering a Template with data. */ -class Renderer { - std::vector& get_args(const Bytecode& bc) { - m_tmp_args.clear(); +class Renderer : public NodeVisitor { + using Op = FunctionStorage::Operation; - bool has_imm = ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop); + const RenderConfig config; + const Template *current_template; + const TemplateStorage &template_storage; + const FunctionStorage &function_storage; - // get args from stack - unsigned int pop_args = bc.args; - if (has_imm) { - pop_args -= 1; - } + const json *json_input; + std::ostream *output_stream; - for (auto i = std::prev(m_stack.end(), pop_args); i != m_stack.end(); i++) { - m_tmp_args.push_back(&(*i)); - } + json json_additional_data; + json* current_loop_data = &json_additional_data["loop"]; - // get immediate arg - if (has_imm) { - m_tmp_args.push_back(get_imm(bc)); - } + std::vector> json_tmp_stack; + std::stack json_eval_stack; + std::stack not_found_stack; - return m_tmp_args; - } - - void pop_args(const Bytecode& bc) { - unsigned int popArgs = bc.args; - if ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop) { - popArgs -= 1; - } - for (unsigned int i = 0; i < popArgs; ++i) { - m_stack.pop_back(); - } - } - - const json* get_imm(const Bytecode& bc) { - std::string ptr_buffer; - nonstd::string_view ptr; - switch (bc.flags & Bytecode::Flag::ValueMask) { - case Bytecode::Flag::ValuePop: - return nullptr; - case Bytecode::Flag::ValueImmediate: - return &bc.value; - case Bytecode::Flag::ValueLookupDot: - ptr = convert_dot_to_json_pointer(bc.str, ptr_buffer); - break; - case Bytecode::Flag::ValueLookupPointer: - ptr_buffer += '/'; - ptr_buffer += bc.str; - ptr = ptr_buffer; - break; - } - try { - return &m_data->at(json::json_pointer(ptr.data())); - } catch (std::exception&) { - // try to evaluate as a no-argument callback - if (auto callback = m_callbacks.find_callback(bc.str, 0)) { - std::vector arguments {}; - m_tmp_val = callback(arguments); - return &m_tmp_val; - } - inja_throw("render_error", "variable '" + static_cast(bc.str) + "' not found"); - return nullptr; - } - } - - bool truthy(const json& var) const { - if (var.empty()) { + bool truthy(const json* data) const { + if (data->is_boolean()) { + return data->get(); + } else if (data->is_number()) { + return (*data != 0); + } else if (data->is_null()) { return false; - } else if (var.is_number()) { - return (var != 0); - } else if (var.is_string()) { - return !var.empty(); - } - - try { - return var.get(); - } catch (json::type_error& e) { - inja_throw("json_error", e.what()); - throw; } + return !data->empty(); } - void update_loop_data() { - LoopLevel& level = m_loop_stack.back(); - - if (level.loop_type == LoopLevel::Type::Array) { - level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; - auto& loopData = level.data["loop"]; - loopData["index"] = level.index; - loopData["index1"] = level.index + 1; - loopData["is_first"] = (level.index == 0); - loopData["is_last"] = (level.index == level.size - 1); + void print_json(const std::shared_ptr value) { + if (value->is_string()) { + *output_stream << value->get_ref(); + } else if (value->is_number_integer()) { + *output_stream << value->get(); + } else if (value->is_null()) { } else { - level.data[static_cast(level.key_name)] = level.map_it->first; - level.data[static_cast(level.value_name)] = *level.map_it->second; + *output_stream << value->dump(); } } - const TemplateStorage& m_included_templates; - const FunctionStorage& m_callbacks; + const std::shared_ptr eval_expression_list(const ExpressionListNode& expression_list) { + for (auto& expression : expression_list.rpn_output) { + expression->accept(*this); + } - std::vector m_stack; + if (json_eval_stack.empty()) { + throw_renderer_error("empty expression", expression_list); + } else if (json_eval_stack.size() != 1) { + throw_renderer_error("malformed expression", expression_list); + } + auto result = json_eval_stack.top(); + json_eval_stack.pop(); - struct LoopLevel { - enum class Type { Map, Array }; + if (!result) { + if (not_found_stack.empty()) { + throw_renderer_error("expression could not be evaluated", expression_list); + } - Type loop_type; - nonstd::string_view key_name; // variable name for keys - nonstd::string_view value_name; // variable name for values - json data; // data with loop info added + auto node = not_found_stack.top(); + not_found_stack.pop(); - json values; // values to iterate over - - // loop over list - size_t index; // current list index - size_t size; // length of list - - // loop over map - using KeyValue = std::pair; - using MapValues = std::vector; - MapValues map_values; // values to iterate over - MapValues::iterator map_it; // iterator over values - - }; - - std::vector m_loop_stack; - const json* m_data; - - std::vector m_tmp_args; - json m_tmp_val; - - - public: - Renderer(const TemplateStorage& included_templates, const FunctionStorage& callbacks): m_included_templates(included_templates), m_callbacks(callbacks) { - m_stack.reserve(16); - m_tmp_args.reserve(4); - m_loop_stack.reserve(16); + throw_renderer_error("variable '" + static_cast(node->name) + "' not found", *node); + } + return std::make_shared(*result); } - void render_to(std::ostream& os, const Template& tmpl, const json& data) { - m_data = &data; + void throw_renderer_error(const std::string &message, const AstNode& node) { + SourceLocation loc = get_source_location(current_template->content, node.pos); + throw RenderError(message, loc); + } - for (size_t i = 0; i < tmpl.bytecodes.size(); ++i) { - const auto& bc = tmpl.bytecodes[i]; + template + std::array get_arguments(const AstNode& node) { + if (json_eval_stack.size() < N) { + throw_renderer_error("function needs " + std::to_string(N) + " variables, but has only found " + std::to_string(json_eval_stack.size()), node); + } - switch (bc.op) { - case Bytecode::Op::Nop: { - break; - } - case Bytecode::Op::PrintText: { - os << bc.str; - break; - } - case Bytecode::Op::PrintValue: { - const json& val = *get_args(bc)[0]; - if (val.is_string()) { - os << val.get_ref(); - } else { - os << val.dump(); - } - pop_args(bc); - break; - } - case Bytecode::Op::Push: { - m_stack.emplace_back(*get_imm(bc)); - break; - } - case Bytecode::Op::Upper: { - auto result = get_args(bc)[0]->get(); - std::transform(result.begin(), result.end(), result.begin(), ::toupper); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Lower: { - auto result = get_args(bc)[0]->get(); - std::transform(result.begin(), result.end(), result.begin(), ::tolower); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Range: { - int number = get_args(bc)[0]->get(); - std::vector result(number); - std::iota(std::begin(result), std::end(result), 0); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Length: { - const json& val = *get_args(bc)[0]; + std::array result; + for (size_t i = 0; i < N; i += 1) { + result[N - i - 1] = json_eval_stack.top(); + json_eval_stack.pop(); - int result; - if (val.is_string()) { - result = val.get_ref().length(); - } else { - result = val.size(); - } + if (!result[N - i - 1]) { + auto json_node = not_found_stack.top(); + not_found_stack.pop(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Sort: { - auto result = get_args(bc)[0]->get>(); - std::sort(result.begin(), result.end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::At: { - auto args = get_args(bc); - auto result = args[0]->at(args[1]->get()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::First: { - auto result = get_args(bc)[0]->front(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Last: { - auto result = get_args(bc)[0]->back(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Round: { - auto args = get_args(bc); - double number = args[0]->get(); - int precision = args[1]->get(); - pop_args(bc); - m_stack.emplace_back(std::round(number * std::pow(10.0, precision)) / std::pow(10.0, precision)); - break; - } - case Bytecode::Op::DivisibleBy: { - auto args = get_args(bc); - int number = args[0]->get(); - int divisor = args[1]->get(); - pop_args(bc); - m_stack.emplace_back((divisor != 0) && (number % divisor == 0)); - break; - } - case Bytecode::Op::Odd: { - int number = get_args(bc)[0]->get(); - pop_args(bc); - m_stack.emplace_back(number % 2 != 0); - break; - } - case Bytecode::Op::Even: { - int number = get_args(bc)[0]->get(); - pop_args(bc); - m_stack.emplace_back(number % 2 == 0); - break; - } - case Bytecode::Op::Max: { - auto args = get_args(bc); - auto result = *std::max_element(args[0]->begin(), args[0]->end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Min: { - auto args = get_args(bc); - auto result = *std::min_element(args[0]->begin(), args[0]->end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Not: { - bool result = !truthy(*get_args(bc)[0]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::And: { - auto args = get_args(bc); - bool result = truthy(*args[0]) && truthy(*args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Or: { - auto args = get_args(bc); - bool result = truthy(*args[0]) || truthy(*args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::In: { - auto args = get_args(bc); - bool result = std::find(args[1]->begin(), args[1]->end(), *args[0]) != - args[1]->end(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Equal: { - auto args = get_args(bc); - bool result = (*args[0] == *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Greater: { - auto args = get_args(bc); - bool result = (*args[0] > *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Less: { - auto args = get_args(bc); - bool result = (*args[0] < *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::GreaterEqual: { - auto args = get_args(bc); - bool result = (*args[0] >= *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::LessEqual: { - auto args = get_args(bc); - bool result = (*args[0] <= *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Different: { - auto args = get_args(bc); - bool result = (*args[0] != *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Float: { - double result = - std::stod(get_args(bc)[0]->get_ref()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Int: { - int result = std::stoi(get_args(bc)[0]->get_ref()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Exists: { - auto&& name = get_args(bc)[0]->get_ref(); - bool result = (data.find(name) != data.end()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::ExistsInObject: { - auto args = get_args(bc); - auto&& name = args[1]->get_ref(); - bool result = (args[0]->find(name) != args[0]->end()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsBoolean: { - bool result = get_args(bc)[0]->is_boolean(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsNumber: { - bool result = get_args(bc)[0]->is_number(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsInteger: { - bool result = get_args(bc)[0]->is_number_integer(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsFloat: { - bool result = get_args(bc)[0]->is_number_float(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsObject: { - bool result = get_args(bc)[0]->is_object(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsArray: { - bool result = get_args(bc)[0]->is_array(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsString: { - bool result = get_args(bc)[0]->is_string(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Default: { - // default needs to be a bit "magic"; we can't evaluate the first - // argument during the push operation, so we swap the arguments during - // the parse phase so the second argument is pushed on the stack and - // the first argument is in the immediate - try { - const json* imm = get_imm(bc); - // if no exception was raised, replace the stack value with it - m_stack.back() = *imm; - } catch (std::exception&) { - // couldn't read immediate, just leave the stack as is - } - break; - } - case Bytecode::Op::Include: - Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, *m_data); - break; - case Bytecode::Op::Callback: { - auto callback = m_callbacks.find_callback(bc.str, bc.args); - if (!callback) { - inja_throw("render_error", "function '" + static_cast(bc.str) + "' (" + std::to_string(static_cast(bc.args)) + ") not found"); - } - json result = callback(get_args(bc)); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Jump: { - i = bc.args - 1; // -1 due to ++i in loop - break; - } - case Bytecode::Op::ConditionalJump: { - if (!truthy(m_stack.back())) { - i = bc.args - 1; // -1 due to ++i in loop - } - m_stack.pop_back(); - break; - } - case Bytecode::Op::StartLoop: { - // jump past loop body if empty - if (m_stack.back().empty()) { - m_stack.pop_back(); - i = bc.args; // ++i in loop will take it past EndLoop - break; - } - - m_loop_stack.emplace_back(); - LoopLevel& level = m_loop_stack.back(); - level.value_name = bc.str; - level.values = std::move(m_stack.back()); - level.data = (*m_data); - m_stack.pop_back(); - - if (bc.value.is_string()) { - // map iterator - if (!level.values.is_object()) { - m_loop_stack.pop_back(); - inja_throw("render_error", "for key, value requires object"); - } - level.loop_type = LoopLevel::Type::Map; - level.key_name = bc.value.get_ref(); - - // sort by key - for (auto it = level.values.begin(), end = level.values.end(); it != end; ++it) { - level.map_values.emplace_back(it.key(), &it.value()); - } - std::sort(level.map_values.begin(), level.map_values.end(), [](const LoopLevel::KeyValue& a, const LoopLevel::KeyValue& b) { return a.first < b.first; }); - level.map_it = level.map_values.begin(); - } else { - if (!level.values.is_array()) { - m_loop_stack.pop_back(); - inja_throw("render_error", "type must be array"); - } - - // list iterator - level.loop_type = LoopLevel::Type::Array; - level.index = 0; - level.size = level.values.size(); - } - - // provide parent access in nested loop - auto parent_loop_it = level.data.find("loop"); - if (parent_loop_it != level.data.end()) { - json loop_copy = *parent_loop_it; - (*parent_loop_it)["parent"] = std::move(loop_copy); - } - - // set "current" data to loop data - m_data = &level.data; - update_loop_data(); - break; - } - case Bytecode::Op::EndLoop: { - if (m_loop_stack.empty()) { - inja_throw("render_error", "unexpected state in renderer"); - } - LoopLevel& level = m_loop_stack.back(); - - bool done; - if (level.loop_type == LoopLevel::Type::Array) { - level.index += 1; - done = (level.index == level.values.size()); - } else { - level.map_it += 1; - done = (level.map_it == level.map_values.end()); - } - - if (done) { - m_loop_stack.pop_back(); - // set "current" data to outer loop data or main data as appropriate - if (!m_loop_stack.empty()) { - m_data = &m_loop_stack.back().data; - } else { - m_data = &data; - } - break; - } - - update_loop_data(); - - // jump back to start of loop - i = bc.args - 1; // -1 due to ++i in loop - break; - } - default: { - inja_throw("render_error", "unknown op in renderer: " + std::to_string(static_cast(bc.op))); + if (throw_not_found) { + throw_renderer_error("variable '" + static_cast(json_node->name) + "' not found", *json_node); } } } + return result; + } + + template + Arguments get_argument_vector(size_t N, const AstNode& node) { + Arguments result {N}; + for (size_t i = 0; i < N; i += 1) { + result[N - i - 1] = json_eval_stack.top(); + json_eval_stack.pop(); + + if (!result[N - i - 1]) { + auto json_node = not_found_stack.top(); + not_found_stack.pop(); + + if (throw_not_found) { + throw_renderer_error("variable '" + static_cast(json_node->name) + "' not found", *json_node); + } + } + } + return result; + } + + void visit(const BlockNode& node) { + for (auto& n : node.nodes) { + n->accept(*this); + } + } + + void visit(const TextNode& node) { + output_stream->write(current_template->content.c_str() + node.pos, node.length); + } + + void visit(const ExpressionNode&) { } + + void visit(const LiteralNode& node) { + json_eval_stack.push(&node.value); + } + + void visit(const JsonNode& node) { + if (json_additional_data.contains(node.ptr)) { + json_eval_stack.push(&(json_additional_data[node.ptr])); + + } else if (json_input->contains(node.ptr)) { + json_eval_stack.push(&(*json_input)[node.ptr]); + + } else { + // Try to evaluate as a no-argument callback + auto function_data = function_storage.find_function(node.name, 0); + if (function_data.operation == FunctionStorage::Operation::Callback) { + Arguments empty_args {}; + auto value = std::make_shared(function_data.callback(empty_args)); + json_tmp_stack.push_back(value); + json_eval_stack.push(value.get()); + + } else { + json_eval_stack.push(nullptr); + not_found_stack.emplace(&node); + } + } + } + + void visit(const FunctionNode& node) { + std::shared_ptr result_ptr; + + switch (node.operation) { + case Op::Not: { + auto args = get_arguments<1>(node); + result_ptr = std::make_shared(!truthy(args[0])); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::And: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(truthy(args[0]) && truthy(args[1])); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Or: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(truthy(args[0]) || truthy(args[1])); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::In: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(std::find(args[1]->begin(), args[1]->end(), *args[0]) != args[1]->end()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Equal: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(*args[0] == *args[1]); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::NotEqual: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(*args[0] != *args[1]); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Greater: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(*args[0] > *args[1]); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::GreaterEqual: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(*args[0] >= *args[1]); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Less: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(*args[0] < *args[1]); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::LessEqual: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(*args[0] <= *args[1]); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Add: { + auto args = get_arguments<2>(node); + if (args[0]->is_string() && args[1]->is_string()) { + result_ptr = std::make_shared(args[0]->get_ref() + args[1]->get_ref()); + json_tmp_stack.push_back(result_ptr); + } else if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + result_ptr = std::make_shared(args[0]->get() + args[1]->get()); + json_tmp_stack.push_back(result_ptr); + } else { + result_ptr = std::make_shared(args[0]->get() + args[1]->get()); + json_tmp_stack.push_back(result_ptr); + } + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Subtract: { + auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + result_ptr = std::make_shared(args[0]->get() - args[1]->get()); + json_tmp_stack.push_back(result_ptr); + } else { + result_ptr = std::make_shared(args[0]->get() - args[1]->get()); + json_tmp_stack.push_back(result_ptr); + } + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Multiplication: { + auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + result_ptr = std::make_shared(args[0]->get() * args[1]->get()); + json_tmp_stack.push_back(result_ptr); + } else { + result_ptr = std::make_shared(args[0]->get() * args[1]->get()); + json_tmp_stack.push_back(result_ptr); + } + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Division: { + auto args = get_arguments<2>(node); + if (args[1]->get() == 0) { + throw_renderer_error("division by zero", node); + } + result_ptr = std::make_shared(args[0]->get() / args[1]->get()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Power: { + auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->get() >= 0) { + int result = std::pow(args[0]->get(), args[1]->get()); + result_ptr = std::make_shared(std::move(result)); + json_tmp_stack.push_back(result_ptr); + } else { + double result = std::pow(args[0]->get(), args[1]->get()); + result_ptr = std::make_shared(std::move(result)); + json_tmp_stack.push_back(result_ptr); + } + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Modulo: { + auto args = get_arguments<2>(node); + result_ptr = std::make_shared(args[0]->get() % args[1]->get()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::AtId: { + json_eval_stack.pop(); // Pop id nullptr + auto container = get_arguments<1, false>(node)[0]; + if (not_found_stack.empty()) { + throw_renderer_error("could not find element with given name", node); + } + auto id_node = not_found_stack.top(); + not_found_stack.pop(); + json_eval_stack.push(&container->at(id_node->name)); + } break; + case Op::At: { + auto args = get_arguments<2>(node); + json_eval_stack.push(&args[0]->at(args[1]->get())); + } break; + case Op::Default: { + auto default_arg = get_arguments<1>(node)[0]; + auto test_arg = get_arguments<1, false>(node)[0]; + json_eval_stack.push(test_arg ? test_arg : default_arg); + } break; + case Op::DivisibleBy: { + auto args = get_arguments<2>(node); + int divisor = args[1]->get(); + result_ptr = std::make_shared((divisor != 0) && (args[0]->get() % divisor == 0)); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Even: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->get() % 2 == 0); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Exists: { + auto &&name = get_arguments<1>(node)[0]->get_ref(); + result_ptr = std::make_shared(json_input->contains(json::json_pointer(JsonNode::convert_dot_to_json_ptr(name)))); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::ExistsInObject: { + auto args = get_arguments<2>(node); + auto &&name = args[1]->get_ref(); + result_ptr = std::make_shared(args[0]->find(name) != args[0]->end()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::First: { + auto result = &get_arguments<1>(node)[0]->front(); + json_eval_stack.push(result); + } break; + case Op::Float: { + result_ptr = std::make_shared(std::stod(get_arguments<1>(node)[0]->get_ref())); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Int: { + result_ptr = std::make_shared(std::stoi(get_arguments<1>(node)[0]->get_ref())); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Last: { + auto result = &get_arguments<1>(node)[0]->back(); + json_eval_stack.push(result); + } break; + case Op::Length: { + auto val = get_arguments<1>(node)[0]; + if (val->is_string()) { + result_ptr = std::make_shared(val->get_ref().length()); + } else { + result_ptr = std::make_shared(val->size()); + } + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Lower: { + std::string result = get_arguments<1>(node)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::tolower); + result_ptr = std::make_shared(std::move(result)); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Max: { + auto args = get_arguments<1>(node); + auto result = std::max_element(args[0]->begin(), args[0]->end()); + json_eval_stack.push(&(*result)); + } break; + case Op::Min: { + auto args = get_arguments<1>(node); + auto result = std::min_element(args[0]->begin(), args[0]->end()); + json_eval_stack.push(&(*result)); + } break; + case Op::Odd: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->get() % 2 != 0); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Range: { + std::vector result(get_arguments<1>(node)[0]->get()); + std::iota(result.begin(), result.end(), 0); + result_ptr = std::make_shared(std::move(result)); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Round: { + auto args = get_arguments<2>(node); + int precision = args[1]->get(); + double result = std::round(args[0]->get() * std::pow(10.0, precision)) / std::pow(10.0, precision); + result_ptr = std::make_shared(std::move(result)); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Sort: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->get>()); + std::sort(result_ptr->begin(), result_ptr->end()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Upper: { + std::string result = get_arguments<1>(node)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::toupper); + result_ptr = std::make_shared(std::move(result)); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsBoolean: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_boolean()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsNumber: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_number()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsInteger: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_number_integer()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsFloat: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_number_float()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsObject: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_object()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsArray: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_array()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::IsString: { + result_ptr = std::make_shared(get_arguments<1>(node)[0]->is_string()); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::Callback: { + auto args = get_argument_vector(node.number_args, node); + result_ptr = std::make_shared(node.callback(args)); + json_tmp_stack.push_back(result_ptr); + json_eval_stack.push(result_ptr.get()); + } break; + case Op::ParenLeft: + case Op::ParenRight: + case Op::None: + break; + } + } + + void visit(const ExpressionListNode& node) { + print_json(eval_expression_list(node)); + } + + void visit(const StatementNode&) { } + + void visit(const ForStatementNode&) { } + + void visit(const ForArrayStatementNode& node) { + auto result = eval_expression_list(node.condition); + if (!result->is_array()) { + throw_renderer_error("object must be an array", node); + } + + if (!current_loop_data->empty()) { + auto tmp = *current_loop_data; // Because of clang-3 + (*current_loop_data)["parent"] = std::move(tmp); + } + + size_t index = 0; + (*current_loop_data)["is_first"] = true; + (*current_loop_data)["is_last"] = (result->size() <= 1); + for (auto it = result->begin(); it != result->end(); ++it) { + json_additional_data[static_cast(node.value)] = *it; + + (*current_loop_data)["index"] = index; + (*current_loop_data)["index1"] = index + 1; + if (index == 1) { + (*current_loop_data)["is_first"] = false; + } + if (index == result->size() - 1) { + (*current_loop_data)["is_last"] = true; + } + + node.body.accept(*this); + ++index; + } + + json_additional_data[static_cast(node.value)].clear(); + if (!(*current_loop_data)["parent"].empty()) { + auto tmp = (*current_loop_data)["parent"]; + *current_loop_data = std::move(tmp); + } else { + current_loop_data = &json_additional_data["loop"]; + } + } + + void visit(const ForObjectStatementNode& node) { + auto result = eval_expression_list(node.condition); + if (!result->is_object()) { + throw_renderer_error("object must be an object", node); + } + + if (!current_loop_data->empty()) { + (*current_loop_data)["parent"] = std::move(*current_loop_data); + } + + size_t index = 0; + (*current_loop_data)["is_first"] = true; + (*current_loop_data)["is_last"] = (result->size() <= 1); + for (auto it = result->begin(); it != result->end(); ++it) { + json_additional_data[static_cast(node.key)] = it.key(); + json_additional_data[static_cast(node.value)] = it.value(); + + (*current_loop_data)["index"] = index; + (*current_loop_data)["index1"] = index + 1; + if (index == 1) { + (*current_loop_data)["is_first"] = false; + } + if (index == result->size() - 1) { + (*current_loop_data)["is_last"] = true; + } + + node.body.accept(*this); + ++index; + } + + json_additional_data[static_cast(node.key)].clear(); + json_additional_data[static_cast(node.value)].clear(); + if (!(*current_loop_data)["parent"].empty()) { + *current_loop_data = std::move((*current_loop_data)["parent"]); + } else { + current_loop_data = &json_additional_data["loop"]; + } + } + + void visit(const IfStatementNode& node) { + auto result = eval_expression_list(node.condition); + if (truthy(result.get())) { + node.true_statement.accept(*this); + } else if (node.has_false_statement) { + node.false_statement.accept(*this); + } + } + + void visit(const IncludeStatementNode& node) { + auto sub_renderer = Renderer(config, template_storage, function_storage); + auto included_template_it = template_storage.find(node.file); + + if (included_template_it != template_storage.end()) { + sub_renderer.render_to(*output_stream, included_template_it->second, *json_input, &json_additional_data); + } else if (config.throw_at_missing_includes) { + throw_renderer_error("include '" + node.file + "' not found", node); + } + } + + void visit(const SetStatementNode& node) { + json_additional_data[node.key] = *eval_expression_list(node.expression); + } + +public: + Renderer(const RenderConfig& config, const TemplateStorage &template_storage, const FunctionStorage &function_storage) + : config(config), template_storage(template_storage), function_storage(function_storage) { } + + void render_to(std::ostream &os, const Template &tmpl, const json &data, json *loop_data = nullptr) { + output_stream = &os; + current_template = &tmpl; + json_input = &data; + if (loop_data) { + json_additional_data = *loop_data; + current_loop_data = &json_additional_data["loop"]; + } + + current_template->root.accept(*this); + + json_tmp_stack.clear(); } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_RENDERER_HPP +#endif // INCLUDE_INJA_RENDERER_HPP_ // #include "string_view.hpp" @@ -3337,193 +3929,223 @@ class Renderer { // #include "utils.hpp" - namespace inja { -using namespace nlohmann; +using json = nlohmann::json; /*! * \brief Class for changing the configuration. */ class Environment { - class Impl { - public: - std::string input_path; - std::string output_path; + std::string input_path; + std::string output_path; - LexerConfig lexer_config; - ParserConfig parser_config; + LexerConfig lexer_config; + ParserConfig parser_config; + RenderConfig render_config; - FunctionStorage callbacks; - TemplateStorage included_templates; - }; + FunctionStorage function_storage; + TemplateStorage template_storage; - std::unique_ptr m_impl; +public: + Environment() : Environment("") {} - public: - Environment(): Environment("") { } + explicit Environment(const std::string &global_path) : input_path(global_path), output_path(global_path) {} - explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { - m_impl->input_path = global_path; - m_impl->output_path = global_path; - } - - explicit Environment(const std::string& input_path, const std::string& output_path): m_impl(stdinja::make_unique()) { - m_impl->input_path = input_path; - m_impl->output_path = output_path; - } + Environment(const std::string &input_path, const std::string &output_path) + : input_path(input_path), output_path(output_path) {} /// Sets the opener and closer for template statements - void set_statement(const std::string& open, const std::string& close) { - m_impl->lexer_config.statement_open = open; - m_impl->lexer_config.statement_close = close; - m_impl->lexer_config.update_open_chars(); + void set_statement(const std::string &open, const std::string &close) { + lexer_config.statement_open = open; + lexer_config.statement_open_no_lstrip = open + "+"; + lexer_config.statement_open_force_lstrip = open + "-"; + lexer_config.statement_close = close; + lexer_config.statement_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets the opener for template line statements - void set_line_statement(const std::string& open) { - m_impl->lexer_config.line_statement = open; - m_impl->lexer_config.update_open_chars(); + void set_line_statement(const std::string &open) { + lexer_config.line_statement = open; + lexer_config.update_open_chars(); } /// Sets the opener and closer for template expressions - void set_expression(const std::string& open, const std::string& close) { - m_impl->lexer_config.expression_open = open; - m_impl->lexer_config.expression_close = close; - m_impl->lexer_config.update_open_chars(); + void set_expression(const std::string &open, const std::string &close) { + lexer_config.expression_open = open; + lexer_config.expression_open_force_lstrip = open + "-"; + lexer_config.expression_close = close; + lexer_config.expression_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets the opener and closer for template comments - void set_comment(const std::string& open, const std::string& close) { - m_impl->lexer_config.comment_open = open; - m_impl->lexer_config.comment_close = close; - m_impl->lexer_config.update_open_chars(); + void set_comment(const std::string &open, const std::string &close) { + lexer_config.comment_open = open; + lexer_config.comment_close = close; + lexer_config.update_open_chars(); } /// Sets whether to remove the first newline after a block void set_trim_blocks(bool trim_blocks) { - m_impl->lexer_config.trim_blocks = trim_blocks; + lexer_config.trim_blocks = trim_blocks; } /// Sets whether to strip the spaces and tabs from the start of a line to a block void set_lstrip_blocks(bool lstrip_blocks) { - m_impl->lexer_config.lstrip_blocks = lstrip_blocks; + lexer_config.lstrip_blocks = lstrip_blocks; } /// Sets the element notation syntax - void set_element_notation(ElementNotation notation) { - m_impl->parser_config.notation = notation; + void set_search_included_templates_in_files(bool search_in_files) { + parser_config.search_included_templates_in_files = search_in_files; } + /// Sets whether a missing include will throw an error + void set_throw_at_missing_includes(bool will_throw) { + render_config.throw_at_missing_includes = will_throw; + } Template parse(nonstd::string_view input) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + Parser parser(parser_config, lexer_config, template_storage, function_storage); return parser.parse(input); } - Template parse_template(const std::string& filename) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.parse_template(m_impl->input_path + static_cast(filename)); - } - - std::string render(nonstd::string_view input, const json& data) { - return render(parse(input), data); + Template parse_template(const std::string &filename) { + Parser parser(parser_config, lexer_config, template_storage, function_storage); + auto result = Template(parser.load_file(input_path + static_cast(filename))); + parser.parse_into_template(result, input_path + static_cast(filename)); + return result; } - std::string render(const Template& tmpl, const json& data) { + Template parse_file(const std::string &filename) { + return parse_template(filename); + } + + std::string render(nonstd::string_view input, const json &data) { return render(parse(input), data); } + + std::string render(const Template &tmpl, const json &data) { std::stringstream os; render_to(os, tmpl, data); return os.str(); } - std::string render_file(const std::string& filename, const json& data) { - return render(parse_template(filename), data); - } + std::string render_file(const std::string &filename, const json &data) { + return render(parse_template(filename), data); + } - std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { - const json data = load_json(filename_data); - return render_file(filename, data); - } + std::string render_file_with_json_file(const std::string &filename, const std::string &filename_data) { + const json data = load_json(filename_data); + return render_file(filename, data); + } - void write(const std::string& filename, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render_file(filename, data); - file.close(); - } + void write(const std::string &filename, const json &data, const std::string &filename_out) { + std::ofstream file(output_path + filename_out); + file << render_file(filename, data); + file.close(); + } - void write(const Template& temp, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render(temp, data); - file.close(); - } + void write(const Template &temp, const json &data, const std::string &filename_out) { + std::ofstream file(output_path + filename_out); + file << render(temp, data); + file.close(); + } - void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(filename, data, filename_out); - } + void write_with_json_file(const std::string &filename, const std::string &filename_data, + const std::string &filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } - void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(temp, data, filename_out); - } + void write_with_json_file(const Template &temp, const std::string &filename_data, const std::string &filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } - std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { - Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); + std::ostream &render_to(std::ostream &os, const Template &tmpl, const json &data) { + Renderer(render_config, template_storage, function_storage).render_to(os, tmpl, data); return os; } - std::string load_file(const std::string& filename) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.load_file(m_impl->input_path + filename); - } + std::string load_file(const std::string &filename) { + Parser parser(parser_config, lexer_config, template_storage, function_storage); + return parser.load_file(input_path + filename); + } - json load_json(const std::string& filename) { - std::ifstream file = open_file_or_throw(m_impl->input_path + filename); - json j; - file >> j; - return j; - } + json load_json(const std::string &filename) { + std::ifstream file; + open_file_or_throw(input_path + filename, file); + json j; + file >> j; + return j; + } - void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { - m_impl->callbacks.add_callback(name, numArgs, callback); + /*! + @brief Adds a variadic callback + */ + void add_callback(const std::string &name, const CallbackFunction &callback) { + add_callback(name, -1, callback); + } + + /*! + @brief Adds a variadic void callback + */ + void add_void_callback(const std::string &name, const VoidCallbackFunction &callback) { + add_void_callback(name, -1, callback); + } + + /*! + @brief Adds a callback with given number or arguments + */ + void add_callback(const std::string &name, int num_args, const CallbackFunction &callback) { + function_storage.add_callback(name, num_args, callback); + } + + /*! + @brief Adds a void callback with given number or arguments + */ + void add_void_callback(const std::string &name, int num_args, const VoidCallbackFunction &callback) { + function_storage.add_callback(name, num_args, [callback](Arguments& args) { callback(args); return json(); }); } /** Includes a template with a given name into the environment. * Then, a template can be rendered in another template using the * include "" syntax. */ - void include_template(const std::string& name, const Template& tmpl) { - m_impl->included_templates[name] = tmpl; + void include_template(const std::string &name, const Template &tmpl) { + template_storage[name] = tmpl; } }; /*! @brief render with default settings to a string */ -inline std::string render(nonstd::string_view input, const json& data) { +inline std::string render(nonstd::string_view input, const json &data) { return Environment().render(input, data); } /*! @brief render with default settings to the given output stream */ -inline void render_to(std::ostream& os, nonstd::string_view input, const json& data) { +inline void render_to(std::ostream &os, nonstd::string_view input, const json &data) { Environment env; env.render_to(os, env.parse(input), data); } -} +} // namespace inja -#endif // PANTOR_INJA_ENVIRONMENT_HPP +#endif // INCLUDE_INJA_ENVIRONMENT_HPP_ -// #include "string_view.hpp" - -// #include "template.hpp" +// #include "exceptions.hpp" // #include "parser.hpp" // #include "renderer.hpp" +// #include "string_view.hpp" + +// #include "template.hpp" -#endif // PANTOR_INJA_HPP +#endif // INCLUDE_INJA_INJA_HPP_ diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index bcbe53e4f..48905da4e 100644 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -128,6 +128,10 @@ int main(int argc, char *argv[]) return args.at(0)->empty(); }); + env.add_void_callback("log", 1, [](Arguments& args) { + std::cout << args.at(0)->get() << std::endl; + }); + try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); diff --git a/tools/jsonproc/nlohmann/json.hpp b/tools/jsonproc/nlohmann/json.hpp index 5003a4fa2..cc822a543 100644 --- a/tools/jsonproc/nlohmann/json.hpp +++ b/tools/jsonproc/nlohmann/json.hpp @@ -1,7 +1,7 @@ /* __ _____ _____ _____ __| | __| | | | JSON for Modern C++ -| | |__ | | | | | | version 3.6.1 +| | |__ | | | | | | version 3.8.0 |_____|_____|_____|_|___| https://github.com/nlohmann/json Licensed under the MIT License . @@ -31,12 +31,11 @@ SOFTWARE. #define INCLUDE_NLOHMANN_JSON_HPP_ #define NLOHMANN_JSON_VERSION_MAJOR 3 -#define NLOHMANN_JSON_VERSION_MINOR 6 -#define NLOHMANN_JSON_VERSION_PATCH 1 +#define NLOHMANN_JSON_VERSION_MINOR 8 +#define NLOHMANN_JSON_VERSION_PATCH 0 #include // all_of, find, for_each #include // assert -#include // and, not, or #include // nullptr_t, ptrdiff_t, size_t #include // hash, less #include // initializer_list @@ -58,7 +57,6 @@ SOFTWARE. #include // transform #include // array -#include // and, not #include // forward_list #include // inserter, front_inserter, end #include // map @@ -69,6 +67,16 @@ SOFTWARE. #include // pair, declval #include // valarray +// #include + + +// Header is removed in C++20. +// See for more information. + +#if __cplusplus <= 201703L + #include // and, not, or +#endif + // #include @@ -105,6 +113,2042 @@ struct position_t } // namespace detail } // namespace nlohmann +// #include + + +#include // pair +// #include +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + * + * To the extent possible under law, the author(s) have dedicated all + * copyright and related and neighboring rights to this software to + * the public domain worldwide. This software is distributed without + * any warranty. + * + * For details, see . + * SPDX-License-Identifier: CC0-1.0 + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 13) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 13 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(_MSC_VER) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(VER / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) __has_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP \ +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(14, 0, 0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + JSON_HEDLEY_HAS_FEATURE(c_static_assert) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + + +// This file contains all internal macro definitions +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 +#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 +#endif + +// disable float-equal warnings on GCC/clang +#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wdocumentation" +#endif + +// allow to disable exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + namespace nlohmann { @@ -146,6 +2190,7 @@ class exception : public std::exception { public: /// returns the explanatory string + JSON_HEDLEY_RETURNS_NON_NULL const char* what() const noexcept override { return m.what(); @@ -155,6 +2200,7 @@ class exception : public std::exception const int id; protected: + JSON_HEDLEY_NON_NULL(3) exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} static std::string name(const std::string& ename, int id_) @@ -307,6 +2353,7 @@ class invalid_iterator : public exception } private: + JSON_HEDLEY_NON_NULL(3) invalid_iterator(int id_, const char* what_arg) : exception(id_, what_arg) {} }; @@ -360,6 +2407,7 @@ class type_error : public exception } private: + JSON_HEDLEY_NON_NULL(3) type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} }; @@ -406,6 +2454,7 @@ class out_of_range : public exception } private: + JSON_HEDLEY_NON_NULL(3) out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} }; @@ -443,6 +2492,7 @@ class other_error : public exception } private: + JSON_HEDLEY_NON_NULL(3) other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} }; } // namespace detail @@ -450,164 +2500,15 @@ class other_error : public exception // #include - -#include // pair - -// This file contains all internal macro definitions -// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them - -// exclude unsupported compilers -#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) - #if defined(__clang__) - #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 - #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" - #endif - #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) - #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 - #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" - #endif - #endif -#endif - -// disable float-equal warnings on GCC/clang -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wfloat-equal" -#endif - -// disable documentation warnings on clang -#if defined(__clang__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdocumentation" -#endif - -// allow for portable deprecation warnings -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #define JSON_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) - #define JSON_DEPRECATED __declspec(deprecated) -#else - #define JSON_DEPRECATED -#endif - -// allow for portable nodiscard warnings -#if defined(__has_cpp_attribute) - #if __has_cpp_attribute(nodiscard) - #define JSON_NODISCARD [[nodiscard]] - #elif __has_cpp_attribute(gnu::warn_unused_result) - #define JSON_NODISCARD [[gnu::warn_unused_result]] - #else - #define JSON_NODISCARD - #endif -#else - #define JSON_NODISCARD -#endif - -// allow to disable exceptions -#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) - #define JSON_THROW(exception) throw exception - #define JSON_TRY try - #define JSON_CATCH(exception) catch(exception) - #define JSON_INTERNAL_CATCH(exception) catch(exception) -#else - #include - #define JSON_THROW(exception) std::abort() - #define JSON_TRY if(true) - #define JSON_CATCH(exception) if(false) - #define JSON_INTERNAL_CATCH(exception) if(false) -#endif - -// override exception macros -#if defined(JSON_THROW_USER) - #undef JSON_THROW - #define JSON_THROW JSON_THROW_USER -#endif -#if defined(JSON_TRY_USER) - #undef JSON_TRY - #define JSON_TRY JSON_TRY_USER -#endif -#if defined(JSON_CATCH_USER) - #undef JSON_CATCH - #define JSON_CATCH JSON_CATCH_USER - #undef JSON_INTERNAL_CATCH - #define JSON_INTERNAL_CATCH JSON_CATCH_USER -#endif -#if defined(JSON_INTERNAL_CATCH_USER) - #undef JSON_INTERNAL_CATCH - #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER -#endif - -// manual branch prediction -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #define JSON_LIKELY(x) __builtin_expect(x, 1) - #define JSON_UNLIKELY(x) __builtin_expect(x, 0) -#else - #define JSON_LIKELY(x) x - #define JSON_UNLIKELY(x) x -#endif - -// C++ language standard detection -#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 - #define JSON_HAS_CPP_17 - #define JSON_HAS_CPP_14 -#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) - #define JSON_HAS_CPP_14 -#endif - -/*! -@brief macro to briefly define a mapping between an enum and JSON -@def NLOHMANN_JSON_SERIALIZE_ENUM -@since version 3.4.0 -*/ -#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ - template \ - inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [e](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.first == e; \ - }); \ - j = ((it != std::end(m)) ? it : std::begin(m))->second; \ - } \ - template \ - inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [j](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.second == j; \ - }); \ - e = ((it != std::end(m)) ? it : std::begin(m))->first; \ - } - -// Ugly macros to avoid uglier copy-paste when specializing basic_json. They -// may be removed in the future once the class is split. - -#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ - template class ObjectType, \ - template class ArrayType, \ - class StringType, class BooleanType, class NumberIntegerType, \ - class NumberUnsignedType, class NumberFloatType, \ - template class AllocatorType, \ - template class JSONSerializer> - -#define NLOHMANN_BASIC_JSON_TPL \ - basic_json - // #include -#include // not #include // size_t #include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +// #include + + namespace nlohmann { namespace detail @@ -669,11 +2570,12 @@ constexpr T static_const::value; // #include -#include // not #include // numeric_limits #include // false_type, is_constructible, is_integral, is_same, true_type #include // declval +// #include + // #include @@ -754,7 +2656,7 @@ struct iterator_traits::value>> // #include -// http://en.cppreference.com/w/cpp/experimental/is_detected +// https://en.cppreference.com/w/cpp/experimental/is_detected namespace nlohmann { namespace detail @@ -843,7 +2745,8 @@ template class ObjectType = class NumberFloatType = double, template class AllocatorType = std::allocator, template class JSONSerializer = - adl_serializer> + adl_serializer, + class BinaryType = std::vector> class basic_json; /*! @@ -904,6 +2807,19 @@ template struct is_basic_json : std::false_type {}; NLOHMANN_BASIC_JSON_TPL_DECLARATION struct is_basic_json : std::true_type {}; +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + ////////////////////////// // aliases for detected // ////////////////////////// @@ -1055,10 +2971,19 @@ struct is_constructible_object_type_impl < using object_t = typename BasicJsonType::object_t; static constexpr bool value = - (std::is_constructible::value and - std::is_same::value) or - (has_from_json::value or - has_non_default_from_json::value); + (std::is_default_constructible::value and + (std::is_move_assignable::value or + std::is_copy_assignable::value) and + (std::is_constructible::value and + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) or + (has_from_json::value or + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); }; template @@ -1141,20 +3066,24 @@ struct is_constructible_array_type_impl < BasicJsonType, ConstructibleArrayType, enable_if_t::value and - is_detected::value and - is_detected::value and - is_complete_type< - detected_t>::value >> + std::is_default_constructible::value and +(std::is_move_assignable::value or + std::is_copy_assignable::value) and +is_detected::value and +is_detected::value and +is_complete_type< +detected_t>::value >> { static constexpr bool value = // This is needed because json_reverse_iterator has a ::iterator type, - // furthermore, std::back_insert_iterator (and other iterators) have a base class `iterator`... - // Therefore it is detected as a ConstructibleArrayType. - // The real fix would be to have an Iterable concept. - not is_iterator_traits < - iterator_traits>::value and + // furthermore, std::back_insert_iterator (and other iterators) have a + // base class `iterator`... Therefore it is detected as a + // ConstructibleArrayType. The real fix would be to have an Iterable + // concept. + not is_iterator_traits>::value and - (std::is_same::value or + (std::is_same::value or has_from_json::value or has_non_default_from_json < @@ -1207,6 +3136,19 @@ struct is_compatible_type_impl < template struct is_compatible_type : is_compatible_type_impl {}; + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B1 { }; +template +struct conjunction +: std::conditional, B1>::type {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; } // namespace detail } // namespace nlohmann @@ -1214,11 +3156,13 @@ struct is_compatible_type #include // array -#include // and #include // size_t #include // uint8_t #include // string +// #include + + namespace nlohmann { namespace detail @@ -1261,24 +3205,29 @@ enum class value_t : std::uint8_t number_integer, ///< number value (signed integer) number_unsigned, ///< number value (unsigned integer) number_float, ///< number value (floating-point) - discarded ///< discarded by the the parser callback function + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function }; /*! @brief comparison operator for JSON types Returns an ordering that is similar to Python: -- order: null < boolean < number < object < array < string +- order: null < boolean < number < object < array < string < binary - furthermore, each type is not smaller than itself - discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. @since version 1.0.0 */ inline bool operator<(const value_t lhs, const value_t rhs) noexcept { - static constexpr std::array order = {{ + static constexpr std::array order = {{ 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, - 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */ + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ } }; @@ -1297,7 +3246,7 @@ namespace detail template void from_json(const BasicJsonType& j, typename std::nullptr_t& n) { - if (JSON_UNLIKELY(not j.is_null())) + if (JSON_HEDLEY_UNLIKELY(not j.is_null())) { JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name()))); } @@ -1337,7 +3286,7 @@ void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val) template void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b) { - if (JSON_UNLIKELY(not j.is_boolean())) + if (JSON_HEDLEY_UNLIKELY(not j.is_boolean())) { JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name()))); } @@ -1347,7 +3296,7 @@ void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b) template void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s) { - if (JSON_UNLIKELY(not j.is_string())) + if (JSON_HEDLEY_UNLIKELY(not j.is_string())) { JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()))); } @@ -1363,7 +3312,7 @@ template < int > = 0 > void from_json(const BasicJsonType& j, ConstructibleStringType& s) { - if (JSON_UNLIKELY(not j.is_string())) + if (JSON_HEDLEY_UNLIKELY(not j.is_string())) { JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()))); } @@ -1403,10 +3352,11 @@ template::value, int> = 0> void from_json(const BasicJsonType& j, std::forward_list& l) { - if (JSON_UNLIKELY(not j.is_array())) + if (JSON_HEDLEY_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } + l.clear(); std::transform(j.rbegin(), j.rend(), std::front_inserter(l), [](const BasicJsonType & i) { @@ -1419,12 +3369,22 @@ template::value, int> = 0> void from_json(const BasicJsonType& j, std::valarray& l) { - if (JSON_UNLIKELY(not j.is_array())) + if (JSON_HEDLEY_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } l.resize(j.size()); - std::copy(j.m_value.array->begin(), j.m_value.array->end(), std::begin(l)); + std::copy(j.begin(), j.end(), std::begin(l)); +} + +template +auto from_json(const BasicJsonType& j, T (&arr)[N]) +-> decltype(j.template get(), void()) +{ + for (std::size_t i = 0; i < N; ++i) + { + arr[i] = j.at(i).template get(); + } } template @@ -1453,14 +3413,16 @@ auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, p { using std::end; - arr.reserve(j.size()); + ConstructibleArrayType ret; + ret.reserve(j.size()); std::transform(j.begin(), j.end(), - std::inserter(arr, end(arr)), [](const BasicJsonType & i) + std::inserter(ret, end(ret)), [](const BasicJsonType & i) { // get() returns *this, this won't call a from_json // method when value_type is BasicJsonType return i.template get(); }); + arr = std::move(ret); } template @@ -1469,14 +3431,16 @@ void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, { using std::end; + ConstructibleArrayType ret; std::transform( - j.begin(), j.end(), std::inserter(arr, end(arr)), + j.begin(), j.end(), std::inserter(ret, end(ret)), [](const BasicJsonType & i) { // get() returns *this, this won't call a from_json // method when value_type is BasicJsonType return i.template get(); }); + arr = std::move(ret); } template ::value and not is_constructible_object_type::value and not is_constructible_string_type::value and + not std::is_same::value and not is_basic_json::value, int > = 0 > - auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr) -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}), j.template get(), void()) { - if (JSON_UNLIKELY(not j.is_array())) + if (JSON_HEDLEY_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); @@ -1501,24 +3465,37 @@ void()) from_json_array_impl(j, arr, priority_tag<3> {}); } +template +void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t& bin) +{ + if (JSON_HEDLEY_UNLIKELY(not j.is_binary())) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(j.type_name()))); + } + + bin = *j.template get_ptr(); +} + template::value, int> = 0> void from_json(const BasicJsonType& j, ConstructibleObjectType& obj) { - if (JSON_UNLIKELY(not j.is_object())) + if (JSON_HEDLEY_UNLIKELY(not j.is_object())) { JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name()))); } + ConstructibleObjectType ret; auto inner_object = j.template get_ptr(); using value_type = typename ConstructibleObjectType::value_type; std::transform( inner_object->begin(), inner_object->end(), - std::inserter(obj, obj.begin()), + std::inserter(ret, ret.begin()), [](typename BasicJsonType::object_t::value_type const & p) { return value_type(p.first, p.second.template get()); }); + obj = std::move(ret); } // overload for arithmetic types, not chosen for basic_json template arguments @@ -1586,13 +3563,14 @@ template ::value>> void from_json(const BasicJsonType& j, std::map& m) { - if (JSON_UNLIKELY(not j.is_array())) + if (JSON_HEDLEY_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } + m.clear(); for (const auto& p : j) { - if (JSON_UNLIKELY(not p.is_array())) + if (JSON_HEDLEY_UNLIKELY(not p.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()))); } @@ -1605,13 +3583,14 @@ template ::value>> void from_json(const BasicJsonType& j, std::unordered_map& m) { - if (JSON_UNLIKELY(not j.is_array())) + if (JSON_HEDLEY_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } + m.clear(); for (const auto& p : j) { - if (JSON_UNLIKELY(not p.is_array())) + if (JSON_HEDLEY_UNLIKELY(not p.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()))); } @@ -1638,13 +3617,12 @@ namespace { constexpr const auto& from_json = detail::static_const::value; } // namespace -} // namespace nlohmann +} // namespace nlohmann // #include #include // copy -#include // or, and, not #include // begin, end #include // string #include // tuple, get @@ -1653,6 +3631,8 @@ constexpr const auto& from_json = detail::static_const::va #include // valarray #include // vector +// #include + // #include @@ -1670,6 +3650,11 @@ namespace nlohmann { namespace detail { +template +void int_to_string( string_type& target, std::size_t value ) +{ + target = std::to_string(value); +} template class iteration_proxy_value { public: @@ -1678,6 +3663,7 @@ template class iteration_proxy_value using pointer = value_type * ; using reference = value_type & ; using iterator_category = std::input_iterator_tag; + using string_type = typename std::remove_cv< typename std::remove_reference().key() ) >::type >::type; private: /// the iterator @@ -1687,9 +3673,9 @@ template class iteration_proxy_value /// last stringified array index mutable std::size_t array_index_last = 0; /// a string representation of the array index - mutable std::string array_index_str = "0"; + mutable string_type array_index_str = "0"; /// an empty string (to return a reference for primitive values) - const std::string empty_str = ""; + const string_type empty_str = ""; public: explicit iteration_proxy_value(IteratorType it) noexcept : anchor(it) {} @@ -1722,7 +3708,7 @@ template class iteration_proxy_value } /// return key of the iterator - const std::string& key() const + const string_type& key() const { assert(anchor.m_object != nullptr); @@ -1733,7 +3719,7 @@ template class iteration_proxy_value { if (array_index != array_index_last) { - array_index_str = std::to_string(array_index); + int_to_string( array_index_str, array_index ); array_index_last = array_index; } return array_index_str; @@ -1886,6 +3872,28 @@ struct external_constructor } }; +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::binary_t& b) + { + j.m_type = value_t::binary; + typename BasicJsonType::binary_t value{b}; + j.m_value = value; + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::binary_t&& b) + { + j.m_type = value_t::binary; + typename BasicJsonType::binary_t value{std::move(b)}; + j.m_value = value; + j.assert_invariant(); + } +}; + template<> struct external_constructor { @@ -1973,7 +3981,10 @@ struct external_constructor j.m_type = value_t::array; j.m_value = value_t::array; j.m_value.array->resize(arr.size()); - std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin()); + if (arr.size() > 0) + { + std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin()); + } j.assert_invariant(); } }; @@ -2072,9 +4083,9 @@ void to_json(BasicJsonType& j, const std::vector& e) template ::value and - not is_compatible_object_type< - BasicJsonType, CompatibleArrayType>::value and + not is_compatible_object_type::value and not is_compatible_string_type::value and + not std::is_same::value and not is_basic_json::value, int> = 0> void to_json(BasicJsonType& j, const CompatibleArrayType& arr) @@ -2082,6 +4093,12 @@ void to_json(BasicJsonType& j, const CompatibleArrayType& arr) external_constructor::construct(j, arr); } +template +void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t& bin) +{ + external_constructor::construct(j, bin); +} + template::value, int> = 0> void to_json(BasicJsonType& j, const std::valarray& arr) @@ -2118,8 +4135,8 @@ void to_json(BasicJsonType& j, const T(&arr)[N]) external_constructor::construct(j, arr); } -template -void to_json(BasicJsonType& j, const std::pair& p) +template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible::value&& std::is_constructible::value, int > = 0 > +void to_json(BasicJsonType& j, const std::pair& p) { j = { p.first, p.second }; } @@ -2138,10 +4155,10 @@ void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence j = { std::get(t)... }; } -template -void to_json(BasicJsonType& j, const std::tuple& t) +template::value, int > = 0> +void to_json(BasicJsonType& j, const T& t) { - to_json_tuple_impl(j, t, index_sequence_for {}); + to_json_tuple_impl(j, t, make_index_sequence::value> {}); } struct to_json_fn @@ -2160,7 +4177,7 @@ namespace { constexpr const auto& to_json = detail::static_const::value; } // namespace -} // namespace nlohmann +} // namespace nlohmann namespace nlohmann @@ -2206,6 +4223,176 @@ struct adl_serializer } // namespace nlohmann +// #include + + +#include // uint8_t +#include // tie +#include // move + +namespace nlohmann +{ + +/*! +@brief an internal type for a backed binary type + +This type extends the template parameter @a BinaryType provided to `basic_json` +with a subtype used by BSON and MessagePack. This type exists so that the user +does not have to specify a type themselves with a specific naming scheme in +order to override the binary type. + +@tparam BinaryType container to store bytes (`std::vector` by + default) + +@since version 3.8.0 +*/ +template +class byte_container_with_subtype : public BinaryType +{ + public: + /// the type of the underlying container + using container_type = BinaryType; + + byte_container_with_subtype() noexcept(noexcept(container_type())) + : container_type() + {} + + byte_container_with_subtype(const container_type& b) noexcept(noexcept(container_type(b))) + : container_type(b) + {} + + byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b)))) + : container_type(std::move(b)) + {} + + byte_container_with_subtype(const container_type& b, std::uint8_t subtype) noexcept(noexcept(container_type(b))) + : container_type(b) + , m_subtype(subtype) + , m_has_subtype(true) + {} + + byte_container_with_subtype(container_type&& b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b)))) + : container_type(std::move(b)) + , m_subtype(subtype) + , m_has_subtype(true) + {} + + bool operator==(const byte_container_with_subtype& rhs) const + { + return std::tie(static_cast(*this), m_subtype, m_has_subtype) == + std::tie(static_cast(rhs), rhs.m_subtype, rhs.m_has_subtype); + } + + bool operator!=(const byte_container_with_subtype& rhs) const + { + return !(rhs == *this); + } + + /*! + @brief sets the binary subtype + + Sets the binary subtype of the value, also flags a binary JSON value as + having a subtype, which has implications for serialization. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref subtype() -- return the binary subtype + @sa @ref clear_subtype() -- clears the binary subtype + @sa @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + void set_subtype(std::uint8_t subtype) noexcept + { + m_subtype = subtype; + m_has_subtype = true; + } + + /*! + @brief return the binary subtype + + Returns the numerical subtype of the value if it has a subtype. If it does + not have a subtype, this function will return size_t(-1) as a sentinel + value. + + @return the numerical subtype of the binary value + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref set_subtype() -- sets the binary subtype + @sa @ref clear_subtype() -- clears the binary subtype + @sa @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + constexpr std::uint8_t subtype() const noexcept + { + return m_subtype; + } + + /*! + @brief return whether the value has a subtype + + @return whether the value has a subtype + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref subtype() -- return the binary subtype + @sa @ref set_subtype() -- sets the binary subtype + @sa @ref clear_subtype() -- clears the binary subtype + + @since version 3.8.0 + */ + constexpr bool has_subtype() const noexcept + { + return m_has_subtype; + } + + /*! + @brief clears the binary subtype + + Clears the binary subtype and flags the value as not having a subtype, which + has implications for serialization; for instance MessagePack will prefer the + bin family over the ext family. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa @ref subtype() -- return the binary subtype + @sa @ref set_subtype() -- sets the binary subtype + @sa @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + void clear_subtype() noexcept + { + m_subtype = 0; + m_has_subtype = false; + } + + private: + std::uint8_t m_subtype = 0; + bool m_has_subtype = false; +}; + +} // namespace nlohmann + +// #include + // #include // #include @@ -2262,34 +4449,16 @@ enum class input_format_t { json, cbor, msgpack, ubjson, bson }; // input adapters // //////////////////// -/*! -@brief abstract input adapter interface - -Produces a stream of std::char_traits::int_type characters from a -std::istream, a buffer, or some other input type. Accepts the return of -exactly one non-EOF character for future input. The int_type characters -returned consist of all valid char values as positive values (typically -unsigned char), plus an EOF value outside that range, specified by the value -of the function std::char_traits::eof(). This value is typically -1, but -could be any arbitrary value which is not a valid char value. -*/ -struct input_adapter_protocol -{ - /// get a character [0,255] or std::char_traits::eof(). - virtual std::char_traits::int_type get_character() = 0; - virtual ~input_adapter_protocol() = default; -}; - -/// a type to simplify interfaces -using input_adapter_t = std::shared_ptr; - /*! Input adapter for stdio file access. This adapter read only 1 byte and do not use any buffer. This adapter is a very low level adapter. */ -class file_input_adapter : public input_adapter_protocol +class file_input_adapter { public: + using char_type = char; + + JSON_HEDLEY_NON_NULL(2) explicit file_input_adapter(std::FILE* f) noexcept : m_file(f) {} @@ -2298,10 +4467,9 @@ class file_input_adapter : public input_adapter_protocol file_input_adapter(const file_input_adapter&) = delete; file_input_adapter(file_input_adapter&&) = default; file_input_adapter& operator=(const file_input_adapter&) = delete; - file_input_adapter& operator=(file_input_adapter&&) = default; - ~file_input_adapter() override = default; + file_input_adapter& operator=(file_input_adapter&&) = delete; - std::char_traits::int_type get_character() noexcept override + std::char_traits::int_type get_character() noexcept { return std::fgetc(m_file); } @@ -2321,91 +4489,111 @@ characters following those used in parsing the JSON input. Clears the std::istream flags; any input errors (e.g., EOF) will be detected by the first subsequent call for input from the std::istream. */ -class input_stream_adapter : public input_adapter_protocol +class input_stream_adapter { public: - ~input_stream_adapter() override + using char_type = char; + + ~input_stream_adapter() { // clear stream flags; we use underlying streambuf I/O, do not // maintain ifstream flags, except eof - is.clear(is.rdstate() & std::ios::eofbit); + if (is) + { + is->clear(is->rdstate() & std::ios::eofbit); + } } explicit input_stream_adapter(std::istream& i) - : is(i), sb(*i.rdbuf()) + : is(&i), sb(i.rdbuf()) {} // delete because of pointer members input_stream_adapter(const input_stream_adapter&) = delete; input_stream_adapter& operator=(input_stream_adapter&) = delete; - input_stream_adapter(input_stream_adapter&&) = delete; - input_stream_adapter& operator=(input_stream_adapter&&) = delete; + input_stream_adapter& operator=(input_stream_adapter&& rhs) = delete; + + input_stream_adapter(input_stream_adapter&& rhs) : is(rhs.is), sb(rhs.sb) + { + rhs.is = nullptr; + rhs.sb = nullptr; + } // std::istream/std::streambuf use std::char_traits::to_int_type, to // ensure that std::char_traits::eof() and the character 0xFF do not // end up as the same value, eg. 0xFFFFFFFF. - std::char_traits::int_type get_character() override + std::char_traits::int_type get_character() { - auto res = sb.sbumpc(); + auto res = sb->sbumpc(); // set eof manually, as we don't use the istream interface. - if (res == EOF) + if (JSON_HEDLEY_UNLIKELY(res == EOF)) { - is.clear(is.rdstate() | std::ios::eofbit); + is->clear(is->rdstate() | std::ios::eofbit); } return res; } private: /// the associated input stream - std::istream& is; - std::streambuf& sb; + std::istream* is = nullptr; + std::streambuf* sb = nullptr; }; -/// input adapter for buffer input -class input_buffer_adapter : public input_adapter_protocol +// General-purpose iterator-based adapter. It might not be as fast as +// theoretically possible for some containers, but it is extremely versatile. +template +class iterator_input_adapter { public: - input_buffer_adapter(const char* b, const std::size_t l) noexcept - : cursor(b), limit(b + l) - {} + using char_type = typename std::iterator_traits::value_type; - // delete because of pointer members - input_buffer_adapter(const input_buffer_adapter&) = delete; - input_buffer_adapter& operator=(input_buffer_adapter&) = delete; - input_buffer_adapter(input_buffer_adapter&&) = delete; - input_buffer_adapter& operator=(input_buffer_adapter&&) = delete; - ~input_buffer_adapter() override = default; + iterator_input_adapter(IteratorType first, IteratorType last) + : current(std::move(first)), end(std::move(last)) {} - std::char_traits::int_type get_character() noexcept override + typename std::char_traits::int_type get_character() { - if (JSON_LIKELY(cursor < limit)) + if (JSON_HEDLEY_LIKELY(current != end)) { - return std::char_traits::to_int_type(*(cursor++)); + auto result = std::char_traits::to_int_type(*current); + std::advance(current, 1); + return result; + } + else + { + return std::char_traits::eof(); } - - return std::char_traits::eof(); } private: - /// pointer to the current character - const char* cursor; - /// pointer past the last character - const char* const limit; + IteratorType current; + IteratorType end; + + template + friend struct wide_string_input_helper; + + bool empty() const + { + return current == end; + } + }; -template -struct wide_string_input_helper + +template +struct wide_string_input_helper; + +template +struct wide_string_input_helper { // UTF-32 - static void fill_buffer(const WideStringType& str, - size_t& current_wchar, + static void fill_buffer(BaseInputAdapter& input, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; - if (current_wchar == str.size()) + if (JSON_HEDLEY_UNLIKELY(input.empty())) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -2413,7 +4601,7 @@ struct wide_string_input_helper else { // get the current character - const auto wc = static_cast(str[current_wchar++]); + const auto wc = input.get_character(); // UTF-32 to UTF-8 encoding if (wc < 0x80) @@ -2423,23 +4611,23 @@ struct wide_string_input_helper } else if (wc <= 0x7FF) { - utf8_bytes[0] = static_cast::int_type>(0xC0u | ((wc >> 6u) & 0x1Fu)); - utf8_bytes[1] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u) & 0x1Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 2; } else if (wc <= 0xFFFF) { - utf8_bytes[0] = static_cast::int_type>(0xE0u | ((wc >> 12u) & 0x0Fu)); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u) & 0x0Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 3; } else if (wc <= 0x10FFFF) { - utf8_bytes[0] = static_cast::int_type>(0xF0u | ((wc >> 18u) & 0x07u)); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 12u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[3] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xF0u | ((static_cast(wc) >> 18u) & 0x07u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 4; } else @@ -2452,19 +4640,18 @@ struct wide_string_input_helper } }; -template -struct wide_string_input_helper +template +struct wide_string_input_helper { // UTF-16 - static void fill_buffer(const WideStringType& str, - size_t& current_wchar, + static void fill_buffer(BaseInputAdapter& input, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; - if (current_wchar == str.size()) + if (JSON_HEDLEY_UNLIKELY(input.empty())) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; @@ -2472,7 +4659,7 @@ struct wide_string_input_helper else { // get the current character - const auto wc = static_cast(str[current_wchar++]); + const auto wc = input.get_character(); // UTF-16 to UTF-8 encoding if (wc < 0x80) @@ -2482,23 +4669,23 @@ struct wide_string_input_helper } else if (wc <= 0x7FF) { - utf8_bytes[0] = static_cast::int_type>(0xC0u | ((wc >> 6u))); - utf8_bytes[1] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 2; } else if (0xD800 > wc or wc >= 0xE000) { - utf8_bytes[0] = static_cast::int_type>(0xE0u | ((wc >> 12u))); - utf8_bytes[1] = static_cast::int_type>(0x80u | ((wc >> 6u) & 0x3Fu)); - utf8_bytes[2] = static_cast::int_type>(0x80u | (wc & 0x3Fu)); + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); utf8_bytes_filled = 3; } else { - if (current_wchar < str.size()) + if (JSON_HEDLEY_UNLIKELY(not input.empty())) { - const auto wc2 = static_cast(str[current_wchar++]); - const auto charcode = 0x10000u + (((wc & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); + const auto wc2 = static_cast(input.get_character()); + const auto charcode = 0x10000u + (((static_cast(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); utf8_bytes[2] = static_cast::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu)); @@ -2507,8 +4694,6 @@ struct wide_string_input_helper } else { - // unknown character - ++current_wchar; utf8_bytes[0] = static_cast::int_type>(wc); utf8_bytes_filled = 1; } @@ -2517,20 +4702,22 @@ struct wide_string_input_helper } }; -template -class wide_string_input_adapter : public input_adapter_protocol +// Wraps another input apdater to convert wide character types into individual bytes. +template +class wide_string_input_adapter { public: - explicit wide_string_input_adapter(const WideStringType& w) noexcept - : str(w) - {} + using char_type = char; - std::char_traits::int_type get_character() noexcept override + wide_string_input_adapter(BaseInputAdapter base) + : base_adapter(base) {} + + typename std::char_traits::int_type get_character() noexcept { // check if buffer needs to be filled if (utf8_bytes_index == utf8_bytes_filled) { - fill_buffer(); + fill_buffer(); assert(utf8_bytes_filled > 0); assert(utf8_bytes_index == 0); @@ -2543,18 +4730,14 @@ class wide_string_input_adapter : public input_adapter_protocol } private: + BaseInputAdapter base_adapter; + template void fill_buffer() { - wide_string_input_helper::fill_buffer(str, current_wchar, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); + wide_string_input_helper::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); } - /// the wstring to process - const WideStringType& str; - - /// index of the current wchar in str - std::size_t current_wchar = 0; - /// a buffer for UTF-8 bytes std::array::int_type, 4> utf8_bytes = {{0, 0, 0, 0}}; @@ -2564,111 +4747,131 @@ class wide_string_input_adapter : public input_adapter_protocol std::size_t utf8_bytes_filled = 0; }; -class input_adapter + +template +struct iterator_input_adapter_factory +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using adapter_type = iterator_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(std::move(first), std::move(last)); + } +}; + +template +struct is_iterator_of_multibyte +{ + using value_type = typename std::iterator_traits::value_type; + enum + { + value = sizeof(value_type) > 1 + }; +}; + +template +struct iterator_input_adapter_factory::value>> +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(base_adapter_type(std::move(first), std::move(last))); + } +}; + +// General purpose iterator-based input +template +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType first, IteratorType last) +{ + using factory_type = iterator_input_adapter_factory; + return factory_type::create(first, last); +} + +// Convenience shorthand from container to iterator +template +auto input_adapter(const ContainerType& container) -> decltype(input_adapter(begin(container), end(container))) +{ + // Enable ADL + using std::begin; + using std::end; + + return input_adapter(begin(container), end(container)); +} + +// Special cases with fast paths +inline file_input_adapter input_adapter(std::FILE* file) +{ + return file_input_adapter(file); +} + +inline input_stream_adapter input_adapter(std::istream& stream) +{ + return input_stream_adapter(stream); +} + +inline input_stream_adapter input_adapter(std::istream&& stream) +{ + return input_stream_adapter(stream); +} + +using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); + +// Null-delimited strings, and the like. +template < typename CharT, + typename std::enable_if < + std::is_pointer::value and + not std::is_array::value and + std::is_integral::type>::value and + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > +contiguous_bytes_input_adapter input_adapter(CharT b) +{ + auto length = std::strlen(reinterpret_cast(b)); + auto ptr = reinterpret_cast(b); + return input_adapter(ptr, ptr + length); +} + +template +auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N)) +{ + return input_adapter(array, array + N); +} + +// This class only handles inputs of input_buffer_adapter type. +// It's required so that expressions like {ptr, len} can be implicitely casted +// to the correct adapter. +class span_input_adapter { public: - // native support - input_adapter(std::FILE* file) - : ia(std::make_shared(file)) {} - /// input adapter for input stream - input_adapter(std::istream& i) - : ia(std::make_shared(i)) {} - - /// input adapter for input stream - input_adapter(std::istream&& i) - : ia(std::make_shared(i)) {} - - input_adapter(const std::wstring& ws) - : ia(std::make_shared>(ws)) {} - - input_adapter(const std::u16string& ws) - : ia(std::make_shared>(ws)) {} - - input_adapter(const std::u32string& ws) - : ia(std::make_shared>(ws)) {} - - /// input adapter for buffer template::value and std::is_integral::type>::value and sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> - input_adapter(CharT b, std::size_t l) - : ia(std::make_shared(reinterpret_cast(b), l)) {} + span_input_adapter(CharT b, std::size_t l) + : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} - // derived support - - /// input adapter for string literal - template::value and - std::is_integral::type>::value and - sizeof(typename std::remove_pointer::type) == 1, - int>::type = 0> - input_adapter(CharT b) - : input_adapter(reinterpret_cast(b), - std::strlen(reinterpret_cast(b))) {} - - /// input adapter for iterator range with contiguous storage template::iterator_category, std::random_access_iterator_tag>::value, int>::type = 0> - input_adapter(IteratorType first, IteratorType last) + span_input_adapter(IteratorType first, IteratorType last) + : ia(input_adapter(first, last)) {} + + contiguous_bytes_input_adapter&& get() { -#ifndef NDEBUG - // assertion to check that the iterator range is indeed contiguous, - // see http://stackoverflow.com/a/35008842/266378 for more discussion - const auto is_contiguous = std::accumulate( - first, last, std::pair(true, 0), - [&first](std::pair res, decltype(*first) val) - { - res.first &= (val == *(std::next(std::addressof(*first), res.second++))); - return res; - }).first; - assert(is_contiguous); -#endif - - // assertion to check that each element is 1 byte long - static_assert( - sizeof(typename iterator_traits::value_type) == 1, - "each element in the iterator range must have the size of 1 byte"); - - const auto len = static_cast(std::distance(first, last)); - if (JSON_LIKELY(len > 0)) - { - // there is at least one element: use the address of first - ia = std::make_shared(reinterpret_cast(&(*first)), len); - } - else - { - // the address of first cannot be used: use nullptr - ia = std::make_shared(nullptr, len); - } - } - - /// input adapter for array - template - input_adapter(T (&array)[N]) - : input_adapter(std::begin(array), std::end(array)) {} - - /// input adapter for contiguous container - template::value and - std::is_base_of()))>::iterator_category>::value, - int>::type = 0> - input_adapter(const ContiguousContainer& c) - : input_adapter(std::begin(c), std::end(c)) {} - - operator input_adapter_t() - { - return ia; + return std::move(ia); } private: - /// the actual adapter - input_adapter_t ia = nullptr; + contiguous_bytes_input_adapter ia; }; } // namespace detail } // namespace nlohmann @@ -2701,14 +4904,11 @@ input. template struct json_sax { - /// type for (signed) integers using number_integer_t = typename BasicJsonType::number_integer_t; - /// type for unsigned integers using number_unsigned_t = typename BasicJsonType::number_unsigned_t; - /// type for floating-point numbers using number_float_t = typename BasicJsonType::number_float_t; - /// type for strings using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; /*! @brief a null value was read @@ -2753,6 +4953,14 @@ struct json_sax */ virtual bool string(string_t& val) = 0; + /*! + @brief a binary string was read + @param[in] val binary value + @return whether parsing should proceed + @note It is safe to move the passed binary. + */ + virtual bool binary(binary_t& val) = 0; + /*! @brief the beginning of an object was read @param[in] elements number of object elements or -1 if unknown @@ -2827,6 +5035,7 @@ class json_sax_dom_parser using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; /*! @param[in, out] r reference to a JSON value that is manipulated while @@ -2880,11 +5089,17 @@ class json_sax_dom_parser return true; } + bool binary(binary_t& val) + { + handle_value(std::move(val)); + return true; + } + bool start_object(std::size_t len) { ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); - if (JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) + if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len))); @@ -2910,7 +5125,7 @@ class json_sax_dom_parser { ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); - if (JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) + if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len))); @@ -2966,6 +5181,7 @@ class json_sax_dom_parser object to which we can add elements */ template + JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* handle_value(Value&& v) { if (ref_stack.empty()) @@ -3008,6 +5224,7 @@ class json_sax_dom_callback_parser using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; using parser_callback_t = typename BasicJsonType::parser_callback_t; using parse_event_t = typename BasicJsonType::parse_event_t; @@ -3062,6 +5279,12 @@ class json_sax_dom_callback_parser return true; } + bool binary(binary_t& val) + { + handle_value(std::move(val)); + return true; + } + bool start_object(std::size_t len) { // check callback for object start @@ -3072,7 +5295,7 @@ class json_sax_dom_callback_parser ref_stack.push_back(val.second); // check object limit - if (ref_stack.back() and JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) + if (ref_stack.back() and JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len))); } @@ -3110,7 +5333,7 @@ class json_sax_dom_callback_parser ref_stack.pop_back(); keep_stack.pop_back(); - if (not ref_stack.empty() and ref_stack.back() and ref_stack.back()->is_object()) + if (not ref_stack.empty() and ref_stack.back() and ref_stack.back()->is_structured()) { // remove discarded value for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it) @@ -3135,7 +5358,7 @@ class json_sax_dom_callback_parser ref_stack.push_back(val.second); // check array limit - if (ref_stack.back() and JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) + if (ref_stack.back() and JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len))); } @@ -3312,6 +5535,7 @@ class json_sax_acceptor using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; bool null() { @@ -3343,7 +5567,12 @@ class json_sax_acceptor return true; } - bool start_object(std::size_t /*unused*/ = std::size_t(-1)) + bool binary(binary_t& /*unused*/) + { + return true; + } + + bool start_object(std::size_t /*unused*/ = std::size_t(-1)) { return true; } @@ -3358,7 +5587,7 @@ class json_sax_acceptor return true; } - bool start_array(std::size_t /*unused*/ = std::size_t(-1)) + bool start_array(std::size_t /*unused*/ = std::size_t(-1)) { return true; } @@ -3532,6 +5761,20 @@ namespace nlohmann { namespace detail { + +/*! +@brief determine system byte order + +@return true if and only if system's byte order is little endian + +@note from https://stackoverflow.com/a/1001328/266378 +*/ +static inline bool little_endianess(int num = 1) noexcept +{ + return *reinterpret_cast(&num) == 1; +} + + /////////////////// // binary reader // /////////////////// @@ -3539,14 +5782,17 @@ namespace detail /*! @brief deserialization of CBOR, MessagePack, and UBJSON values */ -template> +template> class binary_reader { using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; using json_sax_t = SAX; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; public: /*! @@ -3554,10 +5800,9 @@ class binary_reader @param[in] adapter input adapter to read from */ - explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter)) + explicit binary_reader(InputAdapterType&& adapter) : ia(std::move(adapter)) { (void)detail::is_sax_static_asserts {}; - assert(ia); } // make class move-only @@ -3574,6 +5819,7 @@ class binary_reader @return */ + JSON_HEDLEY_NON_NULL(3) bool sax_parse(const input_format_t format, json_sax_t* sax_, const bool strict = true) @@ -3615,7 +5861,7 @@ class binary_reader get(); } - if (JSON_UNLIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) { return sax->parse_error(chars_read, get_token_string(), parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"))); @@ -3625,18 +5871,6 @@ class binary_reader return result; } - /*! - @brief determine system byte order - - @return true if and only if system's byte order is little endian - - @note from http://stackoverflow.com/a/1001328/266378 - */ - static constexpr bool little_endianess(int num = 1) noexcept - { - return *reinterpret_cast(&num) == 1; - } - private: ////////// // BSON // @@ -3651,12 +5885,12 @@ class binary_reader std::int32_t document_size; get_number(input_format_t::bson, document_size); - if (JSON_UNLIKELY(not sax->start_object(std::size_t(-1)))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1)))) { return false; } - if (JSON_UNLIKELY(not parse_bson_element_list(/*is_array*/false))) + if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_list(/*is_array*/false))) { return false; } @@ -3677,7 +5911,7 @@ class binary_reader while (true) { get(); - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::bson, "cstring"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "cstring"))) { return false; } @@ -3685,7 +5919,7 @@ class binary_reader { return true; } - *out++ = static_cast(current); + *out++ = static_cast(current); } return true; @@ -3705,13 +5939,39 @@ class binary_reader template bool get_bson_string(const NumberType len, string_t& result) { - if (JSON_UNLIKELY(len < 1)) + if (JSON_HEDLEY_UNLIKELY(len < 1)) { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"))); } - return get_string(input_format_t::bson, len - static_cast(1), result) and get() != std::char_traits::eof(); + return get_string(input_format_t::bson, len - static_cast(1), result) and get() != std::char_traits::eof(); + } + + /*! + @brief Parses a byte array input of length @a len from the BSON input. + @param[in] len The length of the byte array to be read. + @param[in, out] result A reference to the binary variable where the read + array is to be stored. + @tparam NumberType The type of the length @a len + @pre len >= 0 + @return `true` if the byte array was successfully parsed + */ + template + bool get_bson_binary(const NumberType len, binary_t& result) + { + if (JSON_HEDLEY_UNLIKELY(len < 0)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "byte array length cannot be negative, is " + std::to_string(len), "binary"))); + } + + // All BSON binary values have a subtype + std::uint8_t subtype; + get_number(input_format_t::bson, subtype); + result.set_subtype(subtype); + + return get_binary(input_format_t::bson, len, result); } /*! @@ -3724,7 +5984,7 @@ class binary_reader Unsupported BSON record type 0x... @return whether a valid BSON-object/array was passed to the SAX parser */ - bool parse_bson_element_internal(const int element_type, + bool parse_bson_element_internal(const char_int_type element_type, const std::size_t element_type_parse_position) { switch (element_type) @@ -3752,6 +6012,13 @@ class binary_reader return parse_bson_array(); } + case 0x05: // binary + { + std::int32_t len; + binary_t value; + return get_number(input_format_t::bson, len) and get_bson_binary(len, value) and sax->binary(value); + } + case 0x08: // boolean { return sax->boolean(get() != 0); @@ -3798,15 +6065,16 @@ class binary_reader bool parse_bson_element_list(const bool is_array) { string_t key; - while (int element_type = get()) + + while (auto element_type = get()) { - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::bson, "element list"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::bson, "element list"))) { return false; } const std::size_t element_type_parse_position = chars_read; - if (JSON_UNLIKELY(not get_bson_cstr(key))) + if (JSON_HEDLEY_UNLIKELY(not get_bson_cstr(key))) { return false; } @@ -3816,7 +6084,7 @@ class binary_reader return false; } - if (JSON_UNLIKELY(not parse_bson_element_internal(element_type, element_type_parse_position))) + if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_internal(element_type, element_type_parse_position))) { return false; } @@ -3837,12 +6105,12 @@ class binary_reader std::int32_t document_size; get_number(input_format_t::bson, document_size); - if (JSON_UNLIKELY(not sax->start_array(std::size_t(-1)))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1)))) { return false; } - if (JSON_UNLIKELY(not parse_bson_element_list(/*is_array*/true))) + if (JSON_HEDLEY_UNLIKELY(not parse_bson_element_list(/*is_array*/true))) { return false; } @@ -3866,7 +6134,7 @@ class binary_reader switch (get_char ? get() : current) { // EOF - case std::char_traits::eof(): + case std::char_traits::eof(): return unexpect_eof(input_format_t::cbor, "value"); // Integer 0x00..0x17 (0..23) @@ -3972,6 +6240,41 @@ class binary_reader - static_cast(number)); } + // Binary data (0x00..0x17 bytes follow) + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: // Binary data (one-byte uint8_t for n follows) + case 0x59: // Binary data (two-byte uint16_t for n follow) + case 0x5A: // Binary data (four-byte uint32_t for n follow) + case 0x5B: // Binary data (eight-byte uint64_t for n follow) + case 0x5F: // Binary data (indefinite length) + { + binary_t b; + return get_cbor_binary(b) and sax->binary(b); + } + // UTF-8 string (0x00..0x17 bytes follow) case 0x60: case 0x61: @@ -4126,13 +6429,13 @@ class binary_reader case 0xF9: // Half-Precision Float (two-byte IEEE 754) { - const int byte1_raw = get(); - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) + const auto byte1_raw = get(); + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) { return false; } - const int byte2_raw = get(); - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) + const auto byte2_raw = get(); + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "number"))) { return false; } @@ -4154,7 +6457,7 @@ class binary_reader const int exp = (half >> 10u) & 0x1Fu; const unsigned int mant = half & 0x3FFu; assert(0 <= exp and exp <= 32); - assert(0 <= mant and mant <= 1024); + assert(mant <= 1024); switch (exp) { case 0: @@ -4205,7 +6508,7 @@ class binary_reader */ bool get_cbor_string(string_t& result) { - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::cbor, "string"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "string"))) { return false; } @@ -4287,6 +6590,105 @@ class binary_reader } } + /*! + @brief reads a CBOR byte array + + This function first reads starting bytes to determine the expected + byte array length and then copies this number of bytes into the byte array. + Additionally, CBOR's byte arrays with indefinite lengths are supported. + + @param[out] result created byte array + + @return whether byte array creation completed + */ + bool get_cbor_binary(binary_t& result) + { + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::cbor, "binary"))) + { + return false; + } + + switch (current) + { + // Binary data (0x00..0x17 bytes follow) + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + { + return get_binary(input_format_t::cbor, static_cast(current) & 0x1Fu, result); + } + + case 0x58: // Binary data (one-byte uint8_t for n follows) + { + std::uint8_t len; + return get_number(input_format_t::cbor, len) and + get_binary(input_format_t::cbor, len, result); + } + + case 0x59: // Binary data (two-byte uint16_t for n follow) + { + std::uint16_t len; + return get_number(input_format_t::cbor, len) and + get_binary(input_format_t::cbor, len, result); + } + + case 0x5A: // Binary data (four-byte uint32_t for n follow) + { + std::uint32_t len; + return get_number(input_format_t::cbor, len) and + get_binary(input_format_t::cbor, len, result); + } + + case 0x5B: // Binary data (eight-byte uint64_t for n follow) + { + std::uint64_t len; + return get_number(input_format_t::cbor, len) and + get_binary(input_format_t::cbor, len, result); + } + + case 0x5F: // Binary data (indefinite length) + { + while (get() != 0xFF) + { + binary_t chunk; + if (not get_cbor_binary(chunk)) + { + return false; + } + result.insert(result.end(), chunk.begin(), chunk.end()); + } + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x40-0x5B) or indefinite binary array type (0x5F); last byte: 0x" + last_token, "binary"))); + } + } + } + /*! @param[in] len the length of the array or std::size_t(-1) for an array of indefinite size @@ -4294,7 +6696,7 @@ class binary_reader */ bool get_cbor_array(const std::size_t len) { - if (JSON_UNLIKELY(not sax->start_array(len))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_array(len))) { return false; } @@ -4303,7 +6705,7 @@ class binary_reader { for (std::size_t i = 0; i < len; ++i) { - if (JSON_UNLIKELY(not parse_cbor_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal())) { return false; } @@ -4313,7 +6715,7 @@ class binary_reader { while (get() != 0xFF) { - if (JSON_UNLIKELY(not parse_cbor_internal(false))) + if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal(false))) { return false; } @@ -4330,7 +6732,7 @@ class binary_reader */ bool get_cbor_object(const std::size_t len) { - if (JSON_UNLIKELY(not sax->start_object(len))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_object(len))) { return false; } @@ -4341,12 +6743,12 @@ class binary_reader for (std::size_t i = 0; i < len; ++i) { get(); - if (JSON_UNLIKELY(not get_cbor_string(key) or not sax->key(key))) + if (JSON_HEDLEY_UNLIKELY(not get_cbor_string(key) or not sax->key(key))) { return false; } - if (JSON_UNLIKELY(not parse_cbor_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal())) { return false; } @@ -4357,12 +6759,12 @@ class binary_reader { while (get() != 0xFF) { - if (JSON_UNLIKELY(not get_cbor_string(key) or not sax->key(key))) + if (JSON_HEDLEY_UNLIKELY(not get_cbor_string(key) or not sax->key(key))) { return false; } - if (JSON_UNLIKELY(not parse_cbor_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_cbor_internal())) { return false; } @@ -4385,7 +6787,7 @@ class binary_reader switch (get()) { // EOF - case std::char_traits::eof(): + case std::char_traits::eof(): return unexpect_eof(input_format_t::msgpack, "value"); // positive fixint @@ -4590,6 +6992,9 @@ class binary_reader case 0xBD: case 0xBE: case 0xBF: + case 0xD9: // str 8 + case 0xDA: // str 16 + case 0xDB: // str 32 { string_t s; return get_msgpack_string(s) and sax->string(s); @@ -4604,6 +7009,22 @@ class binary_reader case 0xC3: // true return sax->boolean(true); + case 0xC4: // bin 8 + case 0xC5: // bin 16 + case 0xC6: // bin 32 + case 0xC7: // ext 8 + case 0xC8: // ext 16 + case 0xC9: // ext 32 + case 0xD4: // fixext 1 + case 0xD5: // fixext 2 + case 0xD6: // fixext 4 + case 0xD7: // fixext 8 + case 0xD8: // fixext 16 + { + binary_t b; + return get_msgpack_binary(b) and sax->binary(b); + } + case 0xCA: // float 32 { float number; @@ -4664,14 +7085,6 @@ class binary_reader return get_number(input_format_t::msgpack, number) and sax->number_integer(number); } - case 0xD9: // str 8 - case 0xDA: // str 16 - case 0xDB: // str 32 - { - string_t s; - return get_msgpack_string(s) and sax->string(s); - } - case 0xDC: // array 16 { std::uint16_t len; @@ -4751,7 +7164,7 @@ class binary_reader */ bool get_msgpack_string(string_t& result) { - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::msgpack, "string"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::msgpack, "string"))) { return false; } @@ -4821,20 +7234,137 @@ class binary_reader } } + /*! + @brief reads a MessagePack byte array + + This function first reads starting bytes to determine the expected + byte array length and then copies this number of bytes into a byte array. + + @param[out] result created byte array + + @return whether byte array creation completed + */ + bool get_msgpack_binary(binary_t& result) + { + // helper function to set the subtype + auto assign_and_return_true = [&result](std::int8_t subtype) + { + result.set_subtype(static_cast(subtype)); + return true; + }; + + switch (current) + { + case 0xC4: // bin 8 + { + std::uint8_t len; + return get_number(input_format_t::msgpack, len) and + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC5: // bin 16 + { + std::uint16_t len; + return get_number(input_format_t::msgpack, len) and + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC6: // bin 32 + { + std::uint32_t len; + return get_number(input_format_t::msgpack, len) and + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC7: // ext 8 + { + std::uint8_t len; + std::int8_t subtype; + return get_number(input_format_t::msgpack, len) and + get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, len, result) and + assign_and_return_true(subtype); + } + + case 0xC8: // ext 16 + { + std::uint16_t len; + std::int8_t subtype; + return get_number(input_format_t::msgpack, len) and + get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, len, result) and + assign_and_return_true(subtype); + } + + case 0xC9: // ext 32 + { + std::uint32_t len; + std::int8_t subtype; + return get_number(input_format_t::msgpack, len) and + get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, len, result) and + assign_and_return_true(subtype); + } + + case 0xD4: // fixext 1 + { + std::int8_t subtype; + return get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, 1, result) and + assign_and_return_true(subtype); + } + + case 0xD5: // fixext 2 + { + std::int8_t subtype; + return get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, 2, result) and + assign_and_return_true(subtype); + } + + case 0xD6: // fixext 4 + { + std::int8_t subtype; + return get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, 4, result) and + assign_and_return_true(subtype); + } + + case 0xD7: // fixext 8 + { + std::int8_t subtype; + return get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, 8, result) and + assign_and_return_true(subtype); + } + + case 0xD8: // fixext 16 + { + std::int8_t subtype; + return get_number(input_format_t::msgpack, subtype) and + get_binary(input_format_t::msgpack, 16, result) and + assign_and_return_true(subtype); + } + + default: // LCOV_EXCL_LINE + return false; // LCOV_EXCL_LINE + } + } + /*! @param[in] len the length of the array @return whether array creation completed */ bool get_msgpack_array(const std::size_t len) { - if (JSON_UNLIKELY(not sax->start_array(len))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_array(len))) { return false; } for (std::size_t i = 0; i < len; ++i) { - if (JSON_UNLIKELY(not parse_msgpack_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_msgpack_internal())) { return false; } @@ -4849,7 +7379,7 @@ class binary_reader */ bool get_msgpack_object(const std::size_t len) { - if (JSON_UNLIKELY(not sax->start_object(len))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_object(len))) { return false; } @@ -4858,12 +7388,12 @@ class binary_reader for (std::size_t i = 0; i < len; ++i) { get(); - if (JSON_UNLIKELY(not get_msgpack_string(key) or not sax->key(key))) + if (JSON_HEDLEY_UNLIKELY(not get_msgpack_string(key) or not sax->key(key))) { return false; } - if (JSON_UNLIKELY(not parse_msgpack_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_msgpack_internal())) { return false; } @@ -4910,7 +7440,7 @@ class binary_reader get(); // TODO(niels): may we ignore N here? } - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value"))) { return false; } @@ -4964,7 +7494,7 @@ class binary_reader case 'U': { std::uint8_t number; - if (JSON_UNLIKELY(not get_number(input_format_t::ubjson, number))) + if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number))) { return false; } @@ -4975,7 +7505,7 @@ class binary_reader case 'i': { std::int8_t number; - if (JSON_UNLIKELY(not get_number(input_format_t::ubjson, number))) + if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number))) { return false; } @@ -4986,7 +7516,7 @@ class binary_reader case 'I': { std::int16_t number; - if (JSON_UNLIKELY(not get_number(input_format_t::ubjson, number))) + if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number))) { return false; } @@ -4997,7 +7527,7 @@ class binary_reader case 'l': { std::int32_t number; - if (JSON_UNLIKELY(not get_number(input_format_t::ubjson, number))) + if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number))) { return false; } @@ -5008,7 +7538,7 @@ class binary_reader case 'L': { std::int64_t number; - if (JSON_UNLIKELY(not get_number(input_format_t::ubjson, number))) + if (JSON_HEDLEY_UNLIKELY(not get_number(input_format_t::ubjson, number))) { return false; } @@ -5034,7 +7564,7 @@ class binary_reader @return whether pair creation completed */ - bool get_ubjson_size_type(std::pair& result) + bool get_ubjson_size_type(std::pair& result) { result.first = string_t::npos; // size result.second = 0; // type @@ -5044,15 +7574,15 @@ class binary_reader if (current == '$') { result.second = get(); // must not ignore 'N', because 'N' maybe the type - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "type"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "type"))) { return false; } get_ignore_noop(); - if (JSON_UNLIKELY(current != '#')) + if (JSON_HEDLEY_UNLIKELY(current != '#')) { - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "value"))) { return false; } @@ -5075,11 +7605,11 @@ class binary_reader @param prefix the previously read or set type prefix @return whether value creation completed */ - bool get_ubjson_value(const int prefix) + bool get_ubjson_value(const char_int_type prefix) { switch (prefix) { - case std::char_traits::eof(): // EOF + case std::char_traits::eof(): // EOF return unexpect_eof(input_format_t::ubjson, "value"); case 'T': // true @@ -5135,16 +7665,16 @@ class binary_reader case 'C': // char { get(); - if (JSON_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "char"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(input_format_t::ubjson, "char"))) { return false; } - if (JSON_UNLIKELY(current > 127)) + if (JSON_HEDLEY_UNLIKELY(current > 127)) { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char"))); } - string_t s(1, static_cast(current)); + string_t s(1, static_cast(current)); return sax->string(s); } @@ -5173,15 +7703,15 @@ class binary_reader */ bool get_ubjson_array() { - std::pair size_and_type; - if (JSON_UNLIKELY(not get_ubjson_size_type(size_and_type))) + std::pair size_and_type; + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; } if (size_and_type.first != string_t::npos) { - if (JSON_UNLIKELY(not sax->start_array(size_and_type.first))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_array(size_and_type.first))) { return false; } @@ -5192,7 +7722,7 @@ class binary_reader { for (std::size_t i = 0; i < size_and_type.first; ++i) { - if (JSON_UNLIKELY(not get_ubjson_value(size_and_type.second))) + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second))) { return false; } @@ -5203,7 +7733,7 @@ class binary_reader { for (std::size_t i = 0; i < size_and_type.first; ++i) { - if (JSON_UNLIKELY(not parse_ubjson_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal())) { return false; } @@ -5212,14 +7742,14 @@ class binary_reader } else { - if (JSON_UNLIKELY(not sax->start_array(std::size_t(-1)))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1)))) { return false; } while (current != ']') { - if (JSON_UNLIKELY(not parse_ubjson_internal(false))) + if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal(false))) { return false; } @@ -5235,8 +7765,8 @@ class binary_reader */ bool get_ubjson_object() { - std::pair size_and_type; - if (JSON_UNLIKELY(not get_ubjson_size_type(size_and_type))) + std::pair size_and_type; + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; } @@ -5244,7 +7774,7 @@ class binary_reader string_t key; if (size_and_type.first != string_t::npos) { - if (JSON_UNLIKELY(not sax->start_object(size_and_type.first))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_object(size_and_type.first))) { return false; } @@ -5253,11 +7783,11 @@ class binary_reader { for (std::size_t i = 0; i < size_and_type.first; ++i) { - if (JSON_UNLIKELY(not get_ubjson_string(key) or not sax->key(key))) + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key) or not sax->key(key))) { return false; } - if (JSON_UNLIKELY(not get_ubjson_value(size_and_type.second))) + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_value(size_and_type.second))) { return false; } @@ -5268,11 +7798,11 @@ class binary_reader { for (std::size_t i = 0; i < size_and_type.first; ++i) { - if (JSON_UNLIKELY(not get_ubjson_string(key) or not sax->key(key))) + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key) or not sax->key(key))) { return false; } - if (JSON_UNLIKELY(not parse_ubjson_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal())) { return false; } @@ -5282,18 +7812,18 @@ class binary_reader } else { - if (JSON_UNLIKELY(not sax->start_object(std::size_t(-1)))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1)))) { return false; } while (current != '}') { - if (JSON_UNLIKELY(not get_ubjson_string(key, false) or not sax->key(key))) + if (JSON_HEDLEY_UNLIKELY(not get_ubjson_string(key, false) or not sax->key(key))) { return false; } - if (JSON_UNLIKELY(not parse_ubjson_internal())) + if (JSON_HEDLEY_UNLIKELY(not parse_ubjson_internal())) { return false; } @@ -5305,6 +7835,9 @@ class binary_reader return sax->end_object(); } + // Note, no reader for UBJSON binary types is implemented because they do + // not exist + /////////////////////// // Utility functions // /////////////////////// @@ -5314,20 +7847,20 @@ class binary_reader This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued - `std::char_traits::eof()` in that case. + `std::char_traits::eof()` in that case. @return character read from the input */ - int get() + char_int_type get() { ++chars_read; - return current = ia->get_character(); + return current = ia.get_character(); } /*! @return character read from the input after ignoring all 'N' entries */ - int get_ignore_noop() + char_int_type get_ignore_noop() { do { @@ -5359,7 +7892,7 @@ class binary_reader for (std::size_t i = 0; i < sizeof(NumberType); ++i) { get(); - if (JSON_UNLIKELY(not unexpect_eof(format, "number"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "number"))) { return false; } @@ -5403,11 +7936,43 @@ class binary_reader std::generate_n(std::back_inserter(result), len, [this, &success, &format]() { get(); - if (JSON_UNLIKELY(not unexpect_eof(format, "string"))) + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "string"))) { success = false; } - return static_cast(current); + return std::char_traits::to_char_type(current); + }); + return success; + } + + /*! + @brief create a byte array by reading bytes from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[in] len number of bytes to read + @param[out] result byte array created by reading @a len bytes + + @return whether byte array creation completed + + @note We can not reserve @a len bytes for the result, because @a len + may be too large. Usually, @ref unexpect_eof() detects the end of + the input before we run out of memory. + */ + template + bool get_binary(const input_format_t format, + const NumberType len, + binary_t& result) + { + bool success = true; + std::generate_n(std::back_inserter(result), len, [this, &success, &format]() + { + get(); + if (JSON_HEDLEY_UNLIKELY(not unexpect_eof(format, "binary"))) + { + success = false; + } + return static_cast(current); }); return success; } @@ -5417,9 +7982,10 @@ class binary_reader @param[in] context further context information (for diagnostics) @return whether the last read character is not EOF */ + JSON_HEDLEY_NON_NULL(3) bool unexpect_eof(const input_format_t format, const char* context) const { - if (JSON_UNLIKELY(current == std::char_traits::eof())) + if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) { return sax->parse_error(chars_read, "", parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context))); @@ -5440,7 +8006,7 @@ class binary_reader /*! @param[in] format the current format @param[in] detail a detailed error message - @param[in] context further contect information + @param[in] context further context information @return a message string to use in the parse_error exceptions */ std::string exception_message(const input_format_t format, @@ -5476,10 +8042,10 @@ class binary_reader private: /// input adapter - input_adapter_t ia = nullptr; + InputAdapterType ia; /// the current character - int current = std::char_traits::eof(); + char_int_type current = std::char_traits::eof(); /// the number of characters read std::size_t chars_read = 0; @@ -5523,19 +8089,9 @@ namespace detail // lexer // /////////// -/*! -@brief lexical analysis - -This class organizes the lexical analysis during JSON deserialization. -*/ template -class lexer +class lexer_base { - using number_integer_t = typename BasicJsonType::number_integer_t; - using number_unsigned_t = typename BasicJsonType::number_unsigned_t; - using number_float_t = typename BasicJsonType::number_float_t; - using string_t = typename BasicJsonType::string_t; - public: /// token types for the parser enum class token_type @@ -5560,6 +8116,8 @@ class lexer }; /// return name of values of type token_type (only used for errors) + JSON_HEDLEY_RETURNS_NON_NULL + JSON_HEDLEY_CONST static const char* token_type_name(const token_type t) noexcept { switch (t) @@ -5574,9 +8132,9 @@ class lexer return "null literal"; case token_type::value_string: return "string literal"; - case lexer::token_type::value_unsigned: - case lexer::token_type::value_integer: - case lexer::token_type::value_float: + case token_type::value_unsigned: + case token_type::value_integer: + case token_type::value_float: return "number literal"; case token_type::begin_array: return "'['"; @@ -5602,15 +8160,33 @@ class lexer // LCOV_EXCL_STOP } } +}; +/*! +@brief lexical analysis - explicit lexer(detail::input_adapter_t&& adapter) - : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {} +This class organizes the lexical analysis during JSON deserialization. +*/ +template +class lexer : public lexer_base +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; + + public: + using token_type = typename lexer_base::token_type; + + explicit lexer(InputAdapterType&& adapter) + : ia(std::move(adapter)), decimal_point_char(static_cast(get_decimal_point())) {} // delete because of pointer members lexer(const lexer&) = delete; - lexer(lexer&&) = delete; + lexer(lexer&&) = default; lexer& operator=(lexer&) = delete; - lexer& operator=(lexer&&) = delete; + lexer& operator=(lexer&&) = default; ~lexer() = default; private: @@ -5619,6 +8195,7 @@ class lexer ///////////////////// /// return the locale-dependent decimal point + JSON_HEDLEY_PURE static char get_decimal_point() noexcept { const auto loc = localeconv(); @@ -5693,7 +8270,7 @@ class lexer @return true if and only if no range violation was detected */ - bool next_byte_in_range(std::initializer_list ranges) + bool next_byte_in_range(std::initializer_list ranges) { assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6); add(current); @@ -5701,7 +8278,7 @@ class lexer for (auto range = ranges.begin(); range != ranges.end(); ++range) { get(); - if (JSON_LIKELY(*range <= current and current <= *(++range))) + if (JSON_HEDLEY_LIKELY(*range <= current and current <= *(++range))) { add(current); } @@ -5744,7 +8321,7 @@ class lexer switch (get()) { // end of file while parsing string - case std::char_traits::eof(): + case std::char_traits::eof(): { error_message = "invalid string: missing closing quote"; return token_type::parse_error; @@ -5800,7 +8377,7 @@ class lexer const int codepoint1 = get_codepoint(); int codepoint = codepoint1; // start with codepoint1 - if (JSON_UNLIKELY(codepoint1 == -1)) + if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1)) { error_message = "invalid string: '\\u' must be followed by 4 hex digits"; return token_type::parse_error; @@ -5810,18 +8387,18 @@ class lexer if (0xD800 <= codepoint1 and codepoint1 <= 0xDBFF) { // expect next \uxxxx entry - if (JSON_LIKELY(get() == '\\' and get() == 'u')) + if (JSON_HEDLEY_LIKELY(get() == '\\' and get() == 'u')) { const int codepoint2 = get_codepoint(); - if (JSON_UNLIKELY(codepoint2 == -1)) + if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1)) { error_message = "invalid string: '\\u' must be followed by 4 hex digits"; return token_type::parse_error; } // check if codepoint2 is a low surrogate - if (JSON_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF)) + if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF)) { // overwrite codepoint codepoint = static_cast( @@ -5836,19 +8413,19 @@ class lexer } else { - error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF"; + error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF"; return token_type::parse_error; } } else { - error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF"; + error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF"; return token_type::parse_error; } } else { - if (JSON_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF)) + if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF)) { error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF"; return token_type::parse_error; @@ -5862,28 +8439,28 @@ class lexer if (codepoint < 0x80) { // 1-byte characters: 0xxxxxxx (ASCII) - add(codepoint); + add(static_cast(codepoint)); } else if (codepoint <= 0x7FF) { // 2-byte characters: 110xxxxx 10xxxxxx - add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } else if (codepoint <= 0xFFFF) { // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx - add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } else { // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); - add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); - add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); } break; @@ -6223,7 +8800,7 @@ class lexer case 0xDE: case 0xDF: { - if (JSON_UNLIKELY(not next_byte_in_range({0x80, 0xBF}))) + if (JSON_HEDLEY_UNLIKELY(not next_byte_in_range({0x80, 0xBF}))) { return token_type::parse_error; } @@ -6233,7 +8810,7 @@ class lexer // U+0800..U+0FFF: bytes E0 A0..BF 80..BF case 0xE0: { - if (JSON_UNLIKELY(not (next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF})))) + if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } @@ -6257,7 +8834,7 @@ class lexer case 0xEE: case 0xEF: { - if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF})))) + if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } @@ -6267,7 +8844,7 @@ class lexer // U+D000..U+D7FF: bytes ED 80..9F 80..BF case 0xED: { - if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0x9F, 0x80, 0xBF})))) + if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0x9F, 0x80, 0xBF})))) { return token_type::parse_error; } @@ -6277,7 +8854,7 @@ class lexer // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF case 0xF0: { - if (JSON_UNLIKELY(not (next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) + if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } @@ -6289,7 +8866,7 @@ class lexer case 0xF2: case 0xF3: { - if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) + if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } @@ -6299,7 +8876,7 @@ class lexer // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF case 0xF4: { - if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF})))) + if (JSON_HEDLEY_UNLIKELY(not (next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } @@ -6316,16 +8893,19 @@ class lexer } } + JSON_HEDLEY_NON_NULL(2) static void strtof(float& f, const char* str, char** endptr) noexcept { f = std::strtof(str, endptr); } + JSON_HEDLEY_NON_NULL(2) static void strtof(double& f, const char* str, char** endptr) noexcept { f = std::strtod(str, endptr); } + JSON_HEDLEY_NON_NULL(2) static void strtof(long double& f, const char* str, char** endptr) noexcept { f = std::strtold(str, endptr); @@ -6348,7 +8928,7 @@ class lexer minus | zero | any1 | [error] | [error] | [error] | [error] | [error] zero | done | done | exponent | done | done | decimal1 | done any1 | any1 | any1 | exponent | done | done | decimal1 | done - decimal1 | decimal2 | [error] | [error] | [error] | [error] | [error] | [error] + decimal1 | decimal2 | decimal2 | [error] | [error] | [error] | [error] | [error] decimal2 | decimal2 | decimal2 | exponent | done | done | done | done exponent | any2 | any2 | [error] | sign | sign | [error] | [error] sign | any2 | any2 | [error] | [error] | [error] | [error] | [error] @@ -6701,13 +9281,14 @@ scan_number_done: @param[in] length the length of the passed literal text @param[in] return_type the token type to return on success */ - token_type scan_literal(const char* literal_text, const std::size_t length, + JSON_HEDLEY_NON_NULL(2) + token_type scan_literal(const char_type* literal_text, const std::size_t length, token_type return_type) { - assert(current == literal_text[0]); + assert(std::char_traits::to_char_type(current) == literal_text[0]); for (std::size_t i = 1; i < length; ++i) { - if (JSON_UNLIKELY(get() != literal_text[i])) + if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) { error_message = "invalid literal"; return token_type::parse_error; @@ -6725,7 +9306,7 @@ scan_number_done: { token_buffer.clear(); token_string.clear(); - token_string.push_back(std::char_traits::to_char_type(current)); + token_string.push_back(std::char_traits::to_char_type(current)); } /* @@ -6738,7 +9319,7 @@ scan_number_done: @return character read from the input */ - std::char_traits::int_type get() + char_int_type get() { ++position.chars_read_total; ++position.chars_read_current_line; @@ -6750,12 +9331,12 @@ scan_number_done: } else { - current = ia->get_character(); + current = ia.get_character(); } - if (JSON_LIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) { - token_string.push_back(std::char_traits::to_char_type(current)); + token_string.push_back(std::char_traits::to_char_type(current)); } if (current == '\n') @@ -6794,7 +9375,7 @@ scan_number_done: --position.chars_read_current_line; } - if (JSON_LIKELY(current != std::char_traits::eof())) + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) { assert(not token_string.empty()); token_string.pop_back(); @@ -6802,9 +9383,9 @@ scan_number_done: } /// add a character to token_buffer - void add(int c) + void add(char_int_type c) { - token_buffer.push_back(std::char_traits::to_char_type(c)); + token_buffer.push_back(static_cast(c)); } public: @@ -6855,7 +9436,7 @@ scan_number_done: std::string result; for (const auto c : token_string) { - if ('\x00' <= c and c <= '\x1F') + if (static_cast(c) <= '\x1F') { // escape control characters std::array cs{{}}; @@ -6865,7 +9446,7 @@ scan_number_done: else { // add character as is - result.push_back(c); + result.push_back(static_cast(c)); } } @@ -6873,6 +9454,7 @@ scan_number_done: } /// return syntax error message + JSON_HEDLEY_RETURNS_NON_NULL constexpr const char* get_error_message() const noexcept { return error_message; @@ -6934,11 +9516,20 @@ scan_number_done: // literals case 't': - return scan_literal("true", 4, token_type::literal_true); + { + std::array true_literal = {{'t', 'r', 'u', 'e'}}; + return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true); + } case 'f': - return scan_literal("false", 5, token_type::literal_false); + { + std::array false_literal = {{'f', 'a', 'l', 's', 'e'}}; + return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false); + } case 'n': - return scan_literal("null", 4, token_type::literal_null); + { + std::array null_literal = {{'n', 'u', 'l', 'l'}}; + return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null); + } // string case '\"': @@ -6961,7 +9552,7 @@ scan_number_done: // end of input (the null byte is needed when parsing from // string literals) case '\0': - case std::char_traits::eof(): + case std::char_traits::eof(): return token_type::end_of_input; // error @@ -6973,10 +9564,10 @@ scan_number_done: private: /// input adapter - detail::input_adapter_t ia = nullptr; + InputAdapterType ia; /// the current character - std::char_traits::int_type current = std::char_traits::eof(); + char_int_type current = std::char_traits::eof(); /// whether the next get() call should just return current bool next_unget = false; @@ -6985,7 +9576,7 @@ scan_number_done: position_t position {}; /// raw input token string (for error messages) - std::vector token_string {}; + std::vector token_string {}; /// buffer for variable-length tokens (numbers, strings) string_t token_buffer {}; @@ -6999,7 +9590,7 @@ scan_number_done: number_float_t value_float = 0; /// the decimal point - const char decimal_point_char = '.'; + const char_int_type decimal_point_char = '.'; }; } // namespace detail } // namespace nlohmann @@ -7038,44 +9629,45 @@ namespace detail // parser // //////////// +enum class parse_event_t : uint8_t +{ + /// the parser read `{` and started to process a JSON object + object_start, + /// the parser read `}` and finished processing a JSON object + object_end, + /// the parser read `[` and started to process a JSON array + array_start, + /// the parser read `]` and finished processing a JSON array + array_end, + /// the parser read a key of a value in an object + key, + /// the parser finished reading a JSON value + value +}; + +template +using parser_callback_t = + std::function; + /*! @brief syntax analysis -This class implements a recursive decent parser. +This class implements a recursive descent parser. */ -template +template class parser { using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; - using lexer_t = lexer; + using lexer_t = lexer; using token_type = typename lexer_t::token_type; public: - enum class parse_event_t : uint8_t - { - /// the parser read `{` and started to process a JSON object - object_start, - /// the parser read `}` and finished processing a JSON object - object_end, - /// the parser read `[` and started to process a JSON array - array_start, - /// the parser read `]` and finished processing a JSON array - array_end, - /// the parser read a key of a value in an object - key, - /// the parser finished reading a JSON value - value - }; - - using parser_callback_t = - std::function; - /// a parser reading from an input adapter - explicit parser(detail::input_adapter_t&& adapter, - const parser_callback_t cb = nullptr, + explicit parser(InputAdapterType&& adapter, + const parser_callback_t cb = nullptr, const bool allow_exceptions_ = true) : callback(cb), m_lexer(std::move(adapter)), allow_exceptions(allow_exceptions_) { @@ -7161,6 +9753,7 @@ class parser } template + JSON_HEDLEY_NON_NULL(2) bool sax_parse(SAX* sax, const bool strict = true) { (void)detail::is_sax_static_asserts {}; @@ -7180,6 +9773,7 @@ class parser private: template + JSON_HEDLEY_NON_NULL(2) bool sax_parse_internal(SAX* sax) { // stack to remember the hierarchy of structured values we are parsing @@ -7197,7 +9791,7 @@ class parser { case token_type::begin_object: { - if (JSON_UNLIKELY(not sax->start_object(std::size_t(-1)))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_object(std::size_t(-1)))) { return false; } @@ -7205,7 +9799,7 @@ class parser // closing } -> we are done if (get_token() == token_type::end_object) { - if (JSON_UNLIKELY(not sax->end_object())) + if (JSON_HEDLEY_UNLIKELY(not sax->end_object())) { return false; } @@ -7213,20 +9807,20 @@ class parser } // parse key - if (JSON_UNLIKELY(last_token != token_type::value_string)) + if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"))); } - if (JSON_UNLIKELY(not sax->key(m_lexer.get_string()))) + if (JSON_HEDLEY_UNLIKELY(not sax->key(m_lexer.get_string()))) { return false; } // parse separator (:) - if (JSON_UNLIKELY(get_token() != token_type::name_separator)) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), @@ -7244,7 +9838,7 @@ class parser case token_type::begin_array: { - if (JSON_UNLIKELY(not sax->start_array(std::size_t(-1)))) + if (JSON_HEDLEY_UNLIKELY(not sax->start_array(std::size_t(-1)))) { return false; } @@ -7252,7 +9846,7 @@ class parser // closing ] -> we are done if (get_token() == token_type::end_array) { - if (JSON_UNLIKELY(not sax->end_array())) + if (JSON_HEDLEY_UNLIKELY(not sax->end_array())) { return false; } @@ -7270,14 +9864,14 @@ class parser { const auto res = m_lexer.get_number_float(); - if (JSON_UNLIKELY(not std::isfinite(res))) + if (JSON_HEDLEY_UNLIKELY(not std::isfinite(res))) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'")); } - if (JSON_UNLIKELY(not sax->number_float(res, m_lexer.get_string()))) + if (JSON_HEDLEY_UNLIKELY(not sax->number_float(res, m_lexer.get_string()))) { return false; } @@ -7287,7 +9881,7 @@ class parser case token_type::literal_false: { - if (JSON_UNLIKELY(not sax->boolean(false))) + if (JSON_HEDLEY_UNLIKELY(not sax->boolean(false))) { return false; } @@ -7296,7 +9890,7 @@ class parser case token_type::literal_null: { - if (JSON_UNLIKELY(not sax->null())) + if (JSON_HEDLEY_UNLIKELY(not sax->null())) { return false; } @@ -7305,7 +9899,7 @@ class parser case token_type::literal_true: { - if (JSON_UNLIKELY(not sax->boolean(true))) + if (JSON_HEDLEY_UNLIKELY(not sax->boolean(true))) { return false; } @@ -7314,7 +9908,7 @@ class parser case token_type::value_integer: { - if (JSON_UNLIKELY(not sax->number_integer(m_lexer.get_number_integer()))) + if (JSON_HEDLEY_UNLIKELY(not sax->number_integer(m_lexer.get_number_integer()))) { return false; } @@ -7323,7 +9917,7 @@ class parser case token_type::value_string: { - if (JSON_UNLIKELY(not sax->string(m_lexer.get_string()))) + if (JSON_HEDLEY_UNLIKELY(not sax->string(m_lexer.get_string()))) { return false; } @@ -7332,7 +9926,7 @@ class parser case token_type::value_unsigned: { - if (JSON_UNLIKELY(not sax->number_unsigned(m_lexer.get_number_unsigned()))) + if (JSON_HEDLEY_UNLIKELY(not sax->number_unsigned(m_lexer.get_number_unsigned()))) { return false; } @@ -7380,9 +9974,9 @@ class parser } // closing ] - if (JSON_LIKELY(last_token == token_type::end_array)) + if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array)) { - if (JSON_UNLIKELY(not sax->end_array())) + if (JSON_HEDLEY_UNLIKELY(not sax->end_array())) { return false; } @@ -7408,7 +10002,7 @@ class parser if (get_token() == token_type::value_separator) { // parse key - if (JSON_UNLIKELY(get_token() != token_type::value_string)) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), @@ -7416,13 +10010,13 @@ class parser exception_message(token_type::value_string, "object key"))); } - if (JSON_UNLIKELY(not sax->key(m_lexer.get_string()))) + if (JSON_HEDLEY_UNLIKELY(not sax->key(m_lexer.get_string()))) { return false; } // parse separator (:) - if (JSON_UNLIKELY(get_token() != token_type::name_separator)) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), @@ -7436,9 +10030,9 @@ class parser } // closing } - if (JSON_LIKELY(last_token == token_type::end_object)) + if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object)) { - if (JSON_UNLIKELY(not sax->end_object())) + if (JSON_HEDLEY_UNLIKELY(not sax->end_object())) { return false; } @@ -7498,7 +10092,7 @@ class parser private: /// callback function - const parser_callback_t callback = nullptr; + const parser_callback_t callback = nullptr; /// the type of the last read token token_type last_token = token_type::uninitialized; /// the lexer @@ -7651,6 +10245,8 @@ template struct internal_iterator typename BasicJsonType::object_t::iterator object_iterator {}; /// iterator for JSON arrays typename BasicJsonType::array_t::iterator array_iterator {}; + /// iterator for JSON binary arrays + typename BasicJsonType::binary_t::container_type::iterator binary_iterator {}; /// generic iterator for all other types primitive_iterator_t primitive_iterator {}; }; @@ -7660,10 +10256,11 @@ template struct internal_iterator // #include -#include // not #include // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next #include // conditional, is_const, remove_const +// #include + // #include // #include @@ -7785,17 +10382,42 @@ class iter_impl to iterator is not defined. */ + /*! + @brief const copy constructor + @param[in] other const iterator to copy from + @note This copy constructor had to be defined explicitly to circumvent a bug + occurring on msvc v19.0 compiler (VS 2015) debug build. For more + information refer to: https://github.com/nlohmann/json/issues/1608 + */ + iter_impl(const iter_impl& other) noexcept + : m_object(other.m_object), m_it(other.m_it) + {} + + /*! + @brief converting assignment + @param[in] other const iterator to copy from + @return const/non-const iterator + @note It is not checked whether @a other is initialized. + */ + iter_impl& operator=(const iter_impl& other) noexcept + { + m_object = other.m_object; + m_it = other.m_it; + return *this; + } + /*! @brief converting constructor @param[in] other non-const iterator to copy from @note It is not checked whether @a other is initialized. */ iter_impl(const iter_impl::type>& other) noexcept - : m_object(other.m_object), m_it(other.m_it) {} + : m_object(other.m_object), m_it(other.m_it) + {} /*! @brief converting assignment - @param[in,out] other non-const iterator to copy from + @param[in] other non-const iterator to copy from @return const/non-const iterator @note It is not checked whether @a other is initialized. */ @@ -7902,7 +10524,7 @@ class iter_impl default: { - if (JSON_LIKELY(m_it.primitive_iterator.is_begin())) + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) { return *m_object; } @@ -7936,7 +10558,7 @@ class iter_impl default: { - if (JSON_LIKELY(m_it.primitive_iterator.is_begin())) + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) { return m_object; } @@ -8039,7 +10661,7 @@ class iter_impl bool operator==(const iter_impl& other) const { // if objects are not the same, the comparison is undefined - if (JSON_UNLIKELY(m_object != other.m_object)) + if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object)) { JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers")); } @@ -8075,7 +10697,7 @@ class iter_impl bool operator<(const iter_impl& other) const { // if objects are not the same, the comparison is undefined - if (JSON_UNLIKELY(m_object != other.m_object)) + if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object)) { JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers")); } @@ -8235,7 +10857,7 @@ class iter_impl default: { - if (JSON_LIKELY(m_it.primitive_iterator.get_value() == -n)) + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.get_value() == -n)) { return *m_object; } @@ -8253,7 +10875,7 @@ class iter_impl { assert(m_object != nullptr); - if (JSON_LIKELY(m_object->is_object())) + if (JSON_HEDLEY_LIKELY(m_object->is_object())) { return m_it.object_iterator->first; } @@ -8276,7 +10898,7 @@ class iter_impl /// the actual iterator of the associated instance internal_iterator::type> m_it {}; }; -} // namespace detail +} // namespace detail } // namespace nlohmann // #include @@ -8409,6 +11031,7 @@ class json_reverse_iterator : public std::reverse_iterator #include // all_of #include // assert +#include // isdigit #include // accumulate #include // string #include // move @@ -8535,8 +11158,8 @@ class json_pointer /*! @brief append an array index at the end of this JSON pointer - @param[in] array_index array index ot append - @return JSON pointer with @a array_index appended + @param[in] array_idx array index to append + @return JSON pointer with @a array_idx appended @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} @@ -8548,9 +11171,9 @@ class json_pointer @since version 3.6.0 */ - json_pointer& operator/=(std::size_t array_index) + json_pointer& operator/=(std::size_t array_idx) { - return *this /= std::to_string(array_index); + return *this /= std::to_string(array_idx); } /*! @@ -8598,8 +11221,8 @@ class json_pointer @brief create a new JSON pointer by appending the array-index-token at the end of the JSON pointer @param[in] ptr JSON pointer - @param[in] array_index array index - @return a new JSON pointer with @a array_index appended to @a ptr + @param[in] array_idx array index + @return a new JSON pointer with @a array_idx appended to @a ptr @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} @@ -8609,9 +11232,9 @@ class json_pointer @since version 3.6.0 */ - friend json_pointer operator/(const json_pointer& ptr, std::size_t array_index) + friend json_pointer operator/(const json_pointer& ptr, std::size_t array_idx) { - return json_pointer(ptr) /= array_index; + return json_pointer(ptr) /= array_idx; } /*! @@ -8654,7 +11277,7 @@ class json_pointer */ void pop_back() { - if (JSON_UNLIKELY(empty())) + if (JSON_HEDLEY_UNLIKELY(empty())) { JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); } @@ -8676,9 +11299,9 @@ class json_pointer @since version 3.6.0 */ - const std::string& back() + const std::string& back() const { - if (JSON_UNLIKELY(empty())) + if (JSON_HEDLEY_UNLIKELY(empty())) { JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); } @@ -8738,11 +11361,33 @@ class json_pointer */ static int array_index(const std::string& s) { + // error condition (cf. RFC 6901, Sect. 4) + if (JSON_HEDLEY_UNLIKELY(s.size() > 1 and s[0] == '0')) + { + JSON_THROW(detail::parse_error::create(106, 0, + "array index '" + s + + "' must not begin with '0'")); + } + + // error condition (cf. RFC 6901, Sect. 4) + if (JSON_HEDLEY_UNLIKELY(s.size() > 1 and not (s[0] >= '1' and s[0] <= '9'))) + { + JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number")); + } + std::size_t processed_chars = 0; - const int res = std::stoi(s, &processed_chars); + int res = 0; + JSON_TRY + { + res = std::stoi(s, &processed_chars); + } + JSON_CATCH(std::out_of_range&) + { + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'")); + } // check if the string was completely read - if (JSON_UNLIKELY(processed_chars != s.size())) + if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size())) { JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'")); } @@ -8752,7 +11397,7 @@ class json_pointer json_pointer top() const { - if (JSON_UNLIKELY(empty())) + if (JSON_HEDLEY_UNLIKELY(empty())) { JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); } @@ -8779,7 +11424,7 @@ class json_pointer // j which will be overwritten by a primitive value for (const auto& reference_token : reference_tokens) { - switch (result->m_type) + switch (result->type()) { case detail::value_t::null: { @@ -8806,14 +11451,7 @@ class json_pointer case detail::value_t::array: { // create an entry in the array - JSON_TRY - { - result = &result->operator[](static_cast(array_index(reference_token))); - } - JSON_CATCH(std::invalid_argument&) - { - JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); - } + result = &result->operator[](static_cast(array_index(reference_token))); break; } @@ -8856,14 +11494,14 @@ class json_pointer for (const auto& reference_token : reference_tokens) { // convert null values to arrays or objects before continuing - if (ptr->m_type == detail::value_t::null) + if (ptr->is_null()) { // check if reference token is a number const bool nums = std::all_of(reference_token.begin(), reference_token.end(), - [](const char x) + [](const unsigned char x) { - return x >= '0' and x <= '9'; + return std::isdigit(x); }); // change value to array for numbers or "-" or to object otherwise @@ -8872,7 +11510,7 @@ class json_pointer : detail::value_t::object; } - switch (ptr->m_type) + switch (ptr->type()) { case detail::value_t::object: { @@ -8883,14 +11521,6 @@ class json_pointer case detail::value_t::array: { - // error condition (cf. RFC 6901, Sect. 4) - if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) - { - JSON_THROW(detail::parse_error::create(106, 0, - "array index '" + reference_token + - "' must not begin with '0'")); - } - if (reference_token == "-") { // explicitly treat "-" as index beyond the end @@ -8899,15 +11529,8 @@ class json_pointer else { // convert array index to number; unchecked access - JSON_TRY - { - ptr = &ptr->operator[]( - static_cast(array_index(reference_token))); - } - JSON_CATCH(std::invalid_argument&) - { - JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); - } + ptr = &ptr->operator[]( + static_cast(array_index(reference_token))); } break; } @@ -8931,7 +11554,7 @@ class json_pointer using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { - switch (ptr->m_type) + switch (ptr->type()) { case detail::value_t::object: { @@ -8942,7 +11565,7 @@ class json_pointer case detail::value_t::array: { - if (JSON_UNLIKELY(reference_token == "-")) + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) { // "-" always fails the range check JSON_THROW(detail::out_of_range::create(402, @@ -8950,23 +11573,8 @@ class json_pointer ") is out of range")); } - // error condition (cf. RFC 6901, Sect. 4) - if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) - { - JSON_THROW(detail::parse_error::create(106, 0, - "array index '" + reference_token + - "' must not begin with '0'")); - } - // note: at performs range check - JSON_TRY - { - ptr = &ptr->at(static_cast(array_index(reference_token))); - } - JSON_CATCH(std::invalid_argument&) - { - JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); - } + ptr = &ptr->at(static_cast(array_index(reference_token))); break; } @@ -8996,7 +11604,7 @@ class json_pointer using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { - switch (ptr->m_type) + switch (ptr->type()) { case detail::value_t::object: { @@ -9007,7 +11615,7 @@ class json_pointer case detail::value_t::array: { - if (JSON_UNLIKELY(reference_token == "-")) + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) { // "-" cannot be used for const access JSON_THROW(detail::out_of_range::create(402, @@ -9015,24 +11623,9 @@ class json_pointer ") is out of range")); } - // error condition (cf. RFC 6901, Sect. 4) - if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) - { - JSON_THROW(detail::parse_error::create(106, 0, - "array index '" + reference_token + - "' must not begin with '0'")); - } - // use unchecked array access - JSON_TRY - { - ptr = &ptr->operator[]( - static_cast(array_index(reference_token))); - } - JSON_CATCH(std::invalid_argument&) - { - JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); - } + ptr = &ptr->operator[]( + static_cast(array_index(reference_token))); break; } @@ -9055,7 +11648,7 @@ class json_pointer using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { - switch (ptr->m_type) + switch (ptr->type()) { case detail::value_t::object: { @@ -9066,7 +11659,7 @@ class json_pointer case detail::value_t::array: { - if (JSON_UNLIKELY(reference_token == "-")) + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) { // "-" always fails the range check JSON_THROW(detail::out_of_range::create(402, @@ -9074,23 +11667,8 @@ class json_pointer ") is out of range")); } - // error condition (cf. RFC 6901, Sect. 4) - if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) - { - JSON_THROW(detail::parse_error::create(106, 0, - "array index '" + reference_token + - "' must not begin with '0'")); - } - // note: at performs range check - JSON_TRY - { - ptr = &ptr->at(static_cast(array_index(reference_token))); - } - JSON_CATCH(std::invalid_argument&) - { - JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); - } + ptr = &ptr->at(static_cast(array_index(reference_token))); break; } @@ -9102,6 +11680,82 @@ class json_pointer return *ptr; } + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + */ + bool contains(const BasicJsonType* ptr) const + { + using size_type = typename BasicJsonType::size_type; + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + if (not ptr->contains(reference_token)) + { + // we did not find the key in the object + return false; + } + + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + return false; + } + if (JSON_HEDLEY_UNLIKELY(reference_token.size() == 1 and not ("0" <= reference_token and reference_token <= "9"))) + { + // invalid char + return false; + } + if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1)) + { + if (JSON_HEDLEY_UNLIKELY(not ('1' <= reference_token[0] and reference_token[0] <= '9'))) + { + // first char should be between '1' and '9' + return false; + } + for (std::size_t i = 1; i < reference_token.size(); i++) + { + if (JSON_HEDLEY_UNLIKELY(not ('0' <= reference_token[i] and reference_token[i] <= '9'))) + { + // other char should be between '0' and '9' + return false; + } + } + } + + const auto idx = static_cast(array_index(reference_token)); + if (idx >= ptr->size()) + { + // index out of range + return false; + } + + ptr = &ptr->operator[](idx); + break; + } + + default: + { + // we do not expect primitive values if there is still a + // reference token to process + return false; + } + } + } + + // no reference token left means we found a primitive value + return true; + } + /*! @brief split the string input to reference tokens @@ -9122,7 +11776,7 @@ class json_pointer } // check if nonempty reference string begins with slash - if (JSON_UNLIKELY(reference_string[0] != '/')) + if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/')) { JSON_THROW(detail::parse_error::create(107, 1, "JSON pointer must be empty or begin with '/' - was: '" + @@ -9157,9 +11811,9 @@ class json_pointer assert(reference_token[pos] == '~'); // ~ must be followed by 0 or 1 - if (JSON_UNLIKELY(pos == reference_token.size() - 1 or - (reference_token[pos + 1] != '0' and - reference_token[pos + 1] != '1'))) + if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 or + (reference_token[pos + 1] != '0' and + reference_token[pos + 1] != '1'))) { JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'")); } @@ -9223,7 +11877,7 @@ class json_pointer const BasicJsonType& value, BasicJsonType& result) { - switch (value.m_type) + switch (value.type()) { case detail::value_t::array: { @@ -9284,7 +11938,7 @@ class json_pointer static BasicJsonType unflatten(const BasicJsonType& value) { - if (JSON_UNLIKELY(not value.is_object())) + if (JSON_HEDLEY_UNLIKELY(not value.is_object())) { JSON_THROW(detail::type_error::create(314, "only objects can be unflattened")); } @@ -9294,7 +11948,7 @@ class json_pointer // iterate the JSON object values for (const auto& element : *value.m_value.object) { - if (JSON_UNLIKELY(not element.second.is_primitive())) + if (JSON_HEDLEY_UNLIKELY(not element.second.is_primitive())) { JSON_THROW(detail::type_error::create(315, "values in object must be primitive")); } @@ -9435,9 +12089,12 @@ class json_ref #include // memcpy #include // numeric_limits #include // string +#include // isnan, isinf // #include +// #include + // #include @@ -9449,6 +12106,8 @@ class json_ref #include // basic_ostream #include // basic_string #include // vector +// #include + namespace nlohmann { @@ -9480,6 +12139,7 @@ class output_vector_adapter : public output_adapter_protocol v.push_back(c); } + JSON_HEDLEY_NON_NULL(2) void write_characters(const CharType* s, std::size_t length) override { std::copy(s, s + length, std::back_inserter(v)); @@ -9503,6 +12163,7 @@ class output_stream_adapter : public output_adapter_protocol stream.put(c); } + JSON_HEDLEY_NON_NULL(2) void write_characters(const CharType* s, std::size_t length) override { stream.write(s, static_cast(length)); @@ -9526,6 +12187,7 @@ class output_string_adapter : public output_adapter_protocol str.push_back(c); } + JSON_HEDLEY_NON_NULL(2) void write_characters(const CharType* s, std::size_t length) override { str.append(s, length); @@ -9575,6 +12237,7 @@ template class binary_writer { using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; public: /*! @@ -9725,8 +12388,35 @@ class binary_writer case value_t::number_float: { - oa->write_character(get_cbor_float_prefix(j.m_value.number_float)); - write_number(j.m_value.number_float); + if (std::isnan(j.m_value.number_float)) + { + // NaN is 0xf97e00 in CBOR + oa->write_character(to_char_type(0xF9)); + oa->write_character(to_char_type(0x7E)); + oa->write_character(to_char_type(0x00)); + } + else if (std::isinf(j.m_value.number_float)) + { + // Infinity is 0xf97c00, -Infinity is 0xf9fc00 + oa->write_character(to_char_type(0xf9)); + oa->write_character(j.m_value.number_float > 0 ? to_char_type(0x7C) : to_char_type(0xFC)); + oa->write_character(to_char_type(0x00)); + } + else + { + if (static_cast(j.m_value.number_float) >= static_cast(std::numeric_limits::lowest()) and + static_cast(j.m_value.number_float) <= static_cast((std::numeric_limits::max)()) and + static_cast(static_cast(j.m_value.number_float)) == static_cast(j.m_value.number_float)) + { + oa->write_character(get_cbor_float_prefix(static_cast(j.m_value.number_float))); + write_number(static_cast(j.m_value.number_float)); + } + else + { + oa->write_character(get_cbor_float_prefix(j.m_value.number_float)); + write_number(j.m_value.number_float); + } + } break; } @@ -9807,6 +12497,45 @@ class binary_writer break; } + case value_t::binary: + { + // step 1: write control byte and the binary array size + const auto N = j.m_value.binary->size(); + if (N <= 0x17) + { + write_number(static_cast(0x40 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x58)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x59)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x5A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x5B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + N); + + break; + } + case value_t::object: { // step 1: write control byte and the object size @@ -10055,6 +12784,101 @@ class binary_writer break; } + case value_t::binary: + { + // step 0: determine if the binary type has a set subtype to + // determine whether or not to use the ext or fixext types + const bool use_ext = j.m_value.binary->has_subtype(); + + // step 1: write control byte and the byte string length + const auto N = j.m_value.binary->size(); + if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type; + bool fixed = true; + if (use_ext) + { + switch (N) + { + case 1: + output_type = 0xD4; // fixext 1 + break; + case 2: + output_type = 0xD5; // fixext 2 + break; + case 4: + output_type = 0xD6; // fixext 4 + break; + case 8: + output_type = 0xD7; // fixext 8 + break; + case 16: + output_type = 0xD8; // fixext 16 + break; + default: + output_type = 0xC7; // ext 8 + fixed = false; + break; + } + + } + else + { + output_type = 0xC4; // bin 8 + fixed = false; + } + + oa->write_character(to_char_type(output_type)); + if (not fixed) + { + write_number(static_cast(N)); + } + } + else if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type; + if (use_ext) + { + output_type = 0xC8; // ext 16 + } + else + { + output_type = 0xC5; // bin 16 + } + + oa->write_character(to_char_type(output_type)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type; + if (use_ext) + { + output_type = 0xC9; // ext 32 + } + else + { + output_type = 0xC6; // bin 32 + } + + oa->write_character(to_char_type(output_type)); + write_number(static_cast(N)); + } + + // step 1.5: if this is an ext type, write the subtype + if (use_ext) + { + write_number(static_cast(j.m_value.binary->subtype())); + } + + // step 2: write the byte string + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + N); + + break; + } + case value_t::object: { // step 1: write control byte and the object size @@ -10198,6 +13022,49 @@ class binary_writer break; } + case value_t::binary: + { + if (add_prefix) + { + oa->write_character(to_char_type('[')); + } + + if (use_type and not j.m_value.binary->empty()) + { + assert(use_count); + oa->write_character(to_char_type('$')); + oa->write_character('U'); + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.binary->size(), true); + } + + if (use_type) + { + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + j.m_value.binary->size()); + } + else + { + for (size_t i = 0; i < j.m_value.binary->size(); ++i) + { + oa->write_character(to_char_type('U')); + oa->write_character(j.m_value.binary->data()[i]); + } + } + + if (not use_count) + { + oa->write_character(to_char_type(']')); + } + + break; + } + case value_t::object: { if (add_prefix) @@ -10264,7 +13131,7 @@ class binary_writer static std::size_t calc_bson_entry_header_size(const string_t& name) { const auto it = name.find(static_cast(0)); - if (JSON_UNLIKELY(it != BasicJsonType::string_t::npos)) + if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos)) { JSON_THROW(out_of_range::create(409, "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")")); @@ -10410,17 +13277,24 @@ class binary_writer */ static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value) { - std::size_t embedded_document_size = 0ul; std::size_t array_index = 0ul; - for (const auto& el : value) + const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), std::size_t(0), [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el) { - embedded_document_size += calc_bson_element_size(std::to_string(array_index++), el); - } + return result + calc_bson_element_size(std::to_string(array_index++), el); + }); return sizeof(std::int32_t) + embedded_document_size + 1ul; } + /*! + @return The size of the BSON-encoded binary array @a value + */ + static std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t& value) + { + return sizeof(std::int32_t) + value.size() + 1ul; + } + /*! @brief Writes a BSON element with key @a name and array @a value */ @@ -10440,6 +13314,20 @@ class binary_writer oa->write_character(to_char_type(0x00)); } + /*! + @brief Writes a BSON element with key @a name and binary value @a value + */ + void write_bson_binary(const string_t& name, + const binary_t& value) + { + write_bson_entry_header(name, 0x05); + + write_number(static_cast(value.size())); + write_number(value.has_subtype() ? value.subtype() : std::uint8_t(0x00)); + + oa->write_characters(reinterpret_cast(value.data()), value.size()); + } + /*! @brief Calculates the size necessary to serialize the JSON value @a j with its @a name @return The calculated size for the BSON document entry for @a j with the given @a name. @@ -10456,6 +13344,9 @@ class binary_writer case value_t::array: return header_size + calc_bson_array_size(*j.m_value.array); + case value_t::binary: + return header_size + calc_bson_binary_size(*j.m_value.binary); + case value_t::boolean: return header_size + 1ul; @@ -10500,6 +13391,9 @@ class binary_writer case value_t::array: return write_bson_array(name, *j.m_value.array); + case value_t::binary: + return write_bson_binary(name, *j.m_value.binary); + case value_t::boolean: return write_bson_boolean(name, j.m_value.boolean); @@ -10534,7 +13428,7 @@ class binary_writer */ static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value) { - std::size_t document_size = std::accumulate(value.begin(), value.end(), 0ul, + std::size_t document_size = std::accumulate(value.begin(), value.end(), std::size_t(0), [](size_t result, const typename BasicJsonType::object_t::value_type & el) { return result += calc_bson_element_size(el.first, el.second); @@ -10754,19 +13648,19 @@ class binary_writer case value_t::number_unsigned: { - if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) { return 'i'; } - if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) { return 'U'; } - if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) { return 'I'; } - if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) { return 'l'; } @@ -10780,7 +13674,8 @@ class binary_writer case value_t::string: return 'S'; - case value_t::array: + case value_t::array: // fallthrough + case value_t::binary: return '['; case value_t::object: @@ -10850,7 +13745,7 @@ class binary_writer static CharType to_char_type(std::uint8_t x) noexcept { static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t"); - static_assert(std::is_pod::value, "CharType must be POD"); + static_assert(std::is_trivial::value, "CharType must be trivial"); CharType result; std::memcpy(&result, &x, sizeof(x)); return result; @@ -10876,7 +13771,7 @@ class binary_writer private: /// whether we can assume little endianess - const bool is_little_endian = binary_reader::little_endianess(); + const bool is_little_endian = little_endianess(); /// the output output_adapter_t oa = nullptr; @@ -10892,7 +13787,6 @@ class binary_writer #include // reverse, remove, fill, find, none_of #include // array #include // assert -#include // and, or #include // localeconv, lconv #include // labs, isfinite, isnan, signbit #include // size_t, ptrdiff_t @@ -10903,18 +13797,24 @@ class binary_writer #include // is_same #include // move +// #include + // #include #include // array #include // assert -#include // or, and, not #include // signbit, isfinite #include // intN_t, uintN_t #include // memcpy, memmove #include // numeric_limits #include // conditional +// #include + +// #include + + namespace nlohmann { namespace detail @@ -11235,7 +14135,7 @@ inline cached_power get_cached_power_for_binary_exponent(int e) // ==> 2^(q - 1 + alpha) <= c * 2^(e + q) // ==> 2^(alpha - e - 1) <= c // - // If c were an exakt power of ten, i.e. c = 10^k, one may determine k as + // If c were an exact power of ten, i.e. c = 10^k, one may determine k as // // k = ceil( log_10( 2^(alpha - e - 1) ) ) // = ceil( (alpha - e - 1) * log_10(2) ) @@ -11724,6 +14624,7 @@ v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10. */ +JSON_HEDLEY_NON_NULL(1) inline void grisu2(char* buf, int& len, int& decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus) { @@ -11783,6 +14684,7 @@ len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10. */ template +JSON_HEDLEY_NON_NULL(1) void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value) { static_assert(diyfp::kPrecision >= std::numeric_limits::digits + 3, @@ -11821,6 +14723,8 @@ void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value) @return a pointer to the element following the exponent. @pre -1000 < e < 1000 */ +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL inline char* append_exponent(char* buf, int e) { assert(e > -1000); @@ -11871,6 +14775,8 @@ notation. Otherwise it will be printed in exponential notation. @pre min_exp < 0 @pre max_exp > 0 */ +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL inline char* format_buffer(char* buf, int len, int decimal_exponent, int min_exp, int max_exp) { @@ -11889,11 +14795,11 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent, // digits[000] // len <= max_exp + 2 - std::memset(buf + k, '0', static_cast(n - k)); + std::memset(buf + k, '0', static_cast(n) - static_cast(k)); // Make it look like a floating-point number (#362, #378) buf[n + 0] = '.'; buf[n + 1] = '0'; - return buf + (n + 2); + return buf + (static_cast(n) + 2); } if (0 < n and n <= max_exp) @@ -11903,9 +14809,9 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent, assert(k > n); - std::memmove(buf + (n + 1), buf + n, static_cast(k - n)); + std::memmove(buf + (static_cast(n) + 1), buf + n, static_cast(k) - static_cast(n)); buf[n] = '.'; - return buf + (k + 1); + return buf + (static_cast(k) + 1U); } if (min_exp < n and n <= 0) @@ -11913,11 +14819,11 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent, // 0.[000]digits // len <= 2 + (-min_exp - 1) + max_digits10 - std::memmove(buf + (2 + -n), buf, static_cast(k)); + std::memmove(buf + (2 + static_cast(-n)), buf, static_cast(k)); buf[0] = '0'; buf[1] = '.'; std::memset(buf + 2, '0', static_cast(-n)); - return buf + (2 + (-n) + k); + return buf + (2U + static_cast(-n) + static_cast(k)); } if (k == 1) @@ -11932,9 +14838,9 @@ inline char* format_buffer(char* buf, int len, int decimal_exponent, // d.igitsE+123 // len <= max_digits10 + 1 + 5 - std::memmove(buf + 2, buf + 1, static_cast(k - 1)); + std::memmove(buf + 2, buf + 1, static_cast(k) - 1); buf[1] = '.'; - buf += 1 + k; + buf += 1 + static_cast(k); } *buf++ = 'e'; @@ -11954,6 +14860,8 @@ format. Returns an iterator pointing past-the-end of the decimal representation. @note The result is NOT null-terminated. */ template +JSON_HEDLEY_NON_NULL(1, 2) +JSON_HEDLEY_RETURNS_NON_NULL char* to_chars(char* first, const char* last, FloatType value) { static_cast(last); // maybe unused - fix warning @@ -12038,6 +14946,7 @@ class serializer using number_float_t = typename BasicJsonType::number_float_t; using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using binary_char_t = typename BasicJsonType::binary_t::value_type; static constexpr std::uint8_t UTF8_ACCEPT = 0; static constexpr std::uint8_t UTF8_REJECT = 1; @@ -12076,13 +14985,19 @@ class serializer - strings and object keys are escaped using `escape_string()` - integer numbers are converted implicitly via `operator<<` - floating-point numbers are converted to a string using `"%g"` format + - binary values are serialized as objects containing the subtype and the + byte array - @param[in] val value to serialize - @param[in] pretty_print whether the output shall be pretty-printed - @param[in] indent_step the indent level - @param[in] current_indent the current indent level (only used internally) + @param[in] val value to serialize + @param[in] pretty_print whether the output shall be pretty-printed + @param[in] ensure_ascii If @a ensure_ascii is true, all non-ASCII characters + in the output are escaped with `\uXXXX` sequences, and the result consists + of ASCII characters only. + @param[in] indent_step the indent level + @param[in] current_indent the current indent level (only used internally) */ - void dump(const BasicJsonType& val, const bool pretty_print, + void dump(const BasicJsonType& val, + const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent = 0) @@ -12103,7 +15018,7 @@ class serializer // variable to hold indentation for recursive calls const auto new_indent = current_indent + indent_step; - if (JSON_UNLIKELY(indent_string.size() < new_indent)) + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) { indent_string.resize(indent_string.size() * 2, ' '); } @@ -12176,7 +15091,7 @@ class serializer // variable to hold indentation for recursive calls const auto new_indent = current_indent + indent_step; - if (JSON_UNLIKELY(indent_string.size() < new_indent)) + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) { indent_string.resize(indent_string.size() * 2, ' '); } @@ -12229,6 +15144,79 @@ class serializer return; } + case value_t::binary: + { + if (pretty_print) + { + o->write_characters("{\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + o->write_characters(indent_string.c_str(), new_indent); + + o->write_characters("\"bytes\": [", 10); + + if (not val.m_value.binary->empty()) + { + for (auto i = val.m_value.binary->cbegin(); + i != val.m_value.binary->cend() - 1; ++i) + { + dump_integer(*i); + o->write_characters(", ", 2); + } + dump_integer(val.m_value.binary->back()); + } + + o->write_characters("],\n", 3); + o->write_characters(indent_string.c_str(), new_indent); + + o->write_characters("\"subtype\": ", 11); + if (val.m_value.binary->has_subtype()) + { + dump_integer(val.m_value.binary->subtype()); + } + else + { + o->write_characters("null", 4); + } + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character('}'); + } + else + { + o->write_characters("{\"bytes\":[", 10); + + if (not val.m_value.binary->empty()) + { + for (auto i = val.m_value.binary->cbegin(); + i != val.m_value.binary->cend() - 1; ++i) + { + dump_integer(*i); + o->write_character(','); + } + dump_integer(val.m_value.binary->back()); + } + + o->write_characters("],\"subtype\":", 12); + if (val.m_value.binary->has_subtype()) + { + dump_integer(val.m_value.binary->subtype()); + o->write_character('}'); + } + else + { + o->write_characters("null}", 5); + } + } + return; + } + case value_t::boolean: { if (val.m_value.boolean) @@ -12491,7 +15479,7 @@ class serializer } // we finished processing the string - if (JSON_LIKELY(state == UTF8_ACCEPT)) + if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT)) { // write buffer if (bytes > 0) @@ -12585,7 +15573,8 @@ class serializer */ template::value or - std::is_same::value, + std::is_same::value or + std::is_same::value, int> = 0> void dump_integer(NumberType x) { @@ -12623,7 +15612,7 @@ class serializer if (is_negative) { *buffer_ptr = '-'; - abs_value = static_cast(std::abs(static_cast(x))); + abs_value = remove_sign(static_cast(x)); // account one more byte for the minus sign n_chars = 1 + count_digits(abs_value); @@ -12800,10 +15789,38 @@ class serializer ? (byte & 0x3fu) | (codep << 6u) : (0xFFu >> type) & (byte); - state = utf8d[256u + state * 16u + type]; + std::size_t index = 256u + static_cast(state) * 16u + static_cast(type); + assert(index < 400); + state = utf8d[index]; return state; } + /* + * Overload to make the compiler happy while it is instantiating + * dump_integer for number_unsigned_t. + * Must never be called. + */ + number_unsigned_t remove_sign(number_unsigned_t x) + { + assert(false); // LCOV_EXCL_LINE + return x; // LCOV_EXCL_LINE + } + + /* + * Helper function for dump_integer + * + * This function takes a negative signed integer and returns its absolute + * value as unsigned integer. The plus/minus shuffling is necessary as we can + * not directly remove the sign of an arbitrary signed integer as the + * absolute values of INT_MIN and INT_MAX are usually not the same. See + * #1708 for details. + */ + inline number_unsigned_t remove_sign(number_integer_t x) noexcept + { + assert(x < 0 and x < (std::numeric_limits::max)()); + return static_cast(-(x + 1)) + 1; + } + private: /// the output of the serializer output_adapter_t o = nullptr; @@ -12862,6 +15879,9 @@ default; will be used in @ref number_integer_t) `uint64_t` by default; will be used in @ref number_unsigned_t) @tparam NumberFloatType type for JSON floating-point numbers (`double` by default; will be used in @ref number_float_t) +@tparam BinaryType type for packed binary data for compatibility with binary +serialization formats (`std::vector` by default; will be used in +@ref binary_t) @tparam AllocatorType type of the allocator to use (`std::allocator` by default) @tparam JSONSerializer the serializer to resolve internal calls to `to_json()` @@ -12916,7 +15936,7 @@ relationship: The invariants are checked by member function assert_invariant(). @internal -@note ObjectType trick from http://stackoverflow.com/a/9860911 +@note ObjectType trick from https://stackoverflow.com/a/9860911 @endinternal @see [RFC 7159: The JavaScript Object Notation (JSON) Data Interchange @@ -12932,13 +15952,15 @@ class basic_json private: template friend struct detail::external_constructor; friend ::nlohmann::json_pointer; - friend ::nlohmann::detail::parser; + + template + friend class ::nlohmann::detail::parser; friend ::nlohmann::detail::serializer; template friend class ::nlohmann::detail::iter_impl; template friend class ::nlohmann::detail::binary_writer; - template + template friend class ::nlohmann::detail::binary_reader; template friend class ::nlohmann::detail::json_sax_dom_parser; @@ -12949,8 +15971,17 @@ class basic_json using basic_json_t = NLOHMANN_BASIC_JSON_TPL; // convenience aliases for types residing in namespace detail; - using lexer = ::nlohmann::detail::lexer; - using parser = ::nlohmann::detail::parser; + using lexer = ::nlohmann::detail::lexer_base; + + template + static ::nlohmann::detail::parser parser( + InputAdapterType adapter, + detail::parser_callback_tcb = nullptr, + bool allow_exceptions = true + ) + { + return ::nlohmann::detail::parser(std::move(adapter), std::move(cb), allow_exceptions); + } using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t; template @@ -12964,7 +15995,8 @@ class basic_json template using output_adapter_t = ::nlohmann::detail::output_adapter_t; - using binary_reader = ::nlohmann::detail::binary_reader; + template + using binary_reader = ::nlohmann::detail::binary_reader; template using binary_writer = ::nlohmann::detail::binary_writer; using serializer = ::nlohmann::detail::serializer; @@ -13084,7 +16116,7 @@ class basic_json @since 2.1.0 */ - JSON_NODISCARD + JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json meta() { basic_json result; @@ -13583,12 +16615,83 @@ class basic_json */ using number_float_t = NumberFloatType; + /*! + @brief a type for a packed binary type + + This type is a type designed to carry binary data that appears in various + serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and + BSON's generic binary subtype. This type is NOT a part of standard JSON and + exists solely for compatibility with these binary types. As such, it is + simply defined as an ordered sequence of zero or more byte values. + + Additionally, as an implementation detail, the subtype of the binary data is + carried around as a `std::uint8_t`, which is compatible with both of the + binary data formats that use binary subtyping, (though the specific + numbering is incompatible with each other, and it is up to the user to + translate between them). + + [CBOR's RFC 7049](https://tools.ietf.org/html/rfc7049) describes this type + as: + > Major type 2: a byte string. The string's length in bytes is represented + > following the rules for positive integers (major type 0). + + [MessagePack's documentation on the bin type + family](https://github.com/msgpack/msgpack/blob/master/spec.md#bin-format-family) + describes this type as: + > Bin format family stores an byte array in 2, 3, or 5 bytes of extra bytes + > in addition to the size of the byte array. + + [BSON's specifications](http://bsonspec.org/spec.html) describe several + binary types; however, this type is intended to represent the generic binary + type which has the description: + > Generic binary subtype - This is the most commonly used binary subtype and + > should be the 'default' for drivers and tools. + + None of these impose any limitations on the internal representation other + than the basic unit of storage be some type of array whose parts are + decomposable into bytes. + + The default representation of this binary format is a + `std::vector`, which is a very common way to represent a byte + array in modern C++. + + #### Default type + + The default values for @a BinaryType is `std::vector` + + #### Storage + + Binary Arrays are stored as pointers in a @ref basic_json type. That is, + for any access to array values, a pointer of the type `binary_t*` must be + dereferenced. + + #### Notes on subtypes + + - CBOR + - Binary values are represented as byte strings. No subtypes are + supported and will be ignored when CBOR is written. + - MessagePack + - If a subtype is given and the binary array contains exactly 1, 2, 4, 8, + or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) + is used. For other sizes, the ext family (ext8, ext16, ext32) is used. + The subtype is then added as singed 8-bit integer. + - If no subtype is given, the bin family (bin8, bin16, bin32) is used. + - BSON + - If a subtype is given, it is used and added as unsigned 8-bit integer. + - If no subtype is given, the generic binary subtype 0x00 is used. + + @sa @ref binary -- create a binary array + + @since version 3.8.0 + */ + using binary_t = nlohmann::byte_container_with_subtype; /// @} private: /// helper for exception-safe object creation template + JSON_HEDLEY_RETURNS_NON_NULL static T* create(Args&& ... args) { AllocatorType alloc; @@ -13624,6 +16727,7 @@ class basic_json number | number_integer | @ref number_integer_t number | number_unsigned | @ref number_unsigned_t number | number_float | @ref number_float_t + binary | binary | pointer to @ref binary_t null | null | *no value is stored* @note Variable-length types (objects, arrays, and strings) are stored as @@ -13640,6 +16744,8 @@ class basic_json array_t* array; /// string (stored with pointer to save storage) string_t* string; + /// binary (stored with pointer to save storage) + binary_t* binary; /// boolean boolean_t boolean; /// number (integer) @@ -13682,6 +16788,12 @@ class basic_json break; } + case value_t::binary: + { + binary = create(); + break; + } + case value_t::boolean: { boolean = boolean_t(false); @@ -13715,9 +16827,9 @@ class basic_json default: { object = nullptr; // silence warning, see #821 - if (JSON_UNLIKELY(t == value_t::null)) + if (JSON_HEDLEY_UNLIKELY(t == value_t::null)) { - JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.6.1")); // LCOV_EXCL_LINE + JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.8.0")); // LCOV_EXCL_LINE } break; } @@ -13760,8 +16872,79 @@ class basic_json array = create(std::move(value)); } + /// constructor for binary arrays + json_value(const typename binary_t::container_type& value) + { + binary = create(value); + } + + /// constructor for rvalue binary arrays + json_value(typename binary_t::container_type&& value) + { + binary = create(std::move(value)); + } + + /// constructor for binary arrays (internal type) + json_value(const binary_t& value) + { + binary = create(value); + } + + /// constructor for rvalue binary arrays (internal type) + json_value(binary_t&& value) + { + binary = create(std::move(value)); + } + void destroy(value_t t) noexcept { + // flatten the current json_value to a heap-allocated stack + std::vector stack; + + // move the top-level items to stack + if (t == value_t::array) + { + stack.reserve(array->size()); + std::move(array->begin(), array->end(), std::back_inserter(stack)); + } + else if (t == value_t::object) + { + stack.reserve(object->size()); + for (auto&& it : *object) + { + stack.push_back(std::move(it.second)); + } + } + + while (not stack.empty()) + { + // move the last item to local variable to be processed + basic_json current_item(std::move(stack.back())); + stack.pop_back(); + + // if current_item is array/object, move + // its children to the stack to be processed later + if (current_item.is_array()) + { + std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(), + std::back_inserter(stack)); + + current_item.m_value.array->clear(); + } + else if (current_item.is_object()) + { + for (auto&& it : *current_item.m_value.object) + { + stack.push_back(std::move(it.second)); + } + + current_item.m_value.object->clear(); + } + + // it's now safe that current_item get destructed + // since it doesn't have any children + } + switch (t) { case value_t::object: @@ -13788,6 +16971,14 @@ class basic_json break; } + case value_t::binary: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, binary); + std::allocator_traits::deallocate(alloc, binary, 1); + break; + } + default: { break; @@ -13810,6 +17001,7 @@ class basic_json assert(m_type != value_t::object or m_value.object != nullptr); assert(m_type != value_t::array or m_value.array != nullptr); assert(m_type != value_t::string or m_value.string != nullptr); + assert(m_type != value_t::binary or m_value.binary != nullptr); } public: @@ -13832,7 +17024,7 @@ class basic_json @sa @ref parser_callback_t for more information and examples */ - using parse_event_t = typename parser::parse_event_t; + using parse_event_t = detail::parse_event_t; /*! @brief per-element parser callback type @@ -13883,7 +17075,7 @@ class basic_json @since version 1.0.0 */ - using parser_callback_t = typename parser::parser_callback_t; + using parser_callback_t = detail::parser_callback_t; ////////////////// // constructors // @@ -13908,6 +17100,7 @@ class basic_json number | `0` object | `{}` array | `[]` + binary | empty array @param[in] v the type of the value to create @@ -13979,6 +17172,12 @@ class basic_json @ref number_float_t, and all convertible number types such as `int`, `size_t`, `int64_t`, `float` or `double` can be used. - **boolean**: @ref boolean_t / `bool` can be used. + - **binary**: @ref binary_t / `std::vector` may be used, + unfortunately because string literals cannot be distinguished from binary + character arrays by the C++ type system, all types compatible with `const + char*` will be directed to the string constructor instead. This is both + for backwards compatibility, and due to the fact that a binary type is not + a standard JSON type. See the examples below. @@ -14060,6 +17259,7 @@ class basic_json using other_string_t = typename BasicJsonType::string_t; using other_object_t = typename BasicJsonType::object_t; using other_array_t = typename BasicJsonType::array_t; + using other_binary_t = typename BasicJsonType::binary_t; switch (val.type()) { @@ -14084,6 +17284,9 @@ class basic_json case value_t::array: JSONSerializer::to_json(*this, val.template get_ref()); break; + case value_t::binary: + JSONSerializer::to_json(*this, val.template get_ref()); + break; case value_t::null: *this = nullptr; break; @@ -14192,7 +17395,7 @@ class basic_json } // if object is wanted but impossible, throw an exception - if (JSON_UNLIKELY(manual_type == value_t::object and not is_an_object)) + if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object and not is_an_object)) { JSON_THROW(type_error::create(301, "cannot create object from initializer list")); } @@ -14222,6 +17425,99 @@ class basic_json assert_invariant(); } + /*! + @brief explicitly create a binary array (without subtype) + + Creates a JSON binary array value from a given binary container. Binary + values are part of various binary formats, such as CBOR, MessagePack, and + BSON. This constructor is used to create a value for serialization to those + formats. + + @note Note, this function exists because of the difficulty in correctly + specifying the correct template overload in the standard value ctor, as both + JSON arrays and JSON binary arrays are backed with some form of a + `std::vector`. Because JSON binary arrays are a non-standard extension it + was decided that it would be best to prevent automatic initialization of a + binary array type, for backwards compatibility and so it does not happen on + accident. + + @param[in] init container containing bytes to use as binary type + + @return JSON binary array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @since version 3.8.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(const typename binary_t::container_type& init) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = init; + return res; + } + + /*! + @brief explicitly create a binary array (with subtype) + + Creates a JSON binary array value from a given binary container. Binary + values are part of various binary formats, such as CBOR, MessagePack, and + BSON. This constructor is used to create a value for serialization to those + formats. + + @note Note, this function exists because of the difficulty in correctly + specifying the correct template overload in the standard value ctor, as both + JSON arrays and JSON binary arrays are backed with some form of a + `std::vector`. Because JSON binary arrays are a non-standard extension it + was decided that it would be best to prevent automatic initialization of a + binary array type, for backwards compatibility and so it does not happen on + accident. + + @param[in] init container containing bytes to use as binary type + @param[in] subtype subtype to use in MessagePack and BSON + + @return JSON binary array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @since version 3.8.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(const typename binary_t::container_type& init, std::uint8_t subtype) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = binary_t(init, subtype); + return res; + } + + /// @copydoc binary(const typename binary_t::container_type&) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(typename binary_t::container_type&& init) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = std::move(init); + return res; + } + + /// @copydoc binary(const typename binary_t::container_type&, std::uint8_t) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(typename binary_t::container_type&& init, std::uint8_t subtype) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = binary_t(std::move(init), subtype); + return res; + } + /*! @brief explicitly create an array from an initializer list @@ -14259,7 +17555,7 @@ class basic_json @since version 1.0.0 */ - JSON_NODISCARD + JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json array(initializer_list_t init = {}) { return basic_json(init, false, value_t::array); @@ -14303,7 +17599,7 @@ class basic_json @since version 1.0.0 */ - JSON_NODISCARD + JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json object(initializer_list_t init = {}) { return basic_json(init, false, value_t::object); @@ -14402,7 +17698,7 @@ class basic_json assert(last.m_object != nullptr); // make sure iterator fits the current value - if (JSON_UNLIKELY(first.m_object != last.m_object)) + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) { JSON_THROW(invalid_iterator::create(201, "iterators are not compatible")); } @@ -14419,8 +17715,8 @@ class basic_json case value_t::number_unsigned: case value_t::string: { - if (JSON_UNLIKELY(not first.m_it.primitive_iterator.is_begin() - or not last.m_it.primitive_iterator.is_end())) + if (JSON_HEDLEY_UNLIKELY(not first.m_it.primitive_iterator.is_begin() + or not last.m_it.primitive_iterator.is_end())) { JSON_THROW(invalid_iterator::create(204, "iterators out of range")); } @@ -14477,6 +17773,12 @@ class basic_json break; } + case value_t::binary: + { + m_value = *first.m_object->m_value.binary; + break; + } + default: JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " + std::string(first.m_object->type_name()))); @@ -14490,10 +17792,10 @@ class basic_json // other constructors and destructor // /////////////////////////////////////// - /// @private - basic_json(const detail::json_ref& ref) - : basic_json(ref.moved_or_copied()) - {} + template , + std::is_same>::value, int> = 0 > + basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {} /*! @brief copy constructor @@ -14570,6 +17872,12 @@ class basic_json break; } + case value_t::binary: + { + m_value = *other.m_value.binary; + break; + } + default: break; } @@ -14714,7 +18022,11 @@ class basic_json @return string containing the serialization of the JSON value @throw type_error.316 if a string stored inside the JSON value is not - UTF-8 encoded + UTF-8 encoded and @a error_handler is set to strict + + @note Binary values are serialized as object containing two keys: + - "bytes": an array of bytes as integers + - "subtype": the subtype as integer or "null" if the binary has no subtype @complexity Linear. @@ -14729,7 +18041,8 @@ class basic_json @since version 1.0.0; indentation character @a indent_char, option @a ensure_ascii and exceptions added in version 3.0.0; error - handlers added in version 3.4.0. + handlers added in version 3.4.0; serialization of binary values added + in version 3.8.0. */ string_t dump(const int indent = -1, const char indent_char = ' ', @@ -14768,6 +18081,7 @@ class basic_json number (floating-point) | value_t::number_float object | value_t::object array | value_t::array + binary | value_t::binary discarded | value_t::discarded @complexity Constant. @@ -14810,12 +18124,13 @@ class basic_json @sa @ref is_string() -- returns whether JSON value is a string @sa @ref is_boolean() -- returns whether JSON value is a boolean @sa @ref is_number() -- returns whether JSON value is a number + @sa @ref is_binary() -- returns whether JSON value is a binary array @since version 1.0.0 */ constexpr bool is_primitive() const noexcept { - return is_null() or is_string() or is_boolean() or is_number(); + return is_null() or is_string() or is_boolean() or is_number() or is_binary(); } /*! @@ -15070,6 +18385,28 @@ class basic_json return m_type == value_t::string; } + /*! + @brief return whether value is a binary array + + This function returns true if and only if the JSON value is a binary array. + + @return `true` if type is binary array, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_binary()` for all JSON + types.,is_binary} + + @since version 3.8.0 + */ + constexpr bool is_binary() const noexcept + { + return m_type == value_t::binary; + } + /*! @brief return whether value is discarded @@ -15133,7 +18470,7 @@ class basic_json /// get a boolean (explicit) boolean_t get_impl(boolean_t* /*unused*/) const { - if (JSON_LIKELY(is_boolean())) + if (JSON_HEDLEY_LIKELY(is_boolean())) { return m_value.boolean; } @@ -15225,6 +18562,18 @@ class basic_json return is_number_float() ? &m_value.number_float : nullptr; } + /// get a pointer to the value (binary) + binary_t* get_impl_ptr(binary_t* /*unused*/) noexcept + { + return is_binary() ? m_value.binary : nullptr; + } + + /// get a pointer to the value (binary) + constexpr const binary_t* get_impl_ptr(const binary_t* /*unused*/) const noexcept + { + return is_binary() ? m_value.binary : nullptr; + } + /*! @brief helper function to implement get_ref() @@ -15242,7 +18591,7 @@ class basic_json // delegate the call to get_ptr<>() auto ptr = obj.template get_ptr::type>(); - if (JSON_LIKELY(ptr != nullptr)) + if (JSON_HEDLEY_LIKELY(ptr != nullptr)) { return *ptr; } @@ -15397,11 +18746,11 @@ class basic_json detail::has_non_default_from_json::value, int> = 0> ValueType get() const noexcept(noexcept( - JSONSerializer::from_json(std::declval()))) + JSONSerializer::from_json(std::declval()))) { static_assert(not std::is_reference::value, "get() cannot be used with reference types, you might want to use get_ref()"); - return JSONSerializer::from_json(*this); + return JSONSerializer::from_json(*this); } /*! @@ -15449,6 +18798,19 @@ class basic_json return v; } + template < + typename T, std::size_t N, + typename Array = T (&)[N], + detail::enable_if_t < + detail::has_from_json::value, int > = 0 > + Array get_to(T (&v)[N]) const + noexcept(noexcept(JSONSerializer::from_json( + std::declval(), v))) + { + JSONSerializer::from_json(*this, v); + return v; + } + /*! @brief get a pointer value (implicit) @@ -15625,12 +18987,9 @@ class basic_json not std::is_same>::value and not std::is_same::value and not detail::is_basic_json::value - -#ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015 and not std::is_same>::value -#if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) and _MSC_VER <= 1914)) +#if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) and _MSC_VER >= 1910 and _MSC_VER <= 1914)) and not std::is_same::value -#endif #endif and detail::is_detected::value , int >::type = 0 > @@ -15640,6 +18999,36 @@ class basic_json return get(); } + /*! + @return reference to the binary value + + @throw type_error.302 if the value is not binary + + @sa @ref is_binary() to check if the value is binary + + @since version 3.8.0 + */ + binary_t& get_binary() + { + if (not is_binary()) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()))); + } + + return *get_ptr(); + } + + /// @copydoc get_binary() + const binary_t& get_binary() const + { + if (not is_binary()) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()))); + } + + return *get_ptr(); + } + /// @} @@ -15680,7 +19069,7 @@ class basic_json reference at(size_type idx) { // at only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { JSON_TRY { @@ -15727,7 +19116,7 @@ class basic_json const_reference at(size_type idx) const { // at only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { JSON_TRY { @@ -15778,7 +19167,7 @@ class basic_json reference at(const typename object_t::key_type& key) { // at only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { JSON_TRY { @@ -15829,7 +19218,7 @@ class basic_json const_reference at(const typename object_t::key_type& key) const { // at only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { JSON_TRY { @@ -15883,7 +19272,7 @@ class basic_json } // operator[] only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { // fill up array with null values if given idx is outside range if (idx >= m_value.array->size()) @@ -15921,7 +19310,7 @@ class basic_json const_reference operator[](size_type idx) const { // const operator[] only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { return m_value.array->operator[](idx); } @@ -15967,7 +19356,7 @@ class basic_json } // operator[] only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { return m_value.object->operator[](key); } @@ -16008,7 +19397,7 @@ class basic_json const_reference operator[](const typename object_t::key_type& key) const { // const operator[] only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { assert(m_value.object->find(key) != m_value.object->end()); return m_value.object->find(key)->second; @@ -16045,6 +19434,7 @@ class basic_json @since version 1.1.0 */ template + JSON_HEDLEY_NON_NULL(2) reference operator[](T* key) { // implicitly convert null to object @@ -16056,7 +19446,7 @@ class basic_json } // at only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { return m_value.object->operator[](key); } @@ -16095,10 +19485,11 @@ class basic_json @since version 1.1.0 */ template + JSON_HEDLEY_NON_NULL(2) const_reference operator[](T* key) const { // at only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { assert(m_value.object->find(key) != m_value.object->end()); return m_value.object->find(key)->second; @@ -16140,6 +19531,8 @@ class basic_json @return copy of the element at key @a key or @a default_value if @a key is not found + @throw type_error.302 if @a default_value does not match the type of the + value at @a key @throw type_error.306 if the JSON value is not an object; in that case, using `value()` with a key makes no sense. @@ -16156,11 +19549,12 @@ class basic_json @since version 1.0.0 */ template::value, int>::type = 0> + std::is_convertible::value + and not std::is_same::value, int>::type = 0> ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const { // at only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { // if key is found, return value and given default value otherwise const auto it = find(key); @@ -16213,6 +19607,8 @@ class basic_json @return copy of the element at key @a key or @a default_value if @a key is not found + @throw type_error.302 if @a default_value does not match the type of the + value at @a ptr @throw type_error.306 if the JSON value is not an object; in that case, using `value()` with a key makes no sense. @@ -16230,7 +19626,7 @@ class basic_json ValueType value(const json_pointer& ptr, const ValueType& default_value) const { // at only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { // if pointer resolves a value, return it or use default value JSON_TRY @@ -16250,6 +19646,7 @@ class basic_json @brief overload for a default value of type const char* @copydoc basic_json::value(const json_pointer&, ValueType) const */ + JSON_HEDLEY_NON_NULL(3) string_t value(const json_pointer& ptr, const char* default_value) const { return value(ptr, string_t(default_value)); @@ -16262,8 +19659,8 @@ class basic_json container `c`, the expression `c.front()` is equivalent to `*c.begin()`. @return In case of a structured type (array or object), a reference to the - first element is returned. In case of number, string, or boolean values, a - reference to the value is returned. + first element is returned. In case of number, string, boolean, or binary + values, a reference to the value is returned. @complexity Constant. @@ -16305,8 +19702,8 @@ class basic_json @endcode @return In case of a structured type (array or object), a reference to the - last element is returned. In case of number, string, or boolean values, a - reference to the value is returned. + last element is returned. In case of number, string, boolean, or binary + values, a reference to the value is returned. @complexity Constant. @@ -16372,7 +19769,7 @@ class basic_json @complexity The complexity depends on the type: - objects: amortized constant - arrays: linear in distance between @a pos and the end of the container - - strings: linear in the length of the string + - strings and binary: linear in the length of the member - other types: constant @liveexample{The example shows the result of `erase()` for different JSON @@ -16394,7 +19791,7 @@ class basic_json IteratorType erase(IteratorType pos) { // make sure iterator fits the current value - if (JSON_UNLIKELY(this != pos.m_object)) + if (JSON_HEDLEY_UNLIKELY(this != pos.m_object)) { JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); } @@ -16408,8 +19805,9 @@ class basic_json case value_t::number_integer: case value_t::number_unsigned: case value_t::string: + case value_t::binary: { - if (JSON_UNLIKELY(not pos.m_it.primitive_iterator.is_begin())) + if (JSON_HEDLEY_UNLIKELY(not pos.m_it.primitive_iterator.is_begin())) { JSON_THROW(invalid_iterator::create(205, "iterator out of range")); } @@ -16421,6 +19819,13 @@ class basic_json std::allocator_traits::deallocate(alloc, m_value.string, 1); m_value.string = nullptr; } + else if (is_binary()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.binary); + std::allocator_traits::deallocate(alloc, m_value.binary, 1); + m_value.binary = nullptr; + } m_type = value_t::null; assert_invariant(); @@ -16478,7 +19883,7 @@ class basic_json - objects: `log(size()) + std::distance(first, last)` - arrays: linear in the distance between @a first and @a last, plus linear in the distance between @a last and end of the container - - strings: linear in the length of the string + - strings and binary: linear in the length of the member - other types: constant @liveexample{The example shows the result of `erase()` for different JSON @@ -16499,7 +19904,7 @@ class basic_json IteratorType erase(IteratorType first, IteratorType last) { // make sure iterator fits the current value - if (JSON_UNLIKELY(this != first.m_object or this != last.m_object)) + if (JSON_HEDLEY_UNLIKELY(this != first.m_object or this != last.m_object)) { JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value")); } @@ -16513,9 +19918,10 @@ class basic_json case value_t::number_integer: case value_t::number_unsigned: case value_t::string: + case value_t::binary: { - if (JSON_LIKELY(not first.m_it.primitive_iterator.is_begin() - or not last.m_it.primitive_iterator.is_end())) + if (JSON_HEDLEY_LIKELY(not first.m_it.primitive_iterator.is_begin() + or not last.m_it.primitive_iterator.is_end())) { JSON_THROW(invalid_iterator::create(204, "iterators out of range")); } @@ -16527,6 +19933,13 @@ class basic_json std::allocator_traits::deallocate(alloc, m_value.string, 1); m_value.string = nullptr; } + else if (is_binary()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.binary); + std::allocator_traits::deallocate(alloc, m_value.binary, 1); + m_value.binary = nullptr; + } m_type = value_t::null; assert_invariant(); @@ -16586,7 +19999,7 @@ class basic_json size_type erase(const typename object_t::key_type& key) { // this erase only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { return m_value.object->erase(key); } @@ -16621,9 +20034,9 @@ class basic_json void erase(const size_type idx) { // this erase only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { - if (JSON_UNLIKELY(idx >= size())) + if (JSON_HEDLEY_UNLIKELY(idx >= size())) { JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range")); } @@ -16749,15 +20162,48 @@ class basic_json @liveexample{The following code shows an example for `contains()`.,contains} @sa @ref find(KeyT&&) -- returns an iterator to an object element + @sa @ref contains(const json_pointer&) const -- checks the existence for a JSON pointer @since version 3.6.0 */ - template - bool contains(KeyT&& key) const + template::type, json_pointer>::value, int>::type = 0> + bool contains(KeyT && key) const { return is_object() and m_value.object->find(std::forward(key)) != m_value.object->end(); } + /*! + @brief check the existence of an element in a JSON object given a JSON pointer + + Check whether the given JSON pointer @a ptr can be resolved in the current + JSON value. + + @note This method can be executed on any JSON value type. + + @param[in] ptr JSON pointer to check its existence. + + @return true if the JSON pointer can be resolved to a stored value, false + otherwise. + + @post If `j.contains(ptr)` returns true, it is safe to call `j[ptr]`. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The following code shows an example for `contains()`.,contains_json_pointer} + + @sa @ref contains(KeyT &&) const -- checks the existence of a key + + @since version 3.7.0 + */ + bool contains(const json_pointer& ptr) const + { + return ptr.contains(this); + } + /// @} @@ -17099,7 +20545,7 @@ class basic_json future 4.0.0 of the library. Please use @ref items() instead; that is, replace `json::iterator_wrapper(j)` with `j.items()`. */ - JSON_DEPRECATED + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) static iteration_proxy iterator_wrapper(reference ref) noexcept { return ref.items(); @@ -17108,7 +20554,7 @@ class basic_json /*! @copydoc iterator_wrapper(reference) */ - JSON_DEPRECATED + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) static iteration_proxy iterator_wrapper(const_reference ref) noexcept { return ref.items(); @@ -17165,6 +20611,11 @@ class basic_json element as string (see example). For primitive types (e.g., numbers), `key()` returns an empty string. + @warning Using `items()` on temporary objects is dangerous. Make sure the + object's lifetime exeeds the iteration. See + for more + information. + @return iteration proxy object wrapping @a ref with an interface to use in range-based for loops @@ -17213,6 +20664,7 @@ class basic_json boolean | `false` string | `false` number | `false` + binary | `false` object | result of function `object_t::empty()` array | result of function `array_t::empty()` @@ -17284,6 +20736,7 @@ class basic_json boolean | `1` string | `1` number | `1` + binary | `1` object | result of function object_t::size() array | result of function array_t::size() @@ -17358,6 +20811,7 @@ class basic_json boolean | `1` (same as `size()`) string | `1` (same as `size()`) number | `1` (same as `size()`) + binary | `1` (same as `size()`) object | result of function `object_t::max_size()` array | result of function `array_t::max_size()` @@ -17430,6 +20884,7 @@ class basic_json boolean | `false` string | `""` number | `0` + binary | An empty byte vector object | `{}` array | `[]` @@ -17487,6 +20942,12 @@ class basic_json break; } + case value_t::binary: + { + m_value.binary->clear(); + break; + } + case value_t::array: { m_value.array->clear(); @@ -17527,7 +20988,7 @@ class basic_json void push_back(basic_json&& val) { // push_back only works for null objects or arrays - if (JSON_UNLIKELY(not(is_null() or is_array()))) + if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array()))) { JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()))); } @@ -17542,9 +21003,7 @@ class basic_json // add element to array (move semantics) m_value.array->push_back(std::move(val)); - // invalidate object: mark it null so we do not call the destructor - // cppcheck-suppress accessMoved - val.m_type = value_t::null; + // if val is moved from, basic_json move constructor marks it null so we do not call the destructor } /*! @@ -17564,7 +21023,7 @@ class basic_json void push_back(const basic_json& val) { // push_back only works for null objects or arrays - if (JSON_UNLIKELY(not(is_null() or is_array()))) + if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array()))) { JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()))); } @@ -17614,7 +21073,7 @@ class basic_json void push_back(const typename object_t::value_type& val) { // push_back only works for null objects or objects - if (JSON_UNLIKELY(not(is_null() or is_object()))) + if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_object()))) { JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()))); } @@ -17700,6 +21159,8 @@ class basic_json @param[in] args arguments to forward to a constructor of @ref basic_json @tparam Args compatible types to create a @ref basic_json object + @return reference to the inserted element + @throw type_error.311 when called on a type other than JSON array or null; example: `"cannot use emplace_back() with number"` @@ -17709,13 +21170,13 @@ class basic_json elements to a JSON array. Note how the `null` value was silently converted to a JSON array.,emplace_back} - @since version 2.0.8 + @since version 2.0.8, returns reference since 3.7.0 */ template - void emplace_back(Args&& ... args) + reference emplace_back(Args&& ... args) { // emplace_back only works for null objects or arrays - if (JSON_UNLIKELY(not(is_null() or is_array()))) + if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_array()))) { JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name()))); } @@ -17729,7 +21190,12 @@ class basic_json } // add element to array (perfect forwarding) +#ifdef JSON_HAS_CPP_17 + return m_value.array->emplace_back(std::forward(args)...); +#else m_value.array->emplace_back(std::forward(args)...); + return m_value.array->back(); +#endif } /*! @@ -17763,7 +21229,7 @@ class basic_json std::pair emplace(Args&& ... args) { // emplace only works for null objects or arrays - if (JSON_UNLIKELY(not(is_null() or is_object()))) + if (JSON_HEDLEY_UNLIKELY(not(is_null() or is_object()))) { JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name()))); } @@ -17831,10 +21297,10 @@ class basic_json iterator insert(const_iterator pos, const basic_json& val) { // insert only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { // check if iterator pos fits to this JSON value - if (JSON_UNLIKELY(pos.m_object != this)) + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) { JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); } @@ -17882,10 +21348,10 @@ class basic_json iterator insert(const_iterator pos, size_type cnt, const basic_json& val) { // insert only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { // check if iterator pos fits to this JSON value - if (JSON_UNLIKELY(pos.m_object != this)) + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) { JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); } @@ -17930,24 +21396,24 @@ class basic_json iterator insert(const_iterator pos, const_iterator first, const_iterator last) { // insert only works for arrays - if (JSON_UNLIKELY(not is_array())) + if (JSON_HEDLEY_UNLIKELY(not is_array())) { JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); } // check if iterator pos fits to this JSON value - if (JSON_UNLIKELY(pos.m_object != this)) + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) { JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); } // check if range iterators belong to the same JSON object - if (JSON_UNLIKELY(first.m_object != last.m_object)) + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) { JSON_THROW(invalid_iterator::create(210, "iterators do not fit")); } - if (JSON_UNLIKELY(first.m_object == this)) + if (JSON_HEDLEY_UNLIKELY(first.m_object == this)) { JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container")); } @@ -17983,13 +21449,13 @@ class basic_json iterator insert(const_iterator pos, initializer_list_t ilist) { // insert only works for arrays - if (JSON_UNLIKELY(not is_array())) + if (JSON_HEDLEY_UNLIKELY(not is_array())) { JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); } // check if iterator pos fits to this JSON value - if (JSON_UNLIKELY(pos.m_object != this)) + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) { JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value")); } @@ -18024,19 +21490,19 @@ class basic_json void insert(const_iterator first, const_iterator last) { // insert only works for objects - if (JSON_UNLIKELY(not is_object())) + if (JSON_HEDLEY_UNLIKELY(not is_object())) { JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()))); } // check if range iterators belong to the same JSON object - if (JSON_UNLIKELY(first.m_object != last.m_object)) + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) { JSON_THROW(invalid_iterator::create(210, "iterators do not fit")); } // passed iterators must belong to objects - if (JSON_UNLIKELY(not first.m_object->is_object())) + if (JSON_HEDLEY_UNLIKELY(not first.m_object->is_object())) { JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects")); } @@ -18073,11 +21539,11 @@ class basic_json assert_invariant(); } - if (JSON_UNLIKELY(not is_object())) + if (JSON_HEDLEY_UNLIKELY(not is_object())) { JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()))); } - if (JSON_UNLIKELY(not j.is_object())) + if (JSON_HEDLEY_UNLIKELY(not j.is_object())) { JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name()))); } @@ -18124,20 +21590,20 @@ class basic_json assert_invariant(); } - if (JSON_UNLIKELY(not is_object())) + if (JSON_HEDLEY_UNLIKELY(not is_object())) { JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()))); } // check if range iterators belong to the same JSON object - if (JSON_UNLIKELY(first.m_object != last.m_object)) + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) { JSON_THROW(invalid_iterator::create(210, "iterators do not fit")); } // passed iterators must belong to objects - if (JSON_UNLIKELY(not first.m_object->is_object() - or not last.m_object->is_object())) + if (JSON_HEDLEY_UNLIKELY(not first.m_object->is_object() + or not last.m_object->is_object())) { JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects")); } @@ -18200,7 +21666,7 @@ class basic_json void swap(array_t& other) { // swap only works for arrays - if (JSON_LIKELY(is_array())) + if (JSON_HEDLEY_LIKELY(is_array())) { std::swap(*(m_value.array), other); } @@ -18233,7 +21699,7 @@ class basic_json void swap(object_t& other) { // swap only works for objects - if (JSON_LIKELY(is_object())) + if (JSON_HEDLEY_LIKELY(is_object())) { std::swap(*(m_value.object), other); } @@ -18266,7 +21732,7 @@ class basic_json void swap(string_t& other) { // swap only works for strings - if (JSON_LIKELY(is_string())) + if (JSON_HEDLEY_LIKELY(is_string())) { std::swap(*(m_value.string), other); } @@ -18276,6 +21742,53 @@ class basic_json } } + /*! + @brief exchanges the values + + Exchanges the contents of a JSON string with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other binary to exchange the contents with + + @throw type_error.310 when JSON value is not a string; example: `"cannot + use swap() with boolean"` + + @complexity Constant. + + @liveexample{The example below shows how strings can be swapped with + `swap()`.,swap__binary_t} + + @since version 3.8.0 + */ + void swap(binary_t& other) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_binary())) + { + std::swap(*(m_value.binary), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + + /// @copydoc swap(binary_t) + void swap(typename binary_t::container_type& other) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_binary())) + { + std::swap(*(m_value.binary), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()))); + } + } + /// @} public: @@ -18294,13 +21807,13 @@ class basic_json their stored values are the same according to their respective `operator==`. - Integer and floating-point numbers are automatically converted before - comparison. Note than two NaN values are always treated as unequal. + comparison. Note that two NaN values are always treated as unequal. - Two JSON null values are equal. @note Floating-point inside JSON values numbers are compared with `json::number_float_t::operator==` which is `double::operator==` by default. To compare floating-point while respecting an epsilon, an alternative - [comparison function](https://github.com/mariokonrad/marnav/blob/master/src/marnav/math/floatingpoint.hpp#L34-#L39) + [comparison function](https://github.com/mariokonrad/marnav/blob/master/include/marnav/math/floatingpoint.hpp#L34-#L39) could be used, for instance @code {.cpp} template::value, T>::type> @@ -18309,6 +21822,22 @@ class basic_json return std::abs(a - b) <= epsilon; } @endcode + Or you can self-defined operator equal function like this: + @code {.cpp} + bool my_equal(const_reference lhs, const_reference rhs) { + const auto lhs_type lhs.type(); + const auto rhs_type rhs.type(); + if (lhs_type == rhs_type) { + switch(lhs_type) + // self_defined case + case value_t::number_float: + return std::abs(lhs - rhs) <= std::numeric_limits::epsilon(); + // other cases remain the same with the original + ... + } + ... + } + @endcode @note NaN values never compare equal to themselves or to other NaN values. @@ -18358,6 +21887,9 @@ class basic_json case value_t::number_float: return lhs.m_value.number_float == rhs.m_value.number_float; + case value_t::binary: + return *lhs.m_value.binary == *rhs.m_value.binary; + default: return false; } @@ -18498,25 +22030,28 @@ class basic_json return (*lhs.m_value.array) < (*rhs.m_value.array); case value_t::object: - return *lhs.m_value.object < *rhs.m_value.object; + return (*lhs.m_value.object) < (*rhs.m_value.object); case value_t::null: return false; case value_t::string: - return *lhs.m_value.string < *rhs.m_value.string; + return (*lhs.m_value.string) < (*rhs.m_value.string); case value_t::boolean: - return lhs.m_value.boolean < rhs.m_value.boolean; + return (lhs.m_value.boolean) < (rhs.m_value.boolean); case value_t::number_integer: - return lhs.m_value.number_integer < rhs.m_value.number_integer; + return (lhs.m_value.number_integer) < (rhs.m_value.number_integer); case value_t::number_unsigned: - return lhs.m_value.number_unsigned < rhs.m_value.number_unsigned; + return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned); case value_t::number_float: - return lhs.m_value.number_float < rhs.m_value.number_float; + return (lhs.m_value.number_float) < (rhs.m_value.number_float); + + case value_t::binary: + return (*lhs.m_value.binary) < (*rhs.m_value.binary); default: return false; @@ -18776,7 +22311,7 @@ class basic_json instead; that is, replace calls like `j >> o;` with `o << j;`. @since version 1.0.0; deprecated since version 3.0.0 */ - JSON_DEPRECATED + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&)) friend std::ostream& operator>>(const basic_json& j, std::ostream& o) { return o << j; @@ -18795,29 +22330,13 @@ class basic_json /*! @brief deserialize from a compatible input - This function reads from a compatible input. Examples are: - - an array of 1-byte values - - strings with character/literal type with size of 1 byte - - input streams - - container with contiguous storage of 1-byte values. Compatible container - types include `std::vector`, `std::string`, `std::array`, - `std::valarray`, and `std::initializer_list`. Furthermore, C-style - arrays can be used with `std::begin()`/`std::end()`. User-defined - containers can be used as long as they implement random-access iterators - and a contiguous storage. - - @pre Each element of the container has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @pre The container storage is contiguous. Violating this precondition - yields undefined behavior. **This precondition is enforced with an - assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with a noncompliant container and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. @param[in] i input to read from @param[in] cb a parser callback function of type @ref parser_callback_t @@ -18837,7 +22356,7 @@ class basic_json @complexity Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function - @a cb has a super-linear complexity. + @a cb or reading from the input @a i has a super-linear complexity. @note A UTF-8 byte order mark is silently ignored. @@ -18855,19 +22374,107 @@ class basic_json @since version 2.0.3 (contiguous containers) */ - JSON_NODISCARD - static basic_json parse(detail::input_adapter&& i, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(InputType&& i, const parser_callback_t cb = nullptr, const bool allow_exceptions = true) { basic_json result; - parser(i, cb, allow_exceptions).parse(true, result); + parser(detail::input_adapter(std::forward(i)), cb, allow_exceptions).parse(true, result); return result; } - static bool accept(detail::input_adapter&& i) + /*! + @brief deserialize from a pair of character iterators + + The value_type of the iterator must be a integral type with size of 1, 2 or + 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32. + + @param[in] first iterator to start of character range + @param[in] last iterator to end of character range + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(IteratorType first, + IteratorType last, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true) { - return parser(i).accept(true); + basic_json result; + parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions).parse(true, result); + return result; + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) + static basic_json parse(detail::span_input_adapter&& i, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true) + { + basic_json result; + parser(i.get(), cb, allow_exceptions).parse(true, result); + return result; + } + + /*! + @brief check if the input is valid JSON + + Unlike the @ref parse(InputType&&, const parser_callback_t,const bool) + function, this function neither throws an exception in case of invalid JSON + input (i.e., a parse error) nor creates diagnostic information. + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + + @return Whether the input read from @a i is valid JSON. + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `accept()` function reading + from a string.,accept__string} + */ + template + static bool accept(InputType&& i) + { + return parser(detail::input_adapter(std::forward(i))).accept(true); + } + + template + static bool accept(IteratorType first, IteratorType last) + { + return parser(detail::input_adapter(std::move(first), std::move(last))).accept(true); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) + static bool accept(detail::span_input_adapter&& i) + { + return parser(i.get()).accept(true); } /*! @@ -18876,28 +22483,12 @@ class basic_json The SAX event lister must follow the interface of @ref json_sax. This function reads from a compatible input. Examples are: - - an array of 1-byte values - - strings with character/literal type with size of 1 byte - - input streams - - container with contiguous storage of 1-byte values. Compatible container - types include `std::vector`, `std::string`, `std::array`, - `std::valarray`, and `std::initializer_list`. Furthermore, C-style - arrays can be used with `std::begin()`/`std::end()`. User-defined - containers can be used as long as they implement random-access iterators - and a contiguous storage. - - @pre Each element of the container has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @pre The container storage is contiguous. Violating this precondition - yields undefined behavior. **This precondition is enforced with an - assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with a noncompliant container and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. @param[in] i input to read from @param[in,out] sax SAX event listener @@ -18923,95 +22514,41 @@ class basic_json @since version 3.2.0 */ - template - static bool sax_parse(detail::input_adapter&& i, SAX* sax, + template + JSON_HEDLEY_NON_NULL(2) + static bool sax_parse(InputType&& i, SAX* sax, input_format_t format = input_format_t::json, const bool strict = true) { - assert(sax); + auto ia = detail::input_adapter(std::forward(i)); return format == input_format_t::json - ? parser(std::move(i)).sax_parse(sax, strict) - : detail::binary_reader(std::move(i)).sax_parse(format, sax, strict); + ? parser(std::move(ia)).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } - /*! - @brief deserialize from an iterator range with contiguous storage - - This function reads from an iterator range of a container with contiguous - storage of 1-byte values. Compatible container types include - `std::vector`, `std::string`, `std::array`, `std::valarray`, and - `std::initializer_list`. Furthermore, C-style arrays can be used with - `std::begin()`/`std::end()`. User-defined containers can be used as long - as they implement random-access iterators and a contiguous storage. - - @pre The iterator range is contiguous. Violating this precondition yields - undefined behavior. **This precondition is enforced with an assertion.** - @pre Each element in the range has a size of 1 byte. Violating this - precondition yields undefined behavior. **This precondition is enforced - with a static assertion.** - - @warning There is no way to enforce all preconditions at compile-time. If - the function is called with noncompliant iterators and with - assertions switched off, the behavior is undefined and will most - likely yield segmentation violation. - - @tparam IteratorType iterator of container with contiguous storage - @param[in] first begin of the range to parse (included) - @param[in] last end of the range to parse (excluded) - @param[in] cb a parser callback function of type @ref parser_callback_t - which is used to control the deserialization by filtering unwanted values - (optional) - @param[in] allow_exceptions whether to throw exceptions in case of a - parse error (optional, true by default) - - @return deserialized JSON value; in case of a parse error and - @a allow_exceptions set to `false`, the return value will be - value_t::discarded. - - @throw parse_error.101 in case of an unexpected token - @throw parse_error.102 if to_unicode fails or surrogate error - @throw parse_error.103 if to_unicode fails - - @complexity Linear in the length of the input. The parser is a predictive - LL(1) parser. The complexity can be higher if the parser callback function - @a cb has a super-linear complexity. - - @note A UTF-8 byte order mark is silently ignored. - - @liveexample{The example below demonstrates the `parse()` function reading - from an iterator range.,parse__iteratortype__parser_callback_t} - - @since version 2.0.3 - */ - template::iterator_category>::value, int>::type = 0> - static basic_json parse(IteratorType first, IteratorType last, - const parser_callback_t cb = nullptr, - const bool allow_exceptions = true) + template + JSON_HEDLEY_NON_NULL(3) + static bool sax_parse(IteratorType first, IteratorType last, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true) { - basic_json result; - parser(detail::input_adapter(first, last), cb, allow_exceptions).parse(true, result); - return result; + auto ia = detail::input_adapter(std::move(first), std::move(last)); + return format == input_format_t::json + ? parser(std::move(ia)).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } - template::iterator_category>::value, int>::type = 0> - static bool accept(IteratorType first, IteratorType last) + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) + static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true) { - return parser(detail::input_adapter(first, last)).accept(true); - } - - template::iterator_category>::value, int>::type = 0> - static bool sax_parse(IteratorType first, IteratorType last, SAX* sax) - { - return parser(detail::input_adapter(first, last)).sax_parse(sax); + auto ia = i.get(); + return format == input_format_t::json + ? parser(std::move(ia)).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); } /*! @@ -19022,7 +22559,7 @@ class basic_json instead; that is, replace calls like `j << i;` with `i >> j;`. @since version 1.0.0; deprecated since version 3.0.0 */ - JSON_DEPRECATED + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&)) friend std::istream& operator<<(basic_json& j, std::istream& i) { return operator>>(i, j); @@ -19080,6 +22617,7 @@ class basic_json number | `"number"` (for all number types) object | `"object"` array | `"array"` + binary | `"binary"` discarded | `"discarded"` @exceptionsafety No-throw guarantee: this function never throws exceptions. @@ -19095,6 +22633,7 @@ class basic_json @since version 1.0.0, public since 2.1.0, `const char*` and `noexcept` since 3.0.0 */ + JSON_HEDLEY_RETURNS_NON_NULL const char* type_name() const noexcept { { @@ -19110,6 +22649,8 @@ class basic_json return "string"; case value_t::boolean: return "boolean"; + case value_t::binary: + return "binary"; case value_t::discarded: return "discarded"; default: @@ -19169,7 +22710,8 @@ class basic_json number_unsigned | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 number_unsigned | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A number_unsigned | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B - number_float | *any value* | Double-Precision Float | 0xFB + number_float | *any value representable by a float* | Single-Precision Float | 0xFA + number_float | *any value NOT representable by a float* | Double-Precision Float | 0xFB string | *length*: 0..23 | UTF-8 string | 0x60..0x77 string | *length*: 23..255 | UTF-8 string (1 byte follow) | 0x78 string | *length*: 256..65535 | UTF-8 string (2 bytes follow) | 0x79 @@ -19185,6 +22727,11 @@ class basic_json object | *size*: 256..65535 | map (2 bytes follow) | 0xB9 object | *size*: 65536..4294967295 | map (4 bytes follow) | 0xBA object | *size*: 4294967296..18446744073709551615 | map (8 bytes follow) | 0xBB + binary | *size*: 0..23 | byte string | 0x40..0x57 + binary | *size*: 23..255 | byte string (1 byte follow) | 0x58 + binary | *size*: 256..65535 | byte string (2 bytes follow) | 0x59 + binary | *size*: 65536..4294967295 | byte string (4 bytes follow) | 0x5A + binary | *size*: 4294967296..18446744073709551615 | byte string (8 bytes follow) | 0x5B @note The mapping is **complete** in the sense that any JSON value type can be converted to a CBOR value. @@ -19194,10 +22741,10 @@ class basic_json function which serializes NaN or Infinity to `null`. @note The following CBOR types are not used in the conversion: - - byte strings (0x40..0x5F) - UTF-8 strings terminated by "break" (0x7F) - arrays terminated by "break" (0x9F) - maps terminated by "break" (0xBF) + - byte strings terminated by "break" (0x5F) - date/time (0xC0..0xC1) - bignum (0xC2..0xC3) - decimal fraction (0xC4) @@ -19206,11 +22753,11 @@ class basic_json - expected conversions (0xD5..0xD7) - simple values (0xE0..0xF3, 0xF8) - undefined (0xF7) - - half and single-precision floats (0xF9-0xFA) + - half-precision floats (0xF9) - break (0xFF) @param[in] j JSON value to serialize - @return MessagePack serialization as byte vector + @return CBOR serialization as byte vector @complexity Linear in the size of the JSON value @a j. @@ -19224,7 +22771,8 @@ class basic_json @sa @ref to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format - @since version 2.0.9 + @since version 2.0.9; compact representation of floating-point numbers + since version 3.8.0 */ static std::vector to_cbor(const basic_json& j) { @@ -19284,20 +22832,21 @@ class basic_json object | *size*: 0..15 | fix map | 0x80..0x8F object | *size*: 16..65535 | map 16 | 0xDE object | *size*: 65536..4294967295 | map 32 | 0xDF + binary | *size*: 0..255 | bin 8 | 0xC4 + binary | *size*: 256..65535 | bin 16 | 0xC5 + binary | *size*: 65536..4294967295 | bin 32 | 0xC6 @note The mapping is **complete** in the sense that any JSON value type can be converted to a MessagePack value. @note The following values can **not** be converted to a MessagePack value: - strings with more than 4294967295 bytes + - byte strings with more than 4294967295 bytes - arrays with more than 4294967295 elements - objects with more than 4294967295 elements @note The following MessagePack types are not used in the conversion: - - bin 8 - bin 32 (0xC4..0xC6) - - ext 8 - ext 32 (0xC7..0xC9) - float 32 (0xCA) - - fixext 1 - fixext 16 (0xD4..0xD8) @note Any MessagePack output created @ref to_msgpack can be successfully parsed by @ref from_msgpack. @@ -19400,6 +22949,12 @@ class basic_json the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container. + @note If the JSON data contains the binary type, the value stored is a list + of integers, as suggested by the UBJSON documentation. In particular, + this means that serialization and the deserialization of a JSON + containing binary values into UBJSON and back will result in a + different JSON object. + @param[in] j JSON value to serialize @param[in] use_size whether to add size annotations to container types @param[in] use_type whether to add type annotations to container types @@ -19464,6 +23019,7 @@ class basic_json string | *any value* | string | 0x02 array | *any value* | document | 0x04 object | *any value* | document | 0x03 + binary | *any value* | binary | 0x05 @warning The mapping is **incomplete**, since only JSON-objects (and things contained therein) can be serialized to BSON. @@ -19545,7 +23101,11 @@ class basic_json Negative integer | number_integer | 0x39 Negative integer | number_integer | 0x3A Negative integer | number_integer | 0x3B - Negative integer | number_integer | 0x40..0x57 + Byte string | binary | 0x40..0x57 + Byte string | binary | 0x58 + Byte string | binary | 0x59 + Byte string | binary | 0x5A + Byte string | binary | 0x5B UTF-8 string | string | 0x60..0x77 UTF-8 string | string | 0x78 UTF-8 string | string | 0x79 @@ -19574,7 +23134,6 @@ class basic_json @warning The mapping is **incomplete** in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112): - - byte strings (0x40..0x5F) - date/time (0xC0..0xC1) - bignum (0xC2..0xC3) - decimal fraction (0xC4) @@ -19624,30 +23183,56 @@ class basic_json @a strict parameter since 3.0.0; added @a allow_exceptions parameter since 3.2.0 */ - JSON_NODISCARD - static basic_json from_cbor(detail::input_adapter&& i, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(InputType&& i, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::cbor, &sdp, strict); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); return res ? result : basic_json(value_t::discarded); } /*! @copydoc from_cbor(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> - JSON_NODISCARD - static basic_json from_cbor(A1 && a1, A2 && a2, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(std::forward(a1), std::forward(a2))).sax_parse(input_format_t::cbor, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + static basic_json from_cbor(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_cbor(ptr, ptr + len, strict, allow_exceptions); + } + + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + static basic_json from_cbor(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict); return res ? result : basic_json(value_t::discarded); } @@ -19685,15 +23270,19 @@ class basic_json array 32 | array | 0xDD map 16 | object | 0xDE map 32 | object | 0xDF + bin 8 | binary | 0xC4 + bin 16 | binary | 0xC5 + bin 32 | binary | 0xC6 + ext 8 | binary | 0xC7 + ext 16 | binary | 0xC8 + ext 32 | binary | 0xC9 + fixext 1 | binary | 0xD4 + fixext 2 | binary | 0xD5 + fixext 4 | binary | 0xD6 + fixext 8 | binary | 0xD7 + fixext 16 | binary | 0xD8 negative fixint | number_integer | 0xE0-0xFF - @warning The mapping is **incomplete** in the sense that not all - MessagePack types can be converted to a JSON value. The following - MessagePack types are not supported and will yield parse errors: - - bin 8 - bin 32 (0xC4..0xC6) - - ext 8 - ext 32 (0xC7..0xC9) - - fixext 1 - fixext 16 (0xD4..0xD8) - @note Any MessagePack output created @ref to_msgpack can be successfully parsed by @ref from_msgpack. @@ -19733,33 +23322,60 @@ class basic_json @a strict parameter since 3.0.0; added @a allow_exceptions parameter since 3.2.0 */ - JSON_NODISCARD - static basic_json from_msgpack(detail::input_adapter&& i, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(InputType&& i, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::msgpack, &sdp, strict); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); return res ? result : basic_json(value_t::discarded); } /*! @copydoc from_msgpack(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> - JSON_NODISCARD - static basic_json from_msgpack(A1 && a1, A2 && a2, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(std::forward(a1), std::forward(a2))).sax_parse(input_format_t::msgpack, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); return res ? result : basic_json(value_t::discarded); } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + static basic_json from_msgpack(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_msgpack(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + static basic_json from_msgpack(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! @brief create a JSON value from an input in UBJSON format @@ -19821,33 +23437,59 @@ class basic_json @since version 3.1.0; added @a allow_exceptions parameter since 3.2.0 */ - JSON_NODISCARD - static basic_json from_ubjson(detail::input_adapter&& i, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(InputType&& i, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::ubjson, &sdp, strict); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } /*! @copydoc from_ubjson(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> - JSON_NODISCARD - static basic_json from_ubjson(A1 && a1, A2 && a2, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(std::forward(a1), std::forward(a2))).sax_parse(input_format_t::ubjson, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + static basic_json from_ubjson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_ubjson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + static basic_json from_ubjson(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! @brief Create a JSON value from an input in BSON format @@ -19908,35 +23550,57 @@ class basic_json @sa @ref from_ubjson(detail::input_adapter&&, const bool, const bool) for the related UBJSON format */ - JSON_NODISCARD - static basic_json from_bson(detail::input_adapter&& i, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(InputType&& i, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(i)).sax_parse(input_format_t::bson, &sdp, strict); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } /*! @copydoc from_bson(detail::input_adapter&&, const bool, const bool) */ - template::value, int> = 0> - JSON_NODISCARD - static basic_json from_bson(A1 && a1, A2 && a2, + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(IteratorType first, IteratorType last, const bool strict = true, const bool allow_exceptions = true) { basic_json result; detail::json_sax_dom_parser sdp(result, allow_exceptions); - const bool res = binary_reader(detail::input_adapter(std::forward(a1), std::forward(a2))).sax_parse(input_format_t::bson, &sdp, strict); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); return res ? result : basic_json(value_t::discarded); } + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + static basic_json from_bson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_bson(ptr, ptr + len, strict, allow_exceptions); + } - + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + static basic_json from_bson(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } /// @} ////////////////////////// @@ -19989,7 +23653,7 @@ class basic_json Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. The function does not change the JSON - value; no `null` values are created. In particular, the the special value + value; no `null` values are created. In particular, the special value `-` yields an exception. @param[in] ptr JSON pointer to the desired element @@ -20298,7 +23962,7 @@ class basic_json else { const auto idx = json_pointer::array_index(last_path); - if (JSON_UNLIKELY(static_cast(idx) > parent.size())) + if (JSON_HEDLEY_UNLIKELY(static_cast(idx) > parent.size())) { // avoid undefined behavior JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range")); @@ -20329,7 +23993,7 @@ class basic_json { // perform range check auto it = parent.find(last_path); - if (JSON_LIKELY(it != parent.end())) + if (JSON_HEDLEY_LIKELY(it != parent.end())) { parent.erase(it); } @@ -20346,7 +24010,7 @@ class basic_json }; // type check: top level value must be an array - if (JSON_UNLIKELY(not json_patch.is_array())) + if (JSON_HEDLEY_UNLIKELY(not json_patch.is_array())) { JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects")); } @@ -20366,13 +24030,13 @@ class basic_json const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'"; // check if desired value is present - if (JSON_UNLIKELY(it == val.m_value.object->end())) + if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end())) { JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'")); } // check if result is of type string - if (JSON_UNLIKELY(string_type and not it->second.is_string())) + if (JSON_HEDLEY_UNLIKELY(string_type and not it->second.is_string())) { JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'")); } @@ -20382,7 +24046,7 @@ class basic_json }; // type check: every element of the array must be an object - if (JSON_UNLIKELY(not val.is_object())) + if (JSON_HEDLEY_UNLIKELY(not val.is_object())) { JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects")); } @@ -20460,7 +24124,7 @@ class basic_json } // throw an exception if test fails - if (JSON_UNLIKELY(not success)) + if (JSON_HEDLEY_UNLIKELY(not success)) { JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump())); } @@ -20513,7 +24177,7 @@ class basic_json @since version 2.0.0 */ - JSON_NODISCARD + JSON_HEDLEY_WARN_UNUSED_RESULT static basic_json diff(const basic_json& source, const basic_json& target, const std::string& path = "") { @@ -20573,7 +24237,7 @@ class basic_json result.push_back( { {"op", "add"}, - {"path", path + "/" + std::to_string(i)}, + {"path", path + "/-"}, {"value", target[i]} }); ++i; @@ -20717,6 +24381,21 @@ class basic_json /// @} }; + +/*! +@brief user-defined to_string function for JSON values + +This function implements a user-defined to_string for JSON objects. + +@param[in] j a JSON object +@return a std::string object +*/ + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j) +{ + return j.dump(); +} } // namespace nlohmann /////////////////////// @@ -20748,7 +24427,7 @@ struct hash /// @note: do not remove the space after '<', /// see https://github.com/nlohmann/json/pull/679 template<> -struct less< ::nlohmann::detail::value_t> +struct less<::nlohmann::detail::value_t> { /*! @brief compare two value_t enum values @@ -20790,6 +24469,7 @@ if no parse error occurred. @since version 1.0.0 */ +JSON_HEDLEY_NON_NULL(1) inline nlohmann::json operator "" _json(const char* s, std::size_t n) { return nlohmann::json::parse(s, s + n); @@ -20808,6 +24488,7 @@ object if no parse error occurred. @since version 2.0.0 */ +JSON_HEDLEY_NON_NULL(1) inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n) { return nlohmann::json::json_pointer(std::string(s, n)); @@ -20829,14 +24510,156 @@ inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std #undef JSON_CATCH #undef JSON_THROW #undef JSON_TRY -#undef JSON_LIKELY -#undef JSON_UNLIKELY -#undef JSON_DEPRECATED -#undef JSON_NODISCARD #undef JSON_HAS_CPP_14 #undef JSON_HAS_CPP_17 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION #undef NLOHMANN_BASIC_JSON_TPL +// #include +#undef JSON_HEDLEY_ALWAYS_INLINE +#undef JSON_HEDLEY_ARM_VERSION +#undef JSON_HEDLEY_ARM_VERSION_CHECK +#undef JSON_HEDLEY_ARRAY_PARAM +#undef JSON_HEDLEY_ASSUME +#undef JSON_HEDLEY_BEGIN_C_DECLS +#undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#undef JSON_HEDLEY_CLANG_HAS_FEATURE +#undef JSON_HEDLEY_CLANG_HAS_WARNING +#undef JSON_HEDLEY_COMPCERT_VERSION +#undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#undef JSON_HEDLEY_CONCAT +#undef JSON_HEDLEY_CONCAT3 +#undef JSON_HEDLEY_CONCAT3_EX +#undef JSON_HEDLEY_CONCAT_EX +#undef JSON_HEDLEY_CONST +#undef JSON_HEDLEY_CONSTEXPR +#undef JSON_HEDLEY_CONST_CAST +#undef JSON_HEDLEY_CPP_CAST +#undef JSON_HEDLEY_CRAY_VERSION +#undef JSON_HEDLEY_CRAY_VERSION_CHECK +#undef JSON_HEDLEY_C_DECL +#undef JSON_HEDLEY_DEPRECATED +#undef JSON_HEDLEY_DEPRECATED_FOR +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#undef JSON_HEDLEY_DIAGNOSTIC_POP +#undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#undef JSON_HEDLEY_DMC_VERSION +#undef JSON_HEDLEY_DMC_VERSION_CHECK +#undef JSON_HEDLEY_EMPTY_BASES +#undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#undef JSON_HEDLEY_END_C_DECLS +#undef JSON_HEDLEY_FLAGS +#undef JSON_HEDLEY_FLAGS_CAST +#undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_BUILTIN +#undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_EXTENSION +#undef JSON_HEDLEY_GCC_HAS_FEATURE +#undef JSON_HEDLEY_GCC_HAS_WARNING +#undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#undef JSON_HEDLEY_GCC_VERSION +#undef JSON_HEDLEY_GCC_VERSION_CHECK +#undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#undef JSON_HEDLEY_GNUC_HAS_FEATURE +#undef JSON_HEDLEY_GNUC_HAS_WARNING +#undef JSON_HEDLEY_GNUC_VERSION +#undef JSON_HEDLEY_GNUC_VERSION_CHECK +#undef JSON_HEDLEY_HAS_ATTRIBUTE +#undef JSON_HEDLEY_HAS_BUILTIN +#undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_HAS_EXTENSION +#undef JSON_HEDLEY_HAS_FEATURE +#undef JSON_HEDLEY_HAS_WARNING +#undef JSON_HEDLEY_IAR_VERSION +#undef JSON_HEDLEY_IAR_VERSION_CHECK +#undef JSON_HEDLEY_IBM_VERSION +#undef JSON_HEDLEY_IBM_VERSION_CHECK +#undef JSON_HEDLEY_IMPORT +#undef JSON_HEDLEY_INLINE +#undef JSON_HEDLEY_INTEL_VERSION +#undef JSON_HEDLEY_INTEL_VERSION_CHECK +#undef JSON_HEDLEY_IS_CONSTANT +#undef JSON_HEDLEY_IS_CONSTEXPR_ +#undef JSON_HEDLEY_LIKELY +#undef JSON_HEDLEY_MALLOC +#undef JSON_HEDLEY_MESSAGE +#undef JSON_HEDLEY_MSVC_VERSION +#undef JSON_HEDLEY_MSVC_VERSION_CHECK +#undef JSON_HEDLEY_NEVER_INLINE +#undef JSON_HEDLEY_NON_NULL +#undef JSON_HEDLEY_NO_ESCAPE +#undef JSON_HEDLEY_NO_RETURN +#undef JSON_HEDLEY_NO_THROW +#undef JSON_HEDLEY_NULL +#undef JSON_HEDLEY_PELLES_VERSION +#undef JSON_HEDLEY_PELLES_VERSION_CHECK +#undef JSON_HEDLEY_PGI_VERSION +#undef JSON_HEDLEY_PGI_VERSION_CHECK +#undef JSON_HEDLEY_PREDICT +#undef JSON_HEDLEY_PRINTF_FORMAT +#undef JSON_HEDLEY_PRIVATE +#undef JSON_HEDLEY_PUBLIC +#undef JSON_HEDLEY_PURE +#undef JSON_HEDLEY_REINTERPRET_CAST +#undef JSON_HEDLEY_REQUIRE +#undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#undef JSON_HEDLEY_REQUIRE_MSG +#undef JSON_HEDLEY_RESTRICT +#undef JSON_HEDLEY_RETURNS_NON_NULL +#undef JSON_HEDLEY_SENTINEL +#undef JSON_HEDLEY_STATIC_ASSERT +#undef JSON_HEDLEY_STATIC_CAST +#undef JSON_HEDLEY_STRINGIFY +#undef JSON_HEDLEY_STRINGIFY_EX +#undef JSON_HEDLEY_SUNPRO_VERSION +#undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#undef JSON_HEDLEY_TINYC_VERSION +#undef JSON_HEDLEY_TINYC_VERSION_CHECK +#undef JSON_HEDLEY_TI_ARMCL_VERSION +#undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL2000_VERSION +#undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL430_VERSION +#undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL6X_VERSION +#undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL7X_VERSION +#undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#undef JSON_HEDLEY_TI_CLPRU_VERSION +#undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#undef JSON_HEDLEY_TI_VERSION +#undef JSON_HEDLEY_TI_VERSION_CHECK +#undef JSON_HEDLEY_UNAVAILABLE +#undef JSON_HEDLEY_UNLIKELY +#undef JSON_HEDLEY_UNPREDICTABLE +#undef JSON_HEDLEY_UNREACHABLE +#undef JSON_HEDLEY_UNREACHABLE_RETURN +#undef JSON_HEDLEY_VERSION +#undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#undef JSON_HEDLEY_VERSION_DECODE_MINOR +#undef JSON_HEDLEY_VERSION_DECODE_REVISION +#undef JSON_HEDLEY_VERSION_ENCODE +#undef JSON_HEDLEY_WARNING +#undef JSON_HEDLEY_WARN_UNUSED_RESULT +#undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#undef JSON_HEDLEY_FALL_THROUGH + + #endif // INCLUDE_NLOHMANN_JSON_HPP_ From 00cbfe2e138c842d9c0bce4e1848d3eaa88a39b8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 31 Aug 2020 13:36:26 -0400 Subject: [PATCH 2/3] Trainer frontpics to png --- Makefile | 44 +- files/poketool/trgra/trfgra/.gitignore | 2 + files/poketool/trgra/trfgra/.knarcignore | 1 + files/poketool/trgra/trfgra/narc_0000.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0000.png | Bin 0 -> 760 bytes files/poketool/trgra/trfgra/narc_0000.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0001.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0002.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0002.png | Bin 0 -> 817 bytes files/poketool/trgra/trfgra/narc_0002.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0003.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0004.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0004.png | Bin 0 -> 662 bytes files/poketool/trgra/trfgra/narc_0004.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0005.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0006.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0006.png | Bin 0 -> 728 bytes files/poketool/trgra/trfgra/narc_0006.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0007.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0008.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0008.png | Bin 0 -> 677 bytes files/poketool/trgra/trfgra/narc_0008.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0009.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0010.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0010.png | Bin 0 -> 621 bytes files/poketool/trgra/trfgra/narc_0010.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0011.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0012.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0012.png | Bin 0 -> 922 bytes files/poketool/trgra/trfgra/narc_0012.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0013.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0014.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0014.png | Bin 0 -> 790 bytes files/poketool/trgra/trfgra/narc_0014.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0015.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0016.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0016.png | Bin 0 -> 869 bytes files/poketool/trgra/trfgra/narc_0016.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0017.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0018.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0018.png | Bin 0 -> 1120 bytes files/poketool/trgra/trfgra/narc_0018.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0019.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0020.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0020.png | Bin 0 -> 776 bytes files/poketool/trgra/trfgra/narc_0020.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0021.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0022.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0022.png | Bin 0 -> 1147 bytes files/poketool/trgra/trfgra/narc_0022.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0023.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0024.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0024.png | Bin 0 -> 1021 bytes files/poketool/trgra/trfgra/narc_0024.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0025.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0026.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0026.png | Bin 0 -> 1062 bytes files/poketool/trgra/trfgra/narc_0026.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0027.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0028.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0028.png | Bin 0 -> 1015 bytes files/poketool/trgra/trfgra/narc_0028.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0029.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0030.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0030.png | Bin 0 -> 953 bytes files/poketool/trgra/trfgra/narc_0030.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0031.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0032.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0032.png | Bin 0 -> 866 bytes files/poketool/trgra/trfgra/narc_0032.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0033.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0034.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0034.png | Bin 0 -> 760 bytes files/poketool/trgra/trfgra/narc_0034.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0035.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0036.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0036.png | Bin 0 -> 848 bytes files/poketool/trgra/trfgra/narc_0036.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0037.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0038.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0038.png | Bin 0 -> 754 bytes files/poketool/trgra/trfgra/narc_0038.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0039.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0040.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0040.png | Bin 0 -> 842 bytes files/poketool/trgra/trfgra/narc_0040.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0041.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0042.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0042.png | Bin 0 -> 881 bytes files/poketool/trgra/trfgra/narc_0042.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0043.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0044.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0044.png | Bin 0 -> 641 bytes files/poketool/trgra/trfgra/narc_0044.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0045.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0046.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0046.png | Bin 0 -> 1063 bytes files/poketool/trgra/trfgra/narc_0046.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0047.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0048.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0048.png | Bin 0 -> 723 bytes files/poketool/trgra/trfgra/narc_0048.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0049.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0050.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0050.png | Bin 0 -> 752 bytes files/poketool/trgra/trfgra/narc_0050.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0051.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0052.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0052.png | Bin 0 -> 802 bytes files/poketool/trgra/trfgra/narc_0052.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0053.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0054.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0054.png | Bin 0 -> 818 bytes files/poketool/trgra/trfgra/narc_0054.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0055.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0056.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0056.png | Bin 0 -> 652 bytes files/poketool/trgra/trfgra/narc_0056.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0057.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0058.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0058.png | Bin 0 -> 808 bytes files/poketool/trgra/trfgra/narc_0058.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0059.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0060.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0060.png | Bin 0 -> 872 bytes files/poketool/trgra/trfgra/narc_0060.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0061.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0062.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0062.png | Bin 0 -> 1239 bytes files/poketool/trgra/trfgra/narc_0062.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0063.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0064.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0064.png | Bin 0 -> 641 bytes files/poketool/trgra/trfgra/narc_0064.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0065.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0066.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0066.png | Bin 0 -> 898 bytes files/poketool/trgra/trfgra/narc_0066.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0067.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0068.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0068.png | Bin 0 -> 1039 bytes files/poketool/trgra/trfgra/narc_0068.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0069.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0070.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0070.png | Bin 0 -> 684 bytes files/poketool/trgra/trfgra/narc_0070.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0071.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0072.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0072.png | Bin 0 -> 879 bytes files/poketool/trgra/trfgra/narc_0072.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0073.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0074.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0074.png | Bin 0 -> 916 bytes files/poketool/trgra/trfgra/narc_0074.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0075.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0076.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0076.png | Bin 0 -> 754 bytes files/poketool/trgra/trfgra/narc_0076.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0077.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0078.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0078.png | Bin 0 -> 772 bytes files/poketool/trgra/trfgra/narc_0078.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0079.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0080.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0080.png | Bin 0 -> 788 bytes files/poketool/trgra/trfgra/narc_0080.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0081.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0082.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0082.png | Bin 0 -> 898 bytes files/poketool/trgra/trfgra/narc_0082.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0083.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0084.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0084.png | Bin 0 -> 670 bytes files/poketool/trgra/trfgra/narc_0084.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0085.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0086.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0086.png | Bin 0 -> 719 bytes files/poketool/trgra/trfgra/narc_0086.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0087.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0088.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0088.png | Bin 0 -> 602 bytes files/poketool/trgra/trfgra/narc_0088.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0089.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0090.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0090.png | Bin 0 -> 614 bytes files/poketool/trgra/trfgra/narc_0090.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0091.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0092.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0092.png | Bin 0 -> 771 bytes files/poketool/trgra/trfgra/narc_0092.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0093.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0094.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0094.png | Bin 0 -> 1079 bytes files/poketool/trgra/trfgra/narc_0094.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0095.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0096.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0096.png | Bin 0 -> 957 bytes files/poketool/trgra/trfgra/narc_0096.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0097.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0098.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0098.png | Bin 0 -> 922 bytes files/poketool/trgra/trfgra/narc_0098.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0099.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0100.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0100.png | Bin 0 -> 916 bytes files/poketool/trgra/trfgra/narc_0100.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0101.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0102.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0102.png | Bin 0 -> 796 bytes files/poketool/trgra/trfgra/narc_0102.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0103.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0104.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0104.png | Bin 0 -> 1041 bytes files/poketool/trgra/trfgra/narc_0104.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0105.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0106.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0106.png | Bin 0 -> 816 bytes files/poketool/trgra/trfgra/narc_0106.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0107.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0108.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0108.png | Bin 0 -> 855 bytes files/poketool/trgra/trfgra/narc_0108.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0109.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0110.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0110.png | Bin 0 -> 934 bytes files/poketool/trgra/trfgra/narc_0110.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0111.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0112.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0112.png | Bin 0 -> 956 bytes files/poketool/trgra/trfgra/narc_0112.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0113.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0114.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0114.png | Bin 0 -> 1052 bytes files/poketool/trgra/trfgra/narc_0114.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0115.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0116.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0116.png | Bin 0 -> 995 bytes files/poketool/trgra/trfgra/narc_0116.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0117.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0118.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0118.png | Bin 0 -> 790 bytes files/poketool/trgra/trfgra/narc_0118.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0119.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0120.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0120.png | Bin 0 -> 611 bytes files/poketool/trgra/trfgra/narc_0120.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0121.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0122.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0122.png | Bin 0 -> 594 bytes files/poketool/trgra/trfgra/narc_0122.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0123.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0124.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0124.png | Bin 0 -> 920 bytes files/poketool/trgra/trfgra/narc_0124.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0125.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0126.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0126.png | Bin 0 -> 822 bytes files/poketool/trgra/trfgra/narc_0126.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0127.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0128.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0128.png | Bin 0 -> 916 bytes files/poketool/trgra/trfgra/narc_0128.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0129.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0130.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0130.png | Bin 0 -> 757 bytes files/poketool/trgra/trfgra/narc_0130.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0131.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0132.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0132.png | Bin 0 -> 676 bytes files/poketool/trgra/trfgra/narc_0132.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0133.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0134.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0134.png | Bin 0 -> 822 bytes files/poketool/trgra/trfgra/narc_0134.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0135.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0136.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0136.png | Bin 0 -> 598 bytes files/poketool/trgra/trfgra/narc_0136.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0137.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0138.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0138.png | Bin 0 -> 810 bytes files/poketool/trgra/trfgra/narc_0138.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0139.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0140.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0140.png | Bin 0 -> 1399 bytes files/poketool/trgra/trfgra/narc_0140.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0141.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0142.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0142.png | Bin 0 -> 904 bytes files/poketool/trgra/trfgra/narc_0142.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0143.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0144.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0144.png | Bin 0 -> 739 bytes files/poketool/trgra/trfgra/narc_0144.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0145.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0146.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0146.png | Bin 0 -> 799 bytes files/poketool/trgra/trfgra/narc_0146.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0147.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0148.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0148.png | Bin 0 -> 863 bytes files/poketool/trgra/trfgra/narc_0148.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0149.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0150.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0150.png | Bin 0 -> 1142 bytes files/poketool/trgra/trfgra/narc_0150.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0151.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0152.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0152.png | Bin 0 -> 776 bytes files/poketool/trgra/trfgra/narc_0152.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0153.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0154.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0154.png | Bin 0 -> 1017 bytes files/poketool/trgra/trfgra/narc_0154.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0155.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0156.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0156.png | Bin 0 -> 990 bytes files/poketool/trgra/trfgra/narc_0156.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0157.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0158.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0158.png | Bin 0 -> 751 bytes files/poketool/trgra/trfgra/narc_0158.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0159.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0160.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0160.png | Bin 0 -> 834 bytes files/poketool/trgra/trfgra/narc_0160.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0161.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0162.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0162.png | Bin 0 -> 750 bytes files/poketool/trgra/trfgra/narc_0162.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0163.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0164.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0164.png | Bin 0 -> 1390 bytes files/poketool/trgra/trfgra/narc_0164.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0165.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0166.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0166.png | Bin 0 -> 908 bytes files/poketool/trgra/trfgra/narc_0166.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0167.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0168.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0168.png | Bin 0 -> 707 bytes files/poketool/trgra/trfgra/narc_0168.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0169.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0170.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0170.png | Bin 0 -> 831 bytes files/poketool/trgra/trfgra/narc_0170.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0171.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0172.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0172.png | Bin 0 -> 891 bytes files/poketool/trgra/trfgra/narc_0172.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0173.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0174.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0174.png | Bin 0 -> 762 bytes files/poketool/trgra/trfgra/narc_0174.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0175.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0176.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0176.png | Bin 0 -> 802 bytes files/poketool/trgra/trfgra/narc_0176.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0177.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0178.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0178.png | Bin 0 -> 835 bytes files/poketool/trgra/trfgra/narc_0178.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0179.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0180.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0180.png | Bin 0 -> 779 bytes files/poketool/trgra/trfgra/narc_0180.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0181.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0182.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0182.png | Bin 0 -> 642 bytes files/poketool/trgra/trfgra/narc_0182.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0183.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0184.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0184.png | Bin 0 -> 634 bytes files/poketool/trgra/trfgra/narc_0184.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0185.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0186.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0186.png | Bin 0 -> 656 bytes files/poketool/trgra/trfgra/narc_0186.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0187.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0188.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0188.png | Bin 0 -> 628 bytes files/poketool/trgra/trfgra/narc_0188.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0189.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0190.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0190.png | Bin 0 -> 760 bytes files/poketool/trgra/trfgra/narc_0190.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0191.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0192.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0192.png | Bin 0 -> 817 bytes files/poketool/trgra/trfgra/narc_0192.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0193.NCLR | Bin 72 -> 0 bytes files/poketool/trgra/trfgra/narc_0194.NCGR | Bin 6448 -> 0 bytes files/poketool/trgra/trfgra/narc_0194.png | Bin 0 -> 1000 bytes files/poketool/trgra/trfgra/narc_0194.png.key | Bin 0 -> 4 bytes files/poketool/trgra/trfgra/narc_0195.NCLR | Bin 72 -> 0 bytes filesystem.mk | 198 +++++++++ graphics_rules.mk | 400 +++++++++++++++++- 397 files changed, 611 insertions(+), 34 deletions(-) create mode 100644 files/poketool/trgra/trfgra/.gitignore delete mode 100644 files/poketool/trgra/trfgra/narc_0000.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0000.png create mode 100644 files/poketool/trgra/trfgra/narc_0000.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0001.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0002.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0002.png create mode 100644 files/poketool/trgra/trfgra/narc_0002.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0003.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0004.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0004.png create mode 100644 files/poketool/trgra/trfgra/narc_0004.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0005.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0006.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0006.png create mode 100644 files/poketool/trgra/trfgra/narc_0006.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0007.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0008.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0008.png create mode 100644 files/poketool/trgra/trfgra/narc_0008.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0009.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0010.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0010.png create mode 100644 files/poketool/trgra/trfgra/narc_0010.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0011.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0012.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0012.png create mode 100644 files/poketool/trgra/trfgra/narc_0012.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0013.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0014.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0014.png create mode 100644 files/poketool/trgra/trfgra/narc_0014.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0015.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0016.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0016.png create mode 100644 files/poketool/trgra/trfgra/narc_0016.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0017.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0018.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0018.png create mode 100644 files/poketool/trgra/trfgra/narc_0018.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0019.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0020.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0020.png create mode 100644 files/poketool/trgra/trfgra/narc_0020.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0021.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0022.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0022.png create mode 100644 files/poketool/trgra/trfgra/narc_0022.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0023.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0024.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0024.png create mode 100644 files/poketool/trgra/trfgra/narc_0024.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0025.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0026.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0026.png create mode 100644 files/poketool/trgra/trfgra/narc_0026.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0027.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0028.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0028.png create mode 100644 files/poketool/trgra/trfgra/narc_0028.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0029.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0030.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0030.png create mode 100644 files/poketool/trgra/trfgra/narc_0030.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0031.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0032.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0032.png create mode 100644 files/poketool/trgra/trfgra/narc_0032.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0033.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0034.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0034.png create mode 100644 files/poketool/trgra/trfgra/narc_0034.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0035.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0036.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0036.png create mode 100644 files/poketool/trgra/trfgra/narc_0036.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0037.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0038.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0038.png create mode 100644 files/poketool/trgra/trfgra/narc_0038.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0039.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0040.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0040.png create mode 100644 files/poketool/trgra/trfgra/narc_0040.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0041.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0042.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0042.png create mode 100644 files/poketool/trgra/trfgra/narc_0042.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0043.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0044.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0044.png create mode 100644 files/poketool/trgra/trfgra/narc_0044.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0045.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0046.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0046.png create mode 100644 files/poketool/trgra/trfgra/narc_0046.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0047.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0048.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0048.png create mode 100644 files/poketool/trgra/trfgra/narc_0048.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0049.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0050.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0050.png create mode 100644 files/poketool/trgra/trfgra/narc_0050.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0051.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0052.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0052.png create mode 100644 files/poketool/trgra/trfgra/narc_0052.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0053.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0054.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0054.png create mode 100644 files/poketool/trgra/trfgra/narc_0054.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0055.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0056.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0056.png create mode 100644 files/poketool/trgra/trfgra/narc_0056.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0057.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0058.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0058.png create mode 100644 files/poketool/trgra/trfgra/narc_0058.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0059.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0060.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0060.png create mode 100644 files/poketool/trgra/trfgra/narc_0060.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0061.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0062.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0062.png create mode 100644 files/poketool/trgra/trfgra/narc_0062.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0063.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0064.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0064.png create mode 100644 files/poketool/trgra/trfgra/narc_0064.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0065.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0066.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0066.png create mode 100644 files/poketool/trgra/trfgra/narc_0066.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0067.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0068.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0068.png create mode 100644 files/poketool/trgra/trfgra/narc_0068.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0069.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0070.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0070.png create mode 100644 files/poketool/trgra/trfgra/narc_0070.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0071.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0072.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0072.png create mode 100644 files/poketool/trgra/trfgra/narc_0072.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0073.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0074.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0074.png create mode 100644 files/poketool/trgra/trfgra/narc_0074.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0075.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0076.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0076.png create mode 100644 files/poketool/trgra/trfgra/narc_0076.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0077.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0078.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0078.png create mode 100644 files/poketool/trgra/trfgra/narc_0078.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0079.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0080.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0080.png create mode 100644 files/poketool/trgra/trfgra/narc_0080.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0081.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0082.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0082.png create mode 100644 files/poketool/trgra/trfgra/narc_0082.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0083.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0084.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0084.png create mode 100644 files/poketool/trgra/trfgra/narc_0084.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0085.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0086.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0086.png create mode 100644 files/poketool/trgra/trfgra/narc_0086.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0087.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0088.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0088.png create mode 100644 files/poketool/trgra/trfgra/narc_0088.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0089.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0090.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0090.png create mode 100644 files/poketool/trgra/trfgra/narc_0090.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0091.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0092.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0092.png create mode 100644 files/poketool/trgra/trfgra/narc_0092.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0093.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0094.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0094.png create mode 100644 files/poketool/trgra/trfgra/narc_0094.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0095.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0096.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0096.png create mode 100644 files/poketool/trgra/trfgra/narc_0096.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0097.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0098.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0098.png create mode 100644 files/poketool/trgra/trfgra/narc_0098.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0099.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0100.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0100.png create mode 100644 files/poketool/trgra/trfgra/narc_0100.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0101.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0102.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0102.png create mode 100644 files/poketool/trgra/trfgra/narc_0102.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0103.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0104.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0104.png create mode 100644 files/poketool/trgra/trfgra/narc_0104.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0105.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0106.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0106.png create mode 100644 files/poketool/trgra/trfgra/narc_0106.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0107.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0108.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0108.png create mode 100644 files/poketool/trgra/trfgra/narc_0108.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0109.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0110.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0110.png create mode 100644 files/poketool/trgra/trfgra/narc_0110.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0111.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0112.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0112.png create mode 100644 files/poketool/trgra/trfgra/narc_0112.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0113.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0114.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0114.png create mode 100644 files/poketool/trgra/trfgra/narc_0114.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0115.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0116.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0116.png create mode 100644 files/poketool/trgra/trfgra/narc_0116.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0117.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0118.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0118.png create mode 100644 files/poketool/trgra/trfgra/narc_0118.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0119.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0120.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0120.png create mode 100644 files/poketool/trgra/trfgra/narc_0120.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0121.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0122.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0122.png create mode 100644 files/poketool/trgra/trfgra/narc_0122.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0123.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0124.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0124.png create mode 100644 files/poketool/trgra/trfgra/narc_0124.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0125.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0126.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0126.png create mode 100644 files/poketool/trgra/trfgra/narc_0126.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0127.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0128.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0128.png create mode 100644 files/poketool/trgra/trfgra/narc_0128.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0129.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0130.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0130.png create mode 100644 files/poketool/trgra/trfgra/narc_0130.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0131.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0132.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0132.png create mode 100644 files/poketool/trgra/trfgra/narc_0132.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0133.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0134.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0134.png create mode 100644 files/poketool/trgra/trfgra/narc_0134.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0135.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0136.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0136.png create mode 100644 files/poketool/trgra/trfgra/narc_0136.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0137.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0138.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0138.png create mode 100644 files/poketool/trgra/trfgra/narc_0138.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0139.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0140.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0140.png create mode 100644 files/poketool/trgra/trfgra/narc_0140.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0141.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0142.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0142.png create mode 100644 files/poketool/trgra/trfgra/narc_0142.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0143.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0144.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0144.png create mode 100644 files/poketool/trgra/trfgra/narc_0144.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0145.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0146.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0146.png create mode 100644 files/poketool/trgra/trfgra/narc_0146.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0147.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0148.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0148.png create mode 100644 files/poketool/trgra/trfgra/narc_0148.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0149.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0150.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0150.png create mode 100644 files/poketool/trgra/trfgra/narc_0150.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0151.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0152.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0152.png create mode 100644 files/poketool/trgra/trfgra/narc_0152.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0153.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0154.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0154.png create mode 100644 files/poketool/trgra/trfgra/narc_0154.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0155.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0156.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0156.png create mode 100644 files/poketool/trgra/trfgra/narc_0156.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0157.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0158.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0158.png create mode 100644 files/poketool/trgra/trfgra/narc_0158.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0159.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0160.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0160.png create mode 100644 files/poketool/trgra/trfgra/narc_0160.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0161.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0162.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0162.png create mode 100644 files/poketool/trgra/trfgra/narc_0162.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0163.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0164.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0164.png create mode 100644 files/poketool/trgra/trfgra/narc_0164.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0165.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0166.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0166.png create mode 100644 files/poketool/trgra/trfgra/narc_0166.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0167.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0168.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0168.png create mode 100644 files/poketool/trgra/trfgra/narc_0168.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0169.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0170.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0170.png create mode 100644 files/poketool/trgra/trfgra/narc_0170.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0171.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0172.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0172.png create mode 100644 files/poketool/trgra/trfgra/narc_0172.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0173.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0174.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0174.png create mode 100644 files/poketool/trgra/trfgra/narc_0174.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0175.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0176.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0176.png create mode 100644 files/poketool/trgra/trfgra/narc_0176.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0177.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0178.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0178.png create mode 100644 files/poketool/trgra/trfgra/narc_0178.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0179.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0180.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0180.png create mode 100644 files/poketool/trgra/trfgra/narc_0180.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0181.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0182.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0182.png create mode 100644 files/poketool/trgra/trfgra/narc_0182.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0183.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0184.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0184.png create mode 100644 files/poketool/trgra/trfgra/narc_0184.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0185.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0186.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0186.png create mode 100644 files/poketool/trgra/trfgra/narc_0186.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0187.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0188.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0188.png create mode 100644 files/poketool/trgra/trfgra/narc_0188.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0189.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0190.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0190.png create mode 100644 files/poketool/trgra/trfgra/narc_0190.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0191.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0192.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0192.png create mode 100644 files/poketool/trgra/trfgra/narc_0192.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0193.NCLR delete mode 100644 files/poketool/trgra/trfgra/narc_0194.NCGR create mode 100644 files/poketool/trgra/trfgra/narc_0194.png create mode 100644 files/poketool/trgra/trfgra/narc_0194.png.key delete mode 100644 files/poketool/trgra/trfgra/narc_0195.NCLR diff --git a/Makefile b/Makefile index 37095e690..881aa3a1b 100644 --- a/Makefile +++ b/Makefile @@ -247,41 +247,25 @@ PADDED_LZ_FILES := $(addsuffix .lz,$(wildcard \ $(PADDED_LZ_FILES): %.lz: % $(NTRCOMP) -l2 -s -A4 -o $@ $< +$(CLOBBER_SIZE_NCGR_FILES): GFX_FLAGS = -clobbersize +$(CLOBBER_SIZE_VERSION101_NCGR_FILES): GFX_FLAGS = -clobbersize -version101 +$(VERSION101_SOPC_8BPP_NCGR_FILES): GFX_FLAGS = -version101 -sopc -bitdepth 8 +$(VERSION101_SOPC_NCGR_FILES): GFX_FLAGS = -version101 -sopc +$(SCANNED_NCGR_FILES): GFX_FLAGS = -scanned + +$(IR_NCLR_FILES): GFX_FLAGS = -ir +$(4BPP_NCLR_FILES): GFX_FLAGS = -bitdepth 4 +$(8BPP_COMP10_NOPAD_NCLR_PNG_FILES): GFX_FLAGS = -bitdepth 8 -nopad -comp 10 +$(8BPP_COMP10_NOPAD_NCLR_PAL_FILES): GFX_FLAGS = -bitdepth 8 -nopad -comp 10 + %.NCGR: %.png - $(GFX) $< $@ - -$(CLOBBER_SIZE_NCGR_FILES): %.NCGR: %.png - $(GFX) $< $@ -clobbersize - -$(CLOBBER_SIZE_VERSION101_NCGR_FILES): %.NCGR: %.png - $(GFX) $< $@ -clobbersize -version101 - -$(VERSION101_SOPC_8BPP_NCGR_FILES): %.NCGR: %.png - $(GFX) $< $@ -version101 -sopc -bitdepth 8 - -$(VERSION101_SOPC_NCGR_FILES): %.NCGR: %.png - $(GFX) $< $@ -version101 -sopc - -$(SCANNED_NCGR_FILES): %.NCGR: %.png - $(GFX) $< $@ -scanned + $(GFX) $< $@ $(GFX_FLAGS) %.NCLR: %.png - $(GFX) $< $@ + $(GFX) $< $@ $(GFX_FLAGS) %.NCLR: %.pal - $(GFX) $< $@ - -$(IR_NCLR_FILES): %.NCLR: %.pal - $(GFX) $< $@ -ir - -$(4BPP_NCLR_FILES): %.NCLR: %.pal - $(GFX) $< $@ -bitdepth 4 - -$(8BPP_COMP10_NOPAD_NCLR_PNG_FILES): %.NCLR: %.png - $(GFX) $< $@ -bitdepth 8 -nopad -comp 10 - -$(8BPP_COMP10_NOPAD_NCLR_PAL_FILES): %.NCLR: %.pal - $(GFX) $< $@ -bitdepth 8 -nopad -comp 10 + $(GFX) $< $@ $(GFX_FLAGS) %.png: ; %.pal: ; diff --git a/files/poketool/trgra/trfgra/.gitignore b/files/poketool/trgra/trfgra/.gitignore new file mode 100644 index 000000000..574e26f1d --- /dev/null +++ b/files/poketool/trgra/trfgra/.gitignore @@ -0,0 +1,2 @@ +*.NCGR +*.NCLR diff --git a/files/poketool/trgra/trfgra/.knarcignore b/files/poketool/trgra/trfgra/.knarcignore index 2856080a5..e2f57de13 100644 --- a/files/poketool/trgra/trfgra/.knarcignore +++ b/files/poketool/trgra/trfgra/.knarcignore @@ -1,2 +1,3 @@ *.png *.pal +*.key diff --git a/files/poketool/trgra/trfgra/narc_0000.NCGR b/files/poketool/trgra/trfgra/narc_0000.NCGR deleted file mode 100644 index 27106bd85271503feefd295a1e2e09430e0b2681..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WpJ$n0DaWrk+b%wyfnjRe-g*ERTM-xl diff --git a/files/poketool/trgra/trfgra/narc_0002.NCGR b/files/poketool/trgra/trfgra/narc_0002.NCGR deleted file mode 100644 index 79fdc9f8ed6aa7378681afceceb76f19ca030746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 diff --git a/files/poketool/trgra/trfgra/narc_0002.png b/files/poketool/trgra/trfgra/narc_0002.png new file mode 100644 index 0000000000000000000000000000000000000000..d388414743c1b0fe273cf3162c225483d7885fbc GIT binary patch literal 817 zcmV-11J3-3P)002+~0{{R3Y;$7=0000mP)t-s#l4)x zYMjM6IreHwIYCl6VvGOYTJDs^&CTA;oH=_zLEfZ$|JA(!0069{&F=31v9z8N0008K zNklBjE6bJBY$fO__4MCui#im0;21(10_w-KZ zLuj0F#u?{-B{nz(^#%p%Ly{LX$khPKi-n#~=_wHSHw05Ay4`~Wk3233e*R{U~28nkNjY8W&nAU=g%)m>-f?8 z^EMD@8V7{@{?svnKxAYbLUundWq>?ZqSGLx^Vov|#dPo6y=KaT8VV9KUUkk*xnLmj zT%%j}bRB9a=%lE{@9S`&SlNij<2_f0>RBLNZRxvOcY!Jts`bsJ@2gJThVdGG@-bPU zi&Yqrt?7RK=iMhO3$?1#`oir^5z?%Anya5J)PxrMKpO=j@3t*C-Dk^* zWX;qU)nGn^^43_}{;-vJP&8A98a!66nl`7nwY#d#GB6Vlq{Lja&I@io)n?bsbUFkl z9unRPx3?0>^$r6!!=43xa3ciu^ic?+YKs#T*0p4DIxXu)*fSDrUXaaXZF(NRm_OpB zqHJnv8DnfoGb#+2&{Rp1F@^&ZWh`5gWMQEFaAHEXWNcwe2K!GDoUf8%-Kjx&Xv%SH zq3Z0xfrPYCuh9ep8-!VX0tp^KgL?tU`w`!Sy+S+KW&pt!TY(~6%bf;$g`l7r9BM=p z>PRf==}?L;5a9JW&V@S8m9y8!I9CVym?iu=ydFw3FrXYk-3m;Fw_ag8yn(8af$a!X zKtOpvdwnBF63Ce4{istB2vjOJpaKC3r4b`4C5WlqR!SqVq?7?l?CxYo;Gc4|#JO^a vqh*NDuL8Z~2al;g>QnSQfR>rUk3i=i{Ru~}{yV6t00000NkvXXu0mjfNh5Ro literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0002.png.key b/files/poketool/trgra/trfgra/narc_0002.png.key new file mode 100644 index 0000000000000000000000000000000000000000..8edc6ad8803d9f06e804deb24c5383772d4dd112 GIT binary patch literal 4 LcmdlyML7@v1tS5x literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0003.NCLR b/files/poketool/trgra/trfgra/narc_0003.NCLR deleted file mode 100644 index 1b7a99d8ff1e40a307e4b6951244ec06f4658c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#6SFY`2LXDr^>F`?pm)O Wn`D_^DaWrk+b%wyfnjRe-g*EX>Jcdb diff --git a/files/poketool/trgra/trfgra/narc_0004.NCGR b/files/poketool/trgra/trfgra/narc_0004.NCGR deleted file mode 100644 index cb4d5f1ac0220177eb7df2f50c3eba6f6725a91b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0001X3okh=7X5^B7@Mrf!-+Sp4M%~bk5!o}=QAU~6=62!;9ou*GOgO;cFVrF06CH# zWp~h&-36(dr(@r+WD%=YdXJY3a$RInS^MOuA?e_b0H^bW&$Vm{Y?Cjb7r~Rp*S|#k z)eR!TzbhY@CYdAt-`DDNWo6`gG{X~+E^+WS`R_&SUA+@Bs#|S{4@p{X0|&NbpA``5 z0P~B0sUg9p-XELX32ix|7>mz%-1&swYByC>eZ}uu(Ic2}h|vWWh)+b!*&UM-3%f;V zjj5wf7H7yr|8;}PrBgUy%YnXz^?yOU&CMW!f$Ps$B3ZV+1(y#rB_+!`euHdKaxv@n zCa;pL<$dDvdmC;@n+d%xImap_@72btTC+4jec_8{9N#ybAuZTq`b!`<__?>9u=g1h zU4?cUJL8Zr?2(|>)ekX@f!zVp{CnmoIccU2Y$x3WZ#CMA9}|HfzdS>WTjZT(F5Mlxv`*jLNDwr zwf#SG-XHb{C8uN+yz9M z&SOHba}kzSF^|d&kzJosp!?^jQ0Z%q*QdsW4z))L)05JmX2HJ3&cC<(G!31?Mk`{N zm6`7T_SgM%VMMFz@*6{JqXHaa-_+zDZ?nS_cVaUKMNV=kuYpEX|vO2vE0ZZdJ=eYu&NB680T!j%DV&n5L z`;m**j1Odtpxr#uLwo5cXlXGHLnp8Vt~Irah7%+p4nb5#N($1qvZ_xu0!Y$h4GNK%Wu+bOg*f!RNFBK7RhSv1&1=^J(U=0+jBqwV4*=K5uXQK zSnaVQBMWr+LV0yw&9|}CdqvpV3!^OXo>69&8qbhSh@I<_bvw%FQz>-L*yjYqUG+;! zK+~+?K>_~;=>Kgz+)Y^mOlvgQNZDpSC>JcWvLrkk?J zA&E_{yGJLa4OLGnwKHkJvtf+p&R--P@U76|gv&&@-Z>~9lXv!%+Xdg6^<$;5f)RmM z=#TvjuwB|x=lklYf9dv)uBVxVO|>ElI+JyvwZZAe#lI^2lMNWc%`2st1ev-14c8EK zV`Un8g2UO6OmW6GXYZ@*o4tuLI9qdwZAox$u?Jja9Tmpv&hycLMgy7?O3m^XV=d&MPMA0u9HrqSCL_D`zJ7aa)_nY&A9>#4a;#Aj|qeRVm?b5nj` zX@L}m<9{c-i_I2-kLy)f09j1FGnX|qBP9Vk%!4vekTJpbl&|=#BYjx%2^(}s`3ci5 z=f}__ZPk3LD6@J%8{y$*3f~=^-!0B!2ur3o*11id-uFKgTZOC|iQ`r<3Xyi!Ll2jX zzukAzihJxRmub8X8YhDU?KO~!?Gwi!T|s|FK|f@C!;Mu!k*h`+JQ*K;nOBpf?(8{4!9#mRNC5=VNZ z%vGu?oHLBTf?+r2MPC;j&#lYii^~VN%{g-(DtC#L+68)=9AgNukr8ZGpN}vM&s`N# zF8l4MuIYh}g{N$UjJ5p=p_3S(1i=)>yuY3N@(q*1R4eG1bD4zxB-bN!;$<~@DZ{*w z+i@{Ap6_1lI=w_P|6BHm97%g_2nVlZ+!Z0}we$3V79ql>Lmzb9rfn*sEsGd0+JBn7 z>dldY7VDT;Z&??Qzis0rRKKF1>@EY;Vl z53`*>>fwxLf!`3EzAedO4@+q{#krWCb@$Q~T7^d%u;aNf8IfVu`VY#C-rcg&(R=SG z#%V_m@h4UUEH!J2R1<0-tU;@iajE-;@dX}bjg73vxnH^yOqvrsdI(^{-Kv9|DWw#7VW1ZF$?@u_=nqhUcop+w}oT4%71B-!f)3)&EmGnoUmv zT5G!4CfWQxRu@vV;iaj%#si1YX0hRR=Pv~;lKpUUG@H1{e~DwRX-CbZi&X_GgEOzd zQDNfdyk80&uC2!6lFQ1tgD9^L@OT`Q*##AvLt|^Opb=MAR*z#0?p;t)b^GwB-RTUD zT&F*T%eB}F2$Q>@Q^7yRv%e7hQ4J2l+bb)W;+aqWJJ&XJVP#Ny(8Hggdti+x#N83> z*}eZV##?!a%SncAUk3tYn-zTOobwle5CGG>hAKnE9~Y#y6omm7LWR|)AZmB)4@>(w%<_OrlWsD~zZ z>HQ3xoh`&-7E3HRw7KJ+4EJReS%u;n*W(;8D3MIou@C)>{oU=-7<=+4^=Z-$$R{ZT zYc)oSyAur{`$5%4FF#6rfsIQ-pR3F_drYQZ<#o^WAmv^9qeGDpGV#&2aBu5uDLvh? zsoS~;Bgu>I3WqD?dX*_^kaMX3&7ndjcAwx}_3fe}I19b_4|!HzlDBHqctxq&fTLB? z`C=5b9qrmf<(-_8N;}i&;3*Z(UFUto8ui>tb<>sLE&+fB&Hu(c`Ay0K;cNZamD$HW zZ5L&Ghh82 zjjh4rnahp1t2qfCSa+|K*afhfYGcl@uMt944Ud)#4PA>;y!-R04C$ASGp7=S3bnHe zZg0@h>Wn_LJf(+Vk>T#QJEV4QrAgz;ALxicf*2^`Eds}4DZD3c)hwZja&SP zdP$LPwg**YS{2vogY!Cov>_O#F&|poWNjd#JByyjIzm7N0n7obcg6Nvlp}|5)6tw3 z8&5;bbRD`9Zo5=yc&S=WNoVIoI(5p*s8eTPR)Lj<$bW#msLh9hBZmjh;ec@L+^L&7rk{dRExwkmXbl$(Arm< z85J_>YV)msgCWDFs2@$-Lv0(PLW^N|cKJr$^f$*;cg2xfyCdpw;?ai|(oc5GlO6RE zwYyhnr>W&mAZNNnd3B}A52LZGSUfCS$Ot4f+A;!ytLq*wvsrk)kC%ZoA0=%%XoJ2` z%rR~DaIeIypM6B~B^!W9wF&<&L&qE>Y1Qbe#IpuKSK*Cj=HKa@TP?a`B)fitpGl_a zO@REF-#*0`B@>m`v5_Ly9}i=UJKbZ_rhE7(Q)%c9b|=pS={5X{i4#*GnL#T?9X~L9 zKaD{`t*cTP_!&!n^;hQf9_5qz@w4pBP%hBUsTd~V?}q4U>L$H^cFCdcxQEf?_?6#k zUUTmNYoVAXWS_=dv+bB7Mhipu?Ro58z_*apc17RX&Z8Uf=~4Zbt}Rc zK7If4?6j$Zn+Xao3P9(qpxQ&KtFzg#Dd9L~UEkcCIxV$gD@%1afw{z<(f1w{R)w<~ zOyfl`Rgn$W)(@79THT(~?R)zuf@yOOO(&uRC^grL@Z3Bv=s{LS>u zXBifL3|IN|o#n3jm_s@c-|-T*6>kJ=20ae4{@X(cFv+a$4~Hb=x0O0-MRO7WI-x@* z+n>2ylI@csP5TM>+<7-%S3av;?Yw&0^`n09_)+MVWY5A(LY+;LA3NOWZ7H_S;^+3n z*Y#~ms?&bp8vy|Zvi~1E7EL<>c5BAi;@K!ZvKOAT-K7<}VgnPbhyRQcTAA~)?+b;ZY82_vv@0MT6*Ku_Gv(H(0NL%UsQ1*!W^&Szjm_jOy! z-BVCtLxC2Ct$*3P#m)GFx$EaxnpqCMy{EP&3^c4dwu6LF>M=w1-mfaG-F>?9vm1s; z6A2YA@yEg>=hdF7lCw-e_2J`Y)ZfpX87;74GD|o(aJdhjX!o%cRfSF(bK|HmWRdvR zjX&$1Xw25qG<*Iiv1$GeBqwzQXEm~lR}+~aH$j0$3qKZo{f#$5yQ|n3)*0b`BUcRc z9OcRSKSLc5Zt;D#OmDYrr9H{A#oNXR-^sV`W~65IXS8N&EORvg38C&LQlG3`aqW&G zR13-Y%Xxxc?zgtobVU`~9HZgz2T{|O8_)GjVV#JQW;@^LoGC%hx#!8m7WGI<5z`^y zY5^<;sobzFRDYBW{c8!>QQ7l8$rrJ-T%|C&2?O@fF|qh|`Y(hmt^F5r7n?`O>WP}J z97k-VMpeuz1~Xp3Twyup4`0a~39YT-wab~fXE`+k;l&>5pOz ziCuS6*!%ye$mzq5kEdRQ2DKjw3zO=g-oX~ehQCkzEDd$Sek*#I4Vgy%uGf`x+-28# z6T=RWHF2{x*v+!e%a0mAsayAlHc7p15(lAVRux0)AM?h5@FB#e4Id`l;B5?|SBt86 zL-{A(xi^4Rbj4y?Fe4Li579^#_fHSZ@ExWSio0NFG^vJ8l|&I{$;XYyM69xul7T^n zq<>7jB+YYzKf`6|dc_e0_EDdK(Ey!U-TQNXHc< zrq%hXd9!ao#Nm!+_T=$n_>vI03RSwyU%6VI|Mx@`RE6mpn&S&FbCKiLL=XIonB5f8 zdwT&W;Ax2t`zJ^QrZtU*FAy@$%=HI?vc6LVMq*rAyw$)BHGQ0<8#TMLZ%x_QlB zg||u6b49S)L!(6S7E!)NcyuL9fNcmkN!9bL#3{_qkmsDlRrMoEc+;el+1n}5H&gU#-O z$Lnoacv+;r>zBY!Q*Z)f|1VF`wuUSx7|A7PQCBkb8s-1`jYH!QjPX;px^Eq9 z<2^sJQ`^i4J;}}P6o(z;^p#6$`g3~#r=hfhx}TC-~*#rJGI2NQtnn%108U#8rYS)H9^O`eBde z{a>#f$E~B{!^J4kcj4J?`>zUmC+}FEw+GP!TVZ+prQ*ntlR`2%gGQAu! zH(L&flu0~*#0N)Y)D`*a?eh$Pjv*SR`yUM4o^1l6Ws5L)A^E-D=QpNQa>bZhek0j% zEzuqpWlwd?E*%^a7`tX@lBt|dQ)k&kv~}#t5>q)~FoAezoqsaC;>~G-PV2B(=UH#Q z0+--4nkDo)tAj02mobF)gReuZx_#^N2pbPbAPF`u_Q$&KI33~@9K53s0sVD9PBsD{d zj1z(&BtZg3@IP;S8jYwzP^+OBBN;+|Xjet_ndKV#G(*M^8^T@q{%_E1f<5}O8rx3@ z?8(^fYlm>;vz4Z5;d7n5aYg3Zk)sOmG*Oh6 zK+ld$zMVOeJ3Hv;85^V8G3P?W)AiX(M$-!5R{^aCj{oaCl1(Q9l55h~p4n7B4j1aQ z*`V@F5cvq+em6N(am6!Qr6W9WJkj>)98ajs zO&wPfU%P2&!Ko)sDrc-j^L59{c~jhAe}Te=iGQWMLCxfX)$8+ER#`f}8JF`k86^)o KQiBjsCNb{=shO7m diff --git a/files/poketool/trgra/trfgra/narc_0004.png b/files/poketool/trgra/trfgra/narc_0004.png new file mode 100644 index 0000000000000000000000000000000000000000..384e427b321f86dd44d6f49d79226f99c27db34c GIT binary patch literal 662 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 KtImt(qr@1Coq-bo diff --git a/files/poketool/trgra/trfgra/narc_0006.png b/files/poketool/trgra/trfgra/narc_0006.png new file mode 100644 index 0000000000000000000000000000000000000000..4e85a9d8d349bce3f506c364e5dae35350b2409b GIT binary patch literal 728 zcmV;}0w?{6P)002+~0{{R3Y;$7=0000mP)t-sQk+_> zw7pt$ltD^bteio6b3sx{K`}Wg=4vsVQaS(Cz22mIy?bJNN?Pvj{{R30avEnEnAJeTN_xvRwZHeeXai(IIc`bcNWQG)e~{ zzFBnWl5@!@ysZcd9eNFME(F|^Ty^OnE@|4MNwqfTdpQc-?<+dwJKgl*ectzZe{h71 zGtM~U{G)KrA3#0En6--YCRr2<2RUK3bznX#f- zR3r%0)bL&u70N)3qcQW5V2tmWHV7;*v&y)4vkU^)SZMdNyK>mK$tMiBv~zzb<$1q1 z^%e!*>qzPK2Mz*Mi_H9eDYu&ZOgsaD=D8Gp%YG?d112#7+48S1t+Fj@5>T_IdYV5x z3Xi${!`()J+~j=NZKr3Jk8kXMM1V!k55GTM33?ZPGr6bE29tNYPpT`88O_6hMFn1~ zRvYO-1=83W_rGN&W!FbsN#jS;5l)0000< KMNUMnLSTaRWJDbR literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0006.png.key b/files/poketool/trgra/trfgra/narc_0006.png.key new file mode 100644 index 0000000000000000000000000000000000000000..1beebfd47a1397ecfd9829250a731572a379b186 GIT binary patch literal 4 LcmZ=^Jr)fB0}26a literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0007.NCLR b/files/poketool/trgra/trfgra/narc_0007.NCLR deleted file mode 100644 index 271185bb070ee1d5f76c4ef5dd0cc3a8f68f8a0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94Y*<4${O=$0y-SJYB` WCbCB|ST;U>w%vC_eciqF3=9AihY;NW diff --git a/files/poketool/trgra/trfgra/narc_0008.NCGR b/files/poketool/trgra/trfgra/narc_0008.NCGR deleted file mode 100644 index 9257ad9520ae428d880491ea21e5fbe0ee27eaea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 LNkvXXu0mjf6`L}H literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0008.png.key b/files/poketool/trgra/trfgra/narc_0008.png.key new file mode 100644 index 0000000000000000000000000000000000000000..7b12bb1e4f257e55072b7b7837728680fd0d8aff GIT binary patch literal 4 Lcmdn7uYC&u2H*m+ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0009.NCLR b/files/poketool/trgra/trfgra/narc_0009.NCLR deleted file mode 100644 index 19e2d3e0001c731131bd022190a0a2089c224acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#71^v#fDK`UaxI6G^-W6 WJ=qM8%f!dew)<|Vulv8AfdK&dybv`2 diff --git a/files/poketool/trgra/trfgra/narc_0010.NCGR b/files/poketool/trgra/trfgra/narc_0010.NCGR deleted file mode 100644 index 03c61e098f46d48e7705c04e6edecea60b6ef8af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KA4qTs#xBOH;$`*# diff --git a/files/poketool/trgra/trfgra/narc_0010.png b/files/poketool/trgra/trfgra/narc_0010.png new file mode 100644 index 0000000000000000000000000000000000000000..677d27e199a8791f317d5d21efa3a986a34f39c5 GIT binary patch literal 621 zcmV-z0+RiSP)002+~0{{R3Y;$7=0000mP)t-sl#6?` z#pa8Pv{Iy$T6=pzN>bihL0V#zF+pNEF**O$z22mIy?bJNN?QN_{{R30Ul>z@0005_ zNkl4%vlG?yG95(E<1%<*j*72%Q00-*B_we zT`N{|Cs#$H!*YK>2r9&8*Tp{|%?3RSk8_<(qy2rY-0vUo;mtgF?-4a=(xgd~CQbgE zXsw}Mtdv5EfvVHPffvrfn>cXCa~)NnN(_8Ql-k@Hd<21YeOmL@;4=se^kz+R(FK7d zl4{NzGY))qX!gH%YjE@u0zS1pDIkBu=1 zaJYDHU!P7~l9;^_z@y=FXRV#Q8zxU6J)z+XSL|BdYhilq|1ep;-7TVxk}3>HEnQVI zQX6wwVnEH^HR*@!4S5~neR;*(XYE+4Tk_ghfG4bdlYJh#S0+I|23P3CX#71^v#fDK`UaxI6G^-W6 WJ=qM8%f!dew)<|Vulv8AfdK&dybv`2 diff --git a/files/poketool/trgra/trfgra/narc_0012.NCGR b/files/poketool/trgra/trfgra/narc_0012.NCGR deleted file mode 100644 index 16fa29bc4b15d736776c75c89c62ca709f7347ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0001|bcD3E#R`d&prEY5T*f57rTiKVTf#gmaF`pJ%>InmD|8BF{dy6@M394Vc{T>` zX6$0U3^M0ieu%_L!)|Z~w`2qr>FS;He1N_o3Z|B|wtl z)Mn}57@X!Ukz)5t@i=X{;GW(0+7yC?4;q-`K`_CQsn%i-(u@Y(deXUjcPMUYj}BQU zUIbJ%Gm1PD@*q?}@axn)zX%-3$nG15;N;_#mTHl64gjX1-zI0D^;|yfZz35Bg80aJQ(j}Y-_)T+*4ja% zdhldXgqHBn{!H$jDU$0uSm;?P($4PZvcv=R$x8OqdftZ;16 z`4-Gi7|eYgM-mUa*=X^p7f#w|97H2^x5_C~Okl5pvW7W-6})lH)PjZUV_1e+D!$2= zV>C%6|2hJLfKXO3-}Y*+W~_;Qmhyia0!aS}F)sbbek2ps`l{ZuNI+rXe`a9c3!KF* zjAH&vv^ZS3E1q=sZ4`lpsv5uJq%hEtl-3y!1&k%#wbB54dMKS~8V)cgF$9w}4vM1_ zl^~-*9Y&WwQhce66GDfpR2ae;{eCZ3$n;3%CHjj)84%j>8MfGO^K4N)rLvLRLI}&r z)9!MIGvuO`@oIQ;F#vU;iYDHl=v*D`Y9b&DMfkUQo?iO5a@3$jaoT93-SBf!ZUCzblg~USjq)J`W9pKgh$Obk4&O9Mak^;$Vh1fmW4?fiwZM2A` zjJj0=^3a{Jly-(Mz${t)^K#>x!^qZ&wyr2gD5P>#C@NAjTENI*)#jUD1st`liQ<9F z6}VG<)mFrJx0C<{c$!jURndkR;R=AcT! zvc?j>i~QIPQNl_q_L%vZV*a|7%MV5XTLV%&^v=%OQwCU`ITL*B(VJXD~?zFK@E4{&?Y52*yI3V&tNJfr7 z#e4{jjzSKr9{JD+*>A^F+w{lfK>9L6{19pJgtiZFrfl#%V6s@-#Rz)I-tNhVhU8(D zOln_qQ~*SwH6~S`+g$wZWg;gF2>7OX>0Xhy1=OEK4BC$~SnixaONVLhWK1lbpOSey zUg)4FXVW$k?pe+CJQeZZGtfaVfk_#Bk2gyM+H*tkMDoE}$q zN|gTv6PkHrxv*vtbyh5o(F{~wj#BIUeyHQ=YL0TJ?Syf)RtmlvXTFEu%tsoY{`@x$ z%)-$tIhbgfE&kEhWORpRPI?Bz?T|2Wx;Crtf9yZKJu*C72Z+&0xI!$;dQ`%&yi)&ZO{F-YOt7pulEfE9Qw`>l|~ff8vkJo47GqU8Ggah9B_-uC?hy z4xwZKaYyo=2Mlvv$x<@=fv6Jc^^QrWz=W{1F$yJdZELhW7i@pw*oHWKIP&)U6DNqA3AodThf2?MG$MV!0 zi%1L!QZ53=cO+2N3#yZ|u|UpeJMF!wY!o|iAfFsd{VO=A9gir+CKP^!dm1$3%`p9u zRn|Tao{WOsX42JrgD5I#yAHJ{ssvCqpNiNMejt!Ro<@8>t9-_dghCvv9T*R9DG380 ziEWUugY|$z!XTF5OQ&pJ3~Vkv*0Sc?%Lv%X^zL_uEacyn0%|RDngHUVizY*#!CboS zTOu_Jj`)Ome_p@0E7YAuLfYM<2JpZqN8!6jQyD*E8j=S)WatMt@84V2{>1LOsG{7 zuPL+=biq)eIVuM;!@wqR$M+F#-W*b`dg7MLUbrARG9HC@aFqQ8Nt(xFf3SoROIDhX zHw=duQWv^YdW6ex9TX$JTGDSnGr6!b*pk@_b? zr4SbJ#kRC>ziiDtk+QAZP6&s||L)F*f8?H(U1}6_y#TSLiHi_59uQ*fRw6tLQTTIe zE5E0=zSNvW-P#1BY4ER68f}NA-E4YeI6Wl1C;y)cm()gstIRjfU}ncCk#& zJAx?dvRJWMA-+79!ZgGshB`%q?@%Ez_V#_R<*cNAJ@R53kw|I@XfCkF9VE`x!Kz`i z_dsmn)@HNc%A6oAb7CR%ILFFmqG8BgXXSi_u^NKolQ0{RE7q(J1dPDl+|pxvi71F^ z(GFuLPz263Rf?t)#2_v~^hRnwk$i-WdO|9zqZsWO^nRjOC-lSRtoqK5GwWIo?HobH zS)FA)OtN&_(Fiul3hpI`(&Sy0xN7@z-~fQ3;U+Pkr(AgLQ6fVN6!>C!6<+PPQPi77 zc-kwY%<#TZ29`R{FifbOi;_iv(Id!`zGPBOiPhr#>q=nLOyFSwp9Tp34Ltl!`2uWf z)Yxd*20lm^%(Mfg6S|lKVbEx?t9F?$KP+_pnsUaQQpiDx?XKHL$D}P)?Foea=jdQu1bim0FImX6M+ zIfQMs!U|fG6`<9@iN@u>%KWnpxWcXfxo4Rof&l_2{A4{9X6o+qae!wbx2EhLA>8L}&!R?)^?2I(y56`q8&sRc#agi1 z`hYqvwAwn}Q{6Znsp7D^>u3w9Sx)3<4n&=G*~*hs9$<-qw1xwJ$Goe}wt}zg^;jTT z?7mZ%)igsTp*rk?(onE5VfM7In5;v6`0{NO6iC*^zw-Dd;WfO~9ICjw8bCYYfo3Y- zy`29oZel1)MmYAl?VkSk-xPa=Od6@<_An}u7S>}AH;mui7t*SGj3~EhTn;)XBLodK zFp3QmXCRG?!%30R8fDUr^+K^!85mp{zkaz_I`l&2$NF_cYY;T?o3^!1N-DfFEWn~+*XCtkw;b=S zYvQZRr?~Ao6CO%;DU|vJ8k#&~sIajS3|7C7&qI#!*l{=)p|+8T#);5(Kf#C{_I-4d1R3Lu2h=EU|MD)VQ|&aW){s) zeau!JU^?~C&D!`DXHoIZ9J^0Wb^NxJ3( zC(wqmfp!Nkr7W`j5OP$TSjeA=1FnfjZKSJJr7EK{Prz|ug67;`svOR(X5zBTYPj4v zt}W6;kJr6HwQBn7^02@W_f~d~0}Kvb@KTlgkf{CXtd4xA--PS6cnT5fiuEP5(%a{V0@BUlY)^veo@OtpWKah%X%mv2Wf~dXukiu@#7KrOfCT@QRqGY=j z9O}IDw}1s94W`;32i&D?#iCS;dw96{P~PS@K~$N=`&x}7#Bk)%Q5J+xu*`KG9}-8q z@n~tOP<^3PKnq_nfXbe%WMC(O3Wo82t-NW?tb)DkdszNig1&*5`!qo%*E%|bm{86! zH})d0{;Yw0Zt}Mq8c25ui7vIr79U^P% z>q5V)Y#2Jp9y-%xZ@UAg3HrlBF%VMmakh|ei)=|feX_~hS_nhQEAA?X%jBAs$!f53 zNdWDk;wF}#fLs;rLLyiTUHC6~_Fl5L3e=cIN!p;J_3-O~eBG-s$-GKgz>;b^bLapm zwa$I#9mG2Id`gwmHQ-JGAO`LKW;_{9Y61ako!GV6XFiP=1+;*rWV($53eXj?>~=mc zSS(Tf%W@l=+sIBdwH570z@(a)+$xGQa=<`gE#^~SogA&LVdA;VEx5}$sUCQDPn7rt zP@0NkZm`c0;#Mt>HViFYD^lG1lc+4|H;z-MvV2v^P3woEsB9Iwzr#39_WbBx|S~9I$oQRr9F>cle^<;V#cj}|_+JMv{ zxTaAb`rL$Vz@l4=K6s~9F$8@#)Kr)XT7k49Cvfx8JQh1oDsBv8*7% zk|};0ok%7Llr9X%X(YtIWoz#~_@Wgrb zS4#ZT*x;Q3O9tfs**thnzc7+(Xbx7 zH&*12X$(wVmg(60mZ)3l!j3AZg@kFfE(-ROp`a1LHO9femi#Xbq{0a+QJCPFh5m`x z{B(b1CVD=@1(2w55;kM+7wk8^6*6>NABg7TF>WmfNMtz`(p7Qu{eYt(W2VR-?c8H+ zyP{%?0eF`A=H3)HXH=KPFNg7R<99l@isv_h`qdg-$?cT11(3ManNz zs$gm>Z-(E0le{O*Qau3V0a)Bw7{0HUAv8ZF4LXQ}UQp~Y4fc?)WURk^?QpX8n8J=4AD-?HyC)SDVf-q*0!qz_z z1B_eU1JcHOm?(2;hz^z~Zv+W7oQkOv^B}oF%SJsv(0pHw;X=);@)#Hy>wXnihV(w= zGx`xj2Z_rHN4EZN@oa}ZJbR1OURbop^6*!@}WS;T&z7%$aQyOgJ002+~0{{R3Y;$7=0000mP)t-sdun3E z#m$tItV&91IWa+`gL6_!N^_)pVslzbT1x-bz22mIy?bJNN?Pvj{{R30gFZPT0009e zNklT)#DmG&Xl%ARmk)jukmF=YmAuJl&>ZYB(*?j1!O6DC(@m;bzOn$ui zdXp&1S)9dL{P&^Vn2cb0edCl)B73wmg68?hZ5tI#1p=rU))J(n7qCD`P-HlP2bOI} zu``4Pwm&LEhLF)p9T>K^B=n*TcsBu|8v_Hw;MG%<0eu1-1CKl2dr%Ve#os3d zcZ)}B4Iw!YPKnqw1F`#B9rV_Dzhy8k_RLajWcTf2q}Jk1qSJDMES=7Mf5?ivubI;T zq2RO(DkHF)zqpw z?3anhSfE#>Awgpf!y}piuQ`yQF^vMM+I4!>AwLpE%D@%82WrrVvBNS!4lfn&uEag|ZFB6h(L zO9b#;{mI1!3C@_$9|LoL?Rm;LG@Ao;k-$cUA?_+dvEgjK@pxca@*pveCa(IbfB>@D w1_S0+I|23P3CX#On|HZTHWlWKsc#;-7Pw31kG0th{ImAZwI7-3Ok>HvE90pnc0z9Qn zrUI>NdDwy3<34#8A+(I8AiB8&X3$}==ys|v^eo-|2Xe=ox5yfaimuE@+@y9@yehUc z&cKXeDdxXlIUG5yo#JK73AmRzB_3pVYm@{944SrM%CH*|-d359(hRv>XHtm!Z>ad` zvyMNf&V)9#4+^`JTA&WW2F5nOzx-ScWx_5i>X<#5HvV4M1#}E$$9luVevoBxqc)iD z0PG~amNHpec!*|6t!}~x5oCrHGwRRtHh>@@w5GiumfR3+{Gtbo8hCU07v5<%@KmJ5 zQd;06gK$65I2NZ*f6O2qmJ&L<&}d|-c1~4iqeNzPCd%|vV_?F8F@{usyu4J+V}kJO znpinm$-ab_Dm2U`t~w2a*HEc3p7zDBO{}baW%4Q;c}VgJ5H9$~g(TM1>8dHS-$3-? zerEgMGMp$an_}rpYdDX&N}jLxv=oGe*&0gYdoZJs)7JD4Y>dd=1kx*eaVQXJc@C>5 zxCGWUeTr@qtRS{QoJO)g`FxCxqC)bkix_nooPO$8kMzss)cTe~a1br=*tRoo+H7<^ zbh13#xdFb(vhHn%I^<=Q;A+Ej$N&hTi6(iU4_tulc_Ir7{P^m5y^b1m98U4FQhe97b=}I@xWVQ)aEu{ zEF2iEnBx4x%(#X*a31@2{*(g+r<&bkEwCyP$yQL01q|3-qEgTMa;PWiK8_Zrp@em{ z>Ix#0{h(dJF~%*wGW@#@;KH>lEtssC0seK@7<7we;(GeZVUYB34mO{<=IO(|Q8FM~ z`-l}uxNaE-WMoAZj_S7aS%B{$U#2u4iQMmP_o5Dq-FRa8V%`8ZgH)r%?OF#T=5S8Y zBNkpyvdljn(Gr2X(`b{a0Ul{1G7zA30m@rb24E3^T!u@3FTAtO-hy}Q-B_qul)jsn zJv2)t$vU)yx==VV3HJQ20IW-WAoB4W{79h*8!k`B*d&$JM9L7e0zkvzDI+$UVc1hG zmSXTrE;xRj2lGG$!z$0$gA1bRrT9zxdgC2wu#$Ow^)9JK7qf7w}b4tfhU6 zj|ltD?vkWCRp=@yN6r`L-^9fA?n;l-*Wfq-at25L=saUhoC3RR|JYyIc|NBXN3@Ei zR=NiREYN?kzIGTdS}Ys=eR5Tsy~ucpm7Pfw#+Sziaw>!~6u>HBf99=U9~}3slj3vB zkGOR?yB?Bvk(2@jLYf3)kgz!sv{na?I1Kk)-BK3&b*NV9$&T%(bcD3E#R`d&prEXg z81-Nq;J7JCUcx*paF`pJ%>InmD|8BF{dy6@M394Vc{T>`X6$0U3^M0ieu%_L!)|Z~ zw`2qr>FS;He1N_o3Z|B|wtl)Mn}57@X!Ukz)5t@i=X{ z;GW(0+7yC?4;q-`K`_CQsn%i-(u`&^eA2mlcPMT-%S!Bx^sWwJGm1PD@*q?}@axn)zX%-3$nG15;N*jQ zkZO^04gjX{n_|KsU-l{)Zz35Bg80aJQ(j}Y-_)T+*4ja%dhldXgqHBn{!H$jDU$0u zSm;?P($4PZvcv=R$x8OqdfEh@gC+`alEbr56}*= zDRxgU4J^9-IC31DK*%SFtFF;U)ugjk%_?g%H^BK}D&{0#5**g8j^cXDQn+L}1|BJQ zB$NRK-I^<7^RP$}DiRxG!KSJK7*bvRc<xRF1@_M}+gWpbGGlL!kS?hsGPf82ot+ z*22RpvzUsRm;R&IK6Hs?7<#zFCy)|xtZ;16`4-Gi7|eYgM-mUa*=X^p z7f#w|97H2^*Q6;^Okl6k=fZ8(zXrO()PjZWV_1e+D!$2=V>C%6|2hJLfKXO3-}Y*+ zW~_;Qmhyia0!aS}F)sbbek2ps`l{ZuNI+rXe`a9c3!KF*jAZ^xv^Wg>Z$mI$w6A)F zsv5uJq%hEtl-3y!1&k%#wbB54dMKS~8V)cgF$9w}4vM1_l^~-*9Y&WwQhce66GDfp zR2ae;{eCZ3$n;3%CHjj)84#bf%^ZcxO1D%!rLvLRLI}&r)9!MIGvuO`@oIQ;F#vU; ziYDHl=v*D`Y9b&DMfkUQo?iO5a@3$jaoT93-SBf!Zx!^qZ&wyr2gD5P>#C@NB84~2|1JNPh?Kv?0eiQ<9F72Z=hQ69i|x0C<{c$!jU zRndkR;R=AcT!vc?j>i~QIPQNkJ@#jCn} zj1X^(iZD!IGkRacYJR72Pd0S#%MV5XTL zV%&^v=%OQwCU`ITL*B(VJXD~?zFJ8TJVQt{3iy$d@X^>9f)ZA{yoM&JqE4}A??hsC zlFE=%?_mCc-G(rKh`i9vPl62Vrdah^^}gVjb~MN(8ak9L6{19pJgtiZFrfl#%V6s@-#Rz)I-tNhVhU8(DOln_qQ~*SwH6~S`+g$wZ zHD(hyJG?`e2TZV8>pG1^4BC&QK=6W5T9#hVWK1lbpOSeyUg)4FXVW$k?pe+CJkl<;b*VTox<(^u5zlIM#zPU z!LENtd!#W{gDN>QeZZGtfaVfk_#Bk2gyM+H*tkMDoE}$qN|gTv6PkHrxv*vtbyh5o z(F{~wju)@LN}C1;OP_7F{FP*sRtmlYfS{Sd-Np&O{`@x$%)-$tIhbgfE&kEhWORpR zPI?Bz?T|2Wx;Crtf9yZKJu*C72Z+&0#DcC5Pk=L@jzu`)*8~wY#ENkf+aN(fb4GxI!$;dQ`%&yi)&ZO{F z-YOt7pulEfE9Qw`>l|~ff8vkJo9%Udvm1dByYlfDzqFuZ9I$l}U{>Rg1PpUs$x<@= zfv6Jc^^QrWz=W{1F$yJdZELhW7i@pw*oHWKIP&)U6DNqA3AodThf2?MG$MV!0i%1L!QZ53=cO+2N3#yZ| zu|Uq@fDWUmg8FR@lZ>*K{WvMP44ygnCKP^!dm1$3%`p9uRn|Tao{WOsX42JrgD5I# zyAHJ{ssvCqpNiNMejt!Ro<@8>t9-_dghCvv9T*Q8UKSD{W|BhXndB<@%@Bw2TDE;} z3~Vkv*0Sc?%Lv%X^zL_uEacyn0%|RDngHUVizY*#!CboSTOu_Jj`)Ome_p@0E7YAu zLfYM<2JoO!u<)w5tty?Jgz{?1D0{>1LOvvMjSIA2-N5WWDIoha*IKVYw z*5&|T-W*b`dg7MLUbrARG9HC@aFqQ8Nt(xFf3SoROIDhXHw=#i!on}qu$V@f!~Xx*igbl#gnCrNvye`4kTx0bduQWv^YdW5T3{a9WJTGDSnGr6!b*pk@_b?r4SbJ#kRC>ziiDtk+QAZ zP6&s||L)F*f8?H(U1}6_y#Ti%P(a-H(kgE4Rw6tLQTTIt%3fBtzSNvW-P#1BY4ER6 z8f}NA-E4YeI6Wl1C;y)m&C!6<+PPQPi77c-kwY%<#TZ29`R{FifbO zi;|VyZ0K{@m`0C*(=&bb>q=nLOyFSwp9Tp34Ltl!`2uWf)Yxd*20lm^%(Mfg6S|lK zVbEx?t9F?$KP+_pnsUaQQpiDx?XKHL$D}P)?<&<(3Bc2?;OS;3v+EG8aN?xPFoea=jdQu1bim0FImX6M+IfQMs!U|fG6`<9@iN@u> z%KWnpxWer#MVQo5mGLcCIE;g3x_Y9+d5~;zW;TcKOYFP7DKc1F6NrsT5N^>2{A4{9 zX6o+qae!wbx2EhLA>8L}&!R?)^?2I(y56`q8&sRc#acfj{%|&Grxq5U@i#XesS>%n z>u3w9Sx)3<4n&=G*~*hs9$<-qw1xwJ$Goe}wt}zg^;jTT?7mZ%)igsTp*rk?(onE5 zVfM7In5;v6`0^}AH;mui7t*SGj3~EhTn;)XBLodKFp3QmXCT7*!1N-DfFEWn~+*XCtkw;b=SYvQZRr?~Ao6CO%;DU|vJ z8k#&~sIajS3|7C7&qI#!*l{=)p|+8T#);5(Kf#C{_I-4R3Lu2h=EU|MD)VQ|&aW){s)eau!J5fiuEP5(%a{V0@BUlY z)^veo@OtpWKW~b0JT@gnzU=wEpEBlK8HnpiCT@QRqGY=j9O}IDw}1s94W`;32i&D? z#iCS;dw96{P~PS@K~$N=`&x}7#Bk)%Q5J+xu*`KG9}-8q@n~tOZ%$&XyF?pxkIG?F zWMC(O3Wo82t-NW?tb)DkdszNig1&*5`!qo%*E%|bm{86!H})d0{;Yw0Zt}Mq8c25u zi7vIr79U^P%>q5V)Y#2HjReqQtm-Im8 z{rba0F%VMmakh|ei)=|feX_~hS_nhQEAA?X%jBAs$!f53NdWDk;wF}#fLs;rLLyiT zUHC6~_Fl5L3e=cIN!p;J_3-Oa$Cj@!#!LmBJd$cVbLapmwa$I#9mG2Id`gwmHQ-JG zAO`LKW;_{9Y61ako!GV6XFiP=1+;*rWV($53eXj?>~=mcSS(Tf%W@l=+sICd4zA!w zz@%zb04jHViFY KD^lG1lc+3H9c?B6 diff --git a/files/poketool/trgra/trfgra/narc_0014.png b/files/poketool/trgra/trfgra/narc_0014.png new file mode 100644 index 0000000000000000000000000000000000000000..44776c8034c9aec132727472b085717e5839682e GIT binary patch literal 790 zcmV+x1L^#UP)002+~0{{R3Y;$7=0000mP)t-sgJN^V z#l?ezgNt)PT1q)NDJe>7jzDYfB;lef6ti_Ee)JW3fRLmD*$pb2`mwqqie%KT7rUFC``o!>Vi9H-*(i(AunucUCBeh zB7r%6#yPL#nDbG>yx_}2KFXCjzr_Kd5zExQa|0H5-VK|Jk(lb4C_gb^4gpflGrHn- zXN^NroF8j0;>Kei1G2~*yv7YF(*hqMKt@MHUs`ZW=OH3vzKjVx(|P~`TNYf?dJ`lP z*pN*&9je0=;bo)&519W`y+VO?Ng#=scVA1Ir%WL8XOIkACd2vxf?9zMBuFi!z=1Ub z;xeR(y2udnI4sz*U#-LSWGW^v~ z+fPv-g@4pfS*G2=fypPvvbZz*+{z{=FmPhP(*(B+C&oHeK(I#@f53shZJ|PfUkvyf z<;`0N1pTI2fJiXzSP<7jyNRJ-iUrxsd}O;g(1za!gX21GdfB)D&Q}|tQx_1S0+I|23P3CX#1kwfk_DVDDr(Cv7g=fd WLRVGxmTi3eY`gD<`nvz?85jTprVzRS diff --git a/files/poketool/trgra/trfgra/narc_0016.NCGR b/files/poketool/trgra/trfgra/narc_0016.NCGR deleted file mode 100644 index 35a838ce6996aa2da13caeb924c83b3bcc8b6c1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KUwq1q7(#%?_h-QX diff --git a/files/poketool/trgra/trfgra/narc_0016.png b/files/poketool/trgra/trfgra/narc_0016.png new file mode 100644 index 0000000000000000000000000000000000000000..00d4d11442698012c72d0ceb276e6ba0d83ad8d1 GIT binary patch literal 869 zcmV-r1DgDaP)002+~0{{R3Y;$7=0000mP)t-sN~Bt> zz21X^tpDbN&8&0(S~;{*IeThiNZvBNws63l5eMxKeYYwL4SOCeN9?I z!h{JECQO(xVZ!_uS-W=gdZDaHa(}jRB+BgIpsvM~x&F?eQq(mB$h1LaroXeQ%;}g3 z8Cz9m`#Z}!FPV9j4dcL~>^h6LXM)WlS#Bc?3@d_aLz+XOhOF|AwKXfswi z19+ihK+--0IIFRh80^`)3!bfGJks6(sOuc8G^#q&>ih@?QsWbV&br%`YLzb{K-oZ@ zF(Ge0o3Pp52I!O>y#(gYCe9;t@5#q~K4oLiFdS?2=@xQ8LdKjV2OET*8pf@r)52H| zed*j#X`tLeuBHT#HeV{DkzA6#d zxB$~w@RcBZWJuV3nS0+I|23P3CX#GQIy^8~`?JMXlrmkpC$ WZ^$XROdvjfw%vC_eck`{3=9AjUJ&*G diff --git a/files/poketool/trgra/trfgra/narc_0018.NCGR b/files/poketool/trgra/trfgra/narc_0018.NCGR deleted file mode 100644 index cd7227111f6e5d944deb2485fe8768c969a3318e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KmMq8pS#lvrU6NA( diff --git a/files/poketool/trgra/trfgra/narc_0018.png b/files/poketool/trgra/trfgra/narc_0018.png new file mode 100644 index 0000000000000000000000000000000000000000..08d15ae19abdc617316b71e7c20dc7f057e9a6cd GIT binary patch literal 1120 zcmV-m1fTnfP)002+~0{{R3Y;$7=0000mP)t-swAHjh zi()ZaQts7zy`*Z3dtz!@T1q)F?qWf-K}!GCz22mItb1a6N?Pvj{{R30O zVJ9tsnYH^buKOLx2;Mr~b9UKv9LN1+boz|*GW>)34lN+N_ck`Ab%XCX^-cCMN&Jvq ze;q#^0C=K*2qrbghzs9k_dCZ@w&VC%A14YuGAK>8r4H4%tb~vC4gp+aqvQ6UuV0^m z*-}qfzyqHGW;h!?m+fDEmS-|l2*R&KKsb#VULM5HAzh~((Z^hF^lP7A9_raK)sPg1E~|gBPB+ z;;j@bQYLT2@Zb@EIRKY$p#dS3k1yu)C-`xX54Tcqy&mvd3nNm&MhYS+DlK&ZJ)|`; z-4jznRKg4BA+3qc1?UT`?R+85lM=#nvVmOciR~PWO~27VQ4v89h<61qn86VR%mC69 zi+}(Q;(q)q0n8fkrnUz!`$tEol!Ox3d{dzwo$8mA3twhUHYE z5M9uF0QFbr?JB7<%eMR1*%ICp;c z`FPkPgLk56-+;FdA*iB*&Sj*!ss~Zw17PZ-j1WknMbH_l?idm}R{-`LI+(@YA$YA? zhp)(wvg3ReDP=(SaD2W$A%k#i_EirRR~u1bbQ~(M9 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0018.png.key b/files/poketool/trgra/trfgra/narc_0018.png.key new file mode 100644 index 0000000000000000000000000000000000000000..bd29cf8f6a8d55be1d94482fe2a6f0adca75d0d7 GIT binary patch literal 4 LcmeyA>9Pp`20;Q+ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0019.NCLR b/files/poketool/trgra/trfgra/narc_0019.NCLR deleted file mode 100644 index 035cc760f47a36af592bc8b04d0268507a46263a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#9`4IMroR{_S4Ni8s_T0 Wl$fh1rWzkV+wQBOzV6<71_l5EOb|~1 diff --git a/files/poketool/trgra/trfgra/narc_0020.NCGR b/files/poketool/trgra/trfgra/narc_0020.NCGR deleted file mode 100644 index d162af3f0c35a9ca418b1135684c2bba9c98c1dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WRsTqqE5^sqw)<|Vulv8AfdK&d7!V%- diff --git a/files/poketool/trgra/trfgra/narc_0022.NCGR b/files/poketool/trgra/trfgra/narc_0022.NCGR deleted file mode 100644 index abc34775952489a5c299ceeaf901f369c7419f5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 N002ovPDHLkV1kl|CLsU- literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0022.png.key b/files/poketool/trgra/trfgra/narc_0022.png.key new file mode 100644 index 0000000000000000000000000000000000000000..b25d83bf41bdf18fe6a07989926280fa74def8b7 GIT binary patch literal 4 LcmX?c|Dgr|2de_H literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0023.NCLR b/files/poketool/trgra/trfgra/narc_0023.NCLR deleted file mode 100644 index 51e777303269ce141ef201290ebf408c734de0ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#C*ZUQT~#0a?>QU9gnG0 W>Tye2=Euj+w)<|Vulv8AfdK&L=nrH7 diff --git a/files/poketool/trgra/trfgra/narc_0024.NCGR b/files/poketool/trgra/trfgra/narc_0024.NCGR deleted file mode 100644 index 862c7235bbf73e323cbf2b2b622f42af18fd78eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K)83UgOjPjxH+3xl diff --git a/files/poketool/trgra/trfgra/narc_0024.png b/files/poketool/trgra/trfgra/narc_0024.png new file mode 100644 index 0000000000000000000000000000000000000000..459114e0b10297721ba4f8b2371f85b3bc3c1deb GIT binary patch literal 1021 zcmV002+~0{{R3Y;$7=0000mP)t-sQk+_9 zYLrS!YP7w*=2}vmNDLMbuz22mIy?bJNN?Pvj{{R30L`&?)000As zNklsBi@uQu-w}LHMtzg^>;qk52Ux>2bIE*3&+8 z&tdcm2Ts3s^AzKOHlQDZKR|*jx4dM9Q`H^lo^Rs5#({;^@1;fD&#McbYrq8-?3Lot zp;<2bGq3EqWk7?Y_$2PCeE>HPU<=(tfo#<8t2lnerrwpu3Rtjk^86?tVS0*8x^g zYL7tVn`gGO>o`uzVx@H)qs7&ky|H@}G6_(x*VPF+$yH+87n99DH-Ao`lpOWZ;KYCc zFo#mfWVyg+$aC=V5_TFp{K@6f3#@0rGaI%+$a>199O8>&Kxdf=nf;V?$*R2HdK0JjkZeBy#8T%)I<;&9jsM6w()R zo*MAh6^LDkYnAY>kfu}O(JgLTFd>m3_p(W8E4>2q-)N9!a{*cY_h{X|0y8Ygq0yNC z53W<35}3Xwzh&Q<%NpIWg8{GS4-2|e0_&*(19VN^1&^+onou4}ifdz03d^XvLv;KLFW26b&Kd6d00000NkvXXu0mjfoB`#u literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0024.png.key b/files/poketool/trgra/trfgra/narc_0024.png.key new file mode 100644 index 0000000000000000000000000000000000000000..e26189d0c615cb5609c4067597d25413acd91346 GIT binary patch literal 4 Lcmccer*|R%2lE2& literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0025.NCLR b/files/poketool/trgra/trfgra/narc_0025.NCLR deleted file mode 100644 index 72c9b00a0715fb1cc4e4716bb24c33ae35853d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94Z4JvB|g#nosUE54P< WGZpq*E)yR=+wQxezV6<71_l5O>=2;< diff --git a/files/poketool/trgra/trfgra/narc_0026.NCGR b/files/poketool/trgra/trfgra/narc_0026.NCGR deleted file mode 100644 index 03d50e175cbcb53c53dce299e53b64f779ab76ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WGZpq*E)yR=+wQxezV6<71_l5TyAaU; diff --git a/files/poketool/trgra/trfgra/narc_0028.NCGR b/files/poketool/trgra/trfgra/narc_0028.NCGR deleted file mode 100644 index 19600e1f10bd62d765ff0b3fd7045c50cebfed8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0000AGLuc9?ZE-YJ->qdOAWBX#VdW7Jekq{h1Y0w8)dS3dc(1hgmKk-H;kBdO6&JZHv4HFeR-Yg1NWp@A%hTYrDNL(Q&&hwCj^I9X)A ztCx*5+a;Mg#DfY@$T8XW46jhE+kNoz0UJz6F$wD~U&kmUCDjzFAhS|HQ{nk$g5PzV zmn~*u084&24!LEXR`-__6NN+?f#WVPLXnQvyASV-cij)tf_ua$&uP>Sk|)~)r8Ovu zVw3Q2Lx^p`KXQ2cp0H0D^@9jh)A`1`rX?fUQ+_#+6GDQp8Dx+uc7Xy6I53!DRC@-oktNl%KWt$Di2#Ij6ibv9@XL^h1Ua+wp$3v2T!ULOr^&+S?BZtjU<}D~B-T zbCqUlp>tjUHleR3cb`RE&h0-UDGSp0Sa~B}bGI+lF-4}@QKQQ6^ifon0MAZLex3P} z`#Y%U=_#Vl{^tV3ll7TO1}w$k7XfVsPXDVsQcdRqQfrdfUfC2r&KIh*nWaIxz5`#- zp0W9MUoTxOO8p3OESr$Xw~2eM;YTH;LsgwBdozc?iDCNYG+$yIX02Z0b+c7R`#IJg zId^oFkp-=qJ7Ytz*b#45&X2ncrd{Y#ZTrZm73n07)Tft(gSBu90F#rTi@{gME5B&` z2@R&g(<=j*8kuMQv)7Jv8D;2-zq|10RerQKP48*!k-e8PzFSd<14*84*9Tf;Qxz2I zl=JU^9U+CLG9SO(J#D?BEQ_;v(D}&TJ~#PPF~##*Wh4A>{L#r4+)rrC4ILM4Xv|R` z22tlu>St_3vvr5cIa8cqKY@aVNq=R$0nMa>mFu%u7Fqhf*_X34*(J|95`)lC<}t7K zdat&u8GUB*j~h}*j|l-T4ad$Tqt!YhnZ)nMc^OY;aNk>;RV`d%4od_$?791%g!jD^ z5rujh&*StkV3B0jDGybQwcUl%5PQlfEotfwKqr9&BQ@TNvlHbYGePY}r$3^6IgMjA z@7&XG+L6M3KUWy^*yZ*5n?q?3YVql|=x;-8;XQS-q1%!OTgjvDf`^0TGL^weZt?fD@FbkFVM|o~u3b(@4FhxGC57b(Ri`g)ix6gr0ot-q2LOZMI7%45z z)#ug3()DyoZPRVwW&xN6MgJZ=u}xwE*=yC<&Dq~RHSO!gyUpS?onB;I7fJ-0#*1bVl%41SYf5+t6xPT=Mh>~g^%tG#a$y(wEN4bMCq@NtEXy&!nK>;;Ons{QjE_VBEQ@GXbmC4S}R7F ziJ3C~%GaTEm}LWcZ^K%UF>xO@gzp^eFuhVTg2>>)6w zsUNc39BoLEcLV-B{Jmb92s4aSFvX5qj3Zxg3(>R|lTVw>EFDr3X1gqCu&HuR!Dl~2 z@^xa$pi@6!j)AR)K!4c0V9g(b9P9R2g;~YE@R!CkSS1w>im-rVHpR!Xh3svtxP2k= zRvXnwJ_!siWXB;SV$~(8)w8=mz~TC4=ig48G%Z(R6-&oB+qp)b8~0EY5QP;Q_TyJD zZ;?;d;17t5)ZI^A6G;AR)Z}>6Qxq2fVl}yn8WV^hfXxkMC3dyeS*@xET@s*Pn*SH^lUn&YFwW1gw z$n7;EHw#$!HhH;Tp|@4kFGbwipQDiQ5>YCaZqKw#yq#~7i94?7M=7|@tmml25%o_> z)YA~)wE@EhJpYkA5KRr~AJFe+=VGNk{Kw;m)Zufw39$rOC608t-CL1->Lmhm}e41F?Br$%=t*l z29CaqH-AgKVu{|ym#8^d^jVO;2bbA2*ChoyV1t%W1Tls7=&u~CSAE>_9UE9k?Fkny zyT^1SA=QAYytCdwkKv_eUf)5S6D?A*fR@gM1xEZxviIW@4_NdrF3`F#evvxXmk+y) z^WFQ>o_o+Ji)jE3?k6V%p*56>ffFkr(LqB-l|P7l_l?;?rK>6!Fd1WhZC5_@*5xY- zB&xyAL~KCNi*KoHA3Zj29GI90xyiZiFo!ARu$6aeR&&PyqoJ@S+@Bs?Ywa*1J_{T8 zC3ys1IJfB3E=70R#-sD_AyE~UCC}$f+nuTnx$SHuy0z9ZPW;x~&1FcWupUdmG!8x}c{&y{ujsXQVX=dtOJzBFy~7}o zPjU4&^6!G|ZoSAd6I4ylMvZ)fF1aCI2UZc~L|EP(@tE`Pqf z9?cbkD(ie$V_93i9+&JiRwW=h2ZMP~lQHo2AFt1>_LzPgdi5RjCzZE%OFn~Oq|w`| zqq6}(Ug1z?)!#In@-0nbBTG#7x5~# zjc;6RzCEV0_S+i>XvxIxhlhORZ+a-mx$Q=buBx&y__tKtwtuaw%yS}t@6 zAVm_|?W0!kFi`-O+|L?J`km#H7dy1*r76zNTIWv0kM#vgqSIF3Qvn$UD*typ&P~$- zZfl;{8reWTDi`*Ë&wCaUxVO%ipuC~xD#{KkiNSmC_yDepDx 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 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0028.png.key b/files/poketool/trgra/trfgra/narc_0028.png.key new file mode 100644 index 0000000000000000000000000000000000000000..5b23c46cb50fa54d7230c092698086745e73d8a7 GIT binary patch literal 4 LcmdnG%gGi11;+vJ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0029.NCLR b/files/poketool/trgra/trfgra/narc_0029.NCLR deleted file mode 100644 index 04876afabe4416bbcc2d6801dda3bf7f81c49c56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#C*ZVZqtM2>q;mJ+2v|x WSw7SF85bWv+wQv|kLv$=1_l84?GR-E diff --git a/files/poketool/trgra/trfgra/narc_0030.NCGR b/files/poketool/trgra/trfgra/narc_0030.NCGR deleted file mode 100644 index 8879be33a094b6c2247fb8b5c60247f4bdd21c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 bf3p1n9h!r2D&gil00000NkvXXu0mjf@rStN literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0030.png.key b/files/poketool/trgra/trfgra/narc_0030.png.key new file mode 100644 index 0000000000000000000000000000000000000000..34217f313888b9b1bf10fd137dbe07ff4dbf27f8 GIT binary patch literal 4 Lcmeb4|G5(Y1(X7i literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0031.NCLR b/files/poketool/trgra/trfgra/narc_0031.NCLR deleted file mode 100644 index 942313bb24de2b598766c88867a7ca6a1dee9a2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#1kxaw7N8($y|;4V5y~Q Ws+F&JLLxqXw%vC_eciqF3=9Ag1Q6l? diff --git a/files/poketool/trgra/trfgra/narc_0032.NCGR b/files/poketool/trgra/trfgra/narc_0032.NCGR deleted file mode 100644 index aca48984a6db0dc222f0663c9e13d5ea40787474..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0001PO9vigrxiHr$n$f6F(GNDCLaUb5p7|j;ET6-Wce)KvNyd{g~brMhWZ$2hDJ=kE z!b=D^fVp3u`1gSnWrdy^1LJrwbdgBb9S@m|iQOsE#Cy&t!D&tov?oObcQpcv=M!ll zM?uj>n?L4!4ULCFORK0D<{2@5vsc{oEae&c&qM7He(}w=+;4|$wLKZKRoj*b@5u-5 z_J>F0hLz=NymJKr8KFKV;-7q6f$iQRt{Y^8v@ znFGeqL9s}7iZ4_wz5Qo$r<)hZ`ibhUtVcYgR#hA-mNPEEY+;G!pI@0A8Lj=|MayZp zcR7U~M0d-S1?d5}4lMoA5Bq6cwg zW)+j_uk)6G03j5nogenx@NHb8=ZkuHQ~7t^NjFebgvGL2z$4>uAJLc=hfm+k03G%c z8oMxPM5)$JHD~j?xpjuh)KkM?qJfcyG=ChtG|j_;(ChkG8Cfa5WS5FGtR)UQ?SnT^ zi8226rLV25jD5xO3LDu-(g|=b*vI80w$(|h39~;y)ZyM{+b@fa8Q=S2$xF*PZ@H?T zkM|T5WQ92zD&yNQgOM}V)DO&zsNH1J3wzNh@M+l&izgTawl&>~P7@3umO=bRl0R8| zY>fg!(yQwjRT=z&HBSEJy7b2Sc0a(6K^_fR6W$P9NQTPp2-sKO^2G~MU_Bm zqjM+#=%MK*S)XrQVC~r=>kC}?%6T1L6}K7GgGB(^)1wsdCQ<&hK;G$Hfs6v3Jv*}K z+bJB*Am?nvW%YAP2-B3{$pNPZF#pv&!q8zKm)1J(6O_2 z!7m3aT>T<)Zkw9Osfh)Q5muhH1Vm=reKS$OJ7F~D7GI1U_^tTjOv@~|W;xIv+jm}+ z;{^wry_-dJ5y$0@qxUCD}Rr?lg&PYSL;1kh*|W$dzYOwDj7*Rag&5m-t zI&6{S-Wyy z#2Lqa;a39mD&F!`lEO7HBtGN8P6+Bubobkggdq93Mr?~_vb&v zr1efpZ__v67y;4-C;v!1Lrwewn`>X#KPkw}r8R}6d$gA*=L3w;U$Gu`_%FIF`~BT= zHJcsCScw3xT1Vof)K$_dWHWTY3Sr;ojbDEp*RAv7Q_JtTRXH0Ta(D5R;sv6bSbMe@x!E$V{zFw=I_SrLcMG<$6MZrq)7}+ugt!JPrv_vee>Lao*`J<)C!^-o32J{@clsJk|3qN(go<7cTv#C1H% zqEiWAK!F!|bhM}zSZ4x_-s^x^_gTNbl9#YFswG4^JA?gDr!my_6R#7j%6&WXm>b_n zFbRe(hR2H}G}ZsA*RzE{a^W;)$=`UK#x3z;*Go}2O}RjB=t!Kt$WPQ2c;lfkp^*vJ zLJu;G=H1%TnS0kLPHFEBIVZjZG&Pfo91~I?G(l2EfImNcDvkI;;Hz;MGZ~V8_*WJ5 zspV?=#6y-4EAbAt?g&Yg*p%R9K}IVmzTJ{aU~K2F?9*3;VH zX94{N9{;;MqD^-KB5R`9uGyqMo)@~b>7~)SjstJd?y-q>FE4E@n*Eq^{F|W22Z;-= zu}3welT|G$OEZ_i*&0l4OZdeTFbJyL^)<233r5);RQXK3u9BTC=vfwo{!56 z_FZ^VJ^R?GW$Cnzq^GBZ)3pE!(37K}+rj6?`@eYnSq(PAqbn1bYH3?kKlmJ|mTGu< zn8SyV@^M5q9q)PU;k_p^j$2`fQ%Npvrw3|eqZOp;Wb^-kZ6Ot=0w2%ZjcrY${ENeQ zAo*C{4mSx@fyIMbH6sjgOm6eMc3@frbmXWK@4Go@(W!S%x@UYu19cb52~(_KkAV_~ z8Gm)WQOz`hW$VLOW?729sh7hvDJ5Sz;)CE&HZec;O0UMOX?^zcUmIdb-?lx32k-ps zYWJe5zO$%6LE+zKK;LVer7i4Y-b)lXJh_XWRQJskVTB4BpW_5Du#xoE`444`1>F_W z;CtFAeQA0Q5GRoYb2V;?gA?^2gR#==-LjDWpah*wXREXrq8VL&4_7GkDCLFvYeRVu zy776oxNlQzF+BycaoeH@tI0F&Qiqe|f|XHfSaXp8RiWx8zMn{3{q4#k01Kt~mx(0g zaBc8bsjE5NNTWUQQ&G>BhtH8r?VZGu5<9!-XeqtUrRU|uBJ~7HJ=1;QwgD&x75^?g z0ZsA(scYrf9ocU_wHM8_Xr=7BH3L%6eI8z`%!LgOKpNeQ!wuu(52uFydQdNj5 zGBdiss9`ncdtYT7m96RGVas*6GdZyypm!IP;04&4GGn%|HxcSqRgeA*6cOv1B-@u5Ba0sr8k^Z zfW;nKTqAFAThT-oV^6Ehd>!HvHoH7%0I32_k!MdtLUr=Wa8plU-hn-a5P#^ru+6W6 z?CS-S(3V1=a`#^Yze1WMo5Kg}{Gju)rWCwtu}tZ4-f z=O<(YvNcJH>JykC(m|+3Za*b_=#B0|?yL705g90cCRaQ3r{$pf5<^@NN%7>i?{5Zd z&^^GiINK%o;W9q%*?&x4>TaWIKXbGIB%zfiHJ>|N-0j682McKUhIvU|akpjEe?@HC zZ=;~_Vo|!5KF`EV44waySv$VymnlfjeCN2tVfEiiq|+b}zWP%J{MQbbn$m3oFl#8- zjM+Lq%opIa=cNa_+ygbx46$E!oiEcY*!>Q2ikqg$Wr-oKUq{=d5mn z@?TgSbgks#Xv;WAnZo=Y$6r`4@RxI%Sz{TnMiJFk439AkG+pje%lqD_!|BS7Qm0LX zQMI-To|EaIdBHu#>Azn57Y!`Ju`8LFNSTfPvDd_OXJxK>=EF^3tBo4Td&m6~JujUy z99w6Iu}MU3RR<7cAr)HcGV?`%3n6Q!@E^6@OKn4<3X4g2{`v0SJU1^?f5o|4gCo*# zYSAwi8c*KLn;jhzeY-!Hl%#!Zmp}k!qvy@a*HiLfErDo;2Y*|<56voqbL&Z1L|Gud z*O%!uCnc3SFoUL0R52CyxUVd%r+sYl?Hg!FJqf2Si^qf{an%s2jI-{rWbDO6-1c+6 zLBHZ+>`R(B8o42!g7@TY&XLO2XAjGaL*0wgZhPP;+i8#vz9%;X@iioh zQ4>2LAwkndWj~mFM~!Jhb*nn)I}`(4uSRdyG<3WAxkEn?*zr%cCU3cHZ#{dm|J$et z3CT(B0Eao`0F?)7CUe&S^PxZ{te-AiyY0Xt4ht*zb$OIt2)Fpuenkh`mZJkt+lp1R zXYJ-)I=nNIpgY0n#wpXzQ|F7sp!K>+3)92kQ~`bl1OF5}zfI@@w`*(I``HCP;}`R^ zW~Cy!g98}Qo3YAv)GvlCcm2t7QJX1czB40H$zBY#!E`q&05br+94LEXCJ8CDs4WZ5sUoNM&#JfUhUa1&PKWFtsz;&p~K2w!oe1VgO{(sKAZq22F`s<8XvsvrD?w9;DrX{dC z*MnC4S?l-NmbT8lS6>G5v>WS4>Xt{Fx6|SbF&dZuHoQjrQbxHLM`25^GjVg z3At>Z8TW=1UWMBl6yq&0-I2A{9uNMEV%^5lwTqOs!}5ap^UfO;Ar~HlxD(zWa6$e? zTt5qZrj6u6{HuK!?-{;+R99j2rRCQ8U_&AhXYsnWU2kk`4m~!q#@j0hxXD!RSBH$` zzm;NY4TEg}!mb<9MRq?;i~m(C6$|e8WO?6SpSO$DeMO?$y`yIEfKiZ^tj{V;N}Y9* z=R3sc^(kJ?D(7Cr-}RMBa?@tuqXDS~`u~SK9!+BcJ`|_eYT5rslQHP3#7)zWD#306RCOP{I!bAS^MOuA?e_b0H^bW&$Vm{Y?Cjb7r~Rp*S|#k z)eR!TzbhY@CYdAt-`DDNWo6`gG{X~+E^+WS`R_&SUA+@Bs?=l=me5n@YLQop5&iyq z0P~B0sUg9p-XELX32ix|7>mz%-1&swYByC>eZ}uu(Ic2}h|vWWh)+b!*&UM-3%f;V zjj5wf7H7yr|8;}PrQD(Uvi2ztoas|tMI$kzj_c1@B3ZV+1(y#rB_+!`euHdKaxv@n zCa;pL<$dDvdmC;@n+d%xImap_@72btTC+4jec_8{9N#ybAuZTq3fQ;XYaqZ0BcU)h zf0SnnG~)ekX@f!zVp{CnmoIccU2Y$x3WZ#CMA9}|HfzdS>WTjZT(F5Mlxv`*jLNDwr zwf#SG-XHb{C8uN+yz9M z&SOHba}kzSF^|d&kzJosp!?^jQ0Z%q*QdsW4z))L)05JmX2HJ3&cC<(G!31?MpWt$ z9T8@RuYzl4_Vi{izBTrcy>VMMFz@*6{JqXHaa-_+zDZ?nS_cVaUKMNV=kuYpEX|vO2$hJ$}Dd$&%u|uGLQe6y>5oOyM?WliwvE0ZZdJ=eYu&NB680T!j%DV&n5L z`;m**j1Odtpxr#uLwo5cXlXGHLnp8Vt~IrahMcUZb~e+&6I%X!WR0~KU;g$O%^6gF zf>($1qvZ_xu0!Y$h4GNK%Wu+bOg*f!RNFBK7RhSv1&1=^J(U=0+jBqwV4*=K5uXQK zSnaVQBb)qiIt~KHtKPoUdqpUZUiK>Ro>69&8qbhSh@I<_bvw%FQz>-L*yjYqUG+;! zK+~+?K>_~;=>Kgz+)Y^mOlvgQNZDpSC>JcW~9lXv!%+Xdg6^<$;5f)RmM z=#TvjuwB|x=L=#W2cC`=I8m8|O|{ZoZ}oVfwZZAe#lI^2lMNWc%`2st1ev-14c8EK zV`Un8g2UO6OmW6GXYZ@*o4tuLI9qdwZAox$u?Jja9Tmpv&I4HpKUR=2s_B8;$89fN zKrmQ%y7?O3m^XV=d&MPMA0u9HrqSCL_D`zJ7aa)_nY&A9>#4a;#Aj|qeRVm?b5nj` zX@L}m<9{c-i_I2-kL%jdcrG;8Rh~68BP9XKcQ`*#kTJpbl&|=#BYjx%2^(}s`3ci5 z=f}__ZPk3LD6@J%8{y$*3f~=^-!0B!2ur3o*11id-uFKgTZOC|iQ}fZedg~Cz5thu zzuk8tF~Hy`mub8X8YhDU?KO~!?Gwi!T|s|FK|f@C!;Mu!k*h`+JQ*K;nOBpf?(8{4$_IyTBxQ-_7*{FQTReb~7GFQM!vh@bjgH|?wC5=VNZ z%vGu?oHLBTf?+r2MPC;j&#lYii^~VN&B@5+DtC#L+68)=?8(xwkr8ZGpN}vM&s`N# zF8l4MuIYh}g{N$UjJ5p=p_3S(1i=)>yuY3N@(q*1R4eG1bD4zxB-bN!;$<~@DZ{*w z+kuMBp6_1lI=w_P|MWbF97%g_2nVlZ+!Z0}we$3V79ql>Lmzb9rfn*sEsGd0+JBn7 z>dldY7VDT;Z&??Qzis0rRKKF1>@EY;Vl z53`*>>RvZ%f!`3EzAedO54*!P#krWCb@$Q~T7^d%u;aNf8IfVu`VY#C-rcg&(R=SG z#%V_m@h4UUEH!J2R1<0-tU;@iajE-;@dX}bjg73vxnH^yOqvrsdI(^{-Kv9|DWw#7VW1ZF$?#*##AvLt|^Opb=MAR*z#0?p;t)b^GwB-RTUD zT&F*T%eB}F2$Q>@qu?&rLcb9FQ4J2l+uH<*^OjHkJJ&XJVP#Ny(8HgQYH^%4)$bAP z*}eZV##?!a%SncAUk3tYn-zTOobwle5CGG>hAKmmm7LWR|)AZmB)4@>(w%<_Orl1x#2fv z_}>GZoh`&-7E3HRw7KJ+4EJReS%u;n*W(;8D3MIou@C)>{oU=-7<=+4^=Z-$$R{ZT zYc)oSyAur{`$5%4FF#6rfsIQ-pR3Fm8X2{I$5+7gAmv^9qeGDpGV#&2aBu5uDLvh? KsoS~;Bgu002+~0{{R3Y;$7=0000mP)t-sgJN?^ zq-siPO5R#Iv~w|(S}|HmF@uAgw6w)BF){zuz22mIy?bJNN?QN_{{R30Aq^?S0008* zNkl;*8vF< z0_&}tW&y_uAw8f-jG0*sU|@a(-T{F|l!4*N1jutD<>gL7(3o%7k!j_TlUSNn9xg+< zYR>1-!hmEJShjGiDTrr~#iG}LV%v@%Vn8EeV&~PfE`N#wNtAZDi~zM$46@TFoOf`b z@z+T@yt4=M`XuJ~aWISWL{E^|5B6Y(O^@$KlV1dE22;-ch%Gm^P-5ES{vuoU*eVF5 zg!3P4vauP0QY634eF=su&oN-ak2(LwTJxvBAs%u5@rZZW(KZN_MeYl^@i?Ey4EZPT z8*!ozhj~a*DA+ZO_@4AS3kXkw@=Un7%G+Jg*2_RzOuFySAl?O72qM&t5_~lTEi%Di z-~lo5Lf(5wu+RX5Q>Ml8pjIj6yAsUq`85c5#M=WgTxTdy9u4h2wNy*YP@umTjX=mG z{_C}U_Z+kU9=V5aK6wkyI|b$dW2UNM3`l|}rkM``;7}P+tNB=Vn=9d65J(CPPglZU z`e3}~dEVM)vz${Ppvi5`GtllqrZnaoyWL>sC*nc_wcDl82Xpg`x zZLlti;r9pel3mWLr^TE$Sg8pihV`mlR&Sr?jP{s^brrP@mEnYE&uFI@yA|nGB*?ri z$F@tlDaQ4h>$)<-Gf%ee64dRpW0{{@scdAECqY{myrn>Q$!RK(B=|@Zq%6Z~IV*+& zb>}bxYfI-~$#xDf89JloBAh@M%*tGAI-{eN0)3D+UDw;~4=%vZx}f^>N-v+GY1h{V zv%D@rjsY*{|iw32WL@%@(q{dX8-^I07*qoM6N<$f;u~yBLDyZ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0032.png.key b/files/poketool/trgra/trfgra/narc_0032.png.key new file mode 100644 index 0000000000000000000000000000000000000000..4c6d727a7899f71f970a35dd9eef4cb602aa1ff9 GIT binary patch literal 4 LcmeZd3aAGF0!;xM literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0033.NCLR b/files/poketool/trgra/trfgra/narc_0033.NCLR deleted file mode 100644 index 7e35f20ab87bb498158f9f89698ba2bfe599e8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#1kw#%~q;b%U+W#lGK(I W@Vl0DOd>vhw%vC_eck`{3=9AbYY_SX diff --git a/files/poketool/trgra/trfgra/narc_0034.NCGR b/files/poketool/trgra/trfgra/narc_0034.NCGR deleted file mode 100644 index 1714377252cf9b274a781751973c5193f2331f36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KPK36#j|w}zG*-_5 diff --git a/files/poketool/trgra/trfgra/narc_0034.png b/files/poketool/trgra/trfgra/narc_0034.png new file mode 100644 index 0000000000000000000000000000000000000000..4e047065fc8fa1aa7c3d0c920a6bc258b7d53aaf GIT binary patch literal 760 zcmV002+~0{{R3Y;$7=0000mP)t-sgJN?^ zq-siPO5R#Iv~w|(S}|HmF@uAgw6w)BF){zuz22mIy?bJNN?QN_{{R30Aq^?S0007m zNkl? z{4fjqDV2vx3^7#@141+dVj}^fPQVhyR+E-EaQKq{0KQ}2;_ah%@1Fh6N62Md#%26# z&?(kau?f_uQk(-pYOpL4Og*MWSP>(}Rw4?dY;vka7o#58I@xw536Cn6!(lD|}@WO4do9=g*muATM)}%rd>TNzR zDSrD|tQZ5WnugO~FSjD3?i#mzqJuRs$>e7LF`l^rW qn-&b1{+~=&U=Dk0s&Gf_|Bb)gVm&s1k+wqs0000S0+I|23P3CX#1kw#%~q;b%U+W#lGK(I W@Vl0DOd>vhw%vC_eck`{3=9AbYY_SX diff --git a/files/poketool/trgra/trfgra/narc_0036.NCGR b/files/poketool/trgra/trfgra/narc_0036.NCGR deleted file mode 100644 index 469cc58fc4e918e5648cb61876fee68e2e492768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 Kd(q?;gHKD&UTLlX diff --git a/files/poketool/trgra/trfgra/narc_0036.png b/files/poketool/trgra/trfgra/narc_0036.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad459203fa690de7bbf08973e6f3ff4c9b9c648 GIT binary patch literal 848 zcmV-W1F!svP)002+~0{{R3Y;$7=0000mP)t-si>##H zVoJTe#rDm6tcyx}S}{^VF=C76T4JO*Ia>eKz22mIy?bJNN?QN_{{R30=XGia0008p zNklP+aD+NK&hT!H97rV(@g5cJ{_}adCleRRkcW>J2DBLsVJA}*f;mLbX?#GMJ zB$G@s$^RuuLP!pC#ww6tl`*yqSR&>1uL-w!(pC+%;7M<8CQ$k z*5Eu}0|8Zer6o&+!GSA9rc;6G8{DVqGo)n>;vqz$(h6gox53(mBuQLswKm}TaE(40 zeK{Cap+M}=&Pd822J+BtXQ{IxWh-)lK+ihuNV)qyD!CZM^sN3PIeqjgD&@UAfX55A zn*@jLFg~>{kKqBcW zP;7UP4)$O~^5UDQ`&%dzNEk7AbLRWL>KG_7*q`$KXSxM5NAhjg*vrUp$`@i&kMBq+ zjce4PP@t>EM0OKX4+Xopp+H{NU_1NM`0p3&vY~j%nFi7CY}ORS70D{<#90oLzx4^bUA(V(uuVFLzKQJ{KyqzMI*MqMx0WVW#l1Rjq|JDGhAbFmm5 zi?pLMJXLc(}>Gh_gr{f|PbAmGYhunz&E^774njF_JdRT9`YeF)-$ a2cADONJoKKb;Ml&0000S0+I|23P3CX#2bTVtA04D82OYT*3A=k}+o@?zG-sYfZFT9&<5R9+S%JicQ-4>yd(Fmz|LcWV@LBx6qnBkg z6D6@aJcD9TfH86Q1g|Kp6MYEsc^jli=?Q}_SH}P(UDYhAn6s)t3*nJwdf!c)&n>fC1VDPyY}+D@}v~Lu;qlr`h2?uNQB$Ql&n+ zj|0@u$FU}MATNR}aZzpZ=X`^z`D zy*VQuns>RB$^|N#jAJ;kfe{>55079Bzg@*rp8FlBp6M};^{1SKe6_6#5tB%u^uff& zEWgeC;tfN>#4C8d0slMxl-E;q(q-j(nZxXm%W>g04)2caD!ueFZ(Ama3`r|)cn9BP z%oWkfo_sDbZ>N`K0{+RZ_NhU>^!Us=b#x|et~k|oSK8>KJFnZUvVFtyKzjvhx+|>PuE$d(9My-af3wX%+TlEA@!vq4t}S_De@mG-wYf;1 z<@W*&FGY(w41PdsVe6^E2PTL1B{SEMGbto~?G`0?YcitT}ETF?URq z$pyulvtygEkP!z~#*dQ>-dzAv6~1Kbn7x{;!>4bAyS0c4c$4d(L&5LHBfmiWK@Gmb zODkKL(wYDMtJh|9QDp#nK*P_FT5(J^MejlE$-S>KHe0EPyGb@~&j&JOixn*DQ?>)t zkaT#2*dLeNb#2w6q>Br9i1}dNHaF2!X~hd#-6K?Rw9#P})K5UnMIA2^m%D*zIjMh6 z;%7ue>vf;Xu~YP5_kkLQL4Q5GInBI+Qm;=9n+(V3B$tac5hdq3ii0Rno-s%Ea<7i8 zQGI^$2OFwLM+uoO1;?f&+tuQ#X0z}>sp02lXx}rOjV*LyhD%&Hq`8xxeD{?UNrjT- zsSToTO~k3`E)Ok??cJTyhp_J^pFethagF;z53Bqb z3K?a7H&^iV5akW}6GOoeBJqK?;BOmj89jYb_ca7NAUb5Rb%$HzYL(e)0CU*@y`l0Z z=ARH;?N~(pzq3-`^&jY%OnMjY}UmleylW6Za?-NQEsLZsV^oCz0pY z*biWg4Bgn$&wC{(6lo0(4<{@Hnl;gik`v${Izg~TmOt%$(2aINmRp4I!J(-U7rJ7#O+NY zuM4pF?s-vOnYS&}XGQed7o#^z0gb|zX3vaF^qq&20Xqih|0z(;r00OdN%dz+Ow(xK zZ2?;bH2-NlNKN$u*lTdu^w~l_^cSeK&!vyLgaduhbg^f4#V?yI!2OnTGMnx<0EQ{9 zhexBN`BiHw!80Ym-(l$H8ebqBT&-;45X*qLia7)xUw3kp#|8VE0b^mXt`Xf`cV z99?!&bNeQ!E9ugXdZ!hHIki3tMw2mcEj~rY5x*w<{|&UlSu5d~u$h(q+1HG8Ph~cG zj>DCZcyS^&v+t+u2fZaS#9Ob38A(iTeFxZN2^He%+VhQob0Kr47$1GyGi}SFvWt<; zyS)kCWH&jXz*~FOBg+9jk&E=o$NdWmgvT4&_7oVMB)y zK=D_$PH%y1S3Lu=r`zxdami8cD2D;$M_E*A&ZAjGALZiw)SvcTqwPo{whMFk-Fci| zFt@Q9nZf^6P?16NIMDWE-Bm2d*@Tci1k8Bv(pRUya9#=EC1Zg z9rvsPU%U03C!MGC1Q)xsPNk~4D+6HA1F_O}{4Y){U;R;X`I~Xbe2Fx!-bePNxK+j~ zs53~wu3?krkzW%WJFREp7t2Gqc{xuW_ICwjY`9CBD6WC@`Bi27hD?{Y-a5;i#B)6j2w!@E(a@Q$Q3>6!Sk?yLLnZej~{T{5^ct!xr61nMEQ)~k~bYxWyOc#c6_xZ zrQQt|4fF%d!5teCv%8IG^{J~)K4*|b=XDFpO;dniGl9m29e)YDwauu4DeD(lidnwC zEtl6c4JA`LCWEw4+A;I?POn<5&3$SOBShmJRtClX+C1_k*VRs{0<(NT<>8ZNMBo3M z2`yk^qDyEvV7b4Z*!STSMTPzv}hl|6Z~HQV+G z&&g-*)`zF$W|c*1oO5LW`JtXB!k^q+VeLL5R8y?2Gl9+H<+$e5WJSf=jH40o_fdnE zi_axYQJpxF);kaAj4AQXDd+jb2KD$#fzwgoS^?Y!8UMmOWld%RZEHE$LD{1|ITzuy zOr_wu>5EaQRt^-+kuS6?o&CphhnsiE+KEc8j7OZLHdTBob~BE^OkwHfe_#0=`K?{z zCCkaUS2^V#BzG&6#0AWnc4LaL+Yz2tS&xzod0i(`!Gc)O&o;<41gDOK_O;Indy^WV z&cVjU_P>Ap91SJH?klR8{h9Xu9@oWm%w>mqgTp?MC2?amSnt5> zf(OxLMiukw28w|Pn4ZraavxUQ&~3b;$BWu{Gx^uvDL1fGWW^F%pd&+Y|IzpsXHP%O z;2l;H`n!;5B&jw|6=!2aCUxe@v{NHsf`Rdd6n}iY6wM=oDV!}Yap5%uOPA_2j3sV5 z&4ZUvX)#{*g|7{)Y<(s2>Ki#ovI)>GxW`2#mer}M>9e0ewBbHxyWjGh=q+1fsY@$3 zPq_-7Z})T*M1`3elax$H8)#fDv=1zdh~31}>w7UM&}lgiYbSUFmNh+!E)#4Zc0pW5 zazD9zOpRhfva3rNH5pufs#j0+i{+I1Rzoll?eUnl^KY7LG(9x3g{%&L1~7}^Er^lNvB5AN zyLY~n!v$xWon!5=>Jf=n5Rb(Sm|bF0kNYyH=jr~A)~8{FHMOb=;*-6g9l`O&?Z5K; zdkvt%bt~}NJaWp%;I8&k$$(SaO>3xDstbIqQDH|w2PXjxRgTbKPb3nhsoQWGT-H#$1PT3uuJYZKDkw%2KNUP zLxnUNG2@;va*=-4YY$(Hr``Y3GJ7;A|7pYyLMKZE)ioH3l@kvj#X*NgX+JD{tBu_~ zPTUD#E0HLE!B=AR3gxf*{X-KFeDMReDsN3}(>?F9!`u7_Ey;cEgojP!L~}# z*XN(ag!QgUPt%v+_yIBo2mh!%BTZZaduzYgAK5uRXBP*wN~IRM#{=xpKe2vx*e@C^ z+xR~_TZC~FUx2;p+Gs{o7H9318Qg>05!UY1F z#A8sf`4Mzh$B+07w_Tl5*84T67U_wOt*11EbhU;0@+ki}^<5ms-6fLVS2xyFV#P>W?js3s9nsDf)la3&9v#dQh`W|(f~ibS!)FOZ zq;;Iif>UW=Ac04Q0)Jw>(#;uyzU$yv*I6IFa+eS^iY27_p?F=OONx&P^RIKPs(qXC zcpE=R5DDfkX2Fudj0rv+?xQ% z=ZR~skw=xJb5)HhD>L`Nxnb(&38Im!3CW+LAkTA2oVou zO?@j2)?L_A9s4+_Md=idgr^6Dv$bFfu#*FzyTM1s+rQZSISrP=gDZ2GN|{&wW7qz4 zNoCl2c*EzA(s86V{qNcA!M%r{#G%26Gf9qH)b+|_gB1koMDt&OO(Aur;vX;EZEdZh z+>0Z40QtDy?l);vVa4NG6(ekLEYZ0Zj8E9iJsk%U&%2puv8mTinrGZZ<8^muL#Yg4 zZ-H{Ns*TmWG0l{MMe8G2Mp^2lt}Am7WJg)L0Z6hw459J%YuAq6cIL4|4>f8%5@kdai@*$>5x z<=u7CzzHCsf8;z^lq-Ul6ILKR=?EAxVY93dd4Ssx@;VjV&f7Q38i;HhFxac8eYB6U*AP*bm9zJZ;F@PA0W zkj)Q*%;K$0x+}#}JEI#S{1-vOx$&PCvDh%Z*M#&Z}1#@fnDI23MQ(hvfkJ@?Ee8gKuyg8 z5Nn9oY}uMVtQSDEIF>Y@vjdgT?6JRgeJ?XCxczQ&YMTbgMTvo~KSw*H@l``A`7=Gh zS7AWr(qFh7RINnfNXwYG0y$hB7k3JjzXj8pIb(USCJ{AO?2nNQ6rz0rr29Uoqv1_U@Ns%JYwtho z|GoV({9DI}kx8U(H3x8H0To3R67!{i>mkdg&>t1tD{Z5q>Wis(-uX`695;_tU&R?( zV4zu}c; K4&SkyLoGr^)o*?P diff --git a/files/poketool/trgra/trfgra/narc_0038.png b/files/poketool/trgra/trfgra/narc_0038.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b7af72331fad4d27c1d55be4b61398909b809a GIT binary patch literal 754 zcmV002+~0{{R3Y;$7=0000mP)t-sdun1z zlygC9TBM}CT4Jm@L1H;EG0kczlu|iLIWhm$z22mIy?bJNN?Pvj{{R30et3ts0007g zNkl8;ht2K7n|ZtMO@^`m@sGyh zBd}Mz^R$lyi*{~#1t>1sCN_bf9@_Rz8<(Qai=llR2Xa@4%+OxOfq5a^Oc9siATKg` zcimorfs`P{6I7XXuh;ud;2CJiJWZhE+#d{3d#DGWYN~nnox)Z5eXNdtybVzvyY_iQ zN*P8lkj2LYM!@EghU@Rf+CT>Tp(==ee4f&k8QscS-HyH*bMs=p3r66mj6f1fPhM1NZt7td@QETR^ zKQJ|cflRY02--svmmsRi-gxf1!LCNFn83jEy|{*3@%|oxV+94b{8-@zY02}vV5f!! z{euziY_m534{(#2z^(09FpjZb2HeGY+(Ux_Z6P+p!1vFApxHwIJirzCV&C(&10blw z6Yp72f_Y}DT)ZfqKtVmKH*hD;rED$W>g+7+W-*{8XJ9sEeiv4ggR`^s&k2}5O$xflvvJ4i#desJ z6m*@!e10zUR+BC{n>s7ZKag}UX?{GFx^)#iO$@p@``#R+B_{=)wcOQPIVYhjn+JZAcz}07Q{V%sTLVLI3~&07*qoM6N<$f^yAJGXMYp literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0038.png.key b/files/poketool/trgra/trfgra/narc_0038.png.key new file mode 100644 index 0000000000000000000000000000000000000000..e13bfd3a5589bb3897bf7b823f47744db4c91020 GIT binary patch literal 4 LcmZ46&~yj@1^xnZ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0039.NCLR b/files/poketool/trgra/trfgra/narc_0039.NCLR deleted file mode 100644 index e01c24d8fe8d3c3b18e8daa6b1a3647971067328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#On<`tybtxiR%t!H#{z} WQ#45Sr9^!EY`gD<`nr4T85jT()e!dp diff --git a/files/poketool/trgra/trfgra/narc_0040.NCGR b/files/poketool/trgra/trfgra/narc_0040.NCGR deleted file mode 100644 index 5640ef45287a52ded01627033caa8993e2badef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KIM&S%35>bX%XeV_ diff --git a/files/poketool/trgra/trfgra/narc_0040.png b/files/poketool/trgra/trfgra/narc_0040.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3412bdfdc6a800332ff4cd7032267b7374f584 GIT binary patch literal 842 zcmV-Q1GW5#P)002+~0{{R3Y;$7=0000mP)t-sbH$|I zS~-hBIZ}J9Qc7Cp#Y(J$T4G{KF*z}`w8j6`z22mIy?bJNN?QN_{{R30#>%ZW0008j zNkl>M0Bx1Ih^*}AIZK@0Md$70$Gr98T-H_!=M9VrJ&c&ZAp-@QbGVIX}K3h$hS zUqjW!FQJyQHB&;&S^f0E+1$Lrfqf~%mO2p8g}tZ8Rk$8-huQjMmQKBB5pwbEHLE@& z6nB`DO_l)ah>jVv8zjaZW=jqRp|66L@TQ-cEgEEkJbV2Q`88inCqj7s+i;Vby$TkLxw)`8ubBk|@ChDt60kWDx6nK{Xwc>R&20nj zc+lQrge{qZHDSA)+q*NRPP}3fdrn|WyfJ&u7<&l~ep4)9LDvxx{RLig{iK@$n3HGF zdgdnFTJOkqsZc_KQz^{|p}MxU2E(P0251CY)_S@Ck$uybE%O+a%Vhv>&>&2dKVT(E zuuw#U(O>Y)fW-*&*=_}XvV^6Qsd$utdU${Njj@zUz+$ly$o5JCjw<>02(S&G9uX~7 z=7uhT2-|}I2jL~557)_P);07UIDEWp&GSH=M#KDSG=c;HTv>qEkCsf4`bR-O8m?|e zbQXpo9Ki&v=w(5oJ1tGFH-AJ#hoNZ}4SficbopUw{z>1NeDq}TB89<>$mie1Zvhd% U!zI|08UO$Q07*qoM6N<$f+LHEzyJUM literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0040.png.key b/files/poketool/trgra/trfgra/narc_0040.png.key new file mode 100644 index 0000000000000000000000000000000000000000..3302d961729ec6b36d0b482bb581a5d780404487 GIT binary patch literal 4 Lcmd-vo3aQ10-ynT literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0041.NCLR b/files/poketool/trgra/trfgra/narc_0041.NCLR deleted file mode 100644 index d206e05dbf6bad35cb36278f7de1d7c101fb5d79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#C*ZkvVyX&LbY^d)J64r WRG&#)ONx)5ZTHPUwP*)B!L<|G@{ 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 KQTTIt%3fA*(_Fp) diff --git a/files/poketool/trgra/trfgra/narc_0042.png b/files/poketool/trgra/trfgra/narc_0042.png new file mode 100644 index 0000000000000000000000000000000000000000..06b3f610519926e90caab986ed7fdc982c6302ff GIT binary patch literal 881 zcmV-%1CIQOP)002+~0{{R3Y;$7=0000mP)t-sbH$|I zS~-hBIp)<$q;oNIN-0V?IbxJbIa*4^&DHWU0008~ zNklpQhW=_tLSgT4qGZus!tyZ7Usre(^M zDO09QnKJ!9;vAQEk1?)Ei3f}rV-h|*pu-q^Y=Q;6wH#&v(8dB9oO4BVa7?_^v>6Zu zKv95~qmPE=Z41$HP<+md)2o14M+#`wFo35Y=02+mvEO;iIfBolH+OfCKeqAR|S-y zsk|YCVEB9qb$m!&NeU$#peBXr%3VrH0STzfFbpO5OG+r0qG_%omJoruBK81S*u(*9 zx+i0xhY-TO7xCYMoRLKj;ZAbx0DcX*utL2pN>c-KLDQdW+Rc}!NNI^I#_%-2J-@x@ zzc2`?m?q?5MIE)$nAvX5@0t^X(Cek5NtY(^kxW6%wW4`zV$iSGOJ>nr22wEhZC&)o3$05GE*d6_6Bu19h9RDDg1W;|XdjpxBpxfa~?-4_Q5) zpf=QqdWlE{Y^amOk9VC}++j6Z-Vy4pBr7Ti7AypbQ~MV76An38J{iDUsRw0TS1U{M z^#WEX%bHR8Fzg?D!=7^4fw(5O(1_HA=TaB}N8&(26&uRq6p3i49aP_y+o6gg%oKxL zC@UI(p9#@}mMtNVa5gkU{&=lsfK1cA{zc*p`oDy@)Th%gCj?*$MJx8;00000NkvXX Hu0mjf#*dM} literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0042.png.key b/files/poketool/trgra/trfgra/narc_0042.png.key new file mode 100644 index 0000000000000000000000000000000000000000..ddc4a06050ffdf7385f1b9d85961dddaed48a0e6 GIT binary patch literal 4 LcmcatwqPm%2D1W+ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0043.NCLR b/files/poketool/trgra/trfgra/narc_0043.NCLR deleted file mode 100644 index f93659ef37af52fa912b14a0f3210c7f057dd488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#C*ZkvVyWP>Q^N7L|@AI WsHLk~WXH$Pw)<|Vulv8AfdK&IS`S(P diff --git a/files/poketool/trgra/trfgra/narc_0044.NCGR b/files/poketool/trgra/trfgra/narc_0044.NCGR deleted file mode 100644 index ae754e4f832795d5b2f2aec19590e4131feca6f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KtwoaBZKKvVzj?<1 diff --git a/files/poketool/trgra/trfgra/narc_0044.png b/files/poketool/trgra/trfgra/narc_0044.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a032e27532bf123518cae40d6c168f17b2c906 GIT binary patch literal 641 zcmV-{0)G98P)002+~0{{R3Y;$7=0000mP)t-sIh11N zi=>=dV*kZT=A=rrgG!5HN=i8~|5`cbds_e1z22mIy?bJNN?Pvj{{R30p1YS}0006E zNklVU)AA?JER9V#Vbimr}D(<(2(6R@xw zsz@wI+(qoo08-T@YMWPppvy^-8rNYAd59j!lp=BE=p;QQP02hlGse1OCfnN8WY zS&8PiX^Gt#M`LAK^#BD z1RDA)-ogWNdnKI3F2u@o1G}e bn+!(}mv__D!%+;(00000NkvXXu0mjfHS#FP literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0044.png.key b/files/poketool/trgra/trfgra/narc_0044.png.key new file mode 100644 index 0000000000000000000000000000000000000000..c66824a4825ba454c57043308cef0f8165d48393 GIT binary patch literal 4 LcmY#pR80W@0YLz+ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0045.NCLR b/files/poketool/trgra/trfgra/narc_0045.NCLR deleted file mode 100644 index 265abe70a86710a08dd106e7f928c4ed08df4487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#O_8mLB)ph>T}e@)F!IF Wl&F{eqZ=PT+wQxezV6<71_l80br1sp diff --git a/files/poketool/trgra/trfgra/narc_0046.NCGR b/files/poketool/trgra/trfgra/narc_0046.NCGR deleted file mode 100644 index 62fe95bdcc0fe335f22293bd69b9e07016fd30c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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
TBIyh ziYojwY{24S7v`m3_Z%;+tK#d+=eR97Qyz+UX_PtzTAF-g=&002+~0{{R3Y;$7=0000mP)t-stemt# zi@i!(gYMOPy`*Z3dtz!@T1q)F|5`z`#nu1Sz22mItb1a6N?Pvj{{R30V!^}R000BB zNklZrkY1;(muekh~hO zA}bZy{+=o5L_)}{(}Cs`3MEQhV^FR{yBlh-RJ=z#V-O`>5w2cDN36owJ@;LzujNd@ ztSf|gmiULySovf3LvIhRjb9spxgLP8uzz20cBCi)FgGv(@vt9eM>CuEwE|S39P-8jC4%K9ipN zh19({=>%(`Z=-0(3~$Q-f_(3oIc^LJh6C)6X*R3J zrl*u6L2z73e@oLR4)>de9zt4h$Oha)O>=J>9@!sC0IkJClJCh2dmezZ_odlG{MR_6 z*MuHe1RH_gz;@dL|1L16w!v!v-F=Io&X62f8;dct1i-vCFgJKg;9$v{?lf=X9U*2e z94e+e&D($tJMsv9&$m_cScEF`$lTT|Uk=7Oo=G|PE!CXsiUoju-?vnAPWBdj97fha zbTxXz#{#B9TQ%Q|-UMO;8Xqa!SdU%-_}Z}r;$Q<#ovP2RJS&uu+66%U1zY&q&`HK4GS4=7j6qKYEAPt;|6cmZ$WJ1zS$zT;08C0ZJApTEt}>u z)AEc$XD8cXZbk_;9dTxQki)mrAy)Lj6vQ*C(0Y>GepS1^hyF=aQ~b@B$v^+_-S0+I|23P3CX#HCRhahZ;>_S4Ni8s_T0 Wl&Dt}%Z`tqZTHnsUw3ak0|NjLlMvhh diff --git a/files/poketool/trgra/trfgra/narc_0048.NCGR b/files/poketool/trgra/trfgra/narc_0048.NCGR deleted file mode 100644 index 95b9510dc3491e403f98e52f6a9d6fc0d7ed6333..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KBO~%~3eiu+FN7oj diff --git a/files/poketool/trgra/trfgra/narc_0048.png b/files/poketool/trgra/trfgra/narc_0048.png new file mode 100644 index 0000000000000000000000000000000000000000..da0956dd4cb93ef5cea582a55299d81db7539c7b GIT binary patch literal 723 zcmV;^0xbQBP)002+~0{{R3Y;$7=0000mP)t-sIdiPu zS~-hBIYBW&Vw6%rYDzIdIn8@oi&9czNy??>NDZ*Ai-kW*vWi~?mUw>guk|oqjR?#BC zag!wS3m0Uplm}yt5;1+M4L4o4`XXyj>W<} zL!?c{RNN@e*}yzU3`H`9Xw&q3OJBYpzXHIn*pJ}1lN*SXyP^`r;O5%pt(yRlOfZ0{ zxO0LS5M;PT7~G`d`e%U0Ag7ryxB+!a#~|Mk?`7Ft5V-FzoqVGMf@E;f2QZ66^N^z8xzxvc%1A=n=N20@igzG#GhTY*4}2ZvG3 zAm*P%GlC>B5t7pD;YXCLF<`7m5c6hc@C*%(Tekv%T8&_h0qZLuS0+I|23P3CX#K%LcWd&tVDEMftP-T<- WsT-)NqZl7Q+wQxezV82e1_l88{tx#6 diff --git a/files/poketool/trgra/trfgra/narc_0050.NCGR b/files/poketool/trgra/trfgra/narc_0050.NCGR deleted file mode 100644 index 904b2cec8659e9edfcc2693078c550e7195b56f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KvxQ_DA>&SFesbLa diff --git a/files/poketool/trgra/trfgra/narc_0050.png b/files/poketool/trgra/trfgra/narc_0050.png new file mode 100644 index 0000000000000000000000000000000000000000..e982ba429138dbeec615d98acec6eeff5de47600 GIT binary patch literal 752 zcmV002+~0{{R3Y;$7=0000mP)t-sIdiPu zS~-hBIYBW&Vw6%rYDzIdIn8@oi&9czN|_y zCW(|l(UVGs3MhJ^^1bo(La>=obSVVxer;X1QXmji!z{ZnX>V<7- zQ|ti7BJRJfs24F9Mxlz`#p@4;19{Oa-osES<=)1hSIfIgA>VvVA}e+hSMhMMzq_Q( z&Fpj@+f{V#qd1u9lJ>W=_xJOpr)=SlISON@RG*zLUeC`}1?FxbtxZmX!3Bd6Pr7vU zNcaq1oi7$=XG*r+J+665wEy&VVLK>~ojsx*gZ2Glr9wV_ZPyN3kef)N+-+o}r0Tkh zH4E-_NpV~9Vd*-9wuvva9#SC_6j+*(?l(oDN<_)jGA(nWvw#~(CBWmU7<1yM?i=_R zHDdxln~q_iFu^v>#%~eTK13<9cj-38fdmI>o28{cg@WViOv56xpuyEFc*s2LCJr3v z@x#T42`?GwQBJ!F3XJXBbj&HDnplBdU=ta%Q{lw{rMOK~Js9$f>Vw1|BdrHIw~zh> zLKND9eWuFYmn8!1YptuhL98$tGB`}D%LeiS5c$s;^aF@h#ctvUYba<;i3amO0Q$J= zaLu4-0YPEG$pj3-GxX6J`oJ+;kdS)=2Wi&|u;7M4f!yqZvlGhsN7-+nd`TinaNu_p z9YHhnq|B*@1`EJXl*bT%2k4S0+I|23P3CX#K%LcWd&tVDEMftP-T<- WsT-)NqZl7Q+wQxezV82e1_l88{tx#6 diff --git a/files/poketool/trgra/trfgra/narc_0052.NCGR b/files/poketool/trgra/trfgra/narc_0052.NCGR deleted file mode 100644 index ecefa7d15dd20ac6bc52cc51969c7789ebddbbb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0002cv#~;UEH6GR5B#f(~N6Ry~ zDLKC$CU^Ceb_E8SSYx!XZ4o$D8;=|e>s=vI>iZd}3hB*`fv4DnD7A?S-IK(i;KAU= zIKPSf4h^5e5Gxdz&zaEvAlHv{er3UWWy5HYw{iV88t+Q%R=rR%yIUfNcuB`@1P2>r zconVc@$;a7@*$35D{o1^KbwD>r&n7R5|jf+KBkk(PB$kk)2OS4Hp#^G3I{onkY+AY;$%S)9wA-Uw9 zarZtH_Jz|L?BiuH^^q;sb`Q3U`rW?Lje8p?B59Kj?I*$n$TjzhkP{Xlh(UHnv_Hdq zK8@T$)T^}^2N^bgtXCQIJ>|~&I73?F%OOe0f)1_qRjT6-Aobm7|{Um{ACp1kd73;+<`hzdQWs z4Jp>ng69^*clC`*O4FX;y8$5vQvW|ZwoO|C7Hj6%g4swuQWw6oeWf+J0s}M9Lb0uO zV=wV6uKj#+@SEhw+ljBPWk)%rCsmOuzcX9FEn%+aIA8W0%B|AkPRsVV7&!_ay?2O| zbp@fCe`6Q0d=Vp7(vMFJ3SC@MG5Z{-Iq6uASf{ImXSHMsM3ZNrFTo4OFTec!Z4Da2 zmn&D8KAD^TH`k(c{bk&G48u#1Msa91QSbfi^}P!+f?K7CCrQ$7TL*4rHx&r#*z?1H z!67-OHXl>mp=~ju@QVj{^!fbW!Z!_66~*UTsUy&EpwWF6;7|O_aUF{iWb zeSO;UQyZp8vk5gWk;mdBhtlsxh>FQ(o0x45V~Gg>MLp@VW!vTmf63SG28WmA7L~PX%yU%$si6)g z@}JCH5$&!b^b6_uYk8txj5oyXzAmQFQ~%v%@Zs)p64{i0`oMl)c6>Nn0q0)=AxNvIoIr_7!95zw_pRkRjxztsh3* zfNd488OcGwXglG9DSAY8XGA{ zVhKPluH)OrsDMnY8MBW-WZ|x6>)+y>m@Ug<*-INZ|G9depZ8=G^o0o;I^!!a6OjYf zsB?bWKqLBx`KgVAvyh{a|PF$&12oLni2U{K##Qy zNL|uWzxyJnm+5ZELP-?Bq2XR$=98_U&B0;D9lzrID-96Br7PW-9GNlxW!K1b`(+Y( zTEh{LWN|(=zwcx0GrfT_5L>H=g-Pgc2?rEpwH3bVrt=AaUm=g+U{QUT8_06z3yY0- z()p6!@HaD56U7}`_al~YzR^<_PETUYuN?sral3B9ZQZ&RPrU{C6{l zZF?jruW2+6awj_kg*AwZ#S{M^bwT$=nLiwSTa8UZX{&x1R2i3k@mEsxy5%4GEkgqk zEb();T5mmUgFRoe^DF)N-O25a;nG;bKR<*Fm2;Z_N1Iv8$)FStC*ssZ)^kYD_mAidXI%|a2Kyzb z#_9Qv-KQjkB(?Pld6Q6}9Knpn6u(vciVcgxEGrSSE6bw#=39y)I;VFyYb$(k#F#9 zB0UQWGEGMUGHdeK zKG}3Wt``cld8MJco&&$oez940KQFy3D*anrE=Nssnu*)4NZ%-E-c|i7TQldtX<=IC z6koy|My%4f_(lXd6H8B_dVAA#bADSySh;mrhsb?XyY_E}oK zxt9|(x!NE)@`Es-eTt*psMcZBjtUt`vm3HVZwX;8?Z+-8gVidk&a?PH(c!OVP~W?p zH7&ei?n`7i%(+{hWcM8u@rBwNuj5oOK#|1O2@kc5mEGmi@OvsK(!$`>->8;-bh3dl zC>}*16G2Tzhd%;*8I40icdG;#G8rv?A6IzvxaC#)dqc?(O7Tgy$Zw-;!9CTof!p#3 zJIMp?Vu$185|trpXmjBJCwb0Z>bD})5JjQdSfh>b<58cM zm(Sr$eVvq&B0CG{_$iIfwdXa&vh~zTP1DWbMgjN+CI5arkxjw^xob7pttl`*#fOzF zaZ5sWo&%!L4Y9;_b}w)&$^9d8)0=b1Mv3OG7)RKo;#F8GLNf}$IAI0mi(j=IC9S#Q zam&TH!#RN-uy<#aa0RHELSqK7#}T?#Wgo_bOtYJzjqP43EN0XMI zy20Yc0>3-_NDYC)IxD7_X_=D#s@DN@cx7XHPs6&95pjPuWbb_J5WTW8Wm`0el1T|} z@t1|{YdZ}mRP%Cx%ps7bi60W&{B0Pb6N}b(pZRm%wKwck5XJ6VY$LyL>(LYzb5Hxs z3>~r(M!Sq?kg3v6p=X~&(sjbhfK#7fZh@U2&hW5AKw{NR^XpbvWmzS@(3d7OI3-Ft znS&EhRWW+@k*~?Dn0 zD>d6l7xra97 z(Up8^PjdtSw4r4tMW2gYZ0(gI7Yn%f7I_(7fw#5P4@ErMf1~j5@==PGPR|rfoSn~- zX*-^gP+o7j`wr$S5A_3(w9|0ll>s9L9RKk=@J&4eKx=r|9N7v!+!rvkccs_5>;r|+ zoUt!^@;JWZ$~Snp;fagDKk{Ja2Cgrb;u#|`mGxnc*}^mvN_Bi zM|b*^Zv{h|X=7=y))A#v9FKtv#9h8p+xsr4Q|X$HVyB&i;kAYeu9G>S3Be7<`M<9G zrw#nV!P}niukI>|wov+-*=mk=_QRc!pmFLpo9{2|uf1(DEL*pTK}i&DWd~qnu@x%n zLi3e?n;|=<03QY1+ieq~8jG2Dj`_acOgDd255rRjk}L% zzo}hLcxQ4%5p|u)=Tkypy@5D}7k{g~pUwJ$gX@`C)LHPp=a)G&wusadxRw<*- zW9Qq%F!hQ`8`Bfu22l#z%gnU{ww(5HnD~)?r)bd0(3xDf761Y9Z!7 z{+Do6l281iA&XpiefbIA<2Mpi4#gx|x+8^f3DN2n;ZI@AN*yQ?)Vq>s?y2ZbPiI9$ zP<439PE+Mz41r^Y4u2lJ{>^oQ3hUfhLs`3SVh+W;z729Z=Y!c$b1_i%|F18s)_wQ# z#2Y(Ed zD(#CRB?~_I^m(sdueaOO4MlR=&7-#P5K&;3yw7?}+MPv`_d68mg()u1I_Iv$Z}nwL zg44F(GXZ(a#v>cxu1zxnPHX>!=f9NvWexJe&ns`3wwd$(@7FqX z^<}hrM8ji{bIN<_!XQ~N?Y-kNx?8=7pGhii69)!lFBRbG5cAuBIU$jz?jP&inQaN8 zD2pF>Z245)dN-w14aL7&;Unm97}3=hm`{|- zTY-*-1%HveUCr=x$!T^Dd?zgg|23+LFB8!qPeJ)cV?WM(m5nb#e1)r{Rnn$$d#4yUx#hw7 z7eiGLhVk{bq;GF*Jw3s)o!kBh_sK8rzK1X54wa2+1aoZwA)#g_s-I+B3GId=EDHhn z<9YgCMz?O%3`Gqp*NvhJ;9g6XbI);r^qqi`K06oav?;mH5$A!#uJu4l>C;)@f&ruk z0sl%o4Na~B)oVf6Y1wN&As1=1^ra}e;R7zvNwIKtQZGC#Mg0$g+;xq|0*Ml?bVvJW z(N)AM-ZPfKbYZdPXJ3IFp{=Fjjmy!ve>trl40p4XYy}jW-eZ!m0}*CcL5~^?Azg1$ zu=_Wt;ORS#=cg8gp0yVW+n=bY;(a>%&Hn zO>rwWK<`NGjJ=*Rfm=X`PDwRxY6n?l?iD-g_w)XM2q8SCWgp($cx?ot5NYjrTlt^f z5jXXi1I1ce2qQ~yC(*zbPfy3ph#j61V!N1VOsW1({b%b$&UG%z98)V`s)4zN{C@x`cO@SzbVA)lv^6zzc`GYiD{(s@N*-M0bM z3q`2f8>4*iE>Sj?D$n3d7@fP4g*zJP<0(YW=;u_#?e!ZYXz^G1!MKF5)n~W_>WD)yj`kN_xn1i59!8^ zzNhJg-L>)xN|VK)MZvko)xUcDBMs=n-7EE&l$nYC9oJxV^JVIKlEW#G+;NsRcklb` zE4^7VNL#~*{YgM>!3V6VVH%d|-t!@V*CFSo+#k{0S8e~IHjAZrO8M&Es5i@03&r(X zFC(sSHqomV22c9Trybc6sk@tKd#Q;|)Mvg#4Rs01gHz66`GMqy^M7}2*Dx7^pX;Sq zkXanQLzjg#vnA0w+=GHpATg2lq_0Sy*N7(^B zPZy80@}*w7F9Y<@XR$_hz%QaKgZ+haeVc{IV2LQMB1g)kTvd81tTWue5@84CRbOZ9 zeP5K~o6A?YT{%M@I(ONWY6VJ~EMr)(ArU-QuaAHXUtQ%=KKnhWKIu`8m8ZOf9JS2~ zv6E<^l)>c2%)jmYf(>KBWGgtB1DRC*G}m)QixGNP!QA>VN9Idd*>iChO=}|5@k0T9=qK KG9~OfgM(%419$xZ diff --git a/files/poketool/trgra/trfgra/narc_0052.png b/files/poketool/trgra/trfgra/narc_0052.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ec98028f4adce521042c6fcf884f42bad04d1e GIT binary patch literal 802 zcmV+-1Ks?IP)002+~0{{R3Y;$7=0000mP)t-sdun3d zQd+&e#e;*3i&{BaK{+`oDPoJ}T4JO*Ia>eKz22mIy?bJNN?QN_{{R30NvR|?00085 zNklOxFh5~_qosi z9X1K&)|igLp6gEHyd2jiKXBm6f_Amfi`^4uZ5V*>hmbfq8_y91?mTlGddGSbm@a@--<{z1F&i9MYjzoXW7NqIr z*StY;#o~Hjh`x2lm-${kpNthu&+E^Hkju6OKAdQ?*3}$KOwU5RJGSmPKjB>!7)uH1 zl!QO^4S8<< z_O`#M3tNti#jM$ovSkVkE8=aiL0Wd;yl1u}ZOGPmJ*>Rk3d*~Ub1QIgj0u(U^tD$B zwt}E1Yj!0L(>oG}>2**E%D<(wD{+*Y!-P0tC3w*Wf!Vk?;r5W#?L9j5g0j|eLIG1lx9&iOnVC_`!7Ii*2sql5U~?J-j>K}v7^vrg7>1!K z5%oHBqA&}aMuCJxds&I7MKl@zn30=6P^r&`+=hWorMfjI+696&1-bBsX|<~A3S0+I|23P3CX#On>Cb-yPGxE0EB%Ptqu WDe4YQWfwiPn5Ephn4b;xj71 z*kL8+D__+d#jV-m5zFPcV>zK7Pe zu)WeU1zS{zGD#_Jt_Lk-k`?dj`}2~3Y$33wDIYT2oNYLwvy1k4Klzj1RW}S&u*D8q z3?tugi_tU|6Hgn=tR2!4=DVzDFsbrRL1({2a&_X$AXC3!4uLI(z<*f0;LV?coa=U2 z1zAPDaF<3j*d=N@IfFA$^)Z_EF|X;YIDMh=)*Dqwz6p#j(XSo~vgVK^Yi+)>o_a*X5A z=-ZVDipehSS%+5Sah05E?{g#oRH20?<)5ou4DGcdw+q<#ws|>TA-C1kuSHziAEOZP zl2NLb?$0z#Je}{72|F(6$0<0@Eaxc1k@e3?RMQw}H335gy#EnAkWF0z;A@!JyxA%~ zd>2r(7p3>Qj02_6Jh4x9O)o<%2>t$YI-3^Am5C9q4@XO+K~>W#$umvBr(w|MqF=}y zq^;EA7(^GlOuf?faGb2K9n$aH? z%1=(r%N-38MVXFDeT)B27-y11v30%5hf`u;U4dAJw|~pLKg}9~BkQ?XbXgF-hnHD2 zS0#ly;DZ)WgfRv7Xs?{C*L_^_og3IlZ3&kyJIC}Sq16B?TGf1FE%OI%-rvETlP%I> zoJ$HgO1Tl9GWTN?kA*NAo#Q$%{*k)Y7Y{p(bKQH=9(zzI3u%B3ZYQS%AvF|=0TZhr zQ9;8-6+Z}kca2%XL(Lolk~@NS?N`3^R^_YuX+y6N2=PC*)^90npFL}`uiF?1ImtQh zu!pJSFqQXe)^kSyBcU)RT%Vp?>+P^2z6+c9rFn#2xVLE3u0{94P{q<(3+wX`rO#(f zTb(MBP&+Z`_9?^81Lyn1(DkZHyVEn^gaK{_v;TxV?@ibOXKUNoE7|ovlNV#OmZcK9 zGXsdw%dxt4gfI3ir~SEFV2v|k?lT7{W=Ec+097t3urqMLc42$w8DF~`gRRfvAIodF zK{+=bes`^u4h8<2Fk|eng%Pk;bC1*vgIyU?!uwIEBI!kr*{6_%z_kG=*M(LJQhP(r zkiS9vrVW?E=qpT^=b1?Uc-KdC7G=45J;R`o&vA7&a_<7{?!8DdlUrJdkV!voTnE!+ z5EZ5B$@AEN3Lyrj7athhT5Ya?<62(QwnH-3gEul%uEj)JS|g=!snH4+flqK#ZD zbi1->j;RPv?`LI1@O7BV?o$O|tbv1uu75tfp3Rkls_Xn%<5}Cjo|kMi)+HbqTp|NP zxQl}JpRZ4>c6}G}WE)#Z90{T>lE+6RVAWfyBeQ`(-r>+@Ro}FnaxKkbqf5;=Ik{Y( z$@lgYj)lt_#N(YX4UwhR&JS*klHE3HzR}s1kdyrmMJIX$U^VZGXcJB#ph50N3_p8( z){WFctgG!99~rKG1Xt1Y)#b+e5JQp>m+`8$4R73RK0PL~cH5f>=*dLx2Z#LR@0EJe zX4%lpSSuwa)1Q%C%I&Kn#S32elzGoyPq+KjtwoaBZKKxkuu*`PT+fCQTCpW| zyDzCMM*Vbh$eSF<^NA;}y+`q+zg3AUmot;VMPVl9kYBDGVy(*JCd)3kFgb!A6?Z_C z4F$2d-_GS4KCPBkDvt*YqFq!{3Hwy2QR&c*u%}~$|Fv8S9Fw1*N5O-}hrhJ^1q~9y zZ!3?OR+$t2kJnmsm1Wd=W1RVBMRE`!`qqA}a{)~^Dr z6@Ak3D;wTO%L%P6>BpKRAJw+13bUj@t>JrS%-^S+QLW(Mh`CLJleVXxVE2g>jfG|! z>*D}09FdULg%6>OvEA{~tb0}{X=#=Y94Ac#pEb&g&lB+=??D+x13&J3HH}X~GpjHd zjv0A=8&~A?RL#kFMQpk6+3^*&L~oC5-96#5J=-1#m&s4=UWZTQu9dB7q;rh`!J&pG zN}q&WsqLmB%nKp-gLxWW=C_X2tVJ!_l%qNDzfo(J6VJ^|nYD-zG1V0$c`Mn@vFD-0 zPW50)iPL%DA_2q(q5o<;txe7Xb!%bR3E7K2!54|Nl%+_zfdfv^>9LS@@-JL0<^3;m zkDH&!qKPuD6h}m){@2E+k=_2M0=u|q?5Q43oo5R~Zgoz| zyi-eHN`cvioPQ*|T+NGuxa)#g!C7&>%$Jfh)FswB)q}rKF)>E=4X?GVw0(6P9QA~z zUm{ikK*#MQ-qjJR@w3N3eBmZ$L*JU5FfGGku}f1p7rFAD_xBtWjD-Oj660eqE0KHF zJP*{2(A_N3^Ltq+m}wyn^Cut#-ZjeX*!{}R5Q?E0_&;HMl#R+lx~p>-{TW1lGFSKX z)8+j7UPD+Awef(qdv8K)d_A191lyqqM#)<4wTGhQZIuXWi*v95kfAXq!Jl_ri0w|y zHRTE&oXdxxSd}5vt3}A#yQ7@&&QVsD%Fh5yxSiXQB|AFkgDGUri05>~jrBW9@Y5XN zaRKiJnE%~83{6P_{A;Axc-dAy*cY6%6NQabM(y8@mIE1xOnNOWg#8+gR+}QoQHedS zYe$!)Jyky{Wi#2p<6(T}eqWRvAg#dSG|RNO4mlVeLw9DB3kA=brDGMavJr7sn2&7? z;C-yO!X30mNyh~10rFgieYGt)<&)*0<-ys;b-$YY!wm?+eJd51G?}UXz1M(rlVu8e zGQ&xbd~vom7w;SF%e{Fr=v(86ok?JBVF%1)P4`%YC>5`6kpxx4BTCoa_nrKaD2v5- z>iG)ZNH^y*IbZ6c~t#v8NBUA2RnSlg` zlYf`IyD#W$QI0DHRSa(1yz(CDQ`N%Rf{vn4z%jA*M6YP9Q+-JCxf|q2DG9?am&ZUP zoz-lr*t6>Ik^{eEISl_yV7dfM-Y z(BU56KBnl{=h-1X?-#GMlBIsS&jS?D2eD>$U@yWfBmJdv9h;@d0EtMh!bj?){8gGN zOf&qzvSBCY^6XTW%Fc!Mj^7M^B?5g)@>T1-HV8L+4)u8-#30# zs>QHc_9HQH<~;G!ic^tb=z%YWihl~c8qI-% z#_I@JpIHaK`j@yg(j^Q!BZGxdPca*a^-q?#GiPT-D{MVt&So zz-jZDKHq?x?k%}uzf0LT^|^?iCHF!UiiI~CVB;w;Ns&?3st-Dh4&9>CfqP#l_Gvc` zp(n-!Ts2#Y1QXgI+(DW~=s!n%QjNeu$a_Si2IeI2IiP zx;+xIlG~>Uq{(pZV~0rO>y^H0S#$OPE}@4eub*99M(vj(;R|Z`P__MK6ZvpYcO;VF8~Hs>0|3-$3zzSCmh4*^96hX2Dn%1u843TrCZ zR@v-61{cD#5v7^Bb_4g&ma)-xmoIfJ!u?=!%bQ}T}VBoyH)inGczB+fnn0- zY+rgD-mSLcLd!b1>^ZI;ad(WA2?Yh3^JCkv&=E&g29MJW9$i3ECHr8g4e9)j45zPz z`?bglD8_E&$AxQBC$ND0ferq`iz}O$5}7~#>({1qk!3)7fWr@vnsJOah3|pv3BB(! zc3bI)`$=|g4+nB&%N1m|D|O$>@l!NlH-TD)fq#9xdCmNSP3uco4q4K^ z5tqv}Q6(ojTGm_>nxzwB_FK-Zk$t}MM;q!$hY8s(MaSkO8`UDJrn4|W>ES14sNZv( z%`LQI#!H+y99y zYZHASD?!CZ-#@y1v5h-IPpdo_N*SeocULga0@t~85M^6>C&TiPDRK8UyzeyZsJ*J9erR92ncBrC z@x&L}xB2Vd4L77zsKw@5L?icb1JR5Y%TKe+ zq#ddf9=pV7sHsX$`Da%|YIVBvY+&S5wH3k7>^rox*v)r>)a#B|eOaBpD3{(e&?Q1T zaf3@xZ87rp>92vTFnxLQ4jXMqHVNb|oX0sN+SPrkjk8lgxZ%=fAKzx2tSzrw`FLy# z;4NC$7rrbTh=pw$uH)}8XOSn?7!RO~Ox+mL4|`=ORB25PPbX{y+BFf1(i0#cdO`3; z);}$L5RJA%)~kOQxfyVNj#oqU&*f;t&T!Ww!ewax6DCTS_&tcSAlt170?CH%5r^*N zX_a(pCv!Xi%%R;Tou5No1nrF??+ftwE_sn&*|%-fr$sc{SEDHK3Q+=x~Elyd9{8DhLdriA;E>lQNL#V zKMl=+su&Whvkj4IT|EN4;e-1Y7TjSxJm;y$2X%NfjdM z8uQJ7vmvvlSRcLIb8QQv@{7@UrujDBq&GKIr^UD#SP*GLQAIO?#@nKZ%pK(tWxK~{ z*QwP`&}S+{sdbggzf*c()q${vZ+~OFH_h^bTkFwS>{)2OKbP?|PbFPC7=tcQ{4rhj zAg?s6&wUNC<|xB^rk$(0w}ZuCmets*bhCCqhv9u@mfu;Ni!G{R)Jq~b!ntXl>i7E; zhlL0l)#Fkyc99a+&kxg#Yu!`QR(ohDgK5|fCMQ1x88y|u3Lx+kiq&7ziF@fdV2v?C zU8}+vC>c9`rB_z;PUVC8p+mZYdki zyXTX{$n}Cs^V3V<`~k)WYyTWP=S{EzpKJ5jquEV9OBegJjy2hiSTK|02l!Uvcx%UK zYyFXOIh(P_yoq$K9!EB$_*Dif=rf4G?qSpB(O**>d#$J9SIdLAxjBy>Hg`po1_jod zXk!Gh{SgROE01gpd(FaO$;c|3-k{ma*yCZqOto1G?UNLsaKW&~NWa?%Ug1Y2uYW26bEZ$2rNF?GQhL5#%LPi zhFkfVrfmkI`HPfzmHC0*J2%Qyro|juk|VuvA<<$MIZqkP;vFCoth>r+2B~09r)T{{ z=yh<)CQ}_?B!Sz8W`EYamh>*M(byns9}su?AJa{6Iwg2Izk?A_i!sRdSFh)+Zhi0a zoEvjUlnMGSO2^+MSk*JCTeF!!R^cdS4c|cy%YN0bGi=Qc6 z!tH}1{R?*Z40$JB2e*^drA2DmrK9ffC{fs!6wfkDa-BVr&pS-$ohhcylILc`m&R#% zX^`Ec4@k8_E4v$b0zxYSCTlj>64@9&Viyjy4W$LT5(9(K(y@JZb1y+GKK)E`0Gl+( zYl(lZbw`P$w^d;(&oisQy}JLXs7#x_q8+%RFk)$zrowaKfg@;{SE5Erz@wJ&Y5feN7wRn zvR0T$FZZa^LN$DHD68415whDdl3VqNw@IRIYX`n$#}(M>=<^eRQ6UMYMjxZxF>L{& z0E<_6g!#oecq3y24`O(l~$W`p!l8Zk5Wj<1@m4SlNeV;lBJLkR^g zp~o^LD3-mMafgotv89(H&6}(BFCw5~;!CJFpt=8^822F*g@ryEBjXq_l#%GxJr6mI zsolxaIicPr0-qdQq3wPm1PeL% z`+0I+p0_5{R0fTLM352>$ga$m%g<%AZjyMC7CTSq%qcO>Y3Dh_M)f#K!PAl8ngJXJ zS^ok&rA?*+t!sJMf!X6ec^4tHjHMvDxdUd002+~0{{R3Y;$7=0000mP)t-sb81?1 zbCgn2V%}0pltDqw&DErwv~zQNIXO9EK|%l3z22mIy?bJNN?QN_{{R30P~_YM0008L zNklB(r$SMf+E7X9p z(1V9Y?|LeegsR7GbM+7t6`_|TOCivDP$s3NB~a`*vx(ZC=kH112l(;c`_B%^Sl0jg z_bLp*9wFfx&`T3lIiUEAT+<@VO9z4SX2=>4eDsQtDH!-T_AH5f>)6TXcEo6}n}+qDA7v(oELzWI%BJw|~Q1=iYpa|i=-O|Cv81P)I>K1S1hb4mWQbHW) z78U3-E!u`hG8HT`)#BnIRp3h2vgfE--gz~$FZO+=KtGBt zo6ZeQZZfsP_IsZ(4K9_UD7L8>elh~T^Ll5Ou@zR4dsV2PJNL@F0ROw8kuao{B6@Bjb+ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0054.png.key b/files/poketool/trgra/trfgra/narc_0054.png.key new file mode 100644 index 0000000000000000000000000000000000000000..b498a45e7bebbb2d3ce064285577000a33ec845a GIT binary patch literal 4 Lcmc}}t&9Kw1Ni}x literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0055.NCLR b/files/poketool/trgra/trfgra/narc_0055.NCLR deleted file mode 100644 index 9085fbffd69e1f4691207d7f45f5ac038109f219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#Orj=d3qT}s|qPvW|u^r WvwbeZqZl7Q+wQxezV82e1_l5Ki4dm% diff --git a/files/poketool/trgra/trfgra/narc_0056.NCGR b/files/poketool/trgra/trfgra/narc_0056.NCGR deleted file mode 100644 index e829f8811a31db7310a85335e9e7731a8fec07a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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%0A}o(W0V&g0#0JP-=@ zbFM!iHLk!Q%k;m0_a7kBm>v*DI{^TmNtTr6pc&dK5=yDo@?C%kb_*sY8fY4K8QYR* zoeR^rFdK~qE@>Bt*<+0a61v&Nk=7vVAYMBQ3cM3o=0TibazvkxQNjE0xkPQeq+x;z mntQj4yC<6BoS0+I|23P3CX#On=nEjcx>#TA;ZRpeBx Wmo=3=EfOC;+wQxezV6<71_l8B9}n;V diff --git a/files/poketool/trgra/trfgra/narc_0058.NCGR b/files/poketool/trgra/trfgra/narc_0058.NCGR deleted file mode 100644 index 9629d039bec711e18b689598b0473a19aa10a9b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WXRE1uOd>vhw%vC_eck`{3=9At(Gju$ diff --git a/files/poketool/trgra/trfgra/narc_0060.NCGR b/files/poketool/trgra/trfgra/narc_0060.NCGR deleted file mode 100644 index 8cd4f6550c754280d560321696add4ba1dec8a9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 W7WCfM%P>BEw%vC_eck`{3=9A*WfCd? diff --git a/files/poketool/trgra/trfgra/narc_0062.NCGR b/files/poketool/trgra/trfgra/narc_0062.NCGR deleted file mode 100644 index d36a76e38d994ec040e582f135bc87616e635e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WsT-)NqZl7Q+wQxezV82e1_l88{tx#6 diff --git a/files/poketool/trgra/trfgra/narc_0064.NCGR b/files/poketool/trgra/trfgra/narc_0064.NCGR deleted file mode 100644 index 2162ac1cafc1973757ccb7033e85ecc6b67ea6e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KjHy0OJ!dPPrg%pH diff --git a/files/poketool/trgra/trfgra/narc_0064.png b/files/poketool/trgra/trfgra/narc_0064.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c15ec4c1bae70fb9eab6316eb8af0676210588 GIT binary patch literal 641 zcmV-{0)G98P)002+~0{{R3Y;$7=0000mP)t-s&Ap`N zi@mI3gNt*dT2g~KIa(S0+I|23P3CX#6N><;-)%Y4D@z>Lz^>zQ(GcW)EHyskX diff --git a/files/poketool/trgra/trfgra/narc_0066.NCGR b/files/poketool/trgra/trfgra/narc_0066.NCGR deleted file mode 100644 index df884ef1aeddf52ece2b1c2e7562cb220d8bef64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K;lV}55x*w9mV4Cz diff --git a/files/poketool/trgra/trfgra/narc_0066.png b/files/poketool/trgra/trfgra/narc_0066.png new file mode 100644 index 0000000000000000000000000000000000000000..65fd1a5e81a45deb5124fc08750a92598533811d GIT binary patch literal 898 zcmV-|1AY97P)002+~0{{R3Y;$7=0000mP)t-s&Ap`N zi@mI3gNt*dT2g~KIa(4|o)qTj&r6fXe%oo7GMz?Nmr z%$>3RC64#l+N3f*dt*%_aB9(|VG8VsuFk+cL5J~o<%Zv3Wm$q z;QMb0>9f;SaDj>{MN;Fu>yRb(8SVv}@`MyPyMDK9Go*tuVYeCkuzg^&*Ko^mGD>#t zkTJHsKgV{#Ue>a1IayLKNzj@tl@UD4O4+2xzn0QgomYUMW5u9df63CboI}rYSfE8@ z>_%;=%3lCIEp4SDPl~lW@B$}@l}<+<862(ggA5oXsZ{KpzvqV?1Tc>Muy$JgL>7Rc zvOEIUKZsky%;ml{4P7_QA!$s)!0(O1iXJ4YvMKZ=ti)^4 zjlif%aghXqa+g;OLpMS)X@{fubEisu#Hk8H9z&OCr(|4zo4D_5MD; Y0Gf>(fbAmk>;M1&07*qoM6N<$f`_`B1ONa4 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0066.png.key b/files/poketool/trgra/trfgra/narc_0066.png.key new file mode 100644 index 0000000000000000000000000000000000000000..0123d39f1fe02fb4078de4f6ad54d800b4fec0d3 GIT binary patch literal 4 LcmcET+?NIb1bqSR literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0067.NCLR b/files/poketool/trgra/trfgra/narc_0067.NCLR deleted file mode 100644 index 21acbb13c099dbdd82ce434babfe2e34d02b2629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#6N><;-)%Y4D@z>Lz^>zQ(GcW)EHyskX diff --git a/files/poketool/trgra/trfgra/narc_0068.NCGR b/files/poketool/trgra/trfgra/narc_0068.NCGR deleted file mode 100644 index fa941f1d7d6c8c41504c83f9ae6b477a30fb322d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KBmJdv9h;@uE^Chf diff --git a/files/poketool/trgra/trfgra/narc_0068.png b/files/poketool/trgra/trfgra/narc_0068.png new file mode 100644 index 0000000000000000000000000000000000000000..51e71a5ad89db9e95fe6216bf8bd65a87f34e2b2 GIT binary patch literal 1039 zcmV+q1n~QbP)002+~0{{R3Y;$7=0000mP)t-sbBm-} zl!H=IV!ge^i;Ii2lyi$}N^?>To>01D8&?&M`;z$t0|8*(ZD*LM-|B{d72CGKwUAztGOgO@5-Zq z`beNm(7T*HVhjxoyvy4^1a-!$IADog`*r)`pLJHp0D@Xgvb5m}0l!@_Td3AP@|6&Rr z9%TC)V!jsn{@bykx4NJ0<+nkL;@i>h!8eBDYUjyeeh1))2*JO5`I;s@GjR%h`bvUf z5yt#4`u88}ac|QEJO$Y3M*zSf<~5hPJdQUEJThnxV5-2d8xL!4b1fbgU{JIKIcyA+ zCyPEKnrERf0w)sew#ksoD6Ur;PSNQ=XfTVDHAo^DlNsl|Pat2uiR6|9Ic&-qoGEbf z6?8k$H3QpxpaG%4uc7FK&{-br+esv=)$8I$#VNbc;jsK&S?N0oPohYzPYb8wIQ9U# z&{_UAzrVT0qlk~^V7X!+ufcEeJmuxUTXw?JP=NylmXGW-9i>}KgQPE0>~D%YpZVyt}-N`K>M`)>|p0T7>xFou!PzT2@D^Y-LW+c+unB8i znu7=_5?=Fs##l1sLkXIvxY7$~(`SJK)mR&+IPJ+Jluv0AtGPi)ar#caZ8j*qumFuy z`~=F1HE5dROr0ECvTRke-Wm*3BNQUuyi01ssiJ@< zb;erKl|MKc5_FKwL52zXvT`&~H*t&#`Wp1nK%xicgkjC01bsEx`icn3E7rF(k+Oy^ zyn*A9`*-BqwnbVg7MP}~Y~IR;eu~sXp}*cNT*MFp<8>G#{sFDZp^?dD^{D^=002ov JPDHLkV1iwN?)Crx literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0068.png.key b/files/poketool/trgra/trfgra/narc_0068.png.key new file mode 100644 index 0000000000000000000000000000000000000000..d0c44e3e21d86448afe23d973997d9e4b6a8b76e GIT binary patch literal 4 Lcmb0>aP1WU1x5m# literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0069.NCLR b/files/poketool/trgra/trfgra/narc_0069.NCLR deleted file mode 100644 index d36b209582c75e9716881bbe14d916a14c1dc408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#Ck#APF{xJlMLO$tTw9p W$(|62P>qkDZTH=fNA-U_0|Nm501z<% diff --git a/files/poketool/trgra/trfgra/narc_0070.NCGR b/files/poketool/trgra/trfgra/narc_0070.NCGR deleted file mode 100644 index dbd36211c689e63d6e6e0b7dfd8e286a7dfd0126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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

tT1S%dg*1)u3@#d#r!5rbO<>JlD5xBoO?H){b z^OURwRGJ=R(y&7jrdENES`1-buTt>)cc>ugdyXfkR)pTQR|+GOVuNHaAUG_{Fm#g* zt-_Wo@|b0r{{BYSjdZkS4|*%ZhLDYMYc_!Ii0sV0-ZH^kfQXJsb#AH$nPe^%d+Imy zK7dFee5R!z9^ANXM51qtB3pDEJ1ZhU58O1$np#LBi*RSr02Yr=2h7MF-V&m_*l3KY zK2AMnD?|=;ZpvI!Yhdbu`G!1yM7;dXtAbeTqF7;Bk-lt~vNUuh_BwTg-(bGigNfSM zQY6!It@4r^fk+w&*e>A54J3ZmF{+WX=Rh3cMrPyRx}4B0<6==ub2zuT5}ud$JQOU2 zAsVvdgD}gHo7UV9^o(%bOwyBkc_=uUzIo(O$b1Gm#fsJwv>@I=WJa1lfqXQL>Oxwp zlNg;DWPZ|D7xZ)G9Qyu4co0?bptc)tVr(2eyt1U*!3gHbdhS(+!sHE=C~7Nn&;T%@ zp-~nWAJnhn!6I`D1o#qpg1v>d>#;NsNF)VQuWI3DA7hLo!X@0vwp zHLy|QXoRdZwuD&FWf3sg(RHCk^Y?r?U|>lQ{&I?U%C84~Hc+i1I~$xak!{zOf6 zNy@`h4q!Qf)DFA%KQyDwCW7DVJT)u;s#WeFJ5jq@$!cbr_(e~u8h^+H{X!2Pb z1W3sV<1RPHU?e@&jH-CE3P9`O@n%}zt(>nd-eOowHaMoaT@j{#N1P&syc*f#<}lik zhSrl0CybBXhtk@6d?;sW%noWN69m0Apo%>cS0F7xk4BL{^n8&3pv{7o#eDVcd~2SL3}739p7gK83U^8o*${3h6+id+Zn zydruF$M^wx&|b8+)YM8vgW7_lAMkxqVU{7!Q%rZAHj)fGUFcFN4_YItDNQa6Ai5x+?559KcdxM;0B|f8n34+v3~Hm$;odgC2T!8I-C8ikfU=n6P0Hd{*y| zzzm;VB~pI-eW-rvk&e};{DfS!4GQs-sG!urB*qNCE&Rd_qr#*sc$h<(l>Xa&Xn3+^ zMS6L|OpvQ_K{oF1?(7P^R5DLnhKTG*i*8s4KV+;GG3o{Lgn;HD(x#Ii1l)FQI--4x zsCaq#b>4qBo>WT3&{~!wQE-LP*5+5`puq+mR1z?|-e~HnR8H$>(L{`OB+4pNv0#XS zPlhUgD!jVQp@L@XC|EyPC%&4O*feq_EIPx3rBLrNJoX!}JFJp@Bk~{{he&t{?%pJA zekuIb=c-?`EkL^AoMzGApq!2^*f8>5lUXug5a+KWd=2kXI7?<^9;USU{b~V zfT*qM976+r&xD(`=n7bqOQ0jcPsRhkp!^{X9>OatyO^?>U;c~N#&j`dV0s|KFOWKM ztTrX@q3o%>4>A^835c6XmTs>Hl4NTYjOy(3r+~E~jccXF_uN%&HKK%zYj|k+z}^-& zF;q##Yg)Y{v~ZNs!4|Ynpv)y5j}mvg;booBtM>=YQh){kpr}k2>?yNC=-ty-g3P>jj`7Y(h1|+-HLaIiy zP(X>{M`lRhlbmfW)M92!yf}op^PXJy^%N`KMcCE)%6U{gY>qch1(+5$0a zjo4+`*FL=$^|Uah)VjR``q0I(Ty}0RNGt*UJ90~#%gFwTey$Klu%sGQa4NbpV!-fW zo#umIjT~LA(cgQ(o;r;dZC zqJ-MD!wSEX?x1qPddB*{6a0V;nZmLw{+J<|D*mF^*>tdFdwR#i5|GJp7d8V4x)Mme z$}-(sjEG7}p>75TfAJKFrtf#E_he@3*N0a#8gPd23q7J z7jUD|tQKoe)67I2$`Zc2ye zy}rno{xonUVmc9nYfud_684F&p{&q-newh1jY!rB1TH+sStNSZovJOfb3j<(@@Bu^ zhMY_-&th#$e>iiwKA!XUh!iM=jT%nl4=@LjN7lFxz>MtOIMT0sg(&oCZ4U1zj0Ac$ KF^X~%Kp+}!a)q1# diff --git a/files/poketool/trgra/trfgra/narc_0070.png b/files/poketool/trgra/trfgra/narc_0070.png new file mode 100644 index 0000000000000000000000000000000000000000..79d2779d4d728c54da2ea33b888a40dcbf8206e3 GIT binary patch literal 684 zcmV;d0#p5oP)002+~0{{R3Y;$7=0000mP)t-sduo*b zi=4DtYEn5t)y>tMoRn%}V$Gy#lzU=gQcC~Tz22mIy?bJNN?Pvj{{R30R~%*E0006v zNklEnUbTfq z-WFj+klR#NHgot7+$O|YE#xfCl18-KByxMVBzohl@lW^`f_Zd7;(=STZ5ke;Nlh+tsv*&^L3)vO(5vpqo~nbL4k42 zrD)VxLxGm`edFDKvj#eg6Djqmu`*Bs25QkXULOVWT!<%^1Ety+kFgoiS)VHP69;yZ z_4lejh1G|xR-)8EeZYZYTlJMXcz^S0+I|23P3CX#Opon{mM*VDOhC}d-WR5 WH2Y-eqZ%JS+wQxezV6<71_l5d9T8Ok diff --git a/files/poketool/trgra/trfgra/narc_0072.NCGR b/files/poketool/trgra/trfgra/narc_0072.NCGR deleted file mode 100644 index 626fb596661f090ac5ce534f721960ddd85cd019..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0000gkux>GFJXA*>R&J%tgZaw;LDJ>+BuXSFL#2J7X^!&(PMG2{t<0f1dj;}Y+VLY zL;E(Ud+B11N~a}+iM7rO7L!4sF~QZw;lDQgPYp!EDJ$`q0GTEJsn?uzpJm2+Uc;r3 z$Z@hZgYUQOSG~0|lv}@uX-V8}O$X>?Sru~Xs`H(I!yyBv=pT*TgKb-)f{USew)uwM zG&cuSx5d#~`y(oFBGJbd5>K|w(;YPu^}Cm7=cy%5U}yS7xpn2rPg6=@<$(Z(|9>;Q zN6kWl>+7Ld{8_lZ&zHe8UnQ+NsDu7c3^A?tu&)HH-+hGgWgEaq^$9;NgU4JXsnsZ| z1hYm!m*LH3Cf_NXn=SfcWJ~fm(z&^wdiTo|mxWjwW#b|+hLK{{Uk{^X)I2nt6HCHC|UggvJF+-OSkn!iX z9&eFsr#+LhciR96!O7w7_=geXIF%o2o^vk%tD)E?q@M;{^X=Foh6{uEEqN?n0JqT8 zwnZP>4x?M}DN#L^?a$9lW1Uix7&{s0ekp6tOXp+6*!9v%gVP(}3;`Af`~U1b_e}r- zFKfftv)P?K+ZW5Uo~1gv`vY*$Q?X)p%r9Onul?b2$(w=5%!$OVu15x>2vt@pcr#eQ z{$V5LVP7L0i>>$K=gU*L$vNL1#&;Ez76m4n_+!+t4G~yYyN^5!i(Nrdiu*aJs_E^H zA*c9+$hD~oea5k%fWZL9*uSa#t_{D!uq!l}Z<+A^z}K&I9%bQr1;dDtS8*LSy67!}Rxk@LWSk|D09Umt+nVr^EU+_+aQrTNj`%Qu=-w#95( zA|s7(G10OX$xrFb@*QvzJiD4`7OAjKH)qX6_;tX_wo~n3G=VFI_J5|lrp>*Aa_i(+ zYgvQ7=9kno-X+Lye6Z4E&NLYI=dZV{etkdkEE_{eqzOtc+Q+XXXw`$N>$7P77x~pn%$0}9!Llq@jA8+jVIy+ zXf+p#FcUT)C_$D+R6pZ<-i`c1bgR`Erx{j$OjkMd-R183*h6{{AMsMQRc}OWMm$Mm$zfowMDwxHKV@p zI8i8;q|X9Of}M?$UppM=tts}-BIh>57xk@5>eIg9TLD1^^8a5vR!vTE!CW=#7VaNA z@)zE;9i>&eq61UV;<3$k11}LQPW_y6kedX^dx_7k1xHz=$5pW^Uo(5a&0)^w*k2YL zYOV6(?#mXqxH&2wU3aLI6=m|NXcR#6Mq)Hma*uBes$G0i(fd58+39$W_@~Q+2epI> z&%rCk&%Ye}4GlWNH!F9T-kH1p*Vn>yon`!btix-N=5dHN@$Vh%mE9Nt5iIh{ zZG6Q&`v;C>*A*!0c=O|cVIf(j)*o}+L2Xf@kc%gHl=&RqVmB>RwZ#WoNh9!ZK+&BR zfKMFE5gn@%gS(w*MX5VZ4ric5Hx=0VE?}d?DYRwM?SC1(1x7 zT_xi>_JhPwDlvoh9}HQ^&>6yFb=SuMs< zMtDn|8sZF?sQ2*{m4%KPv*YM6q>(t*%?}BTx!oDkbbCH1@o7E|WGA%*r#145mlN3_ zcR|5MOFve8J&kul`>Plj78xOaV^>V{T;)H$OmGgmHpF^wN3T{J!?tWk=Zjo2^aCSoTYHO zNdq>}aj`gdIxoa5?fqABSDS~(Dv8>zTt}>=hBaRw1;!w1X1^WgPhSZfNv-YT^~>3~ zr#W>V^mjXy6a`$GMq`?=D-kYMDUYHI$z8Wn82dk{2G?| z#=npJY&-T5>+ldV_l1Q1?$_0H9Ay`JQ^QV>b#e1HDDTkhG`;3B>03yMc1itiQU~E= zmKB5QU-JflFd+n{O&@05AZ<*dmy7CngZXFP`8U8+()Q+#TZ#GF^$Ly_H&0K@FdgO+ z%DbRwbg9NpmsJY|fzC~s(h{shV=G8f>xwEf81mVtRi{ApAI4$d9c}qJupShZz zKlg+bl!Yl8+T%+wvymg#gbzH7*xgjpyL&+>AZf`CJ16KsqH&4N+OFpPeFum}LO;oT zoQ?8Af~#8?g&FLAdRJfc+vOzsCPP3FJ@F{E!*8l=ggwNv%-e|w&dCDq{f7$Vb(Jt` zQ*)RA7@^rF37?r5)TxbT-_&jq z3n>iF(C6I5mGxsvxYGpS`2m*(;QvKD6ismg#A}S$0NMUNAQxisUvNhLv}eW)RrIBH zaW8i)jQtXF9-9it*@@+@vq%4=MO9}iEi=KuYhfhj#$Ws#D6Qz?{L7rUmN~#4i+9eH z69xC0ZDakgIuRLG;E$6?y!Kun8xQ$aXuODyrl)a)g|#{gvXjlAZNY)Yy}ttd%MCEX zMJxT7yqQt{1=r|wn`JV3`ol4h1aV$AU+;tL)4icGuv^QBB}oWwsb_E?fxmP%0@0gI z4MeY|#2;DQ|7}O2o{Oz`a{02}kT+9Qv&B7Hmm{`tUeR+F?oWcuPaPo=5xb*kqp49& zyk|y4wRKU->r>WXA%U!h+aJ657iZ*I^GCnplRV_UE0+y4TO}DfM1zV@NHJOVjIYqF zTYYfyfg8+7u?cG~-^ZvVrPY+GptI6I)8Tn$0^jwV7cJ&ufJ^>3j=ANY)|XQtM=u^% z^+|-9cw-LMI}dM+_uY@u0((R#Pia&R5+_>(B{isuWfLDD6+st9IX^sn`;Bcv39FtM z^clB)kymo`TIE0b%|jy)%<+@9`fnRA@Rz0bS8*n}*Wv>1REJ&UG?j~LI&-@K=b?lq zfS=M_Z|%e)q6?4s>3LXQT(=z5vPFy9s-x%dWl`yt${^G&?2eIw_aVr|0SL zkXq#quz8E|`6|E$*Z;UYb4~05OKZ>AZ`sK{Hy0PQnx&??mjnFJkFgGRs4prkEB(!K z<(rMjh>7s73P)0;1XaQ+6f@+&I$_V|JztMlLRna^tO0$gq#FqyB6new5(Sc)lw)A9 zNf88AmyZYx2VE^vru#*xX6YG@eWyf(#I+R)8Iy3Jyuqx-w7+%yDh;c`%qu{cE14Yr z9M}62UXk_}4LLTlu~Wu2mhU#~a=lzKcUw+~)JYR=00)O;6cst@E%Qu(&LLW+J0DEk z-fcpnrHgQQVfp>uCpYF)vc=e1z9SiMZP8v9rBAiY2wCCj^0$df@LSwYlV=%3^mQ!C zQd4w|4j*D=KQ!>@y^`h6?%NE=T` zUs8@yb z+2vaLbVCLZTk-z3F>erT!aX{&THB8ZEXf$|tB0`U^OfdmA#>gUwxKU3_n*aFPVK)U zsS8s0*mS36ZIKNhSN&m zmjUet&i^Ys(oJUq(rXgf-r1BsP8TY)8KuFxJ_Fy-9e9=i3Tu?3Gj#{bxl73(utmRWkfiGHfhW+P7wl&o@cL=zw@ru>`+lzry%4;#`*4+()TjmJ(T zBh^Z(ZnGFbapBKq@ZZ~<)h*m&j!T3%Y`J@$1ou4@k%jsiPvdkj;F09kd6q1*!_sB6 zkW_yRk1b^m6^g64cr{*%GZSSXvq5b}CqE*5xs78&7po)~(iu&DzgL*_Smky48$;<3 z>hWo|Xm7)8VLkP-A=?rN+sPyD(hpp*=U^@g_%|g~#^WL;TS^p$_U*bNunQIV$9e8v zinl`4utmYz_@k}xgHgYhH_rh~9i6n2!aFPIm?^E!Rp(X2QuXvo?bGex<^dQ6#d7g# zWEh8JsVNYg51gkyH4^P9MWx)jn4b z;xj71*kL8+D__+d#jV-m5zFPcV>zK7P^akfMo^t>5+}(1BbhQ(1&?mrMO~v(H2X`a z#OW`NE2rv&Lbb~Z=aaUeTEPOwqQ6`G=nbL5+AGGG37N9~O4lKD7-fTc@59=Vv2mX^ z1n={T*6X*y^|iWYy1}Pxt_Lk-k`?dj`}2~3Y$33wDIYT2oNYLwvy1k4Klzj1RW}S& zu*D8q3?tugi_tU|6Hgn=tR2!4=DVzDFsbrRL6`X;6cdCz(7jQPfCXs)iFr0oA=NZkcE{RcH`GD?~%{eU=Ik4RNX+**LzJU+-da= zmnYN&;x##nniB{h0zsHY9zT_Q7>(XSo~vgVK^Yi+)~C&qk%9L0GNB^=mwCl!pKo?- z06nm>=-ZVDipehSS%+5Sah05E?{g#oRH20?<)5ou4DGcdw+q<#ws|>TA-C1kuSHzi zAEOZPl2NLb?$28)dTD^23E9B;*5#5EEaxc1k@e3?RMU{)H335gy#EnAkWF0z;A@!J zyxA%~d>2r(7p3>Qj02_6Jh4x9O)o<%2>t$YI-3^Am5C9q4@bMpCo?4~$>Zi~9nE@N zqF=}yq^;EA7|W=*QaS7%=XV;E4+UeI31f+{b`ix^ypN#_WL@4;d;3nP^Xa;d0;j!% zfwiUzPLo-nslhGAnZM2qxNGXdVf&*p(lysqY}Yh&mt~%MmczY}KyeB-JMT~IPrZ#Y z%v;xp;Yl=Z1qXm+Q58z+;`6nDJ0V-9pdTgNdu=nKx{JAZF8SWx>^GlOuR5k$Gb8WX zFnYDT$4^eo%N-38ExWI1U#Wdg7-y11v30%5hf`u;U4dAJw|~pLKg}9~BkQ?XbXgF- zhnHD2S0#ly;DZ)WgfRv7Xs?{C*L_^_of~!H$D=)jHplcNq16DYJhNUv58)+d-rvET zlP%I>oJ$HgO1Tl9GWTN?kA*NAo#Q$%{*k)Y7Y{p(bKQH=9(zzI3u%B3ZYQS%AvF|= z0TXMA`}=9^7(WPnca2#>C9A3!uo>fi?N`3^R^_YuX+y6N2=PC*)^90npFL}`uiF?1 zImtQhu!pJSFqQXe)^kSyBcU)RT%Vp?>+P^2z6(oI4}&iBwYO;0u0{9SMx%4^p;48V zrO#(fTb(MBP&+Z`_9?^81Lyn1(DkZHyVEn^gaK{_v;TxV?@ibOXKUNoE7|ovlNV#O zmZcK9GXq$9VQUrKi7)mnr~SEd0h^h~M2Q@(W=Ec+097t3urqMLc42$w8DF~`gRRfv zAIodFK{+=bes`^u4h8<2Fk|eng%Pk;bC1*vgIyU?!uwGLh%@RW)TfYyz_o!2wUhjy z_`z7lkiS9vrVW?E=qpT^=b1?Uc-KdC7G=45J;R`o&vA7&a_<7{?!8DdlUrJdkV!vo zTnE!+5EZ5B$@ADPpenfx>>n81T5T?(!Hax&9r-EVgEul%uEj)JS|g=!snH4+flqK#ZDbi1->j;RPv?`LI1@O7BV?o$O|tbv1uu75tfp3Rkls_P8oNmOJ4WtVI;)+L}i zhlBZ06ESf1pRZ4>c6}G}WE)#Z90{T>lE+6RVAWfyBeQ`(-r>+@Ro}FnaxKkbqf5;= zIk{Y($@lgYj)lt_#N%y?$DVa+G7oNylHIn_WqVU7I%x|IMJIX$U^VZGXcJB#ph50N z3_p8(){WFctgG!99~rKG1Xt1Y)#b+e5JQp>m+`8$4R73RK0PL~cH1PwBgT|fyNLYc z@0C(&y>n^+@}b)%)1Q%C%I&Kn#S32elzGoyPq+KjtwoaBZKKxkuu*`PT+f^m5%BjsPEAt+?rR>{n%TfUsuy;&6{Rh@+5>CQ zTCpW|yDzCMM*Vbh$eSF<^NA;}y+`q+zg3AUmot;VMPVl9kYBDGVy(*JCOee_%Q=Fh zu6RI{4F#E+S7T4Glo6X&Dvt*YqFq!{3Hwy2QR&c*u%}~$|Fv8S9Fw1*N5O-}hrhJ^ z1q~9yZ!3?OR+$t2kJnmsm1Wd=W1RVBMRE`!`qqA}a{ z)~^Dr6@Ak3D;wTO%L%P6>BpKRAJw+13Jf1jt>JsychIMtQ7y<~s!NbKD7mMeVE2g> zjfG|!>*D}09FdULg%6>OvEA{~tb0}{X=#=Y94Ac#pEb&g&lB+=??D+x13&J3HH}X~ z!w~Bjjv0BbpjhPeROR9Nw?lOhCh--vL~oC5-96#5J=-1#m&s4=UWZTQu9dB7q;rh` z!J&pGN}q&WsqLmB%nKp-gLxWW=C_X2tVJ!_WEkS`zfo&Os5H$?nVq1L-a9wwR4Lic zvFD-0PW50)iPL%DA_2q(q5o<;txe7Xb!%bR3E7K2!54|Nl%+_zfdfv^>9LS@@-JL0 z<^3;me;|^`qKPtoue?O0epTcuelxbf6k*Zk2VbEaL9NB&Ez9w^A34n)tasCt3_2M0=u|q?5Q43oo5R~ zZgoz|yi-eHN`cvioPQ*|T+NGuxa)#g!C7&>%$Jfh)Fsx+U|6tFF)>C4xKy>Qw0({8 z@*81DdI`8LK*#MQ-qjJR@w3N3eBmZ$L*JU5FfGGku}f1p7rFAD_xBtWjD-Oj660eq zE0KHFJP*{2(A_K|NWfMom}w#YNPI5@-ZiC)HWQQ}K0!oA`afZOl#R+lx~p>-{TW1l zGFSKX)8+j7UPD+Awef(qdv8K)d_A191lyqqM#)<4wTGhQZIuX`J}5;1kfAXqe%d2k zi0z>w(+lMIa(QK5eYYXht3}A#yQ7@&&QVsD%Fh5yxSiXQB|AFkgDGUri05>~jrBW9 z@Y5XNaRKiJnE%~83{6P_qh6QSc-dAyms8lg6QyIiC<8Ijc(MC-DK8H!g#GGrR+}Qo zQHedSYe$!)Jyky{Wi#2p<6(T}eqWRvAg#dSG|RNO4mlVeLw9DB3kA=bT31%TvJr7s zXmFAY;9bg6m-||%uj%HFUZ)9!eYFw_>XYT5<-ys;b-$YY!wm?+eJd51G?}UXz1M(r zlVu8eGQ&xbd~vom7w;SF%e{Fr=%gHook?JBVF%1)O%=B4e)B`@L_iZ1d z){Dh>>iG)ZNH^y*IbZ6c~t#v8NBUA2R znSlg`lYf`IyUhlIKkLO002+~0{{R3Y;$7=0000mP)t-sYNV8E zgQQYYbN0nzy_{l;dtzErO8@q>y}iZFS~>sKz22mIy?bJNN?QN_{{R308bTr10008| zNklwpE!!U3v%VH#x1w~YJJ)6xM&!>Q(p3N8( z&wzSX40k2>D6Y?8K(WRP(U)k?NTNW=XNI1Ak|5A+IefEP_z}f;LJ7x>)t|Kc3k9wj z(`JPz|2l;6EM3kQiNQ(|<4LZu+eEdu5KwVFIoo{Ewo{N9raVwy*pJ^!2xukbN=wS< zMcqs!5nxKrm8(ZGW`8|55g?Cno~SOhJFUq@fHwqpDzWNVz6b&%^HeyB(Kh8L5uivJ z(^Qc6X?v844g`$IUPbokO>ndrLV$`)#O$NqjuyP3K|p@=V)p0iuEqsv*%g}y^y*C0 zFiUa8X6b=*P1F9OK+!Kn9aYo%4UnfiEX@cPtf0VjDJt9<+I2DF7Ynrc6_EU$^uRLJ zKel{=$6F1>5=v5ak4=lnTsrg@@X6Lwj<=RP^Uh)WU6{z%Y69$~9nN?bpVg!zR!*qq zYc+w~xoNI;@2YZk&KTbm@s(=9->$!O*G+TLQpXc=Jh3T876Qj@UtpkXv6xn6=ex{p zgxp_zc|vq8YkhG>?Q}Z1+-b-s#-*mBmSv?~@HDsa2m!`8qca3gzX3qY;*5?u;r1N7 z>L)=A!g&q>*A;Q6zeLBE-YK zn$_jKRqsnb0s8yvJg$4u{z!?5IEWa-o(BVn$07>C)IZH2YS;~&HRk{T002ovPDHLk FV1gNqolXD% literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0072.png.key b/files/poketool/trgra/trfgra/narc_0072.png.key new file mode 100644 index 0000000000000000000000000000000000000000..8137cea7cffd005d4e74cfcd907c032721798c65 GIT binary patch literal 4 LcmWIjy}1zp1~3AJ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0073.NCLR b/files/poketool/trgra/trfgra/narc_0073.NCLR deleted file mode 100644 index 50a61a7b6d5b1c915cad0fee22fd17f6a980a33c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 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 diff --git a/files/poketool/trgra/trfgra/narc_0074.png b/files/poketool/trgra/trfgra/narc_0074.png new file mode 100644 index 0000000000000000000000000000000000000000..f852ec6bbef3726e1b1e9d7231dcd98d75a2a559 GIT binary patch literal 916 zcmV;F18e+=P)002+~0{{R3Y;$7=0000mP)t-sbH${z zK~m;wS}{3NN?M$1gT-oUYMi93#m&`PIZFT4z22mIy?bJNN?Pvj{{R30`)6p_0009Y zNkl~tVNqPi2v|0M*r_!|A*XO+x|A2dMlKW1#+=u76_j$SZ zm82+9qC|-jB}$b4IgItgJN<;mF8wl_^P6IzL5l@Ky- z;u~Rs+ARPzjE#^=lnqiNWD|oJ4mdX0uPsvhfWw*`nb96*=kG&nS?bVAomTFSR6QiH z_2~hCjdy(eu~0xloZLfa7d+VsLu`>f2jYRO9m0n^AT{usJMcI>JpU>V#>r=U-PwWC zI*O8Nii5EO$89^{#p^T_@czkx<1Ge&wkzIp?wFo1x0r>;*6F$<493cImD2CUA_wcN zEetMGdQ7QhSx{npt638US7|94Y3-uLCwpA!ft(qe|*UKC{vP(eP zj|i!YdH|Mbx9EW{8-#om^3}*-8jts*XrjjDw)S@R|^v<}rGuE_W3WlyDmUdUC+lDhKhwE!s3`z0=6tSfU>4@|`cdR9j!_DeMGD2h@oywH`- zmEhn+(U~tUX&i(gS724-wQC0U#U(uS!K5;i6azuz3p4h?xyc4f1iq(nP{ml|3o{;E z<=`NZK*@3?ASexx3VRQ0=0b)sgrH#r;BeLsTH+~sqhUY8!vR8x0S7M*X9M?KO|p^a zrQu|V7&oUkF1l-h!Dpy1GuU`(rd;nq(+KVFCz&1i8_JgVwcz?K&z5@S0+I|23P3CX#C*YGntODgX=M8HCapD{ W9A=UIS|vVyw%vC_eciqF3=9AUIS|nR diff --git a/files/poketool/trgra/trfgra/narc_0076.NCGR b/files/poketool/trgra/trfgra/narc_0076.NCGR deleted file mode 100644 index 8777c8ba51f28325305d1362b77f620f0325ed60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KY*K;ytf&b`o{z`? diff --git a/files/poketool/trgra/trfgra/narc_0076.png b/files/poketool/trgra/trfgra/narc_0076.png new file mode 100644 index 0000000000000000000000000000000000000000..cc986e83247b6d02808d1622bc6708fc6c03719e GIT binary patch literal 754 zcmV002+~0{{R3Y;$7=0000mP)t-sQmkS@ zQiC};S}7?p_RVUvi&9!jIjpR-YGPtaN>cyTz22mIy?bJNN?Pvj{{R30v1lF{0007g zNkl!PVqf5K`ZWk0-lE)3o%J(iVK@kqFT9#`!$I>4msxHnh(v8 z!HTqts6pVRLBQZ?Z{7twdhOTq*(6bc9lysn%PB{NUnyP^`TyY}Ahqwb9t zc8;TR4L$C?x(hhz_g^t+R->}Y&Y+m|TO%{_7_{5aT8_t!c-*pu9aA_Y_MEaS!xTF^ zr)C2;Zd#VK87m&z>nM=pVvFB?9wg?*5EKj>Q3--VFep`P9S4%CNu?AJ3=TQS|0`

B^azq$6EPQsq5usdKLK!1M3e*X zL>LUfpqEF79TY*p;CUp-10C|eo**#j<<$TS&gEE8w8tt!f(LE0br1IywbyB%nugY{hEJ90e>FK8R&*8l(j07*qoM6N<$g5(iZng9R* literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0076.png.key b/files/poketool/trgra/trfgra/narc_0076.png.key new file mode 100644 index 0000000000000000000000000000000000000000..ebb8cc6b59d38c8193b18ccc9dfcfc2df72e9c2c GIT binary patch literal 4 LcmdPcr@IsY1Kk0+ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0077.NCLR b/files/poketool/trgra/trfgra/narc_0077.NCLR deleted file mode 100644 index 4e51e7b2cc259fb27877b7245d28a42e83c5308d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#H)-v9G~kfm9R56)6$mR W8r5s4sTm(X+wQxezV6<71_l5D@DK?A diff --git a/files/poketool/trgra/trfgra/narc_0078.NCGR b/files/poketool/trgra/trfgra/narc_0078.NCGR deleted file mode 100644 index a3d4d2fbff453d7a552da2f557fedf779b77e243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WOVZRmCJ`S$+wQxezV82e1_l5HeGu>f diff --git a/files/poketool/trgra/trfgra/narc_0080.NCGR b/files/poketool/trgra/trfgra/narc_0080.NCGR deleted file mode 100644 index dabef01ebc2a59ded501ca2fac58140a7994c7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WOVZRmCJ`S$+wQxezV82e1_l5HeGu>f diff --git a/files/poketool/trgra/trfgra/narc_0082.NCGR b/files/poketool/trgra/trfgra/narc_0082.NCGR deleted file mode 100644 index f6e1960bbacb2378343114e25213b752c41aac6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 Ku5Kp>>SQB;_h@JU diff --git a/files/poketool/trgra/trfgra/narc_0082.png b/files/poketool/trgra/trfgra/narc_0082.png new file mode 100644 index 0000000000000000000000000000000000000000..99abb984714a2e83ad47620a87a0dd70e14da108 GIT binary patch literal 898 zcmV-|1AY97P)002+~0{{R3Y;$7=0000mP)t-sbH$|Y z&0^+iS}{3NN?M$1gT-oUYMi93#m&`PIZFT4z22mIy?bJNN?Pvj{{R30Y}u7h0009G zNkl{ahbFt-;G);GHlKES-n@S5pX{#%=tc(QH1D z^*nD$Qe;n5oLS!13*PDzG4S_Otv6OzS5C#iZLRggRZj|RG}+^tJ*k>2@WY1ZElPop zclBm@{;??qIv2w~14_TjfkPU<9QFDGu~8n;?3EE5)>Uvz`4A0HHIYwJDTE(f+K5)}EQzqvT{7-wg{m+!@$|KF_`61R3l> zyZ^;LL0-W$DG?zYLnP3J0fbm~iK8_J2w&NHK0q`91LhTIyYSo?Omq{X*Y`$+J;*0X z1&)xxq<~ItnIP6+)FF&JdBF#P-Kg-!P}Lm8X7^XtASYOZp=lJRw&0x`5S79Tw3;{U zRGk>%4QMsY>I$546D5RWOVD&7*Bp0E)8n~qK$|nF1{GYAaT(-MMym{cQ*)dWgS}P_ zlHJU%NM6Vz3=9}BXnX3pVSLG84_c-R1whA5%~d3j1D*A%)-H*Gjf8kt=vHGQ0=krR zc>~M&pa;I&Sngj2OfU@$s8Zmb6u2Mq8g_k{GU)qKAfGK}xt#KC*7}sH_8cCF22b$` zg93N#8!&ZR_7ywMw7yqQ4cL%)Rut+Qw7+at5yWOx99M~fSc7rh+DFlRRDt|Vkpa&Z zmdt;H%g5APiJBYBEAt_ox-%I87D|u#lMea+@L__X-=_*Q*_qTog Y1GDZRm4336>;M1&07*qoM6N<$g7e*@&j0`b literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0082.png.key b/files/poketool/trgra/trfgra/narc_0082.png.key new file mode 100644 index 0000000000000000000000000000000000000000..1407d70c957fd0a14acd9f72b5d7b606c84ec9d9 GIT binary patch literal 4 LcmaFj@BJJA1^xnN literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0083.NCLR b/files/poketool/trgra/trfgra/narc_0083.NCLR deleted file mode 100644 index db48f74d9950e5921fefb909dc094f52fce3cbb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#C*ZF#(Q+1X=M8HCapD{ W9A=UIS|vVyw%vC_eciqF3=9AZ?GXY1 diff --git a/files/poketool/trgra/trfgra/narc_0084.NCGR b/files/poketool/trgra/trfgra/narc_0084.NCGR deleted file mode 100644 index 363af02c2be96ca6b738e10f5046fb1118694258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KfVp3u`1gUaNr=w? diff --git a/files/poketool/trgra/trfgra/narc_0084.png b/files/poketool/trgra/trfgra/narc_0084.png new file mode 100644 index 0000000000000000000000000000000000000000..65b23406736d34bcd8130873dc8b225c6325bca6 GIT binary patch literal 670 zcmV;P0%84$P)002+~0{{R3Y;$7=0000mP)t-sT9jJ< zq^#y@bCg zlb~yfgrXEkhrEu4*?hnQ_z#t*a`n^f?(EFkm_GXGqmMrRV~oe|vEF90ehu`VY&5al zw#?o8LsB`dzlNyh(gp-bq#GBCIxg1&)~w)kf0bFAgKfK~sLgtN0F{!8imsqpXo8ma z2iy_?uHS05-#b0(=mBou!c7${xQSdToxQ|OCR+syEo~7%U7r^b)FPw_sMmNSg;Y*f|x^Lg#cuWV`E1+i{FSB%joKe5BG#vuLvowW*Nu>!6E^%);y(8IRID&!N zt?AQn*urM0iB1Ze^vb#_S@`4zl<;rgoO6r3$DRlM`tD9SA(uOX9ymz}@j5 zMNb-WC{|7n&9Gb|z^1PM9P!2Xp9av~$*HyojcF!6TNUjP6A07*qoM6N<$ Eg0sCgyZ`_I literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0084.png.key b/files/poketool/trgra/trfgra/narc_0084.png.key new file mode 100644 index 0000000000000000000000000000000000000000..d5475448cb6a24cf647e5479103f1cfe0f09363a GIT binary patch literal 4 LcmXR9dHEUu1(^b% literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0085.NCLR b/files/poketool/trgra/trfgra/narc_0085.NCLR deleted file mode 100644 index 02dfa2860e0c9cae6fc69ff556e95af7fadfc81b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#NK-I!}eGf8R{x77vV|E W@_nYUHSDgNrP(A+Ud8|Q4jcdqA`sI6 diff --git a/files/poketool/trgra/trfgra/narc_0086.NCGR b/files/poketool/trgra/trfgra/narc_0086.NCGR deleted file mode 100644 index 18d81872384391c5af58101364a8c5fd417281ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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

(d{_bgqrsM&YY-;~= zbO7X`RVMYH`&^vug(AlbDELNs30^U`CDcDfEZQ%lVDKVQdX_E(UrfwR6-gF5e&|;z z2+lm`c*G&~pGsuY;NZmp69&xxVLTvBEduas=-5oz`aX;optPr@$GV&Y_0Y_*A9h_Y zlPsA1&T>kdX2>Op;jYh&K%~)y7?##EoxnF?pysk)7#uXMq~a*c__*RZydL*=YLuS^ zGnyG=*{}u?l~&A;@eK4`u2PHpo~VQAijESe4TKT3b_!mTsh~N*{l<9&<^0zTQGSXm zS(pf!P5yD$gmfomZhEG}4Uo`r+BQq?pX}egT{7HTCx~%L1a1`v&}88i8tU@%1%S&T zE2gj?b=(VW1ER`{33$HwuHHe66jVRO#NqfXl5i@~?-trmp3GYv-4Z>!|7h>2O-?9h z;zU7pjmno(vS96jD2B&>8@$iW>Vh-t30MSK;J%lasWj&$RXXs4W>6F{)%L{{7p!M} z{7DuRC`kPYXD&;}L?kiQ(5g(cu0WsR^=9th5u76}qGGH|S~%Ld;hsYGvlJhN02;01 ziZG6miqsqXb8#43GTp$`Q*Tr$7<$tmjJV&04C8S z;aq#|fbw+)>-aT!R9?upxYRyH$J$n-!|*XtWtO$iw@mAu`jTKff#`-Qlg<<8OT=LH zdP>XFgWwbaJ_f`8)I5Jpr~-FuE7-f)#XcUaytF2z;%fNV*w9B!WH?5=i4?xc`a{wlyTz`zD!OXewG3mg-zpW-jeySULg2Of@h{gj>s&YD1DJg^lJ zfL1(IBn%T>=~8bXp{TOy6^`kr;Dk`MQ3}PAOrVItD8`__k^D9dXTta^oS1i+82*UY zmvp9OiF!@L@Q`0|MK*%(QtW=c7&4<; z{-V)~%y_N&`QDQ^f>b`m6k2K{^>8`S+7^*d(ad@s7!riL0%#to*iQdvwM2k*Xv+Rm zRbV`UQ-*Paj=V0-WrAu@w^(yotG=$6yfkJda5|TRNl>FPK=!Y%pR5Lb=kjzLt4OQ~ zaxS9Bmn87jE2=ZI(LiqDpk`&?1e^jbono^~9XQFkES_cyMid@}n;HaI7BHQWb=KYw zzKkN>hSGI=qbSO0+YVJH$^`H=zlwMho**zmzD68B%Y0^yq(Z!_Js7VUetr~JA@pVC zmiiz=;t(hCdPb(CBW%t+_Od%*0;apnndm_~f zuJ|N*pI%?LOVm9@V%mM9Ch$N}P?l`Z>P!lqHIk=0gy^*?9zG^3@5G<=RhO7)Dd1xP zX$HFgM?Bt5BLekUqK>#)iI`7GA`L~_`hY{-L&_pZ%H zL8MPrSt_S9@1WPgQ^uFS1pJi^;=+F`-Ljn# zhN>E~^gun~OJ>~P_nhG^m}0t1;5fLscb;(f*%TdxHX8fmP%x~KVAhon@r*&;!P2~Y KrYQMoW)3XxkduJ` diff --git a/files/poketool/trgra/trfgra/narc_0086.png b/files/poketool/trgra/trfgra/narc_0086.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d9f4d73d27ff7d2b413c4b08078eba7cae79a8 GIT binary patch literal 719 zcmV;=0x002+~0{{R3Y;$7=0000mP)t-sQk+`e zQd)yKIlaBby_`~uYB^FtDO#lNVsp(>QhWc^z22mIy?bJNN?QN_{{R30Ls2Fd00077 zNklUk%8aU7?>bmpr9xUe#J&FB13_Q^Fce=i-SSU~=EJS1f zF36LLWfG?S4CFD%AR^PjRgGlyh#H1z!oYGs&5uS22RnAuOdMCT?D+>674y$AD{WG;B&0CzwEvgK#9Gr@@#W0T5> zKg5Yl{xmrGi3G>>PCzXvSmQk;c+;=eM>M^$y$u4Z9k<@4D>bh;81T5}9-UKLQI)&} z0S~M0QS`i}sFc400c+Jm?^L2Ig%lOiGP$Mq^7NYk6-BiWAp72_^UF$7+x?c4`}HKH@O5^6gd=%w|JUDtiZXKz5D zT=QJl3;9BO0P&do!Sg(74Wb$7nU(3n3&@Xo1Ow?Ukw50BQ6<2kIN_p?nx+{zU4lHe zDZripQ63wSpDf%YO~EG26Ie^E_WuPAv0zM7u_Bl!cf+K(Ls%WAAcr-cu##-!J}l=r z1vy6@F$HBLI88THGiRWT2SX4z&!89vX7#e!1>MT;FX^7vBOvBrFvqi0V^AUH27}c% z*90}Da^cphQ*QSMpi5aUSI}Y$_abI6@HhP5;tyTDFp^^b$$002ovPDHLkV1kVs BLazV- literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0086.png.key b/files/poketool/trgra/trfgra/narc_0086.png.key new file mode 100644 index 0000000000000000000000000000000000000000..5ea24341b4e6abea1b5bd4a02fec54e458db9bea GIT binary patch literal 4 LcmeBMBU}Rj1mXe8 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0087.NCLR b/files/poketool/trgra/trfgra/narc_0087.NCLR deleted file mode 100644 index 1cb4427b859f0fa1bb4d11bd5d92a1308c2f6406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aLx*ue|CzWe$l;slb WE<2OzWg8zq+wQxezV82e1_l5egb}6y diff --git a/files/poketool/trgra/trfgra/narc_0088.NCGR b/files/poketool/trgra/trfgra/narc_0088.NCGR deleted file mode 100644 index 718da8a380803d521f0f1b227642a0d80b16e614..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KzthLy=mFx8FnhTG diff --git a/files/poketool/trgra/trfgra/narc_0088.png b/files/poketool/trgra/trfgra/narc_0088.png new file mode 100644 index 0000000000000000000000000000000000000000..80a5e3900bc118b036784020f668ed654e5cce71 GIT binary patch literal 602 zcmV-g0;T002+~0{{R3Y;$7=0000mP)t-sdun2H zoc2L;)j?8}YDz&lDJjirDU?zUFHw)EX%| zemoxQO&sWJ9qVxo<~dsX{NPG-^qH<9L0@-u<4o%f7}y9K)YbkL3Unq!y@_ALfrAM} zRI9^45pjhN-R>g{yq(g?!!ZHDR|W|PPPr=-p1?d&HVpQF-*Wl z+r)K*GmFTKu5ezQ^*HLII5*`EXC$UXcg8b#_s*b!fbKM;z7<>~oevRULNw&cl8C|t z0!G9Bbycavm{9^b^Wn|4l%A)QxpWa=X-!JGxG=x3sC8iggHw_jIG@ievZ|&qFssm$ zQbqaCTw2aV&+`_&3XA>xV&_xL(Cnr1Pfnm#g9G`KwcKE-qkfas+~B9UvKM@xytmdx1QVEN=dl{@fasaFg@p1LZE|Sv}X*Gynhq07*qoM6N<$f_+;RwEzGB literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0088.png.key b/files/poketool/trgra/trfgra/narc_0088.png.key new file mode 100644 index 0000000000000000000000000000000000000000..a5b0455c1876402cb69e5750453da61609d4b9b7 GIT binary patch literal 4 LcmZoX@!S0+I|23P3CX#On?7s!n8jcUXJT=uS;h1n!cUd8|Q4jcdz9}v6% diff --git a/files/poketool/trgra/trfgra/narc_0090.NCGR b/files/poketool/trgra/trfgra/narc_0090.NCGR deleted file mode 100644 index b0ce6781d3e53f87a4c97e71b2afc7a53a81c86d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0091.NCLR b/files/poketool/trgra/trfgra/narc_0091.NCLR deleted file mode 100644 index e8bd9b49582abc7dab22270ebd37669d4af1f979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#HV%VhwZT}GSpREF2a+R W<@-!yYuH^k3$sa@yo&$p9XJ3P`4Le7 diff --git a/files/poketool/trgra/trfgra/narc_0092.NCGR b/files/poketool/trgra/trfgra/narc_0092.NCGR deleted file mode 100644 index 19e34ae33985fb60a7d2defd707897106d07356a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K9@9eLZviC{H(!$g diff --git a/files/poketool/trgra/trfgra/narc_0092.png b/files/poketool/trgra/trfgra/narc_0092.png new file mode 100644 index 0000000000000000000000000000000000000000..64dece43b0f96ba9aeb9b715f9135d848d617684 GIT binary patch literal 771 zcmV+e1N{7nP)002+~0{{R3Y;$7=0000mP)t-soV02| zK@c%90OscZ#l_}(dz@-}tV&vgDLGQbS~>sKz22mIy?bJNN?QN_{{R304qM>00007x zNkl})}7zSW1;aGD1Q!qGCx#CB12R3jwKR|)?p#e{(84SGm zuolCOT!lC=7ty6$zlVWQ-^`&Lz`(k&g$K`I%ckCccV>nhqdY>UQp)K77BD8x;3AeI z5a?*}nZ#0#a*Y9hNIuJWtn*U_5gnNaI(R8A&dm;i5Fcj2vqrG)56=%7rvOn0!O>Ch zF%n-{hsJT`#^@R6FL-FSn-lihwx+5VXNq$bX69RtZOLj89U(VK<4w}Y#I~l@z+A|T za!z?R*@DAr;7Z654>KO>r@7@KSrv?=)SH>sjD@RGtOnL6Qhw>GZ-*VOZnO~nsA`vU zIa``TP1F38(k5V4(9z_<9XQvJ9j9xkxL2IMJe^{|>s|@YJ;d>*0N<7eME9n;N6hSv zd&idrm;gZAlkpe}ULWrO+=C7|9+zEKNvk?&m!XQc*MK8BM|X+^9P8ys-(sIwQyjq1U(l8ItKKxpj&`NP{?(!$kwXiz@p8I z8t!c=b-iDpi|~kJ$Gjk(kNHqYxe^U%TY~~!1DY{=m?0DAHn57bR0-^%rKs=z6R7w1^%ETaEOV%@Czk*K002ovPDHLkV1ihI BXo>&; literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0092.png.key b/files/poketool/trgra/trfgra/narc_0092.png.key new file mode 100644 index 0000000000000000000000000000000000000000..3aeb3c83ed4951aa67fdf70904666b8dd47866d0 GIT binary patch literal 4 LcmZqV{>Baf1RMd1 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0093.NCLR b/files/poketool/trgra/trfgra/narc_0093.NCLR deleted file mode 100644 index 15e256517d08bced7cb855fb9dac930c59cb815b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#Fx!DIFB*Rsh22z@B211 W)A6ZBg=~EMY`gD<`nvz?85jU1I1(xV diff --git a/files/poketool/trgra/trfgra/narc_0094.NCGR b/files/poketool/trgra/trfgra/narc_0094.NCGR deleted file mode 100644 index 285b69a9eec2a889bb2173e3e17f351ecc5b0dbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 diff --git a/files/poketool/trgra/trfgra/narc_0094.png b/files/poketool/trgra/trfgra/narc_0094.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7fc11858f8025ae54a9e38260ed40bdb88825c GIT binary patch literal 1079 zcmV-71jze|P)002+~0{{R3Y;$7=0000mP)t-sT9jJ< zq^#y@bCg>nWPESAfGdkfcy%`6BmD3~;NeX^ZhX0h38j8?|d zZLGGCZ?dFOJn~H#Irf^&gjG}Au}KKmxr>a0EUfIz@ciD)M6pqPd18~VN&@ra``-7x zH!qCMV;=LE$2@*;Y;Ql*>xJRrpBlY$A;lYw;A08uO!2{w0Uv4e&Tc=}42Fl>6#76W zD8oaIAa5inj;(9@z>TJ8GU7bljEM#1powSW!`J^Vi^8!E~$#+4xj`B1l*V2;zB75OQyN>Qpuxw z5l56A_US`J`ISnGrP6|Fnpc#-QGlM1ONd^A=nYJBQDUZfsZvo&u;39|W zj9aFGDO>Box@9Ts#sf-_%T7lufvnXtNN06#Kp#(<@+b`CyV{jV(VbcaH%6QE4+1EPh_EZVAQ)D+k~S zGK^oJS>6$}-mNRNnc}2ctKVi4Ogl8_A|0%v)jopuJC!y|aI;>mMH0LkgFGk1{p*(O zdfQS1Kh&#LTUNTVa#aYRsr>7%1aWUo2|Qb^egY{bg22s6=kI0zSm}CV^eDmFrhIg; zl9TE4&7kS}lZui@d!$~ox8$>i6n|?rYPNmf7K-m_I<4V}ZRhhR#l{IOfNeL`INEyz z!o96vKmR)Z&#uxEYzReg}ZJp4I<{W!m5pWFeb>8ZWtS$_OeIxIS0+I|23P3CX#NK-I!}eGf8R{x77vV|E W@_nYUHSDgNrP(A+Ud8|Q4jcdqA`sI6 diff --git a/files/poketool/trgra/trfgra/narc_0096.NCGR b/files/poketool/trgra/trfgra/narc_0096.NCGR deleted file mode 100644 index 96d88b796a5475eb6b705b4e897198ef373ad0b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K2qJb1Gx(jA*I?WL diff --git a/files/poketool/trgra/trfgra/narc_0096.png b/files/poketool/trgra/trfgra/narc_0096.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4e4cb413f822c78c5b9063720000ecbf48961b GIT binary patch literal 957 zcmV;u148_XP)002+~0{{R3Y;$7=0000mP)t-sVuOqB z=Ec3NgM)Kg#aakrw2M-MYC%d$T2etVF){zuz22mIy?bJNN?QN_{{R30W>S2u0009> zNkll*O6bJA_GgJg>2=vsY1CNU|6h`%y6NEyGmwo`+pCHtj3;~Huvc=^I zE~>&pWOCA4FbX_$DRLIH3Nj6+K$a>px^(H%5*BI&PLu1S-n|`==_jpfY zY?Dnk*<_PVHu=A#gm_S>SL3|7Uiy9!V2ATckY+2-aUK@~2GBI3Ps#K5^}P~s4lwN3 z29C4u>epQA0k1%J2zJ$RyjDva?CkV;H;N*t)tx=hb9E1~#GBDw0(j=Qp6BU;9ot@e z0-m|8ma7le_U;I2znE|4T zfk1i}Z>eG(urwdPN!cP0)u>N3+c1xR(E_*P*%g6P_K^9O#Pot`K)11jT?Q2m-3P zV*?Ze(qltA34T*JQN$r;{{!mXUdonGAUIqRh*(U?bQ$5wPg&d9)0!zCV<0qD_EFzFbTy{vzoOLo fU)F%c21?&P3 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0097.NCLR b/files/poketool/trgra/trfgra/narc_0097.NCLR deleted file mode 100644 index 687348802e29452a907f3b55377564a9ce611456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#5`_ulearv(5+xSvhw%vC_eck`{3=9AVln{sj diff --git a/files/poketool/trgra/trfgra/narc_0098.NCGR b/files/poketool/trgra/trfgra/narc_0098.NCGR deleted file mode 100644 index b3ce98d0565a3a33be8ad812b25e16e436e4dcc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KWVJO4xs#ADgmyIm diff --git a/files/poketool/trgra/trfgra/narc_0098.png b/files/poketool/trgra/trfgra/narc_0098.png new file mode 100644 index 0000000000000000000000000000000000000000..25acd4492b99b18bd4922fac254b736d720ccce8 GIT binary patch literal 922 zcmV;L17-Y)P)002+~0{{R3Y;$7=0000mP)t-sl#7er zS~;w&#sB}bVuNZ*T2ic9oN7{PF*z|YF**O$z22mIy?bJNN?QN_{{R30VD!k70009e zNklyyrQE*-76^?As}kYC=@d(zzz@;`?c z1PkyZK=h30SrsD!8+f2M2GL6Pg2gll(CRf6|N3^G1Dz8M7U$+3j6vE!0reDYt~Ojb z3+kU4NW*Xy0Ss>Rx#=>Y&5F&?b8FDJ%f<`CR|Eshc8c-B3c?za@mw1(e6nI|cAQGv z5opNr62waOFWl#xngo}YmP0d&gTQ4Pv%j?!n|KP}s6o#m#R<3$A85-atYN>~b*{Nt z**TuP4kP_cL&K;R}R$vrUl9A?BH~t zU3Fwj9c-A2$)L46GdP{N`>B+vJONM)q}-di%Tv%-65?`5#ar-(vwF8B`|3c-Zb}7v zCR?+6xwuvXbx0G&*50Fd#J~E|zu1l#V)3dlyMVd#{ziXioH5Q*r#18@qb*(n7_nNKx^S>n%Gv2Gcuhk`+_JM^ z|MPBean{}YMGo^0?yE`&hL zkeX3s5ym5I7H0GDn4y7`SF1dZVl)u)6L7jlRU{8qkSB0YW@|{GS-`5m21yJe&LWzM zd4p_Yfiz3df*3W^of0m%byl<$lY0O@7w#aPFP1Dw;ZaFzgjL)s7E5NL0i4(RhdW3? zw0R}q>4)wh8GOvZ9pfRCTu|K$d$FbUBaA^TD3#qzcFrbOuHa#IK^uK_i~#m0AiPki zJrrS0+I|23P3CX#71t_vRjk>NAs9vYL@!? Wnm&^_CKDe&+wQxezV82e1_l5VQV~-C diff --git a/files/poketool/trgra/trfgra/narc_0100.NCGR b/files/poketool/trgra/trfgra/narc_0100.NCGR deleted file mode 100644 index 552ae7fe00987369b5796045af8ae1be41304868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 diff --git a/files/poketool/trgra/trfgra/narc_0100.png b/files/poketool/trgra/trfgra/narc_0100.png new file mode 100644 index 0000000000000000000000000000000000000000..89793875d23e281b6970b9d6da7134fe8c7418c4 GIT binary patch literal 916 zcmV;F18e+=P)002+~0{{R3Y;$7=0000mP)t-sl#7er zS~;w&#sB}bVuNZ*T2ic9oN7{PF*z|YF**O$z22mIy?bJNN?QN_{{R30VD!k70009Y zNkl^cyy*5q--zVr>@&e(P@B7~O-91A7 z*A<~OhKI$ZhbU4Scz9v}ⅈ^BnHua|MY`W9FNKv=clJ{BZIdF7+{3oityE6Eo4ka|rR46JRGabL7cb5{0lqwXi$m#mMg@r^SffnNFh6!sau^4C+0bG}0 z(p(HY^-+dOpX|bL@+-Vk) zDG46*m5S&%#R7n<--NqWNXfYoEfvs#!&pv>mo*_aPE6U_anVo#WxtG0-oCC1QE$r{ z5*?ltf9~lO)AY$nXZw*5uQmhltgZqQ;`>Bj>1=1*zWdIBfAEE9tDdsH@^mfJI&6-B zKZ9BxDS8)R&-KA$9R!b%$`gBePkI*X>?3#pGCMn`51Gx{K7vOy01acvm~B;7Q9v6a zG;+*hHV#PEEdJaZFwU*Y3lvb}IqrQabKA~goC&O9jz?#PoO3KtFY_#yAV&hpklU8; z5Ancb&R7v98Kn*7(ivk|!Tmij^G}1vj9DejoR2MdU8NDhQ3)=HICC5<9XO|q*3}Yp z$~l;1JkSA+bG&obZHwpO>4lavv>`8Z%fbZn8bp{!1T&1PKOTiUB=G&^w&u1Gz$tMRSIuo9fK|~5 zw>nCMRk3lk?_m`2KwKkZ1W=m@5OP)rr>;u~;I4WRs}mU$y{8Q7qA>xUyUMdN{%tzO qy1q%W6 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0101.NCLR b/files/poketool/trgra/trfgra/narc_0101.NCLR deleted file mode 100644 index 88933a746df3f48e028227d80d73c03a7571280c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#71t_vRjk>NAs9vYL@!? Wnm&^_CKDe&+wQxezV82e1_l5VQV~-C diff --git a/files/poketool/trgra/trfgra/narc_0102.NCGR b/files/poketool/trgra/trfgra/narc_0102.NCGR deleted file mode 100644 index dfd47116eb8196b892d772be4b728cb432b3f4b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KiDxH7dUXm7Q&~R% diff --git a/files/poketool/trgra/trfgra/narc_0102.png b/files/poketool/trgra/trfgra/narc_0102.png new file mode 100644 index 0000000000000000000000000000000000000000..f8519a316ee6caf94c69608d41f1c2d8a12fc5a9 GIT binary patch literal 796 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

y;i5j}&t1y$1gVtmZoQ$~Lw9=b< zp(p@pDGnPa=mf?!EsEX~+#sewOhzIC}@&P}*aoBW_XfcKr9AXa z(E_Av?AYMhUOoU9WVHLG>$=bbdC=go19nj_*DP%Pa&rEgYRI_;%_bU8U!)~f$J&Lv zsn1JcgyyDSTpS3kNaEbf{J3^GARcRXE|l{HSDH;@U9cJvc~-!WH4MmIQc^$rqNo?? z?v941(S&8SnhKJWEuc+KX-)*cV*INOkW#IqrI?(VvHs=PNOXH;l6u<1k&xtZzBWJa zs(KI$g(iGbfB52mCax!m7vr=os~4S1q)npSx?vs9DC zoyG2}?r=WQ(-zK8;><4{ffDh%189S(u}++4rbLx>vC7L+HedmP42HXZU%aEuj)Ldw z4Op02M7|4`Z8SS2c{(J6>QLCZF%E36FswU$(0%EHBS?`6%Pzmi2qcBo^s0cfGC;H8 z*=FM3Rh;)NMq*$~UN~;KMV_|zcNBAlBpTu44ltsTZq^$Q&y3gI@6zIXq$r@_JOT12 zy95O_2m{@ka3J+TcSadMoP67j%|hv`{utC57k+V9()2pzpZcvsgAlCo^S0V=y=((L z-?DStYzSS+ZSFLOz2p>?>uMTv8}Lsl9426&GF(sX)T#@E;P}aTxL!QBeAJRf>)MK= zNAN{aNtUV4`%J%`o{|(hh3Fb7_s)ms55%fd5&GDq=clk zbqe{D(4d^b491kd)%*$#3&N}`pqLApeE$5`TXgzmt$KmObdYm#DK>WRmh4i!yfRl? zt`|Jfd~V7B=)1Pr)PpW6LRX~E_gl1XaNSxL! zL1Jf1A-KfQpPo(k3KVjMzv^!dpH8unS=Q1I0*v7dyc}ix}s^E74O$M(2i#)PT#{#lza@fAv^gb>ZinRHq zA-Wy|KhXZM*>=A#JuIsI=yHskaL5;lTdqMz1*D@@eJa~CXD|nkRpyjmLLA1eKH}=j zg1A&UwjP;xRFv@rjhdTdBd|CTPgX9En+yhB$WqPwsHk=61dcSPcZB1$Pzqp^bD-8U&wza)Wu}rJpWK~oouZ73lXx)ssNSA8*;J9m(^|zN+;CjcsTMp>NX%^= z_Y!}*325P|$4*LTOhglPXUdsVd|;n}Vuq=IMZ96ngo5?!lUR0H+P*oLlQcOcuR3yr Kuuw)ZkM`PJ6@UQ% diff --git a/files/poketool/trgra/trfgra/narc_0104.png b/files/poketool/trgra/trfgra/narc_0104.png new file mode 100644 index 0000000000000000000000000000000000000000..100e5a92bd46fe5a9bafb6cddf212cf06a3728f3 GIT binary patch literal 1041 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

y;i5j}&t1y$1gVtmZoQ$~Lw9=b< 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 diff --git a/files/poketool/trgra/trfgra/narc_0106.png b/files/poketool/trgra/trfgra/narc_0106.png new file mode 100644 index 0000000000000000000000000000000000000000..7b21d53509353a98874e726733e03885b29d0e58 GIT binary patch literal 816 zcmV-01JC@4P)002+~0{{R3Y;$7=0000mP)t-sdz51T zVmapCy|k=@T6=RrN>VW?G3JXwtZG40N|0iNkj8@tWNbMe(vcjd9?IAI0GO^&8x_`Mgt{oS#f^pUUl9w}>BM zUJbr_i~}FMv)~t;N9g4J*J7rDqM1z2I0uSB=S*|X4`JXq)K59@;J_BM`SBcf3j|>p zGTv4SC01ZNS4x3CmVkv}n>+9T1KOs9T&EV)pcFI4c%C1tRPJHKd~6HOQu$ui@>P9LJ*xrFUkaFZeI?PzZAJn-6t72!i-+n0unrJ!Nx8Tr$SD~4C zf#xdIQp$ZfOp^+1vZha4=*GjaWm{YBCUwcQ!C2D+y!^H?V~Nz|d@GJCFw=~AqkRGi?lZpAh8}0xlq`>IV-mnuM_Ge4mxL^o z)<+1Cm}-**sXb?gIt75lxCL`3jjb7T(2xpLP%v;uwcXv2lgov>Owt7yJOF~OVl}0> zMO;+ZCm1|*r$4A>s_KaW3c7*8fsnyrk=G*){U2ZgsF}9&G_9N)Ih4l$&>q+|bCV25 z9Rz4+;p*Qq8D-qR<`qcwxCH>oF6VX0G_*q<04(orCpR_lHUbpCp9Yp;BL=)XtU!7l z^`Ri40`W{xuClTq;ALbDT+bE-`aiW$u?A8E7)SlT>;D*Y(O&~&?~O>iz4fg!@A>W< u`p45I?RLFOHfF62^lpsBg+V^;dc-g6DQI$o07HZT0000S0+I|23P3CX#QsL}WozQMIlZ>j&|D^A WqqJ2~OEErvw%vC_eciqF3=9AXg%DZ* diff --git a/files/poketool/trgra/trfgra/narc_0108.NCGR b/files/poketool/trgra/trfgra/narc_0108.NCGR deleted file mode 100644 index 9aba328807d67213babd3e1132260edbee85df7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 h42IS0+I|23P3CX#QsL}WozQMIlZ>j&|D^A WqqJ2~OEErvw%vC_eciqF3=9AXg%DZ* diff --git a/files/poketool/trgra/trfgra/narc_0110.NCGR b/files/poketool/trgra/trfgra/narc_0110.NCGR deleted file mode 100644 index 26ecb3a2e4fd7976c92c6c9370e87c5080e4cb65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 Kx_jIxM`002+~0{{R3Y;$7=0000mP)t-sVw7T1 zYP~^9b1^YW&1xWXQb9p6DV&s~YHE8yK~n$Kz22mIy?bJNN?QN_{{R30-cM@O0009q zNkl|drw$CbsxHYa3S8i#9A#K2@_4z$!b2OZF@g(gS-p~b z2sha0WSti*1ozlLr1-vxm(Q6%0UNEF!5`b(Y#=mh=GV!gea$2$@t_vBPd?Z#(~*<@ zJj6%slVR9Zbrwm7BkpUFf?+ylG z2pW`$G{ZSN?BQpnssu)$l=3bbEol3u3d9+sRkiNv2@B8ypbQaRf(krS9Cis*fGJwr zaG+<+d7y|?J&^LP?J|I=^NhOa@5vS0rJAcvFE7>rMnemirNM!6>3V^AS}V?I)t4nA zO)`CWRXl{u+s&(fzpOLTYhk-36Y1u8F0X3F5bela4{vDQdUiFos#VC!^&v%R#de^X zjoD-{>DNDGFfVu^3)YTL={#*bN;b|uM&yFLJ15u=*6+uY4;^LeXFSD@?90NuU@1r^ z<7HydW_A%0xi>E;Tt`lgF;uaPDZj{=c=~7Tug*I=mrq72nR_wi7bkXRBlqR%P1m?f zG@)__%66uPkRE#`ziKjX7R>qVnLI)~P~qR8PoT?>Jlo{~5n$w5p1T85zjHm=TIJiJ zvY`7HbrlCrkN+hfFd2biM=74yRHC7ob*DPh>ud~~Cf6-n5Li>HHTA3~NV_Cb5KS}m z1YOPa1KO`6&xA-I&dyi1XT69F-5_){lj71BFEMps1k{-)YuXbO#vp-F%2qX<+KH=~ zZx~(C8j9mlMD*S?B2B1CrOgaO<$vsmc-VUo6q|^Z7fQX_@y_rff#GRT#0p)DxBLsH zDmBE218dKAZvKYE>BS?Vd$FM=;Fa7R`}I6auJY2PrbWqZ`8;qDMfq6|D->i>a%GQN zDFiuJP8?}x{u6S0+I|23P3CX#6Cu=Vl^y}sq7T=Q#>IO W9JJP!Lo+^pw%vC_eck`{3=9ATWe|S= diff --git a/files/poketool/trgra/trfgra/narc_0112.NCGR b/files/poketool/trgra/trfgra/narc_0112.NCGR deleted file mode 100644 index 9a07fc2b713d912cdc5c67ac9c7f5c00a1f1d0dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 enwrwP*Z2cWsNx%9E*EhC00001@{7E literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0113.NCLR b/files/poketool/trgra/trfgra/narc_0113.NCLR deleted file mode 100644 index 6ca50fc5ffc6dae8cd0fb1f7959639b7e9b1009b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#71s^e8X%{YiR49j`gxU WrtmxIvuk|(Y`gD<`nvz?85jU6krJN( diff --git a/files/poketool/trgra/trfgra/narc_0114.NCGR b/files/poketool/trgra/trfgra/narc_0114.NCGR deleted file mode 100644 index b47f7cb09f0bffb67fdf02d5ca97eadc5d7bfdb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0002V67Efhn&d^5Kx(6NC;;f8=_Xm9Z(LyQ*&^!;T=>d)9bOf;8PtPC0NT@|6!0cd z4whoi_)L(U6OuhUvgq3>9L^x;Y{X^tb4m!)l;Ft$rv@q`&UXD4Jy?iY^uBwSoir;Y zDLRyc8c-N9Y4+T&V5}>Bfb!8BTu6ZldoC}>I3#t|q^j_ZmWDa5{>jd>RxQewCuOQ_? zCq{`s%zVp@eL`8QE*Qia$9~~g0`w~7Px>80vk;u|qqa(K?QHWskFw+2oCrXkM(htki-wde{dr_T51Kg6W-{xI{q7m1v^Wsy>@3>Vt z8y<3Z@s#2PqMGDm@UR&X6jtYtm<-olJyQ1j)u=Yy8A**50y#_U49Y%<4N-iV}0BW_R!7i8oW zN$P#`+<=}TYNm@H+}y5hQlj;X0C+L^4c>P*c2t7J=vodVsc=2fZn|If{&(daY!axu zHfW-$>`vonsYJweJj$X|31C2h=Y}GG0=)9gxq{y7fLQlgzrK=}ur#VAL^?Zz{ZOYd z)bxp)jG53D!anGK}Wk+R~YO*C$+Q?Muz|5l!l%MA8icv3z4*r;XcX(VnO96xAI01D8PqoCWt=f?ZLc>GxnHo~JT z6PRk5_x^*|o^)wtczT$_hmi7dL^d7odFYGk7or0Qhz|A1}r zzYEx;bZ0h}O``mZ!+0S1Sl$jd2~>f_gIYBs3~)@*Sr)8Mc+6cLrxNeGIcU+TcTT!z zd_)6v7s?4!tYD9U5{4Onb-Yo{G=gR8!&qjCQ50lac#q=fUpnH0;7~R(KlVzm#;j?5 z_VQmFVo2W!kuKfG-X!zYTB^RYs6avC-)2DHYn-Jm>|)+a6gWJ&i=I^X%@kpU3L2l| z1Ta8uD10;ExHsw{71H2)+9-W#dJYgLkpy!!Zi<5w^&o>meMWabvV4h+b3$jUv>2ip zU49Q&DD)`hh5Bnlc@VnsdA7K3Q*1Fk1+sD5T?n+O{6qLlC|^l#QEFIokpNYp>L$LQ zNL>Bx$|3*@rTCY5{$AR*($s)O(b`C(J@8Xe&z6VJkxcEK#F7#_yXa^sz0RfQ<-{WO z1WG+4Zy%=+-mAYvm4~{v@&c)A<=7qBZ$7mb&9rEx?7B4rQqX;|^mb-1AS^lkQ*y(b zBgnRi7On_Kh@?_gh$=EOy1=MmHRgL?WgL~Q>EdBKRH-3Yli>=@tS?>O*qSn9wy-x5 z>Q+^c{tOjevr>fn+o+W3KaP8+dV~_S+X^?6MxZLe62|hs>-@M4vBD}VR+!nD!v31q zv2^HVlX^ewdx4Np%@q4mmsdQp;xbiR6ODtIT{I;u6NHE_o5SBX9Gpp_%@A^2%^i zPhj4GJ%$i}=)ADauY&CB23XZuRldNN)-|+Ys77u-C4A_O?n245rgwL54_^c&U4y~m zp!yO+To6g|H~Y^s@o|CR(d%;Z_AqAGix|B_idzUY@JNX~rcxWr-g-%6y@Am9Z7 zQw9wGp*&zsZ2~ZBDAAe<0=_5-N1KY;O6pQSR8b%L(**294x=+ zh`3t7l#hVQxmtrG(twrGFBTe4-prdF9TI)JKWHzhjZSE1B1D08&C1tP@?b52Xod%W zTf7g=DuQ$CNmxW#Aimd^=`<%LmCDA};ss|_bAaB-TNiwNZ1U|JXxHQhr!I@fgd}m* z5UPx`?m*w+HD)f~QJiBf;$rMenm8J{A)bQw^Aul&KpO4i$}rB6%GPHO%Zx+ai!Ycy zw07t^_Gs8qfUa9OB#KcJ%gMO7(?(@Kn0!Z#X+m|YIv9W%^L{;7PV^?_yZX69KM>gQ zPqrp+xomGed$RxAs0azkN$voLIphG92iJKm;xosRCP3OKh4vBVz#*)6P@pi^QPyx=IVv!{Af_eg*^o6g06 zR9dPdHE?;+8Wzz{5zM+BSQ5m$LTFy87*0QD^+dpR6){+eNLtpr^6`n#WER9{sDk?I zj99Z->%Q)n{4}N|usYX+iBRJ)fcEdN->gP`C-Sr#>qzVgvM%Ds*Ca62YpQdz5kRit z;AW-YM4UqXW|@`ffKsD_8tHB*EWY$F)*2M!Eim1YwbmXF{)}SX#?rNW<0uMg8xEBx z3Is4U|BAR1-XL&6{zhCs3w)-H=#>S+V zJF>>xD+svBRPI-YjO4$SVrmU@`T)YA>n0_s6t5$lCmke@UWKvoC zZHNy^T5baewq&0b5b6N)i-4&i!KU6Ho7@R)IieVg&v@MVgx+d5RaA`*R5iC$U(4L4 zA~gRvvj=n6DXH+ZnA3o%qfQoQ$VC5jgUY2-IAF_xzJ~RGLA=e)AcBGG&sZW^w!Q_I z4>Tnu%Q}98Y*2DB>-HwElB^ZRS&aCOS?F~lDAa7x+J3E=Vp)CTeY`aFG2-U7vI@z~kfn?4a28MHeR zox(;dVwjbg?*8`I{dDAI|9acQ_K>}CTQ)H7`0V_>&N6XZ@QA)iWo}vr z31p){J{>Sf^28%nDbXTm`Kza5G*aL+DWf#`&)xwy=u~{gidy(1`*4@h@D@K$cg*-5 z&Jt3)NNBvNE>7)dn?yc!Udjwp+h7`j>4xlov`o;L&Ub%2se|Sn^vP@BRmB+CmDe0~pO2RDOb2hxDW64EnA^=n#eRkhaTjBBzk%Q?e_pMt@ymXl z%IH%mbk5l4vZpI|_KvQnnS@QXA__W_b)dDu>BhysD*TfT z7{bjfrI-Ynx&95;;IG`C8j8l3oz)06gK{IQzWIrm%sn_;bBJw8aBi^&Tx1;;#_G=V z(SS!G7pBY~f!xP!FQO)kRd~Aj8s3;UdsKVHC0ZXNUT~(-+ZOgusxhn*3F6)F4=u0l z?FxV+i)C13eZ_NAeqd>V6o%t}C%lWz7J`rKRagL7OujRhH8dk70XocsGEk5)!S%QbV&IL(=O-7(3_IgeD!SSJ_TQ;wIWW7Nr}ODi)RQ+ra0EQO`hKOKNMSq ztQv{qRxk>YcGg1=myEyNchZV`>?oIMybc;Cg9Pn0kc#aS#~@une?~z+WUS1MRUOps z0$q4rTRYtY-k^7(V*gb`%McXt`?dmag>36RXR;gHv?Vkx`dl~dtRgB4H~2Amz+PmxMAUjkbA@N-%cSWQ6~csyhX~`@a%Q|c&FF$D|IV-H z*TkIlCQ7H%PvDRNDhA*G;5<7`)B@9Mci6YtF+M*RKeS?{j=CQMq|n!~c6P8YQY`cR zwJkW#V4RiB9O_mBKH!KE{@$E3jKG3nH|9lO7aY&6%i@d62e{2Sa~>*piImy}dYT+# z2(Xb6Y*wF-FbvOK6;dwy?WnHlfsTczY=n%p{Z;hFP4!WfL4x@E*|@ez*N0mx=$Lbv zg#IMgBXr_rHF_z-ypY>*F*cs>UhF!(L^A(d_J|xwdu|8^uVma6A?mgB^ney2!lpwX zblj$GD*brgO)dNkkRfYxN)SGQgda&G!Em+F#ulwl-OM%}L=xb;PG}mbL{6J$K}5WD z6w2CDAz-+HKZe?Wn!M`Gk%AWMm{@OF7rsiDNHn4)9AzffKqcxvEcP_&@92g(SGUz0 z_eiJ--Y!1JBP1-<*QyV*oj~g0jAnt~5S+d($zl&nX*k8Xn4Wd_(iB>SM;fr>xiA@# zVb=N&%8cIKLWhJdx?MAAM-K7W5VB|S zt@NSgLi+qet`MW~X0|zRIBbeNBC_J!HwbjefbO%0*yOvFK0o{>(^v7KmnQ$8q8L)C z<91~W`uHGu3ts!T*VK7M4%%6x^6Iv%0ZI(XWWHtC89Ko z+jyAyu-?Wup;URrTUu=+Byhyhu@+=c5X@B_e-bCVQD{l2&rWh@6h!-VADfreE0O955)6OxCdv{fzzH z?a~-~@+kFb(hkTcDFkaZMvA)=4IukL)kZHrN_>HhOG2Nk%orLOwSLD}!1N&HU8VLG z#vd~A(YA1J>zr+QnfIpKx(Fl5i|z`CE982WDQb{&sQ}HPLMC>f;9T|Xq9Qm8z4#A# zR$h{~YSef|soH>}Rq)GECze0YDNN;^oXsCjCg|WP70zAfeZ*CmEbM`fCkO~ z#yt5=$^zkQ{n(Y+$3ATrWwc15`+r1vkGsMUZA4EYR0O+gZ!`!d6hR_VVF^w8vat(Np!z3FOPS_f{^)f z2R01v#O!#zx-yMh{D^uM8mE}ok%c{*zR2B)d9D{nbEFAXyDCvL^}z38 zIOeKf@EmNdyyBqCP`H{oR37hlLX_79OPY~mF|fW7Emp*j$qX!A#!>_O_NY7QB902D z<%CJKjtbV30if~0mByjJ_WTbG1j6Ynv6#S_<^E~cTy$S$hI$^uWsrz*ayCQnckCCv Kbuv_2e~2lIcboJ8 diff --git a/files/poketool/trgra/trfgra/narc_0114.png b/files/poketool/trgra/trfgra/narc_0114.png new file mode 100644 index 0000000000000000000000000000000000000000..eda17700bd14b553a99c59b4ccac240f19e116db GIT binary patch literal 1052 zcmV+%1mpXOP)002+~0{{R3Y;$7=0000mP)t-sbH${^ z)!vkptb4T0QiHTPQgd2bS}`#}{{a8ZS{VP;z22mIy?bJNN?QN_{{R30nPiPk000B0 zNklmzd z=x@lFp~)cVaI&F;z4)H0rCBV8bTgIoFezjz1i96VXw>-n-N}+Oh4StjGUP)TOPC+u z_ucpI&dOvy#D{o4BOAxRVS1~FN_R2EL)Fo`i|4H#C=G#^;;I7hmp}2qL$zZ;yqaAL zF`F3M47KiId092s#Ra=+G}1a6A$i0+RXb;~K6{43napYa-+?-U3{grZ1rr3dfkNvc z$pwXc(b%~eqKwU7K@jAw6kiXu?vD{X5)`bMyAr*Ok-*@xDFnr0&ET}KetPLuxLwZ` z*FqV7@9(YDib)uT+iUmXr}XzSvUQb*VLo(T3!#ViW%3Q@dEi1b4Qu}3N|*@tNdR6; zcg;LQVmv@n6I7JG47Z`;#di45j~=C;)Hr)l`pm9NLn(IzkVg+6rw510i?2&xl&p84 z)Xxt5{lVqbURMA8X}cs!H}fs<)UE?x243Lqpma-I3u|ftX3n0c@8NI`w##|gz?AB^ z4}Dg7*b8^#wrc04d~H+oJ(#n)7k(c9q}tn3zQF)T=OB|(8Vqn40XX%zIG1U3)m=i;SQ8PXeR4Ls5w$Q9o-wp>2GyJ z>#1z&UpFcgnkXZC!P#f9N2D!$#e#iJC8c&*W^gUm`?TMUb;?I&3ScujVs|$;H=v2~ zpl`w3>92K3Lr)uek8e`8ZfllCYYt$Pwuwol(F5={-M_nTGi;5`gffo<|3rvZQ$L~m zlDh;aW7rsGa1^BU$TK0Tu*zLYE3RN(wV#^Qo7bD8L>QMEgGFu`%F15nD2bjzaZ@J( zcY2-DKfJ(?M?*a(TUIoN)ABl{m(uV3Hp9`ZJ0^6?7(+Rw>$%{1!4K@tdKp5Q)!;?T z<-!f_Rr3ivVdo$N@J{YVK)t{j%v-Vq87n^*{3{8c6NIOR zqk!`kLQL$CBlK_y5{$`)v8gO3g&@u0qJ>!CvSK$l-XNSP7X*OScl_=D335+VF2F?i zgU7OYvV1q8!W(SH#~0v7LdHJ-iP|t`dQmco<7SNTHNjiFY#w8LGqQ{oxRPLcspCI} Wr6w{AVAvi20000x7Qs21HS>Q literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0115.NCLR b/files/poketool/trgra/trfgra/narc_0115.NCLR deleted file mode 100644 index ce59bffb9d18deef75784ea8246016aa5f5b9cb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#C*XK`9Wdl)3~DCEwgox WDahAU^2W!{w)<|Vulv8AfdK&jc@Sa% diff --git a/files/poketool/trgra/trfgra/narc_0116.NCGR b/files/poketool/trgra/trfgra/narc_0116.NCGR deleted file mode 100644 index 145a3cb035183eea30370e1265e45a5e8b3f8f65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0002g97SE)grn*3FHxJ81J8X-37ycA&O7Jm#3>2Rq32P=zV(nwdDAK2k^%Gvk^dSz z9ZmiMWor@GdD*)@u@^bC1f_VoaRdI)S+T%&;x7y=RsCObf16Lp5{Y821V{9w?o|{j zZZl@Ugkb^Z_g_&Qv90yu9m}D(k2(DwoOgqidK>G)% z@ac<=ccLkd&3rxU2%Ih z(C--RoW1Tc5nB+5UP*;+`Ufdw{uPVrhx5*W7$Jh;3A&zl*YXYx(cqp*ILr zj4PvBm?Il-H_;Fl-%pp!m>upC^1EngT&Ye@jc2<=-gSP;tW*17x`7FXjDOU;%+0%k zsOvIVFIvvBFvp!FPSruG;j?!@ z?BP~sGv7*_pe^%ap-Tfehq)r2=l9GM{DmOT>D1daMas;eUyZ5ecaB3GyML**>`PD2O~CGoJfYj5&w z>^;n~^xIJgw#ka_rH4}F-IX|Mdvjm_0HI+fv7aYg2xZ}yom z=-Gxo$QMksb6T9b7z5$Z=&>ty885#q^!*xgMw`;e!HI3ITSrHvtyOO-RWpgeQ(>&; zZeK(kkgf3IB+F#DemO`UGj|r0djsl%Wp4FShx-bsAL$m3PN%tq z?X^M*+LM)_Rly0yWxq=NGYvSxZ7ao?q?y_Nt=BMg17$jTBE$KR>~ZEc2k*=5JH4qg z*jtl`4Y_Y_Q3rfvh$iXkZu9Yg=OH(yY#*WAXKhcS#*1}$TKPKOI5(SA8^uLhzaxHd zM$!8gmQTvew;d@GIlF6Ui>cX8WM_^<9d%jC6H}gG37#d1gMUZt82-hAFY9$!pjq|4 z)0b5=!zCd)Y=crzFfrlwG_M$}!+m)2sT-6?nF;eQhsW?F4b_~g$g`S2yWs(5s^2}F ze=Y7}s7uB;hNyFIe)nHQ$hQCQDdTo9ssVW4;}5rtU)`6|DtinlH)-4sx+kLqjWw`} zjT7e}{Xw5b;Xj0YV~uq}F{@@6+!;T9Iaj*$!sSQ$^+W3rMBoZYqHm>HxDK>|MBCK& znkIX2{D-CFoRyPmVsnE4&!G$^D4!Z!*X_(A$_rQc(Rtur1h-_=8by=Z(xb2NO;K@{ zanIvSN1aBJTs!UP(m4K*Pv`gX55{$QbS99~1CFGgfByhH+fDQWb8DB_SJ_cM-xpuB z0;R6HzXQb3cd?dsP%m;Ull|3l4VzWSaEW-XvPYVvY*orCJTt7oB96J~&5JmAN%@7|&o?eq8pYsR<|E;cRng`aO;4>e zgGiAfvxr?={-$J3J7-};Ty-?cdQ(AQSb<-LdVjjSip{Ztw(Gc94_P<9>X&FVLM1#p z6N5ESzcEbqYp=_!Vtq66a2w~6M+yEe-p7-knQmQQn}Ci4e&MWUA>S~ZUM=ZjuS*ktcQp%r%RO^b=a@wn559 z*gsmUTxP*=_LLFHoloI}nKL-B^T*>6~EDm_B7g4rcI!$i^`fJ+Q#@QS`_7`%rfu+g1W~>T& z{ILOchyVYEm{(lbj^CU-ABlsm2}kXuD^(>bBQwvy@nHhyTwf|2POawRGRx|?Tshtz zVRt-~c?C6^<711kKoNIV_K$-Mj$Lq46;!+ea_KCN{CBZQ!EY6$a%YrO^TA)nQ@=3$ z@eMA*dn-$rf|+mr+t*ff0cCJ{aKpcl3URzPb?-6kdA%PpW?PwvYe}YV{|6#uI~APj zJY4LNR4$FCTF-lPkJh>mZZ-gSIQh`tW;el98O3{A4I@NwWYN(U1Wz!`^&OuQ$GdT8 z>8bBd5@$3-n{^M$;Zx*br-6!waepnm>CG&HJtWpiZ>SBv0aumj9FMt_06ybTPBFLk zqOX3e0e$ZBHyfHr_X!CuHOH1Di`7!9mb2hMS>ab^nBOCuJuT#7wo6PnRJjA5toMZ! z`Go=+cM}mInWUK6QKH8;jBuxT0>J4gm1*)0XeUVo3pHknTN5oHn?dzP&p&E>A&qN7 zKdbB*x*64eXIJ3#z~z1VLqo9;((&=O5N``?$vyqDNh|mohKlGNr8<%I3pnG@i_XRX zZJ}Z&7M}oImF>bJ*bCkGuX%P}GPjD<7)8n2Aft8gYf(p*-_J=*g`K>T>O1r3fGIW3 z{pX#;y7l}@71Nip`Zbg?nJ+yph@e!tI+ldkHQDDr4Ht#90Hx%*4FihMm9cDgzAxA; z(fvzuo10t6&WVn$U`Ift>Q#U$3N!M+z+tWC(_bANEv@0=Im?3T4|-}{yr^_ZrRzQ+ zvFv8KPZ45Pt&g@0tzD~9T>BHKtm(Io)2A|os=grU?`-jK}FDO4Y5ZeX|1(Y^6pbn=zh3(cvQPRmGPvv#7tGL-!aI_=TMsp5vb| z*O6D&2oF$!V}OS>Omkz#y{PBfQ{xt#;Y$^ZC&I# z>e(F{*K2lk1g#D4eh^K$M{mB9m_4|%5Zhe{a>=&t0f(OC*_EVf7jx_YJfRIHji2*e zbnU$&-wUAlo_WDu$+sQU7e!>+N2AyPJ{5M-!X}c!N)s7;*`>AHKseFC)aQU6R{GaU zeA8Iq9RbS*WdB(__)TR32y0;2q}j4QBo~;pf2IGrv;%F>B(c|a^)HJoaQy~yVw>K` zGR@uU9wv3c9S8XVTAF51T6RzLF3FU7h>Yulz02O{V0sS zHJ_$>zQcu(C~=ZDl z;){WJ76~bup#yHb`72q(VqiH#u`c*hCT%Hqi02g&Rl9d+N2vu)z-QV-8Fj_VuTv^u zMSvAKba!DwO{;Pkm>Fw+l~)GzzU8y} zkwbS7@bSmCes6JX2R(DL*W2I-A<4n+ScmcCn3ex({&Noi3!%8yH>;%y2DptD)jv?Y z$vsFKMU@#f(~N6Ry~DLKC$CU^Ceb_E8SSYx!XZ4o%8SiDc-1qc!m z*|;j}POXW`)rIJ22_CTJg!T{vNwq?rV`#Lhy!fiI9>5D{o1^Kbw zD>r&n7R5|jf+KBkk(PB$kk)2 zOS4Hp#^G3I{onkY+AY;$%S)9wA-UwCMZ{}CqtM_f*q|ZLs?}+Ni4V4n`rW?Lje8p? zB59Kj?I*$n$TjzhkP{Xlh(UHnv_HdqK8@T$)T^}^2N^bgtXCQIJ>|~&I73?F%OOe0f)1_qRjT z6-Aobm7|{Um{ACp1kd73;+<`hzdQWs4Jp=vwxmOmBA~u`4wu@bv;iRoQvW|ZwoO|C z7Hj6%g4swuQWw6oeWf+J0s}M9Lb0uOV=wV6uKj#+@SEhw+ljBPWk)%rCsmOuzcX9F zEn%*y3=9)OpZMm{3Xih<7dZ+Zy?2O|bp@fCe`6Q0d=Vp7(vMFJ3SC@MG5Z{-Iq6uA zSf{ImXSHMsM3ZNrFTo4OFTec!Z4Da2mn&D8KAD@bbAwEps4$s6NQV!^Msa91QSbfi z^}P!+f?K7CCrQ$7TL*4rHx&r#*z?1H!67-OHXl>mp=~ju@QVj{^!fbW!Z!_66~*UT zsUy&EpwWHiq#G1MBuLIyr~f&erKuZEZfAf*mvwu}eN%8?WbeSO;UQyZp8vk5ic)sts@(t!K!cK0Y{ni2eI zbl>lsxh>FQ(o0x45V~Gg>MLp@V zW!vTmf63SG28WmA7L~PX%yU%$si6)g@}JCH5$&!b^b6_uYk8te-|~ZjK@eb``1U2z zg&w!k|G*VY0iCFl20Q=gJSkz$S?B4*w)JRAvC~1|3IR+8N&m7u6;0LxoogxB@!1nT zX&2G7{H0L3sRI_!(Xkj~i+k~T7^q?=;;2LFsK)Q>__K_p=2h$}rZaxP{9#$5oyXz8<`Zj?>Y^WbVZ zn4n35TwcDOX-jYX%ng;o9xIxdt(j*2PS>?`d}a4~v%@Zs)p64{i0`oMl)c6>Nn0q0 z)=AxNvIoIr_7!95zw_pRkRi0UoGf*pk$i2D#JGt(!3obMsW_li6vcvC&?7T&uhD20 zmrpOukR8SnD!YJa)TyRUMQ2k))^%3O)+y>m@Ug< z*-INZ|G9depZ8=G^o0o;I^!!a6OmKL&^#~CDa>`@C^%(o)R!TKlqYBeMm4R9UK3m( zCPB$d!=i- zPy_kUV6lUC(Jxml?EUg`ew*sZIf=!t6Gz{qrBz2NjWeOZ%V7lOCSTkfh^@%tT+4j8 z_Bo(VsWY9|S10w}i6@y=bpIFLPmi?>NL|uWzxyJnm+5Yf2B%Sk<+U0L5|gc<&B0;D z9lzrID-96Br7PW-9GNlxW!K1b`(+Y(TEh{LWN|(=>Z>QH7w^<}R1YF%Yo`W~2?rEp zwH3bVrt=AaUm=gCBp*54Uu`F%{)>%x()p6!@HaD56U7}`_al~YzR^<_PETUYuN?sr zal38~+;7i`f5l}0U zHuv`w^M#}uVdIW4B9ZRan-5QnSKV*YVtXVguW2+6awj_kg*AwZ#S{M^bwT$=nLiwS zTa8UZX{&x1R2i3k@mIYXR0|OLEkgqkECGzRT5mmUgFRoe^V{qQ-O26lw1++9l$C30 znsb`~N1_mAidXI%|a2Kyzb#_9Qv-KQjkB(?Pld6Q6}9Knpn6u+f%WaWgy zEGrvQt@L(1EvxGJjIMg3XD7?(5K4hgpxlqL%VRxQC|=S!hD-MJ8+&G(8F@`XPd zh~x1vF_GEUQV)WRcHOGdse30V-f6!MNhc1AEZd!mEEA$2#6coPkUx)nx{b&}@T_J2v=qFIpsR~)I;VFyYb$(k#F#9B0UQWGEGMUGHdeKKG}3Wt``bKmrJg?o&&$oez940KQFy3D*b43 z44d%CmxTQldtX<=IC6koy|My+=42u(Zu=yz79yeK35yewlMI&5r+|el(yidr??HzX#|GSB3VW~$>%4f_(lXd6H z8B_dVAA#bADL^)ZvLjlJb?XyY_E}oKxt9|(xg{?;@`Er?#xW1}TCWzY`F+OnZyT~m zZwX;8?Z+-8gVidk&a?PH(c!OVP~W?pH7&ei?n`7i%(+{hWXLX8wa}jxuj5oOK#|1O z2@kc5mEGmi@OvsK4QWaaASdAj12sO1lM_WC6G2Tzhd%;*8I40icdG;#G8rv?A6Izv zxaC#)dqc?(O7Tgy$e;FK@(z)`f!p#3JIMp?Vu$185|trpXmjBJ<)OMJ&YzfEjqREu z5DWGACwb0Z>bD})5JjQdSfh>b<58cMm(Sr$eVvq&B0CG{_$iIfwdcx_hXyN3P1DWb zMgjN+CI5arkxjw^xob7pt=T_5#TOm4_@%tMMFXPH4Y9;_b}w)&$^9d8)0=b1Mv3OG z7)RKo;#F8GLNf}$IAI0mi(j?l+M>DQam&TH!#RN-uy<#aa0RHELSqK7#}T?#Wsgn_ zrCozkl=~~FBJzjqP43EN0XMIy20Yc0>3-_NDYC)IxD7_X_=D#s@DN@cx7XH zPs6&95pjPuWbb_J5WTW8Wm`0el1T|}4hIcn@)ghOTk~>&%ps7bi60W&{B0Pb6N}b( KpZRm%wKwdPcYovn diff --git a/files/poketool/trgra/trfgra/narc_0116.png b/files/poketool/trgra/trfgra/narc_0116.png new file mode 100644 index 0000000000000000000000000000000000000000..c0969fd08f5e9a1c1b582d3fc3b6f39460d1049e GIT binary patch literal 995 zcmV<9104K`P)002+~0{{R3Y;$7=0000mP)t-sl#7ez zVp6nHd*;=9w47REQc6-%b1^YN#l^*Qb87$9z22mIy?bJNN?QN_{{R30k7$|-000AS zNklu!rR0 zt(Sbzd$-~}6$&2JC?14F=`%K4NNwx%&2ALiW8Pf)1OtKmnA!K{&FnbNe;7^6-UHaQ z3vR=uU9bTgc0m@6EQ8uISQWNFrY(b4+(@nvrRf*Mf@J)3AqPc0`+{1KjB`_fRRjf2 zUh5ke62bYiTTs-s5EED@fzAz>XBddvC`ZIKm}S`&TIZf$)+BEFYga2(&p=759@fo& zUudhORmXYDGRboaoe$aPLCZucC3S!YtsLwbuU8|3*Hf_2MQ^Y5UQ%a#-D_ndD!@^z zdwkw4r&MrB2i=5YqT2}> z^q$syzcf1Ras=DSA-N}d#Q>vR*x~&6B1uljoAbA#^nG9cPWpX-B$-efg8?yKz+rre z;BFLCK~~Gbx5oe%yOS8ZHF5V#b1?dPw0AOz2kV=RFIWHv0Pz6ue^X!0XPcI0GlI;3 z;WlJkJoLp4Hz4a?&pPw;4vZlh%3$@B<5Oha&a9wGOYJ$tI6fG@!yN!FWm&V%v{B9? zrm`9|3^?5K&0hLlhThL4nHj`gswRRaCS)rxd!H|5#e4Jl6QO!o;0x7k)&jJqV6XFW z_7OTv1in(L8i+ucq#H1ybVdZ1SI<;nK#_yb63TjEzE}oO!Z&|eU3%UU!E;<+gz>b> z>U3W6Y=owA42VOeJxP~87SqZWzUTdj)`+J>mp?*@8y1_5$D$2Jo3hJ;I}i(T5>a36 z?}6A2!^?>LZeO_tO?O>|Ast-IKrdT*0MMX=0LMXbNDfu4;E z92CRG$W@NswgWoqbtBFu%8<0t5^r!|Q-@Jo!@r=NVAjC_#CET$Cf32&^8KN8kXZ*U zXW2H$Mr;+VtdMDpOXFoYvpB>tHfvS02r@;#_4+%ss+Md%Lvyof`PP{le*iU1?{VG) R5^(?k002ovPDHLkV1ijf&(Qz? literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0116.png.key b/files/poketool/trgra/trfgra/narc_0116.png.key new file mode 100644 index 0000000000000000000000000000000000000000..b24d47ef5d4d3aeedfda70db137b0504e537efd9 GIT binary patch literal 4 LcmdmPCl?O@1T_J3 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0117.NCLR b/files/poketool/trgra/trfgra/narc_0117.NCLR deleted file mode 100644 index 4ba1abd4e0ba27d57f731663c7dde6399b20ef4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#71s&G{bCT?923gRJ|;Z WDM%!rGmVd*ZTH89-?uJ?08N28QwED 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 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0119.NCLR b/files/poketool/trgra/trfgra/narc_0119.NCLR deleted file mode 100644 index 2ba1060783c2b48da28f84e7252940b1ad8b7550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#2i`i#ygBIsQ!@jmpmcS WXLm+dT`@j>w%vC_eciqF3=9AeuMpt? diff --git a/files/poketool/trgra/trfgra/narc_0120.NCGR b/files/poketool/trgra/trfgra/narc_0120.NCGR deleted file mode 100644 index fe8c7cfffedf62c3622953790d0b271f2939d2e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K_;tX_wo~m)Z)+L= diff --git a/files/poketool/trgra/trfgra/narc_0120.png b/files/poketool/trgra/trfgra/narc_0120.png new file mode 100644 index 0000000000000000000000000000000000000000..17b3978085444878c0bcee8c0e8714e0eeaf078f GIT binary patch literal 611 zcmV-p0-XJcP)002+~0{{R3Y;$7=0000mP)t-sdun2= zz25)TV#Sn7gJLmSN-;q(F)@3bF;Z$VIYIx`z22mIy?bJNN?QN_{{R30|1=a30005* zNklljA7zW@QP&Rbp4_de^+Cq$JhRjO2}QUw{M zz#b7&tf?juZQ#JEYd!LDV6nCYy&UC9a+@v`^xU;3wGUpyK(dt;9~cx^*bP(}U#FI{^WvoQ=aBV}3zYvQrC~zr`b20x61I5G7TukP$F$?p=CpXPt;IEaZH}w~3iUQ@T)4I8@ zzdAx4504zDRew`ohwb2<^Q_hI4al=K@15t=KrK&dBhyun8X(VtgZci5=p_u>_7q}ts?s7+i!A;#)FfcyNxRdtv2M{RC74x1R_uivG zF=Zaki!h&|0$n)#}@)tC5{20J6rq}=g002ovPDHLkV1h2R5&r-H literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0120.png.key b/files/poketool/trgra/trfgra/narc_0120.png.key new file mode 100644 index 0000000000000000000000000000000000000000..cb351a25f8534221b1c32bd488774b52d961d31e GIT binary patch literal 4 LcmcayK1%`s1_1&6 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0121.NCLR b/files/poketool/trgra/trfgra/narc_0121.NCLR deleted file mode 100644 index cb318ce6700611f1b84c864702a0627543bab428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#On>e=EWOFs7;X6mOLTx W%-7BInL>R0Y`gD<`nvz?85jT`4-u{a diff --git a/files/poketool/trgra/trfgra/narc_0122.NCGR b/files/poketool/trgra/trfgra/narc_0122.NCGR deleted file mode 100644 index d64e17c504adb82c2863150bab4f38b1b2314419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0122.png.key b/files/poketool/trgra/trfgra/narc_0122.png.key new file mode 100644 index 0000000000000000000000000000000000000000..906d4eb28be61af6bf30078cf4ccf439a688ecf0 GIT binary patch literal 4 LcmZ3nKJYUD21Wv$ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0123.NCLR b/files/poketool/trgra/trfgra/narc_0123.NCLR deleted file mode 100644 index 36779d7d867d4de8ddbac039f8efd04a171e876f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#On>kiVdSq261@JmkpDh WAgL{RLLxqXw%vC_eck`{3=9DN)DSlS diff --git a/files/poketool/trgra/trfgra/narc_0124.NCGR b/files/poketool/trgra/trfgra/narc_0124.NCGR deleted file mode 100644 index 72e6e8aa2d2d6e251695e36dfb17ce084b510a62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K-tCVfxeKC=W}RdJ diff --git a/files/poketool/trgra/trfgra/narc_0124.png b/files/poketool/trgra/trfgra/narc_0124.png new file mode 100644 index 0000000000000000000000000000000000000000..debfab773732af106def8007dad38c8ffe6507d0 GIT binary patch literal 920 zcmV;J184k+P)002+~0{{R3Y;$7=0000mP)t-sQk+`< z&2#3YQhR%YthB6qT0u%dLFQUPy+J9YN@D-jz22mIy?bJNN?Pvj{{R307&ID@0009c zNklyLRX`baCn*v{J>|UNf|->De4-Xj7lxU5qy3ZiwtCmkTxmU zsR4pO269V6G0}t|0F)dD$ZksrT18w#GB5^^DcGAL11(6DBYJOWytF3>YSG)GX-nD@ z1QSsTHb}rP1%QfD$=PJEK1ty5aJNvnp&WJDy4b!+aOCj9Xc)GXgBkL(*A&yOrn3x- zI$~Vn-OfC6S|<|HVz~tbhgeNWAyh3}Jxu`SaGwC!qA$hfCC_A_B}6td+`M9J$sSm? z5MxBgR|eV$-X#LFlI^09l44>8V5KO)A_Z#_`$AK5Ha5BjAV_uzfHpoU0EMVD#sQzl-5z z<4T*(4R^G2^+}n|O)@kn1fU*XHRDC(YB;4t8K#I!IMfB4N^O*4lGKI{tnP=zEJgj> uX5-yOGqBre4F3nowOPsdd)mLlY2rIYaF}6RX$+$P00001=a#X literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0125.NCLR b/files/poketool/trgra/trfgra/narc_0125.NCLR deleted file mode 100644 index 586fc38fb50ec6bc3c8fed779bcd1287e8c7ad96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aw)^oJpJ6;XTSL9Tz WQ4|+7F^rF&ZTHM&)R;Yi|`py?Ur57 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 A`~Uy| literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0126.png.key b/files/poketool/trgra/trfgra/narc_0126.png.key new file mode 100644 index 0000000000000000000000000000000000000000..62d4dfac2bc62609811dc39c93de3f7819d046a0 GIT binary patch literal 4 LcmY#5S-uVc1bYGx literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0127.NCLR b/files/poketool/trgra/trfgra/narc_0127.NCLR deleted file mode 100644 index 721af9f4fa6bc530a5f41f4e72de198819d5f379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#6SFcbiZiI%5iGmvYYQL W=#(QAB(JMF+b%wyfnjRe-g*E9hY%(J diff --git a/files/poketool/trgra/trfgra/narc_0128.NCGR b/files/poketool/trgra/trfgra/narc_0128.NCGR deleted file mode 100644 index 2afc728f3a9d673b28ed4a2155e849b7442c1c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KE3Fsehs$&8--Ipz diff --git a/files/poketool/trgra/trfgra/narc_0128.png b/files/poketool/trgra/trfgra/narc_0128.png new file mode 100644 index 0000000000000000000000000000000000000000..db2cd7b1e41a922be5672cca3c859ce41035bc18 GIT binary patch literal 916 zcmV;F18e+=P)002+~0{{R3Y;$7=0000mP)t-stdxst zT1u3AYOHgVi&Aq^Qex)KYNVW`gL{KgK`H;$z15_9y}iX^L0aza{{R30Wu)!O0009Y zNklpLkaZO7ir8zfCX{_p85os~*GdJQj9 z>1|BV%@5N~dIt|o+xF0L^Jw01=-N;hXyBzCm$QupW^829O*|K?>5T2z+H|n)$|Z1m zjLr^H!ePO60Cnu00uGoO*xy{|;~h#b-bxPYYRpE4xmNpnm%n|fHR=z#wQ9M$`qmF91Wo;kU4~&DWw}> zT%X|*0lW(Wm4ILGg04A8f}krB@VpZQ<{$)=;yUb)!*C)HK;pmYaz2g=1-$kBvjo~{b#x8`6< zJtIJ}Q0qw$q7$klI9)JCI`p+{hFUa4Mcv6?66#a^#xxU@A`V@!ig&MS>Z!yKFg*wkP{ zz{-hm!20}AKpsg^G4nJSl^AQx87o$}C^wCtUyzU`ASC3GX~4fgSlKAx4-E=9RNKTiFg3Iuz7n(LrD&?qo5AI`tDI&xkv`O0S_A=}pB7j`PXC-A6 zhKHf?eojd~O<=AxXna$w>;tH#`(gOSG~kRS0+I|23P3CX#G!7vs-H}+dInm08QPea W1buMi5{-|aW%oUaM|W>M0|NjK1Q4YF diff --git a/files/poketool/trgra/trfgra/narc_0130.NCGR b/files/poketool/trgra/trfgra/narc_0130.NCGR deleted file mode 100644 index d2c201ae99e6cc71f0a630233f8e90094b037f4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 diff --git a/files/poketool/trgra/trfgra/narc_0130.png b/files/poketool/trgra/trfgra/narc_0130.png new file mode 100644 index 0000000000000000000000000000000000000000..dcd5c7df7dc7a8a468b149e9557d6684a4ef6e44 GIT binary patch literal 757 zcmV002+~0{{R3Y;$7=0000mP)t-stejdo zIXVBmQpNV1q}79Bi$U(3O2vCIlu|iTQd0lbz22mIy?bJNN?QN_{{R30;K1$40007j zNklfypME(AUYq?WLV=OWMVrOKns*y7cZ% zPA;#N!=WIFaEpV4gF5M;;l{%y*Bh?ZUhVUxX>=(F=@$|F4QUAFlix4D-y^Tpw6#%P ze>rnhcd%a07-KyOPLNV?f~IkK9}LnRWR6vX8V2ww=3>tP_L-WoSjK^sifL5JWmwHQ z^X?r5-UfmOHHU^_qG~2plinLD6b91g^g)Lr!O^?-3kqD$m*;Oi1wO=qLd9^1n?n+V zFE$t-HJoR7Pn zGAQ`HruUjiuS0+I|23P3CX#HD)AW&Ug3@DFj;QL0t@ WAsHm=r5PVT+wQxezV82e1_l5fP7zB0 diff --git a/files/poketool/trgra/trfgra/narc_0132.NCGR b/files/poketool/trgra/trfgra/narc_0132.NCGR deleted file mode 100644 index ee359481554426f7b10399473d1e5971998a0f9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KfQPx{fR%?$$7t~Y diff --git a/files/poketool/trgra/trfgra/narc_0132.png b/files/poketool/trgra/trfgra/narc_0132.png new file mode 100644 index 0000000000000000000000000000000000000000..0a85e8aef4c10367f3b90b82de176b04faf5a185 GIT binary patch literal 676 zcmV;V0$crwP)002+~0{{R3Y;$7=0000mP)t-sQk+`$ z=DoCoQj}sT?!|+>K}x;7#e;*3Qc_YmIXVB;z22mIy?bI}N?QN_{{R30WvGgt0006n zNkl!I>k5%!rjQ(68{GmnKZMyQG{Cn2)iVFoo~ zVL?i%R5e4RriRTH%heK6Nri~HbJPO!JrW4{k!5c`z4yoG*Nio3(xk~>itj&#dKQrz z$0Ho*5vj|Cf;uCVXHm>4MuI$w+#sX@3Jl#Kh$1A&kCP+~iAoT7!xNQ|JQQgAs=~zM z90js(FO&4+6L%lwu?N@5bn_t!Vhq=!c&di{#t%?Cv0juk3Sci^%by=lXOYK8ATSEP zzdJo$`W~#pXAf7i%DKQDU~Q+Hy?44OjZs#70RpVywh7aoll@Q#g^Wp_ju9k zp}>vwcB|^E0Fp#o)9?PeEJBF1dVoJ%Q0Ulth9qke$|Eh&{$2tlD5 zxjAU58I(6U&vx8Ef#$2CJ-Ly^4hr;@HyFwy%jzK;gRR-~oXVlDu&;NI@g!cRZ`J2r zfz<>8wv%)@C|O^A8IND-)y_>TT+NrI-Z^_mLW8++H?o?4uD9aeczhVjf{ekd*Gz+? zDm)4_X!=!YpRsL)LW4Y{Xk;krSbYs1s&-C+kn@H}gK7djaxv!(7ec&HU<=bC-h;Hp zG$X&jGCs+$V0(IUh5!e5AiKm=xPK2qVpT%N!~F%^)}WZcdYd~C<>5hl3&Q?Vm>nPJ z8yq|Ug1WeM0~%yY0hjro2kmuD;lNulfrGz20I{nQ3;yZ;m-z`8e~e^u-4CPy0000< KMNUMnLSTZ|6E#Kv literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0132.png.key b/files/poketool/trgra/trfgra/narc_0132.png.key new file mode 100644 index 0000000000000000000000000000000000000000..843167b56f6ea2e12eb87851df33cfd7f845829e GIT binary patch literal 4 LcmWfg#`zfl10MmX literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0133.NCLR b/files/poketool/trgra/trfgra/narc_0133.NCLR deleted file mode 100644 index 5df0d372dbe1db2324286dc247858f13601ba4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94at;>ENkiOM>QtA0-s WaP!i9E)yR=+wQxej_&_@1_l83rw|kX diff --git a/files/poketool/trgra/trfgra/narc_0134.NCGR b/files/poketool/trgra/trfgra/narc_0134.NCGR deleted file mode 100644 index a201f100fbdce32892916bb7b1f8c86304fcbced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KnLbAsXS6D5Se3E> diff --git a/files/poketool/trgra/trfgra/narc_0136.png b/files/poketool/trgra/trfgra/narc_0136.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd6c1e3689bb809df65b1fc2180a8bbdb515cd5 GIT binary patch literal 598 zcmV-c0;&CpP)002+~0{{R3Y;$7=0000mP)t-sQk+`e zQd*+Vjwv&F){zuz22mIy?bJNN?QN_{{R30a16jb0005u zNklkPOoE65lNV6J zQjDbXTpXXlz*xm0U|&{?Ma ze6-dYQ^58_IBTl_T99{iH??nafx0!{@7=ZwU_me=!Nh)* zH4OX{gTFQT6z7Rr>k@gr0+^w}2^6$@?7=>LaKMB0{|EXaX24xWgTjAQ`VtI^R{#qv zSQy;@W&mp>7`i+iP8#%Yp7vnSo<0bzVd%=qgV@1-70^`JF4q#Q*>R literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0136.png.key b/files/poketool/trgra/trfgra/narc_0136.png.key new file mode 100644 index 0000000000000000000000000000000000000000..8cdc10c5f2686ac9307750d8ea423386f57381ff GIT binary patch literal 4 LcmXr{F314@1LFZj literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0137.NCLR b/files/poketool/trgra/trfgra/narc_0137.NCLR deleted file mode 100644 index 072ff248971543a5740d1bd6f7b9e530275e18b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aLy8pGVR|zC#dxqOy W*65KrCJ`S$+wQxezV82e1_l5fFcGf+ diff --git a/files/poketool/trgra/trfgra/narc_0138.NCGR b/files/poketool/trgra/trfgra/narc_0138.NCGR deleted file mode 100644 index fa8be4249e588f2700c101e2bc0da42c28b02ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 j^tfM15WI0voYN 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 KvB!cWr`2A=c!C80 diff --git a/files/poketool/trgra/trfgra/narc_0138.png b/files/poketool/trgra/trfgra/narc_0138.png new file mode 100644 index 0000000000000000000000000000000000000000..8d76dda4b42bf44022df1420b5ca1f88259d6a3a GIT binary patch literal 810 zcmV+_1J(SAP)002+~0{{R3Y;$7=0000mP)t-sQk+`$ z=Dq*DQudsC?!|+>oLarT#e;*3Qc_YmIXVB;z22mIy?bJNN?QN_{{R30DDjRD0008D zNklBl~6bEn*)zG0Bfjx$PmIHfE1QIl%ps$hah3HzSyOf?tLDLPrtnJcE z$<(3A(9TIAU*QV9#xEJvC;O5wpg*Ot7f(N)-qU-QisD~9#_V7{DYt$AJyA&(fuNc& zC~+YQsbqx=QPdx$oXD*e3eB=^o1n!$ZgRZ4lYSj@HFb)cdM`TTfs{Hd|1Z6l;z{#<@-G-_iD z+1@Ts*1FyXfl9Xa@+tzsN!#~*{EY&6*0f#MMP*<`Rudaz{DlMSYBzTD)MC6s)!WtX zY)KIazO83R-vVkIs+v5xmmfM<3Jv+*x#JlS49*=M?RO~9`atgR-4ryhxh9^-hieZ6 z*VfbZL4+hx$ch*Y;SUVd3>seY6a%WNp4m9_~C0R-x{wVXmb zg1Je2RG3D$eFD>x-{e=N)uu7MTXQ!vxB^r~jG*-}ux%OaxGpgwl2~Zn8tXb5zyJY_ zvD3g4mR|<5k6!~wv;m74GAE8`7-XeSocAlrEsJOkgG7AP9Kd*cl?w_6<4FQ3fy+|> zXy1Q1?f5UiL6#SnnN`sP`1w5T8wQJfkngqq(M3$Hm%u0I2=LW+m%x<7GBbyT;BM|a zPT>YDvRh?GSm(INsr5YMnvy_w2O|E=CV_+l%?_WFrUSSl%$gbWS0+I|23P3CX#94at;{R*a*~vPW>wQlW WaP!i9E)yR=+wQxezV82e1_l5dIuU*V diff --git a/files/poketool/trgra/trfgra/narc_0140.NCGR b/files/poketool/trgra/trfgra/narc_0140.NCGR deleted file mode 100644 index ef2a93780a6932deeec9312eac1d297d4b0a894d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KZt;D#OmDX-o_$^b diff --git a/files/poketool/trgra/trfgra/narc_0140.png b/files/poketool/trgra/trfgra/narc_0140.png new file mode 100644 index 0000000000000000000000000000000000000000..fb71ab7af0e94569957011cebfcd3445a385d9c1 GIT binary patch literal 1399 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 KIFqZO1HrFuj9aS! diff --git a/files/poketool/trgra/trfgra/narc_0142.png b/files/poketool/trgra/trfgra/narc_0142.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c23e6d5d6e20f636454a4503b53ce916a6ecdd GIT binary patch literal 904 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 Vi1t4cR8jx{002ovPDHLkV1i{0SabjY literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0144.png.key b/files/poketool/trgra/trfgra/narc_0144.png.key new file mode 100644 index 0000000000000000000000000000000000000000..e06987fa9af48229d8cce90c6bcbcd28cd816c25 GIT binary patch literal 4 LcmeyJQV;+D2227V literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0145.NCLR b/files/poketool/trgra/trfgra/narc_0145.NCLR deleted file mode 100644 index 0351ab106f44734697a232a3e95c00b3493701bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aLy8pH6>|%5`OMFif WaMRR1CJ`S$+wQxezV82e1_l5TC=nI_ diff --git a/files/poketool/trgra/trfgra/narc_0146.NCGR b/files/poketool/trgra/trfgra/narc_0146.NCGR deleted file mode 100644 index 0c6f6709c1ad6c847c5d70e87eba59110bd8951d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 diff --git a/files/poketool/trgra/trfgra/narc_0146.png b/files/poketool/trgra/trfgra/narc_0146.png new file mode 100644 index 0000000000000000000000000000000000000000..10f6e2b1d1e6210ebc1636aa75bda66bfcc3e348 GIT binary patch literal 799 zcmV+)1K|9LP)002+~0{{R3Y;$7=0000mP)t-sQk+`e zQdLc?v_u!zxVIngR%eZ-)lk$sJCI; z&I6#AvUPik0}C;D2j*Efv$lhbn960dw`?Z|1Ao{g=Cg&{IMA_k`D{Mv#LQ<1Xcz24 z3}(7LV=!eq1r6#x%ybUE7)P`Uj@&$Z>u9hOe)?k!W?nxmzG+FlR5IbKE9<5nW53^r zVOV@eS$~D&Z`Ve~AUR=pG-B3dD;!__Y7R02TgM|M-L2Mmy$ArU@MHT_anF6+K8?Pc zdrV#&D$nCCSG}ViAfP-Cs+@a#M=@qTt*PMiDuv^&0%VKZT7@`IDGZ;yl9<(2BpgD`YHVq;b}17HQe@NZiE|JaF$SkV zFil=v0BcUi0f9AZPzlkfqreNQm`z0^K-C!=%ZM4yAIm84l9^#{j?rQ$W{a#w;PxUGg#{e6<#IMdKw5aq$yWwUL|Vbi z7YPAZ_AJTGH!$fhSBFJcD&uRjbe9(%TFjAg(XzZUvh-pOt}b9T@qJTJ@YR8^%>Q~I d0(iQHwZBM5cDqYeg&zO_002ovPDHLkV1j|-Vt@bu literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0146.png.key b/files/poketool/trgra/trfgra/narc_0146.png.key new file mode 100644 index 0000000000000000000000000000000000000000..9462a5ac77866c2e96c192ba3831e10f8bd4ef48 GIT binary patch literal 4 LcmXp#weTJQ1y%xo literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0147.NCLR b/files/poketool/trgra/trfgra/narc_0147.NCLR deleted file mode 100644 index a452af25b6c1e980b9d29422297f938c2232ad00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aLy8pF&(>udf+I~+G WaMRR1CJ`S$+wQxezV82e1_l5cLlJ)f diff --git a/files/poketool/trgra/trfgra/narc_0148.NCGR b/files/poketool/trgra/trfgra/narc_0148.NCGR deleted file mode 100644 index e5a555c5a086ce7d605e7a7755c3e683b889d1ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KO13R;d~9CygPyGb diff --git a/files/poketool/trgra/trfgra/narc_0148.png b/files/poketool/trgra/trfgra/narc_0148.png new file mode 100644 index 0000000000000000000000000000000000000000..1b889c10a8c02a1064e9607b045dee4e07ebc37b GIT binary patch literal 863 zcmV-l1EBngP)002+~0{{R3Y;$7=0000mP)t-stdxs$ zoJyq4bLNyl&H6ae5GKw>+YDNG2YO39Sr*{oEu&433YIaG==Fp%&U=+-2vlw)$k z)SFmnr5-~Tr%JI@{!HdJiGu=UxZWLY|G>SieX_8pPw)BexO*n#fBdV_?H-_dhX5|7 zs614Wf(Z`|%)vDxmPZ>9f~P>NnyCv*XhOdcAc46b=Fn4RpQ3@C+?TEkC-*2GJ#~9| zEcBz9Px3PRUPKkRbc$xD6qE6*oF3Xu)x~Z+r2~pOPurFi>@gaIXEIE#-^18VOh4!99QEZ(Oq;W!|TgqQ{|+079SSnNFofiGp2j&Q)(lRth+ zDWmk3pCNb!-|Z3F)Q>1BnjFn(Ph)?SLF0PS04Ibcv^O*u85n_Q+lxa4Lu-b10 z9%wK_n>86SNV9L6itxY+ui}DEMS+xGy+Q)XT4zYddq`~xArBQ~kUA4xGRFh?l^T!7 zJ?mEQFX(7+%|GCR4;8FwLsp|5qBBIChpHn}zgXa7-BCyN62HP4l;`1Fso4q^NX_@3 p$NC=HpqM~wQT_zA|4xM#zW_CqVrjbTMg{-?002ovPDHLkV1h%7iv<7x literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0148.png.key b/files/poketool/trgra/trfgra/narc_0148.png.key new file mode 100644 index 0000000000000000000000000000000000000000..1212bfff50489816de4795d3df9dc2d9812cfe1e GIT binary patch literal 4 LcmaDeYwdCX2ZI9J literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0149.NCLR b/files/poketool/trgra/trfgra/narc_0149.NCLR deleted file mode 100644 index a7491cb038039f80c7b473385723abaf250db24e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#G!6^Y9`h(dYd)1Wxs2# Wb<{LmEgK&{+wQxezV6<71_l87T@Vxi diff --git a/files/poketool/trgra/trfgra/narc_0150.NCGR b/files/poketool/trgra/trfgra/narc_0150.NCGR deleted file mode 100644 index 09915daa652d909c30f9831bcc5947e0b3280a58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KF16002+~0{{R3Y;$7=0000mP)t-stdxsN zi@j34-sY5AoN7{}z16*YQfg|0y<&SoQeywrz22mIy?bJNN?Pvj{{R30lRl^S000C5 zNkl@M3k`{i|SyE6n2w%J|b zAOH7ecC?aVytC2J!(6@tf8N93z0w0-^6nUOt;L}3JxDGEhe~2&`o2pz_q;|-BKA~C zyzJd|2(NonFRmG}(bL?D_$4{2*S&)$*MIb2#5JF?Q7>;qk!HB$O&i`9A2p_48gMdj zdpRSPGDS7&8;w6de08Nht#5=EPS}L!jrcnoIq84Y*KBVZ9Q5lO4`Q$f5p#j1UKX5N z`}TNsRb1*cdbSBy zPnf%dq2eO9@-YNiy2=>)*)Sgd22hUSl1VkpKSb|I#XrJ%x^T3rL!x%3V z@MOd#>`G%I{5`SHhn$6=gBOZzUI?Nv2{H?&h+B6Zc?@dd%`m{%;!q%3j7iYpoE6_( zgHs;0jk&uroGZOy&NY2*ASs5y!fL~z_I85!fb$fz?m<8$5AIw(3Fk$QUG;!6BL6LF zBV&+{t28hg!8uUfGYp@{;CGzg*Wei?E*A^THmpU}2F9SAXGg=5Nx^829rYy>js0ZV zTwE|&*Um)-9gSd#U3id3TPtifmYzGWNtZ48W3A9t9d`<9!W%x7znZ|KGjJK}0RJIZ zLhy3}@2YyhWatK~7ZgNaXDY7f09!cqh^+yfwMeHNa+oaY0N*|$H*h!zfSbx5vdg5> zm0qPq7Q2s?!I@2nZFd0NmPg77QTq|8cI|cte_)5S@{`SW89KLZZw3{+OEk=ita#CG zw-1e3+ivLqVa0T9`?1Ul;Ek>-DDOL{_)t!Fm{4(6ki13gcBsr?ew3#<1S{>Z&bQkw z=%*@JB`JcSWI~F4g!&(N7=vZGg(-dpsAfXVu-qdQr}?N{C7&cZF8rx619mdTkp}Q} z2b<}GwFFg5eq+H%3|X^K1kpLr6vE8^Wy5)J)oP~SFZd=5RnRn7(}eyD(_B~G9o{UT zJ;R}OAzrA0$6sbZS+a6MEAy23TDgT`s58SC;txg87nxI|iD8Ym(@egl3K{{7vl@|{S0+I|23P3CX#G!7Qaj)`X^fqgL$@;Fj W)^WP6hhcpDY`gD<`nr4T85jU8yb>`0 diff --git a/files/poketool/trgra/trfgra/narc_0152.NCGR b/files/poketool/trgra/trfgra/narc_0152.NCGR deleted file mode 100644 index cef762d4242822371496180883b2fc89854af44a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0154.png.key b/files/poketool/trgra/trfgra/narc_0154.png.key new file mode 100644 index 0000000000000000000000000000000000000000..45338477e56a685101d9a72f866b352f2265e720 GIT binary patch literal 4 LcmWd={dfxi16Kj} literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0155.NCLR b/files/poketool/trgra/trfgra/narc_0155.NCLR deleted file mode 100644 index 7833d7531e6e1e1b8d0e5f1cf057c0d6953c14c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#Orl!%gd9>w6tZHi`>jC W4Sa7?ZyX;#+wQxezV82e1_l5eClSj4 diff --git a/files/poketool/trgra/trfgra/narc_0156.NCGR b/files/poketool/trgra/trfgra/narc_0156.NCGR deleted file mode 100644 index 7673ec7130e5e9652c07781928e4eb54892dc8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K;$4(dN&A$8;DIs# diff --git a/files/poketool/trgra/trfgra/narc_0156.png b/files/poketool/trgra/trfgra/narc_0156.png new file mode 100644 index 0000000000000000000000000000000000000000..7cb298f120ac6c4b2787a3a401bbb28fb0ec9ae0 GIT binary patch literal 990 zcmV<410np0P)002+~0{{R3Y;$7=0000mP)t-sQk+`F z)&E+(?m2_3dz`c}T7znHVoE_$gJMCnlxqLgz22mIy?bJNN?Pvr{{R30I^EW&000AN zNklgTyPRzqk04LOH1RZAiOQ(g5@_aFg-%1{Bc}xat;|Bz`cagte}Is4`~>p zf&DN$LIWw$#C~{Q3+~>KvVjHq&+9UZ5{{Sn=oc>BpMNlim13cmS3xD%f;lWuDOCze z0PqT>=7jd@f!xv{!vaGYdGkv+ASnbgY%Kyv;5eWxg;qNQ^PQ#cqy$E6P-@U1pKjLy zI&eP%`;EGX#@+lae|r{S3jAPL1HmnFw5H1f{HO zghuU6!%Zo(meqdo85)E(2*Q@5XLZB6Sp5=a%&jmi^uX> zOcc}z25574QLL%@H@#C}faENjy2DOcmZiZOf|polg0VBoN-MRN#sE`-Gm!}+(89=& z9OjO&bQ2cT*VPdW&=%*Iqr0Y~s+BPeP*{0;P#>xC0p-R*t$Zqi=+`O^n5e0>7z%&F z0)p4qsj2$*cm)9zqg<>H?|`N?3mrMmY$k@{^Q0lDR|sP{W^=}POs>FF6R%IFrlnEN zBbX17WZ7(1`bM=hyy0ASG_3P921(B5PRo6mw;mN4XGL9ddD#dg&L!%4o;NY$7WtsQ zh{^Y6o{obPo;Txp?!@=vC1Wg#Rt(O#Zd2sYz=$z>e(u`Uh15En< zYFPCv(VAfxDQd7O+WyPPV;lnn4PGfjQ|RU%L;w%Lf)K+1&1e;3l)SPHzC-f5pwPc8 zhtt?Auv`>k3l>w@%|jRJOh&kUOkp%Y$WZCTzRSIENsA5CC z;b9c8mlkCVq2}Vr-8wfG`*AOHXW M07*qoM6N<$f^am{H~;_u literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0156.png.key b/files/poketool/trgra/trfgra/narc_0156.png.key new file mode 100644 index 0000000000000000000000000000000000000000..36423d351cdc3288d3aa9d31c7a3bc5e4cda7f71 GIT binary patch literal 4 Lcmb=S0+I|23P3CX#94X~^{>m=!}6oj9M2kZ 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 literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0158.png.key b/files/poketool/trgra/trfgra/narc_0158.png.key new file mode 100644 index 0000000000000000000000000000000000000000..4ae115b36524e2293c7605d9bfcc75a0bfbc0140 GIT binary patch literal 4 Lcma#cIV}zV1Z@GW literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0159.NCLR b/files/poketool/trgra/trfgra/narc_0159.NCLR deleted file mode 100644 index c51fcf8739e2f72b5029a418378c985c49c43f7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#2>@D9FM7-P^fpWP-D~V WE_xoiK{q~rw%vC_eck`{3=9A;s1j!Y diff --git a/files/poketool/trgra/trfgra/narc_0160.NCGR b/files/poketool/trgra/trfgra/narc_0160.NCGR deleted file mode 100644 index 9cc39cce7e28b62258dc2ecf678f274f8ea66774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KiOdom5E5LUHfc}* diff --git a/files/poketool/trgra/trfgra/narc_0160.png b/files/poketool/trgra/trfgra/narc_0160.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7c390ccf3c5476d3d3a5c3adc1e17ee2d91af2 GIT binary patch literal 834 zcmV-I1HJr-P)002+~0{{R3Y;$7=0000mP)t-sVzhId zoJ!_{oUCGldvi)!T1r7VIp)ojtdxVzVmbfSz22mIy?bJNN?QN_{{R30u)NaV0008b zNklBjE6bJBI;w}{;;C_JCYL0)Y~OLC%t;bu8P2LP%o=Lx+MpoVQG> zZz=f}87}php^<{uV#iIex5!2xp}{3!>bln_hm`L6cWU2aO+Vhfr+a4|WB-FOt@SO^ zdt`Hw(Lm7j3S4lYXiCo|5x458l(L+)Gf>du?`&9#_h7@?1bL>EhllmTDz`u>n(u3l zTYA09QEgeOI!?Zr=M4^OODavE;}l@v{&Jc~hl&V#x%ZcIPBE9u6Ig~+(Mdb`v)uBN zNdpBs`Q4NB%lrgYM90}Zy{s1FB4WVmE2UI*3kTMoD>bcd72om(X7kmKmHK(IT_bQ0 z0v>!->dVRY879Lq(?c)Mrf}H!EK)L5ToHnz3~^|fLnKnas61G`gbc*3mNF=7kw!)*S8Wz{`v{Nzei3NisBsXqQDF0y znM!^1AxoyY&=S<+x$0gZJOYIfNAxgLkOa+^h=Woz#t4s@%?A(^<<=s_BOG|2A?`D! z5OWPK0Ml?0OM=t*S`|Q0a3X~Z@)&dDB{y*%Gd_!^^gB3^_58k4$WQvv5B>s(ymbiu zu4-o^9B3>+)YtNFaEM#8K{XskSWu6@WszM87{h`-9Z|@ur4V!2{Rtv>GKKl?fhS0+I|23P3CX#AmFE)nxppI-Xa}R(&C3 W;~nZWQ#L++w%vC_eck`{3=9AgKoJ!H diff --git a/files/poketool/trgra/trfgra/narc_0162.NCGR b/files/poketool/trgra/trfgra/narc_0162.NCGR deleted file mode 100644 index 1cbfce908190a684ff783808320652e51142e63c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K^@z7gqHb%qM{jxn diff --git a/files/poketool/trgra/trfgra/narc_0162.png b/files/poketool/trgra/trfgra/narc_0162.png new file mode 100644 index 0000000000000000000000000000000000000000..452f353205cfb230e1438cdba6a6622513849f9d GIT binary patch literal 750 zcmV002+~0{{R3Y;$7=0000mP)t-sdun3d zQd+&e#e;*3i&{BaK{+`oDPm%KN=jNeIYIx`z22mIy?bJNN?QN_{{R30&aAn+0007c zNklXr! zC>?AMn2E(jVxmK$d;wJPPhu&wsL4=e;F1_6c9ELHmm{V@yZ3x&pQ2pn zI#)HB$6&8g279J8#d@Y$28vsz3~taF^D?j!Wq~CqD5ucEjX7g&$pR~-O&C~B3M^GE z6sXiT>ZVz(;Z|a;(yP~>SUB)TzZdlO-yWbmMeV%{UTyRTFi`pOCnVa=_`#&t#2#C+3k zO<-WCH7AkHfuPgm$uok1U8f;Ij+#W3IF#EBe~1Oya)?^mA#ry{j4gFkSAMR$yJN=A zL7*x~ktJX!#|;3NwP&ZH!TfRD$q|yiD_LrM$``ho|Km;P-rjm@FiVBFlP?(T#qn#M zkBSe{g4D==C&vYPaTEmi`G};Q#4MSeo`fW%M~A%xaG70kM zX+^;~p9nPpot+{ARD=*y1qrTl39jjYuKWet(Nzao)FeJPK!=J1J=^nP=duKaZ420^ z$R7~*ZSzmSsRIOa5{!VL;wE5h+n^UONi0F9*@1!Q5_H>GP-Q?cUV-fY0^O++0l}PX zNZi2@Segz%SwLd=amv{{}S?gU;(^Y gT16GmTZc6H4I55vPb`j-2mk;807*qoM6N<$f{YYZ;{X5v literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0162.png.key b/files/poketool/trgra/trfgra/narc_0162.png.key new file mode 100644 index 0000000000000000000000000000000000000000..0a736b81656261e88e2ee015fdab93b15cdb816d GIT binary patch literal 4 LcmaF2T4@FV2AKj> literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0163.NCLR b/files/poketool/trgra/trfgra/narc_0163.NCLR deleted file mode 100644 index 290936377dbbaa7a2ea46966e004f9286ca65706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#On>Cb-yPGxE0EB%Ptq` WvDMUlt`HwT+wQxezV82e1_l5Hl@N#k diff --git a/files/poketool/trgra/trfgra/narc_0164.NCGR b/files/poketool/trgra/trfgra/narc_0164.NCGR deleted file mode 100644 index 6811556db03f1f6777a4e3b6403470857815477f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0002jYINmgWO}s2laQ`)a5j1G#q8a^lQJq>?TC*_+HQjfHe??akm`W*3xFvhL8e|G z8{CO)xuTehPk3DU1m5a5)l~h(Z(30!7;p&Dg%$`;#LQV86B3KN#b^zwBTklQNJM{i z1Ii^+xL`|xK8AIF!Msh)pn?JGPgtT^Hok?Ik2IwvOFI68>`?MCYxbtE60Bu?V)FYN z?noO6JubP&sw8jKMylGgv_Spg3uc_(x16CZSYmohpg4HBH=Z!}nH1fH_8Pn65HM_! zAl6k6v5W!Tfzo_?W+=I7CJyW;T?FqnT8f_&0U$p?sYcU3{(Oav-$DbcKp5T`34ZHW z^z@|Var%ctg%Eb}rM47rpKL8Xak35DE(qtz-|jAlU*!IkJ!*7wod6M`7A6{>lwA4k zHX@u0G5FJYs$RCYp49wBz1n1>N$?L*`QQA5tLuXQyB5aMud*F#|l%EQlRF+KE_VJH~h2>9m2*d;+PegZvJ-HeRO1H ze|lTPc91=B+cvQ8c*{CoE`azU?55Qp4%}#Mw4$Gj z5_n7bPu_tyXjJ^g3R-w0dvF)ga2CH$_sn=5P7>0)$Y?yNu1;-d8$`Z!-pY(qTVR@j zX@+cnG`y_M8-j@Il2{R00lu7oBIf}Y3sEEL>@ks9LTb1-|63)Tz|7NtbF8+T0)AegBVR2)P4e22lON5jQTD^ zXb=VQ5VlKiQf$mUEV9(wu?UvQ>h6VyvgEy$m}*;dzyRQ(!6uQP7bIVFI3lA9^!UPw z>n4&BuKdU7V4GRUEc&8|B~r=*Ql z&nh)D>A*8#4CYQ>q#SUqP~rs3#JFBLs2&q{c9dHMUz&AeC9ncSMG`F9?R2-*(#rn( zYN-GA{{}X;2zJf2q6)f`^`JGuX~sprs{9iTn8HmfC76VnIsT2;kaXi^ntB4mS&+U z`&9eIrCOgO-f$+-TNZXtD$JK1i4qyR%V=w^St{q z9~zKzUC?-Y-LImxmlmugfjUfsvQQ8)LG~1{c&wv+*z$=R^hkLLQ!Z!6P$ccu{Hmz4 z`aqlEVP=Zoot$4SPGX2lCT9};iP{>o`VrfV+~xUtPpNZ5D=Qo=HLft-_tFY`Y$z9L zJPw*C0|ad~5Q=RRMZ^{Dnp( z;<9k{(&$gEmTiMW4<|aoU&I#7k`0B}^_rYxh_De6>{cI-unbRKl~S(zZKy8k0geTy z?1T)peF`Cyn4pBgl*T;29sF_)6T;Lhn9aA$QCkju>2YGU4)-BTwC^m28l2%$MR!GF z#4>+dc8Huw`)-H_FJxR5q3SjBbbyv2LZ-tX^xP(Gs-mrnn0P7q<=(G1j#T=^Kw8El zK`&s0z0il{5yM8}JMEt{M)&PeZsf7ty3;dtl*(FDpIWU=#;nsQ&N{n9JGSX3dZzx7-#}08P)I z>x$G9>VN4J;Or7*seCPUIK&rJ_JPu(pwx@(zzHGc!uoteE)XN}=C-+SxNHhNqOxM! zw+Qsf0PZt~SmZmEPHHK01^|Ac7bbt7ZCsY^CnB*6dI)7KA@tFGtkibB=rmS5>kp;w z2Q9O7>qADJ;gW+pQ0Or!3eE=SD#Tm$fl7|ka^PP9)dp7o(>xkY&jQ+OI@qS!d_L9} z(zIcvDY`}j2hhpj&D_nDnJk?JmYh2Tp%Y+MSVL0W(ya?sg(?FxFTl}ZV&*(wiX1Mj zM&c67O1L~ZJ|01LoRnDwm72q2>#!gZ*H+e#;|y+H&{FmLaHvAKDWnb@uoTiwFpLKb zq8lhUaDC`N?`6>qj>20jtC(V$&;GmDwshfT(0WkAACT&C95z+&k?dK$e=V{E&jl9XtjDj8OTUcIMopT(Q+byu% zPQ_(j#p{*MU;$pjV;AUsPVyHU`bgIaX)YDV_9Sc7vZ{8oKtMU+w`O?XgPa{LL}Hdp ztT;5eW1fun-=jUanL zRYtEr%6tKh%R(QkOceTo}DcS&|)$mJEr^ z9FodAQ|MqRmCoJg{lrRNflBq$72tk|xV^&gMywyBd**QG4QPh5 z0o72fF9bfE?OG7E>c%R+ z1N<-z3Buwl?wHY;n*P$)$#k&EL7@7>(mm7L@Q(E`MC>34knO>iutWvpyTqKlZn)JI zSLy@vx_~qxn5MBG+T7%AprX5r9(V`&d*0nQv{d-Tc3Ko82XIr-92T2T!^|YNkgil_ zdBRc>t;xQxYD5>PhQ;-sE4(W%zbt~o%fTnj2ZE&Qo>eMp80bS`YiNhF7Prv~>K+3NHz6%m&xdz>usm2I7yvNh9B1T=|D zhvV3V{ThDb|1h_ax7O$nu#BADsM6nibtt51-3}iod;}^rp^BmtFd)i7fJUZ2J$$W4 zoV|GgMdu0WcnKz;U-Zu@CH2Zf^bpaPLmZrtd7DT*7_#u&y$Djt7VhDP{^Yrp1Zwwl zOaL6AZ6Q(RQ-9U{LA0Qi1+AzrDsebicsKH4W|2TW8@tCA5rR_Gs3 zMlnc%x69e}H%eU7xZwQ(D+WaWxjfiS#RBMSz}SS@5nwmaX>vlFKFD2(b|!E7IHV+wG%C?Eb-*77-hfOw1{3V9JmMhB(6|~o)E;kl!jxA9 z%bF2mv9LZ7tyV;jNerxAMpA?OcBs4QqK=BEWrWE}4hmM2fuM20noiko%^@ZCgu-bn zF_@|U1DKDox_jSc26~>u<&X$*@;1Zo_w1Lw^)l33|A?tc9Bz#VC}f!xvg+#d-GBoj zL#8Mn&D_Ino1(&t;du7>Pgab_{P3l!Idm>Q+y zVlc*$qSl`efH4@{$-l9E_ES?IngtImt(qr@2X z5=z6V;sw^H{vJDleh^vA07sGRg_i*W|}x-6tKO2 z5#Domd<@H7fl|u*d3QTBOXwHSHw0$Wj|07vB%r{-K*kuq>HO{u|HAMqbeON1F#Z77 z?{r>eA$mo_$dH$DT{imfs_Ztsurixlf{4hcN%w8}dt_J@4eHVJ0H4D!KYQ|d&s@X{ z4x-76qTK@sX(UTxMtnoT%5WsHDaqv^*HEPs(8PdkrdX2GaAg}HDr;rob+@p z+BYYl>JVLaq6&U9kmVS&^dGsCS zF8UZlx)8P>d{BDsAZx@yI9k^s7)!zNpwIb0I$6C%wE zhWK20w_ew`qtx|9`r37){_uEFXqM#9LQKM)&61xxT<8SH*dUCFdBj)s?Mf=syQJSl z#6oAPZ4qQmy8`xWM%ZH6s6H|m9<*JhmAc{slh7iu4R%8>Q7n%A+;Y&HM98~|53WT= znWP6*@hYD)yTF}~;0X3HUL2~eGU6_qV*9*pFIw3$$400H0h(W9cd%R$gI2PSuMFy4 zyiyVSe5e`exQ;ld3xr3t#0n&n$Dj|vYsL@1T>MQ9dct=rx0sH16%hHk^mN^2JbLVt zn4@JijdFFna?U5cYcgV61&9YpGHyEu&SV!AXzIB0BY>eHnWh#Wv)qAgk)qIxXL!{4 zT;8HLZB+HeM_P#^FmMn*Gx#ncs?1Rx>k`BM?pwC{GztnM&t`aa+sa*2&|t%XmWC~V zS-eHfc!D|WXIL6pj=nvYCp4WUBRV#N1W;-*!}eaUs;pgoI`T6c21o&KmRMC@|!ac-9RMNsRg3S<6+=wE&5sZYI*7EL`#J4kFYGN%-5B?682* zP}}rHmDgw177^KEkOe%&m z-oV^px#o{wNgRo-E#fuH8Mx;;wH`Egdz4fKoSKGX+OTU8ZdPfJ;tUC0_flBS9+7fj*zu+Gd5`N z5bSilCNe2oh={gHJ#LZ*A!ODS!|I>&Mu4Ens>tJcz|>%EjH2kc8B5Ihr;&YgL|gR5 z;##mHlW>pG$QE}`kIZl#CK3v};Apg|22LesvqZLaw#vj)b6^sI!GTJY4 z1hNd<$q2VXEQm`F@;|keaBAE(oJ3cl8F?MsOR3Q92_oAI4EQ>EOwmjn4C}9 zKF;-00pV1o%epWFSwNFz8H=5`tc|>{chDLzp~TYObETn zP41M3o#b?t%W8Ua`v51Q#3sO>5?rtC1R~-K&-f{Mm|mQ>T-5SK%i8LrCom6PDV7P( z3-=J6e%&#DG3Rleo9}{=irC|0tOfV_&l>sECP#b57@8S2|jlhSG3xt z=DODdJkZavPIl-oYAkF04RR%$&1GVSFs@2RLLW<20%Z_)V9$DC59WQZwn-9LBjQ8L zpSZ<2OCDl(p_Ebu(wfv`ps?unktu z?8fxJwLxVK>yk)s)R$|ST>e}qt|1Scje6n3RFKng2{zX6cI>jfoHDmtj))XVQ*J;9 z$7EC$dFpNRjDQXynx=anjNBe=f}-V%u+@9{J>F+GCh7gf7^=Ew4TP=Ho)+c5pqV#F zlM4MJdFj!|<@4kYUU^E&fbUG`8 zt^MsW1oi{3!x6!KYrWlH%eJ-w2pBiZ6Q7{paIo2`{;*3_^3et&thlNCG9}X!eKEGcz!^KEOMlYm6f<|yZ zAE`$aCqmGxAsC|>!hYyi#q=5Fn)X< zCTd}G?yL-itw~i6qdlx4op6sxstm( zXy~aaV$Qzj!o*YcSxUy!is07)Ed~z%YdjK7rvegdqF|QR)IN?Enp&-;@vCnk=+IuV zxpp5fa!PCu$a3tPP{?N5Dy8y5{s>A{-{I9^y*NVz{(9mLB1aWz zr%tM8EJSm4N6PtATwnl>LWT){CA`7SWP(-eb6D0{y1tp0b2OPHk2=zWkWi*EZ}vK` zcC6WbCh|`k5=c)8!7k0mjwEB%imI-&SU|Di4`wjm8=Ms_9AeH(#5k002+~0{{R3Y;$7=0000mP)t-soRo9! zYB{t@K~kKYIdgM4N=m)G#fyuST3TW;F+u;;z22mIy?bJNN?Pvj{{R30(aNmV000E} zNkl<&eI^==C zH{4I(`}e)?8KF1rP5a+B+qR=4rWt$2RCR)P48!P}rkTHL063D6?emc5sVRhcZn3*)7%K_r za3UcMwtX-?fmSicBEnI-(Te~ciSXbDKnRla?vrgwDQ}H(IS;2qc&TZ19L3PFuIpKT zO4m0kd2Y*zI1N*rnx^S-*dX4#=qu%o3fnS!wp6DvQ3<(4>9-R|VZQ=+tY^0=uWxPf zo>YXWO-SiON`H360CF!v7(@2-f%GhsnbIG0GlRIn#V_Y40-Sp(>7n)vDNy>|OVnBU zb2?pudCX6%4{iAn5kG(#_&lBm z(XKPb^=x&&&LV)g1b-fl@CQ~y%*S)xK7PnpX<(;+Y~a%pOlfS*$y!zqz^blmwlz4Y zP+wGXORVFfnC5(WU{z0c%ImiF5x4^{#9D#=AiUc5#*R@0(6ldE)m{FIQZbU1fkCBA zH}=4zRA2f662WKFv}YYy7N=tCvFgApTcNbFZiC14`}(JQsAgNP4V`X4h=t0|^MS!y znZg!Xr@N=RzL14jtJFn`y@xXpVTET0_0U0KgZF5GBfJ3MGo)C4MvZBlGJbDxux4!{ z)BpoRT0JQuD^kvG+B1Sko4zJhbLC9VZ0w&8wn3Z1ncE4enu75wT)kx+f`Xfm1d z!BiBmsogP_iXNEuLTkfq^0qWsXNEDaumDU65KpDkL^ecao58CA7)&poB19gf-U(k9 zY`9+9j|q|Ov*MrdA?O9xo{9o)`rw}b{euT$5*btkc+`&&b>#=~5`E@_t_Swl-(zX8 zM%^e4p*@w66US0^dJV{ zkht3&sidD}@cXtY_ccp701XI@C*JMPax0M-{9@sOOMY#LopJF^WT^b5X>tcMR-L^6 wKM!a#6BbRJORmFqFb(2;Y2;kH5ahz!KROWxEmNi8PXGV_07*qoM6N<$f;0S+eES0+I|23P3CX#KBg3Wz7_`{El0ytA0;1 W^vX6orVt-L+wQxezV6<71_l5Kco47v diff --git a/files/poketool/trgra/trfgra/narc_0166.NCGR b/files/poketool/trgra/trfgra/narc_0166.NCGR deleted file mode 100644 index b56f810b11fd6517f3e2587e12d6e2dd9c8fa9dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K>(WkpKq$L)_+D!O diff --git a/files/poketool/trgra/trfgra/narc_0166.png b/files/poketool/trgra/trfgra/narc_0166.png new file mode 100644 index 0000000000000000000000000000000000000000..c33344ae9a2319f9b7daae4cb506c9a217d7e169 GIT binary patch literal 908 zcmV;719SX|P)002+~0{{R3Y;$7=0000mP)t-soRo9_ zVmY)*K~kKYIdgM4N=m)G#fyuST3TW;F+u;;z22mIy?bJNN?Pvj{{R30!Jy)X0009Q zNkl%vCrLJ8?wSA+!odwy2XELTKVbdcDiv%5ZOB;3-3ve0qOAUl4kX$9S;8IoC%h z9ewQ@hM_H{Hdg3X|0_0BG;~4F^Yi^Aubxo}KGy{|R{Vi@wc~#@j7d!piH`64F{QLH z;Y;wTsarF`VkaNxeSg!G1)HWmh_>IrR&yYd>>PfC$ZdK5)V zB#V;K2M{kMy+~!4B){N5)xyuwA_$28DNliQ0&pbC`|voIOXD??bpiuk8OAuTkVcY_ zJcNg5C)D+@)~%3tAPHjInpM}$$#ez8L#|^vt}8)P`;y%c$Fdy9a^1=AFks^4lw~Wl znTB`;NHCL`vLt9Xfl78Vnap&{vaBY+rCr6G1ZNbu00=e`5`3k9Wmh3vC_$`15U&T$ zAYkw{!VVaCttv)HO$BBq*K?U^1PQk0GIk%dfk3C1+Kp}53qYW)Ks@g_E=Y=l@#1;c z1p!CKm iOe_Sz9)chbJpKcj`o)*ZS0+I|23P3CX#KBhcWz7_`{El0ytA0;1 W^vX6orVt-L+wQxezV6<71_l5G^bnE& diff --git a/files/poketool/trgra/trfgra/narc_0168.NCGR b/files/poketool/trgra/trfgra/narc_0168.NCGR deleted file mode 100644 index 1ca3c0a056b1b7fb95b7617d03b380731ea3ba9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 W^vX6orVt-L+wQxezV6<71_l5G^bnE& diff --git a/files/poketool/trgra/trfgra/narc_0170.NCGR b/files/poketool/trgra/trfgra/narc_0170.NCGR deleted file mode 100644 index c86dd7bac20dbd4779213124ed23f5ac09a2351f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K-|5zl4ySp0w1GMR diff --git a/files/poketool/trgra/trfgra/narc_0170.png b/files/poketool/trgra/trfgra/narc_0170.png new file mode 100644 index 0000000000000000000000000000000000000000..bcdb5ccba2e105179a518a4953e2527ff2bc027f GIT binary patch literal 831 zcmV-F1Hk-=P)002+~0{{R3Y;$7=0000mP)t-sdun3d z-sYsFz5nKe&8%~aS~*%lIXNjQ?t`q&T7&=9z22mIy?bJNN?QN_{{R30oj9v@0008Y zNklgO8+#e9oD@Eth!O6u-#YIr^>L8?pF`G-Jya*+V zQ1Xz_NvJOb!NDPq7$=9K5Opwj*CSLX6^?=-HpX!N-X#(D_ZuAgC1m{Y`@VaZ_Xr^; zImt=>o21Jds9w3`u3?I&D0TD2BRub>*U`W`j^kWpTLr8U)2ps~Ti=k6d(Uokar4&+z>q7g<;X z64JL8YmYu)c;WP0#uHWvItXB^n|RW1cwB)-*wylkMw1wUko|Vcg>6f$>!yk!$5Nt- zK}U(&ugO242;%@#^hKAL6In<5+u@9O4J+wwqk)EKs?(r{3;KI_YnXsNj5BJUeE?0& zjp#QKu>@=&gTXUo(5oRn5altvJ*{Fq*z<6~8pGT&kUp}fl|PaUezI)o_hS0+I|23P3CX#On>Ki>JiRciw4LD9bIo WTtqgk(lI`Mw%vC_eck`{3=9AlRS^vU diff --git a/files/poketool/trgra/trfgra/narc_0172.NCGR b/files/poketool/trgra/trfgra/narc_0172.NCGR deleted file mode 100644 index 48f1f012507c08471fd2fde2f4eb89d2c886366b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 Rwfg`7002ovPDHLkV1gd*pfvyh literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0172.png.key b/files/poketool/trgra/trfgra/narc_0172.png.key new file mode 100644 index 0000000000000000000000000000000000000000..fa3f3815c50f1b4fc5f459a4ca22a7d102788834 GIT binary patch literal 4 LcmZqw>NFn!1|kAp literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0173.NCLR b/files/poketool/trgra/trfgra/narc_0173.NCLR deleted file mode 100644 index c10d7bd8e5a5bba552fe07d6879490709d5a4e9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aLy8pGpstb}vhw%vC_eck`{3=9A+suG+4 diff --git a/files/poketool/trgra/trfgra/narc_0174.NCGR b/files/poketool/trgra/trfgra/narc_0174.NCGR deleted file mode 100644 index 4bc62dd11ec6b5931cb5e4f85ceb20ae4d2098ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0001Podgg2K|hsEJqOC!2)^3m58 zVoyfQqa8&OMY|_xx2ZKwuxE-yiFNhLpHtdkwSf?ZPk+O_7tK2tv>*KPmPg6J*y%Z2pOAxg;%!pF6HC;fkP({VDb01Zf_xMcRi!B$J>wyk;(Dy zNQa^1UBG%e+CYp$exc|l^q-bo!|muI)(aE({dqiIP`6;zhD9&hUZd;q`B6=lJ{Vj;e!uOATHGHqs}*^Bgeb@}1m8#gLchQ)kZaw8pZ0nx%18Bcl4!X1DT zjJqmm=BdC=hc|9_n=$11^{jGW1c5t-Mt?TEcFoO#!s~QcJ6V&yHkV{Ht|izypM!Bw zYcVMHH?K#mPJK`Ed>hk9bO~B6D#t%0IMtJ?JG1#fHsOe7?V6ace;zhbNJ~XHk+~F} zVfXG7W`zS9+~XB6WszOhW)EhJYTfSAeS6C&l4-*Z-6wJcI5j7VfD^_b_(7&dq(5_f zu8j;r#H(c(cNu1WoDz+&nAXj{d`t=u@9|=`rEk=17Cm0Fj@uImK*{{>pNI71$CZj| z)pOziN}-b`YoCc+qV3}%-3!+E?0JV?=eP6Jg+ixI@3$- z>=9E|!jJz9dR>fCA^Xgzsp*K0NT*wb*R_-iG?N#gpTRrEA37>Ym{|^& z(j*6%u9?gJC)ZMRZDkC4{KNZ@wsDv?LGP{XWxYExa$8l1mq`L{O9vigrxiHr$n$f6 zF(GNDCLaUb5p7|j;ET6-Wce)KvSLH;0IE;k%q)O#5Yep`&`+$);T^jY)4MHb6{$;3 zUS}{w2X(8;ZBrm%Q-NlNJ%6dZ)y+tPN$a;*s##vXO_z5xEhY0hMuSvP`Z1ICZvRjQ zR+3S6wi{MRBMD_Lfya_0_toyIBC{Mo1>rMhWZ$2hDJ=kE!b=D^fVp3u`1gSnWrdy^ z1LJrwbdgBb9S@m|iQOsE#Cy&t!D&towAb&h%#K;o5))}4M?uj>n?L4!4ULCFORK0D z<{2@5vsc{oEae&c&qM7He(}w=+;4|$wLKZKRoj*b@5u-5_J>F0hLz=NymJKr8KFKV z;-A^(I#yM8>kFCq+j-Jnez%6yghgfAtfR5;7f~aYtIx$uah=$b_B*fWtSOPsN#~iw zCiR#~q0{l;dI5X}Isaljg-r$mjceK1VcA1ISr;w{*AaY0nFGeqL9s}7iZ4_wz5Qo$ zr<)hZ`ibhUtVcYgR#hA-mNPEEY+;G!pI@0A8Lj=|MayZpcR7U~M0d-S1?d5^+J%$ArJXZz2n*y$6FAEz#a7PW5*o0Gbr?!jip7QY|-JPpOd4l7ES9hsK? zKG$V*>}4lMoA5Bq6cxC-Rj1#Tl1EH03j5nogenx z@NHb8=ZkuHQ~7t^NjFebgvGL2z$4>uAJLc=hfm+k03G%c8oMxPM5)$JHD?1vMsm6oKCF9#LgOM}V z)DO&zsNH1J3wzNh@M+l&izgTawl&>~P7@3umO=bRl0R8|Y>fg!(yQwjRT=z#%2)67 ztK~HMc0a(6Q8o=+qEoB9NQTPp2-sKO^2G~MU_BmqjM+#=%MK*S)XrQVC~r= z>kC}?%6T1L6}K7GgGB(^)1wsdCQ%NSV$b+Ykew5fJv*}K+bJB*AZX+a=Y9LN2h)_` z$pNPZF#pv&!q8zKm)1J(6O_2!7m3aT>T<)Zkw9OsfqQj z14oaf6;*dCeKS$OJ7F~D7SQuFdO84=w972GW;xIv+jm}+;{^wry_-dJ5y$0@qxUC zD}Rr?lg&PYSL;1kh*|W$dzYOwDj7%^$~+^=A)D}8|S(HmSyfeCvq-@n$Z zojWU153^!Gqv45WQs0G~=PmYP&`XXuUb*$2CikZlV};ZjQR6-^l93+Pix2;d$K9XO zQhU@WA8BL`Vkhea^)LYDZ0;6~EHBtGN8P6+Bubobkggdq93Mr?~_vb&vr1efpZ__v67y;4-C;v!1 zLrwewn`>X#KiSznhZm=`YNfWi=L3w;U$Gu`2%yEaf{G&g&6^#_Scw3xT1Vof)K$_d zWHWTY3Sr;ojbDEp*RAv7Q_JtTRXH0Ta(D5R;sv6bSbMe@x!E$V{zFw z=I_SrLcMG<$6MZrq)8)gPzM)eLao*`l+4@pleS`pbG5HPNcQJ<)C!^-o32J{@clsJk|3qN(go<7cTv#C1H%qEiWAK!N9mB7XwB^3Az| z-s^x^_gTMAZEs(#MB7BQvyA;vr!my_6R#7j%6&WXm>b_nFbRe(hR2H}G}ZsA*RzE{ za^W;)$=`UK#x3z;*Go}2O}Rjxz4tm4Vuf!Sc;lfkp^*t$$^hLJ2qW535p>rmPHFEB zIVZjZG&Pfo91~I?G(l2EfImNcDvkI;;Hz;MGZ~V8_*WJ5spV?=#6y-4EAbAtfp4H} zl08bYs@oq3{K+U`1Bb7DEo=6giHvRlhM_+uN1s((9_`N}`3vIssClzqL$^QFfkigj zA*0&xL{a3H(9d2>&Yg*p%R9K}IVm#E&gT-u7~)SjstJd?y-q>FE4E@n*Eq^{F|W22Z;-=u}3welT|G$OEZ_i*I4v z`J-WoQ%Npvrw3|eqZOp;Wb^-kZ6Ot=0w2%ZjcrY${ENeQAo*C{4mSx@fyIMbH6sjg zOwm~utWS8%T^*+q@4GqZE_MI5x(Jf0?fRd^h9sk4kAV_~8Gm)WQOz`hW$VLOW?729 zsh7hvDJ5Sz;)CE&HZec;O0UMOX?^zcUmIdb-wBZ}-N)V}^VM3azO$%UP)<^5K(K{! z%cW#(p*$NnJh_XWRQJskVTB4BpW_5Du#xoE`444`1>F_W;CtFAeQA0Q5GRoYb2V;? zgA?^2gF$^pcR#XxiH&nYXRAc{v!AAZ|1r)Q)@=<16f|}ay776oxNlQzF+BycaoeH@ ztI0F&Qiqe|f|XHfSaXp8RiWx8zMn{3{q4#k01Kt~mwEnP+PBiwfJM>TNTbH#GS)Pf zcd7O&Viink;*)VTXeqtUrRU|uBJ~7HJ=1;QwgD&x75^?g0ZsA(scYrf9ocU_wHM8_ zXr=7BH3L%6eX;a*W-lNtIsH>|!<+uEz%(7M_#ytn+T8%s!iWKSrC~MZdtYT7m96RG zVas*6GdZyypm!IP;04&4GGn%|HxcSqRgeA*6!HvHoH7%0I32_k!MdtLUr=Wa8plU-hn-a5P#^ru+6W6?CS-S(3V1=a`#^Yx&zmeb8un(AwB;8QbCwtu}tZ4=Qfk6U`#hrtN>ceN6C_$)3 zZa*b_=#B0|?yL705g90cCRaQ3r{$pf5<^@NN%7>i?{5Zd&^^GiINK!%TFE}{sfXs| zL6xj(KXbGIB%zhoQ~6!ft7SeS2McHiiFrw0akpjEe?@HCZ=;~_Vo|!5KF`EV44way zSv$VymnlfjeCN2tVfEiiq|+ea1p!kA4F91#U`=fTFl#8-jM+NQs&N(`O)vPm+ygbx z46$E!oiEcY*!>Q2ikqg$Wr-oKUq{=d5mn@?TgSbgks#Xv;XbB02mX zH+QO(-vx7;Sz{TnMiJGfYU#(Op6B6G%lqD_!|BS7Qm0LXQMI-To|EaIdBHu#>Azn5 z7Y!`Ju`8LFNSTfPvDd_OXJxK>=EF^p5OEqdi|^m;AHAJ299w6Iu}MS$Ghyb=i|$(L zGV?`%3n6Q!@E^6@OKn4<3X4g2{`v0SJU1^?f5o|4gCo*#YSAwi8c*KLn;jhzeY-zs zFR6`AXlEisfpyKw*HiLfErDqHVHxBWwJ|D!bL&Z1L|Gud*O%!uCnc3SFoUL0R52Cy zxUVd%r+sYl?Hg!FJqf2Si^qf{an%s2jI-`Q-{Cc8F5gj{V=dxh>`R(B8o43y^niMt z=ZZiY?c>TY&XLO2XAjGaL*0wgZhPP;+i8#vz9%;X@iiohQ4>2LAwkndWj~mFM~!Jh zb*nlUfEn|CJy%ZjCgr>OxkEn?*zr%+94LE zXCJ8CDs4WZ5sM6X?fE(0(>KCYe#KN;sv|XUdC?jcUdNt9(h^t_#JfUhUa1&PKWFts zz;&p~K2w!oe1VgO{(sKAZq22F`s<8XvsvrD?w9;DrX{dC*Mo^r<1v8t@2}siMtvvp zv>WS4>Z8TW=1UWMBl6yq&0 z-I2A{9uNMEV%^5lwR__z3TYb-l_v@WFg5>*xD(zWa6$e?thfAmz%-1&swYByC>eZ}uu(Ic2}h|vWWh)+b!*&UM-3%f;Vjj5wf7H7yr|8;}PrBgUy z%YnXz^?yOU&CMW!f$Ps$B3ZV+1($HM!^^@teuHdKaxv@nCa;pL<$dDvdmC;@n+d%x zImap_@72btTC+4jec_8{9N#ybAuZTq`b!`<__?>9u=g1hU4?cUJL8Zr?2(|>)eph@ zX)_7Z{CnmoIccU2Y$x3WZ#CMA9}|HfzdS>WTjZT(F5Mlxv`*jLNDwrwf#SG-XHb{C8vPTkFc2&SOHba}kzSF^|d&kzJos zp!?^jQ0Z%q*QdsW4z))L)05JmX2HJ3&cC<(G!31?Mk`{Nm6`7T_SgM%VMMFz@(dbW=bwaa-_+zDZ?nS_cVaUKMNV=kuYp zEX|vO2(zNEQ4zEu0!Y$h4GNK z%Wu+bOg*f!RNFBK7RhSv1&1=^J(U=0+jBqwV4*=K5uXQKSnaVQBMWr+LV0yw&9|}C zdqvpV3!^OXo>69&8qbhSU~`R~bvw%FQz>-L*yjYqUG+;!K+~+?K>_~;=>Kgz+)Y^m zOlvgQNZDpSC>JcWvLrkk?JA&E_{yGJJ^~9lXv!%+Xdg6^<$;5f)RmM=#TvjuwB|x=lklYf9dv) zuBVxVO|>ElI+JyvwZZAe#lI?iedBh`%`2st1ev-14c8EKV`Un8g2UO6OmW6GXYZ@* zo4tuLI9qdwZAox$u?Jja9Tmpv&hycLMgy7?O3m^XV=1G3s$ zA0u9HrqSCL_D`zJ7aa)_nY&A9>#4a;#Aj|qeRVm?b5nj`X@L}m<9{c-i_I2-kLy)f z09j1FGnX|qBP9Vk%!4vekTJpbl&|=#(}Gy?2^(}s`3ci5=f}__ZPk3LD6@J%8{y$* z3f~=^-!0B!2ur3o*11id-uFKgTZOC|iQ`r<3Xyi!Ll2jXzukAzihJxRmub8X8YhDU z?KO~!?Gwi!T|s|FK|f@C!;Mu!k*h`+JQ*K;nOBpf?( K8{4!9#mRNs`-(3B diff --git a/files/poketool/trgra/trfgra/narc_0174.png b/files/poketool/trgra/trfgra/narc_0174.png new file mode 100644 index 0000000000000000000000000000000000000000..a08cd4fac345fc1c92ca0563c0523a0a41e0be83 GIT binary patch literal 762 zcmV002+~0{{R3Y;$7=0000mP)t-sQk+`e zQd4e-6bJCv9HcoO*H~Jo-&m)(4FnV-cmqKTySb|_T{fvs1GyWcWbEQK z)?x2Niv%PaxmGZel%gEzqBe8eXKN)WDuIk=Xhz~Ek350)LsqeeY=6a>LCh%2_x zgW(D)Ko72X69}${4;sEI0tdF9cu?R#F-g{^yQ?^`635B>c=ajDBlci&yo&?r@gPY) z;xZvbYGf?04k`FlC$d4sqiOpO8 z<}so>EV!@!JWq}By&<(x`Kmmx&Az2Mc%@XDl?VB5tu-Q+Z8Py58vu@KceZkHQ(C1o z?+wQ#!SQDE#|IBKrOLr18C;YUFJ~tgG?lV58!BBrJ-aNKbagO(M+F$ihq`(;{8TbP z8gp8J8*v<`^!?#kU)zUWEMXi}Ei>tXF3J1yd<=pQz9XCjbBd07*qoM6N<$f|YGpS0+I|23P3CX#94aLy8pFo({_a#xqeR) WaMRR1CJ`S$+wQxezV82e1_l5Vc@ZxF diff --git a/files/poketool/trgra/trfgra/narc_0176.NCGR b/files/poketool/trgra/trfgra/narc_0176.NCGR deleted file mode 100644 index 4485236f86f56fc46a12de50ffc861709550e408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KWT$6@leNHyoRQ!F diff --git a/files/poketool/trgra/trfgra/narc_0176.png b/files/poketool/trgra/trfgra/narc_0176.png new file mode 100644 index 0000000000000000000000000000000000000000..51e2ac444869d4c655bdb20c86ba8ac2264147a2 GIT binary patch literal 802 zcmV+-1Ks?IP)002+~0{{R3Y;$7=0000mP)t-sQk+`e zQdR-UzInBh#Wq=7O@qpMeSnYzxOBU$Xvycb_D1Ly* z-Vk+x1uM$Xsj65Rnt`oV7b_FkRL${xfySwXgyc_PWr(Hdr}z1t@17#WKe`^kq?)5@ zO&I7GRIQBz+ijmcIDq+7(9CQ(Sg-!+d5P#$c|tAn@p`5GM;k{oZ` zt`2$yIGq+>Zzf;D>Y#W%+8<3_)Qew3oNrFNdQgZwQ^~l zXP!Yoxu=JA&R%T#%TlX?rl)(xW+v{>Eh2FqM`oZ6*N4y?XkzyPc_Jrk8H|P?Pgwfa z*|Zk&_}sOiptBhg!75w?LFXvUiBKgnxI>}DmAFU?kRK%uJl&yfAz_&pX?jk26l?_s-dAYQH-jPK^_@+dO!^hEHRZC6v$2P4T}lPfKC(!i~h=pKyBtG zJ1Il0n}P1SteJ^0nHhB5kOZ0!2YMM*8cb%72n=2=m&`zhrPYGY$wYvM$Y8Ym#+d=2 zTrc`nQIkR1*5f)0PuMl?5^%S8l=_!SGvK2YZ(k4r|IsWe*9Np5Nww-8XoE@fue7- gwR?N*{y$wm0X3tw&^Og_761SM07*qoM6N<$f`!#-jQ{`u literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0176.png.key b/files/poketool/trgra/trfgra/narc_0176.png.key new file mode 100644 index 0000000000000000000000000000000000000000..0417652178b0040bb75c964d132a79cf9beb5f6c GIT binary patch literal 4 LcmXrzUy}p?0>1%M literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0177.NCLR b/files/poketool/trgra/trfgra/narc_0177.NCLR deleted file mode 100644 index 3c38c03d163b65b2d968e76dea5d2c98c8aadefb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#94aLy8pHOvR3-CSbk4> W@91TCOd>vhw%vC_eck`{3=9At{1NZ~ diff --git a/files/poketool/trgra/trfgra/narc_0178.NCGR b/files/poketool/trgra/trfgra/narc_0178.NCGR deleted file mode 100644 index d7e2ec1ff02c137613abd728331def12d9057480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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≧qmj(dq=wG@1Xu^NKo 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 WaMRR1CJ`S$+wQxezV82e1_l5cLlJ)f diff --git a/files/poketool/trgra/trfgra/narc_0180.NCGR b/files/poketool/trgra/trfgra/narc_0180.NCGR deleted file mode 100644 index 99e64739a2b88fe8965ad9b5096b1d396d22fe24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 K0~;1d;|V2FGN6k9 diff --git a/files/poketool/trgra/trfgra/narc_0180.png b/files/poketool/trgra/trfgra/narc_0180.png new file mode 100644 index 0000000000000000000000000000000000000000..2cfeb08860d5c1dc6674dbcf8ca768999430bb6b GIT binary patch literal 779 zcmV+m1N8ifP)002+~0{{R3Y;$7=0000mP)t-sdum$6 z#l?ezgNt)PT1q)NDJe>gH9OUL%L2NL=7P>&;F7}A^@C)vt~enEBd}~yy`j-^lQTRVW1;? zu@TS*s%EDuYDxw6ix|y8dcuhjEx~2oUVxiQspqzR^DEdS@s4#P&P!&SqS;cab;#Pb z%tznYUGJLc0X16<`X`8)4#xNPus2K|NEO}#RT}B}8s?Qrw z2Y~k^pI+27ja9WZIm3)ECk#YQr~6-m`8$y6|bH3Ca?tyoBNP|y+zQ!#WMvp!0g4Zfb1(^8%DTO0ryv95J`W9J-kWsks90LVgf@ES=eGYnmGwhoLQ5l*OU18MeO4KuX*rxaGT`Xas$;yFKLPF+9pn^(Qu_b^002ov JPDHLkV1jN8VkrOs literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0180.png.key b/files/poketool/trgra/trfgra/narc_0180.png.key new file mode 100644 index 0000000000000000000000000000000000000000..58ba34a75598747c59d0ea0fcdb25e88003271d1 GIT binary patch literal 4 LcmeB_PU;2#1IPiA literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0181.NCLR b/files/poketool/trgra/trfgra/narc_0181.NCLR deleted file mode 100644 index 15382bf5ce1c1241a27f981911bdb21b4f6a0a31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#Ork>k_DVDDr(Cv7g=fd WLRVGxmTi3eY`gD<`nvz?85jTs5)jP* diff --git a/files/poketool/trgra/trfgra/narc_0182.NCGR b/files/poketool/trgra/trfgra/narc_0182.NCGR deleted file mode 100644 index a0e24358fb9773d6f66370b50594546d02184740..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmV-08PDcYM?+5k{r~|m82|tf0096}K}bU&82|tZ02BZN00000000010000082|tn z0001|M1;h(6$%-XaG<=wtj4szb^Iy~tHR7HK$t6;9R3{F`*a#*O?sij6p)i~$u^en zHtce}TrziCPKeY=6K((phh!8LIqEI*On}ZITBbW6Ox)gWLZYRMaCl+){oW@x=2Wu9 z*jm0L8E|dUUKXWKwajiEToPEjrfAZs+)k5c8ASATEXq<-d0=pX*M`!6a=aqVse+E{ z@K`5Vuf9T;AT-(~G&<{pZBW-S#P-9lgRJ^}EAmJiPe@=1b}lx@`y^!5@2ZEh^+2NG zBxZTv=$!T~;bMnN!8m=nFrIDqsuYriUm7Um5irq_`PT9eqKp>Z%F;=DM<{-2-wx>~ zE(ByXgNn=(!XRWpLPjt@uY6jK=t7XI;TU5Xf_|u1h4k6wTKaTD1`u2E{OD?HLoX9Ch|64>6^ zls--uDzq7;!MZ*J-_Rbhd3N6~-7L!eh;po(5Xd))`>tU}rKH1E9V+`X2fztodgioW z;vD9!-r@?&BDi!pRvx)`^pp_=Etfal7lZ?~ z@CtyF6QB#h*T$>A==_NdCc;xIgP59`=l(O-4s@AiXnIJ)_mCoSG&are>Fg1`7cxFu z(TIad9&T3$+GNuelNZ!6Tc~r5*b6Vvid~kfx zNfumB=**2BmlB`5sb~SIXHIHo>_jtl2gpfi8{5P9!7MN~&(N7(j91&t~x7+nm)c z++vPPgg9)ud!AIHI24hE`WjE;bTHtNXW1=5gvN+_*qY7W3B0R*EpUWzjl zWgxRbZAK?QB7C`xV?r0JBpA{eO@6;unDkiXb^04a=@9DiY33~}mpNfQ^|B$`5(wML zBklr+1LU%mL23wd0RV-e+9qzFxLhsmx+1U(75K+_?p}(wLe#KD!P@wvt?+|Uzm_-8 z0Zbj8w35O*E9jUht&0Jp5r7Bv^h)j1?cnAC7zV}vo;)#4;sRM~RoG40Up{3QJ+zpm z+`8oh!qBa;kSuBaLvnMQlgQ?Y2CleA_@shWcq-yED!|xbC9@tIkywGK+2Rq) z<+x)xp&n3ohm;Tn$eQ9~Ca`A_+ExXRZVW|Tqf#{cOQ^)@FODmx>V!hI%L?a{wxC+U z0>+}hTm0w^p~BiL#+V72(#i>wWiVU;gL?17+K{nvpEd;Vob0f@(lP~GRERQ3DQ>O@ zEo71v@9O*Wl7MU>u%;;=GTfYPIHI$Q_IN+}lipP~3{sXXzhDl5Er!58v$t!# z#-5w^&=in`l^S;A*D&vq&(>fM2#i$SK+@NHO(@)H^$wRO)CA%+If|MS2p|F>+yW|m z(MVj$*g~GGXBa^l7=G4QtMu39kov+y%n*6;)V7~*c5DDWu(Igel?aN-F78=}R^)M& zoNDiLBmh*Qg(l^nt6U82wIa6**!Z>?eH#*l=8*dVS=t|?5b%;ws+R80G)z35?~(~S zF6hT8IL<8RD8!NV&q`F&kl-}|Lk7J65j>DhT>{{1nAp78Dn5J{P_!4N_qvP&rO-U* z3Nm>d2YJ1@nsPdu7RZ%}5v~tMOQb>lTL z8k7$OW10zLiLiDN#a6tJp$ueQ-coz}PN?&*{>n!4=s!B)!U|54S)i%GEykI@&iqFW z9KvBM37B}9eg0wBG<26`o_dzUy^uh03N}0MPwY>O6ubC zwSYT84&wEonP)IDJfgabxp*%5-rnptpH#2Ksai85LU5YV9~R0_PRz?44H7N8uV`PX zeNGr>l0>m}y~>AEVqjf?ScbQM%e+6$8iFJ1xma{r(Df~N_5Rq|g*xDa7EpvS1@>sK zoUGS2m6oN?XG~k2Dw0q;G3fRw!_EWe z`^3=os!F@lGvI^)ZuTEVE`}sc*aBy3+t@4F^*)mqW3-l~61p=3h|tTix^{#w_AICU zxpD!UnaD(m9Ij?Zo}>U(E-J7yaKLt9d*&HmyBve9&*C4;Yq&uP9UH`?nVqhdwkZ7)IzMQ?HC^!u6`?Z zlgHZS#`+LLk`R~is9LV#D zCqYv=1>mq%i7J;flfXq`CgzY|t{h^m%Hk%=F1Ro`f*uujK$HyynVMH)Pq35`n^r21 z2MnTJR8k51RH#wu(2lUDV}$>;TnZeMpP)y7DkyE-m|+)$!1+ZjkUb?b3`(()@C-bl*{tuE=u znj|09wyFxVq(H6VduGhvr<_qO$YQEXkT@v0r=DQ6vaq8OX}IX{O?!!3kD^WL zs&$R&TaJgPHiSO4HwuH3LZFtxuEu`9C;Vg$jl%XT(wN1W-u|Z7ZFCf6?|O^FW{~Z1 zOE%!|XzVP#zA_YjDTW;1=&s=gcS_z7hhvxM=LD9!{NS3q)>pPRhJfOJGWIH+YlpQ_I`C z?NnntIaR?~alXu#k~GvM);iULzfdtTM)nP_wXC##jq>svVMuxjxGq4)?IhmS5vuXC z$3T4HCT2t5nw&5#!(y>ZQ#cn%92WRzYhwf)b}p$LzCA0Ed)7P;)Qr&GEYkCPStyuk zArA8=AOzkurHVEalpsDqL`M2QVSJR0%0jxUa~S;@M1C??_w>`{{Q6!)SP-=V2|k1W zHS6@H>xS20S_nqTTJE)nqU3Fr2x^OSumF&uF($#EcU*|=p(4`@9UNdo+9 zq}X`bRzBDloU{|AW4b5T*__BFIsRJ+5m4+W|RvB&zhxU6|k}qaaNd*Z4BUD%2Jp6TBxt-=8j&c z350#M5(?^*<)G!k*~WFhn*75J2*Q0U6__-cslGMubB!Bd3VJfbNsxSTwl){<8|=%y zc{1o*r|`76L?qHdL1csA;m%O{p27*89#aJ*| zJigOf23(Pp~e zjhqiHzGApb7B~jEJ)VyDuM~@goEkaf#xOdOX4dl$2aNCCXVN-*TqwtBtPaX2^8_6= zfQp?HHz18cZ$<$OFZ*=WMM6QVwis*~4}M8k3iMLt7y1Q5I}k+i>$b9Q^=unGSF+37 zBnb7%W$p}z_2ev-V`_49(*R$g+$K1mYFuaSoFdu_r}$xcuwI?`%dFDOX4>MT|M1;W zL6(8fGfdZ=7Lsf`J?OG2@6KQ6N5sta7D`vszu>?D8U~O5P&{i*!~%nB=h)}jAwKUH zue6e-e!9;C6wn8;W_IaNwX0NgpmH6XrN{t@NUp+1>ZJTtnkq~){J^qdC+78EhaCT{ zyW%^`cewpIV;q>epIT(uv+#bF>vM4wiaDa zP0VH;G!l@zzGzCRG)_xru|({31j>q2kznY7FNTVL3cMQ4fr7^C2w0z42fq65&qJlM zR5~Mrg-}m19QJ#!8?5qu1M+|yXGquy&Mxl9lO$Z#$Ev@x4L};^=q;!n6^knYwlZ z_t2KH(RPN0j)>4^JDc5V*`a%9UD zZ0bz&hkz9!U8ZUu*W9&j6{6&eOL)lnpx$;j5mc$gOIjTxlyLOXp%xTRfXsy*ZxYwL z!DxA@zfN-K{4-o4-^%e*G+;M@T84pteY|PUwP*)B!L<|G@{BC4jdFhJ?yCuaCi3+uXiv|`3foH*pU)1JKd z)f9<^(i(^3j4)V{Jl0_kZHz75-O|W=VkjkP!VY*RnFO0PHi~N#eIP4A#YW#hx_q&X zJ3>#ZJQzwDrGDbrxPvFMP5M(q0T5#G!L}f8TWnc9&9YhBDhN}_d+xf2o8+pM8EQat z836sEGA1UUP+TSLk|O8}E%-lqMqWa<+SI5;nc6U;#qj%47nXWf5j0|yjFS30L+B7G z1jx*a0Y$-xw>}*g)wGbMw7MMw+R!DjJa*16 zC@f+98*;0gtH@r7UaslB7%UB1P%0WTLcmaAedgm|Z5+L=vEoU~{kYpX`5p*&ACw3M zpqd(EKCs^rGFH8h1`Iu2ds1xsW2ijohmPZ?f`mG?qY59B&Y;r4T9(5`dvs_5dBPGa z-k5=z3jPAuxpWX^TY4wM@{lQU_cpxmH0-Fosxm!WY>28!fo^68#bk;V$Lcfls(|Dn z2&Um5%G{J~5Tfgg4tTfu>yDMqEZiW<=2}D}_izKzj26pJv&^I&suCW%#Av9gN>2G_ zS43)cy2@Bn*IO`6x<<&07~5sK0iARu}{@J7}@EqoA-wnEmce;BzL zaDI+gL-fz(X!`m?3ADDVnV0+y!F%uF<$$C5!iM(95&kj~`iz{H95 zr%H^|sNk&un+A0MsXT~HH3ArGu-G)&a(b=ea6Ff#&$`3|z0kC=r*;J|+bjV6)^c*2 zF31guX|BgduyStm071z_`jeL>`}avXln}JDNdbp|I`| z9T|Xsp@gJewo^0BL@`79I(OB$RXudy}@ib2*T{;+pE>Qe2UG^ZaG_22kH1gFO@JQte z?=JJlj3k-W*s651c0h;WeP)*5S)7Y4s$$ejA~?diX>R5B3z3e62pZMnQZROr64uWT z(~N7~Q_@y@Xefhe*bXKqKLi;y?20)P!yw5)8%E7PpnPwQF+yFd!WbwSJAS2CR`gEg zgZiOE#}I(=m$r^?jyS?SL$c@FFbJ{9k?v@RLF6cv&uR{HUjUn-h$a-DHeBQFh$8k2 zv-ll(++J|E0Mw>M&)R;Yi|`py?Ur57|4dVz0+NV3N$74V8_v7u%z%vWf=ct#OW^zg z#s+Ku96aYuumYcJ^Vp-=O+HH(`?QXw>bh$KpwL6H5_UWp#Ct|FFQ&hlzMf; zxR6J2%{D6Un(XGiATrBaa)<~?mu?gXYh(x&ed+=8@PL9LUZ&3KDXViq}189W{0AQG&*%4i0uU{0rJ{Y2<>aLOiA9bhDZ+lFR; z*1VR@ZGz(K6j)nXGrm@r1T@Yicsjp>5m1XU$o5yS=d5mh@A8}*b4Zj4`YuYx-y~So zGpbv&nLt+IC}s`cOq^;hrDEGl002+~0{{R3Y;$7=0000mP)t-sdun3t zT0yj&&3kjCT2g~KIa(Rg4vj3B|~!2%B@iLZ1PteLlcX_uTpZ$V6AU$|Xq0e}wfs z|m# zVXLy)E{LCHE(+}W#{YAa?H(*ZAYI>0>%(`|N0diuFU``l-iLwIq&7#e#&(E@({%bC z=MkNyAF??TRAo42x07YFNnr(}L(!Oy*~#}IH~ z!NC@(*_YAm;+}21SYi&IZ@rkkLNr#nw4fyHWDTORieH`20K;A{1WHk!6%h~!9+sd0fNaygn{q5P74YWjKJVJdV~+7 zNsI*5YSPDoCh12K!91d3O+_+-f>g!-HK-P(){#5UrojF{B>IK?-Pfk@91Rs!fgYlQ cJzpXD2X2r9%&y}8WB>pF07*qoM6N<$g2sa^{r~^~ literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0182.png.key b/files/poketool/trgra/trfgra/narc_0182.png.key new file mode 100644 index 0000000000000000000000000000000000000000..e73ff6b56645a818bac18059f4da961274e34a39 GIT binary patch literal 4 LcmeCHHG2#I1p)#k literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0183.NCLR b/files/poketool/trgra/trfgra/narc_0183.NCLR deleted file mode 100644 index 051286e36dd241faa3ad272df9cb9e0cf99ec005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#On=f70c4j2YNd`*I6o2 WUA{F=z%4$0w%vC_eck`{3=9A#WD*Mi diff --git a/files/poketool/trgra/trfgra/narc_0184.NCGR b/files/poketool/trgra/trfgra/narc_0184.NCGR deleted file mode 100644 index 1fe67b05ce5804dcd92d55e382b8b770dbe5002e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KutTyCH}T3L@nGiw diff --git a/files/poketool/trgra/trfgra/narc_0184.png b/files/poketool/trgra/trfgra/narc_0184.png new file mode 100644 index 0000000000000000000000000000000000000000..5510418baf7cbf3578d62109f67d963d0acfa9a7 GIT binary patch literal 634 zcmV-=0)_pFP)002+~0{{R3Y;$7=0000mP)t-sl#6?` z#pa8Pv{Iy$T6=pzN>bihL0V#zF+pNEF**O$z22mIy?bJNN?QN_{{R30Ul>z@00067 zNkl))-@?OqBOYbou|@{_Y5u7Gimy9cdvAh7^_mHN|h>As{Ajh z3Goc-MM2O(ig94l0fLbQ1Kbj8mg_$Jgz|(CQLwi+PeGntUq{4zo}%_F>`XfG<4f2f zemgE>9&(NYRZo^YHsDr<0f(cWJYI!t>qNdrfZjC?dQ#qIC-MlgMDIP(kI}2MzLfF^ z0xF^>`E=Cp$qce(HqD7>n)UmbnJ{)YnbRA=GL*->MKYX4C5kg&-$D7+kAm_B<;DDY ztJw{L)@G6VqoY?p-{EDW$uD;Od&?Wv2uNFY+i8N1DiX0p#dI?LvFh?G>>(JSKHxT3${_UV!^f_w0#)3%^&$D0_2&Y zG<+diO_;|FrqnI)k8UAel0sdF%+{2;G8fHX4UVy(={+Lg5t{2p(*Oz z1=-y{077SCz;|G9+qK<)i|4zx`yb$asD}sFKBA0&Nuj|S0+I|23P3CX#71^v#fDK`UaxI6G^-W6 WJ=qM8%f!dew)<|Vulv8AfdK&dybv`2 diff --git a/files/poketool/trgra/trfgra/narc_0186.NCGR b/files/poketool/trgra/trfgra/narc_0186.NCGR deleted file mode 100644 index dce6e17ca32ef5d43f7532bf896b3e941ce08355..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KZ}vK`cC6WB4Q%}Y diff --git a/files/poketool/trgra/trfgra/narc_0186.png b/files/poketool/trgra/trfgra/narc_0186.png new file mode 100644 index 0000000000000000000000000000000000000000..eff5735d14e039532d91fcd7c269670d3b60ca58 GIT binary patch literal 656 zcmV;B0&o3^P)002+~0{{R3Y;$7=0000mP)t-sl#6?` z#pa8Pv{Iy$T6=pzN>bihL0V#zF+pNEF**O$z22mIy?bJNN?QN_{{R30Ul>z@0006T zNklBoEjUY!`LQ>RXyI(6y* zqm;sWLI|YjSuc*)aA0b|6^R2qQ&rejFwyUw*eOiKi}xU~+dGkVS^AqOFf-PR`J&fc z2TygXq+8%%dBe;P`Z`ZnROUdw{AzB`7I-B^d^_e#4(K?ixjiVcY`GEv9m0;dx+=-m z()^Z7u|Kg_rKXI!7|$n~q?|WfQ3tSL99T>e+YQ&3=nDiaXv`9oaMdA#lvvoKajf&k zT0oc*eN*kk+;;1Kbby&f2ij)<8gsQ19muZf2MFBP?!aA-P#_H)7@)v{XaS0+I|23P3CX#71^v#fDK`UaxI6G^-W6 WJ=qM8%f!dew)<|Vulv8AfdK&dybv`2 diff --git a/files/poketool/trgra/trfgra/narc_0188.NCGR b/files/poketool/trgra/trfgra/narc_0188.NCGR deleted file mode 100644 index f940590607ac98161e992e7154a337fb70d27223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 KAV8VnmuA>2S$d5C diff --git a/files/poketool/trgra/trfgra/narc_0188.png b/files/poketool/trgra/trfgra/narc_0188.png new file mode 100644 index 0000000000000000000000000000000000000000..adcaf3cb5f6fdde1aeec35fac5b23994b2bb7302 GIT binary patch literal 628 zcmV-)0*n2LP)002+~0{{R3Y;$7=0000mP)t-sdun3l zbDW%7V*kZT=A=rrgG!5HN=i8~|5`c!y~Y34z22mIy?bJNN?Pvj{{R30I4**|00061 zNklAi1Gqf3Nq=S8eATw6e&fp{+4&QkvePTD3CS#gIKlO zSL9goTMx5l@st(niz~=zEy~IGdv~bya27j)Yf(Oo$BX5){x!>7!IdcQiywNa^|Eva zttgu}gVTxDi!$5z=_2MvJTZr&2W_n{F2(u89gNrD=HvaA=oWnhSRb=~nS33U*-hcJ zLYA*e4%kA^&#N-)4u>Nb(1^nJ@yI7-PHqn471{C6GYAXhT^~>X|t$G$j-6!)_tCOP6 z#N?&bsTvK6VHXsyKaM|#LLgtUyc9wJ-<;L&9gzVau{_(}E>A-&xD$q3NU)kdBSCY( z&*3*%%{;G17zcuZnbJH2o{9}}6W<5qAHe@0xq!{DbxP#dY{C(D9wx7wsM#AX<&Jd# O0000S0+I|23P3CX#On?3_!b+=tItsrQ=6#z WQleh=e^Pw>Y`gD<`nr4T85jT+ZxKBJ diff --git a/files/poketool/trgra/trfgra/narc_0190.NCGR b/files/poketool/trgra/trfgra/narc_0190.NCGR deleted file mode 100644 index 27106bd85271503feefd295a1e2e09430e0b2681..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 WpJ$n0DaWrk+b%wyfnjRe-g*ERTM-xl diff --git a/files/poketool/trgra/trfgra/narc_0192.NCGR b/files/poketool/trgra/trfgra/narc_0192.NCGR deleted file mode 100644 index 79fdc9f8ed6aa7378681afceceb76f19ca030746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 diff --git a/files/poketool/trgra/trfgra/narc_0192.png b/files/poketool/trgra/trfgra/narc_0192.png new file mode 100644 index 0000000000000000000000000000000000000000..d388414743c1b0fe273cf3162c225483d7885fbc GIT binary patch literal 817 zcmV-11J3-3P)002+~0{{R3Y;$7=0000mP)t-s#l4)x zYMjM6IreHwIYCl6VvGOYTJDs^&CTA;oH=_zLEfZ$|JA(!0069{&F=31v9z8N0008K zNklBjE6bJBY$fO__4MCui#im0;21(10_w-KZ zLuj0F#u?{-B{nz(^#%p%Ly{LX$khPKi-n#~=_wHSHw05Ay4`~Wk3233e*R{U~28nkNjY8W&nAU=g%)m>-f?8 z^EMD@8V7{@{?svnKxAYbLUundWq>?ZqSGLx^Vov|#dPo6y=KaT8VV9KUUkk*xnLmj zT%%j}bRB9a=%lE{@9S`&SlNij<2_f0>RBLNZRxvOcY!Jts`bsJ@2gJThVdGG@-bPU zi&Yqrt?7RK=iMhO3$?1#`oir^5z?%Anya5J)PxrMKpO=j@3t*C-Dk^* zWX;qU)nGn^^43_}{;-vJP&8A98a!66nl`7nwY#d#GB6Vlq{Lja&I@io)n?bsbUFkl z9unRPx3?0>^$r6!!=43xa3ciu^ic?+YKs#T*0p4DIxXu)*fSDrUXaaXZF(NRm_OpB zqHJnv8DnfoGb#+2&{Rp1F@^&ZWh`5gWMQEFaAHEXWNcwe2K!GDoUf8%-Kjx&Xv%SH zq3Z0xfrPYCuh9ep8-!VX0tp^KgL?tU`w`!Sy+S+KW&pt!TY(~6%bf;$g`l7r9BM=p z>PRf==}?L;5a9JW&V@S8m9y8!I9CVym?iu=ydFw3FrXYk-3m;Fw_ag8yn(8af$a!X zKtOpvdwnBF63Ce4{istB2vjOJpaKC3r4b`4C5WlqR!SqVq?7?l?CxYo;Gc4|#JO^a vqh*NDuL8Z~2al;g>QnSQfR>rUk3i=i{Ru~}{yV6t00000NkvXXu0mjfNh5Ro literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0192.png.key b/files/poketool/trgra/trfgra/narc_0192.png.key new file mode 100644 index 0000000000000000000000000000000000000000..8edc6ad8803d9f06e804deb24c5383772d4dd112 GIT binary patch literal 4 LcmdlyML7@v1tS5x literal 0 HcmV?d00001 diff --git a/files/poketool/trgra/trfgra/narc_0193.NCLR b/files/poketool/trgra/trfgra/narc_0193.NCLR deleted file mode 100644 index 1b7a99d8ff1e40a307e4b6951244ec06f4658c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmWIYarXQFkAcyHfq_AQfsr93#3#T4$Yx>S0+I|23P3CX#6SFY`2LXDr^>F`?pm)O Wn`D_^DaWrk+b%wyfnjRe-g*EX>Jcdb diff --git a/files/poketool/trgra/trfgra/narc_0194.NCGR b/files/poketool/trgra/trfgra/narc_0194.NCGR deleted file mode 100644 index 0e2b1d3e3ed7412483a010c7c25aa3045472c437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 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 Date: Mon, 31 Aug 2020 16:47:15 -0400 Subject: [PATCH 3/3] constants/trainer_classes.h --- arm9/asm/unk_0206ABC4.s | 14 +- arm9/src/pokemon.c | 19 +- files/poketool/trainer/trdata.json | 1698 ++++++++++++------------ files/poketool/trainer/trdata.json.txt | 1 + include/constants/trainer_classes.h | 103 ++ include/trainer_data.h | 13 +- 6 files changed, 981 insertions(+), 867 deletions(-) create mode 100644 include/constants/trainer_classes.h diff --git a/arm9/asm/unk_0206ABC4.s b/arm9/asm/unk_0206ABC4.s index 7ea69ce1f..b4b3d88ef 100644 --- a/arm9/asm/unk_0206ABC4.s +++ b/arm9/asm/unk_0206ABC4.s @@ -5,13 +5,13 @@ .global UNK_020F8010 UNK_020F8010: ; 0x020F8010 - .byte 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02 - .byte 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00 - .byte 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 - .byte 0x01, 0x00, 0x00, 0x00 + .byte 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0 + .byte 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 1, 0, 0, 0, 1, 2 + .byte 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 2 + .byte 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0 + .byte 0, 0, 1, 0, 0, 1, 2, 0, 1, 0, 1, 0, 1, 1, 1, 0 + .byte 1, 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0 + .byte 1, 0, 0, 0 .text diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c index fb1ad894f..48b1a2254 100644 --- a/arm9/src/pokemon.c +++ b/arm9/src/pokemon.c @@ -17,6 +17,7 @@ #include "constants/items.h" #include "constants/moves.h" #include "constants/sinnoh_dex.h" +#include "constants/trainer_classes.h" #pragma thumb on @@ -3701,21 +3702,21 @@ int FUN_0206AA30(int x) { switch (x) { - case 63: + case TRAINER_CLASS_PKMN_TRAINER_BARRY: return 2; - case 90: - case 91: - case 92: - case 93: - case 94: - return x - 87; + case TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY: + case TRAINER_CLASS_PKMN_TRAINER_RICH_BOY: + case TRAINER_CLASS_PKMN_TRAINER_PICNICKER: + case TRAINER_CLASS_PKMN_TRAINER_CAMPER: + case TRAINER_CLASS_PKMN_TRAINER_POKEKID: + return x - TRAINER_CLASS_COMMANDER_JUPITER; default: if (FUN_0206AE00(x) == 1) return 1; else return 0; - case 0: - case 1: + case TRAINER_CLASS_PKMN_TRAINER_M: + case TRAINER_CLASS_PKMN_TRAINER_F: return x; } } diff --git a/files/poketool/trainer/trdata.json b/files/poketool/trainer/trdata.json index 2f2877a9e..81b05ddd6 100644 --- a/files/poketool/trainer/trdata.json +++ b/files/poketool/trainer/trdata.json @@ -3,7 +3,7 @@ { "index": 1, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19,7 +19,7 @@ { "index": 2, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -35,7 +35,7 @@ { "index": 3, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -56,7 +56,7 @@ { "index": 4, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -77,7 +77,7 @@ { "index": 5, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -93,7 +93,7 @@ { "index": 6, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -109,7 +109,7 @@ { "index": 7, "type": 0, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -125,7 +125,7 @@ { "index": 8, "type": 0, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -141,7 +141,7 @@ { "index": 9, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -157,7 +157,7 @@ { "index": 10, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -178,7 +178,7 @@ { "index": 11, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -194,7 +194,7 @@ { "index": 12, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -210,7 +210,7 @@ { "index": 13, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -231,7 +231,7 @@ { "index": 14, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -252,7 +252,7 @@ { "index": 15, "type": 0, - "class": 8, + "class": "TRAINER_CLASS_TWINS", "unk2": 0, "items": [], "unkC": 1, @@ -273,7 +273,7 @@ { "index": 16, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -293,7 +293,7 @@ { "index": 17, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -323,7 +323,7 @@ { "index": 18, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -354,7 +354,7 @@ { "index": 19, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -370,7 +370,7 @@ { "index": 20, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -386,7 +386,7 @@ { "index": 21, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -402,7 +402,7 @@ { "index": 22, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -443,7 +443,7 @@ { "index": 23, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -459,7 +459,7 @@ { "index": 24, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -485,7 +485,7 @@ { "index": 25, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -501,7 +501,7 @@ { "index": 26, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -517,7 +517,7 @@ { "index": 27, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -538,7 +538,7 @@ { "index": 28, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -554,7 +554,7 @@ { "index": 29, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -570,7 +570,7 @@ { "index": 30, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -591,7 +591,7 @@ { "index": 31, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -607,7 +607,7 @@ { "index": 32, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -628,7 +628,7 @@ { "index": 33, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -654,7 +654,7 @@ { "index": 34, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -675,7 +675,7 @@ { "index": 35, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -696,7 +696,7 @@ { "index": 36, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -727,7 +727,7 @@ { "index": 37, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -748,7 +748,7 @@ { "index": 38, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -769,7 +769,7 @@ { "index": 39, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -790,7 +790,7 @@ { "index": 40, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -816,7 +816,7 @@ { "index": 41, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -832,7 +832,7 @@ { "index": 42, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -848,7 +848,7 @@ { "index": 43, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -869,7 +869,7 @@ { "index": 44, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -890,7 +890,7 @@ { "index": 45, "type": 0, - "class": 15, + "class": "TRAINER_CLASS_ARTIST", "unk2": 0, "items": [], "unkC": 1, @@ -911,7 +911,7 @@ { "index": 46, "type": 0, - "class": 16, + "class": "TRAINER_CLASS_PKMN_BREEDER_M", "unk2": 0, "items": [], "unkC": 1, @@ -937,7 +937,7 @@ { "index": 47, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -963,7 +963,7 @@ { "index": 48, "type": 0, - "class": 18, + "class": "TRAINER_CLASS_COWGIRL", "unk2": 0, "items": [], "unkC": 1, @@ -999,7 +999,7 @@ { "index": 49, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -1015,7 +1015,7 @@ { "index": 50, "type": 0, - "class": 20, + "class": "TRAINER_CLASS_POKEFAN_M", "unk2": 0, "items": [], "unkC": 1, @@ -1031,7 +1031,7 @@ { "index": 51, "type": 0, - "class": 21, + "class": "TRAINER_CLASS_POKEFAN_F", "unk2": 0, "items": [], "unkC": 1, @@ -1047,7 +1047,7 @@ { "index": 52, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -1063,7 +1063,7 @@ { "index": 53, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -1079,7 +1079,7 @@ { "index": 54, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1095,7 +1095,7 @@ { "index": 55, "type": 0, - "class": 23, + "class": "TRAINER_CLASS_YOUNG_COUPLE", "unk2": 0, "items": [], "unkC": 1, @@ -1116,7 +1116,7 @@ { "index": 56, "type": 0, - "class": 16, + "class": "TRAINER_CLASS_PKMN_BREEDER_M", "unk2": 0, "items": [], "unkC": 1, @@ -1142,7 +1142,7 @@ { "index": 57, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -1168,7 +1168,7 @@ { "index": 58, "type": 0, - "class": 18, + "class": "TRAINER_CLASS_COWGIRL", "unk2": 0, "items": [], "unkC": 1, @@ -1184,7 +1184,7 @@ { "index": 59, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -1200,7 +1200,7 @@ { "index": 60, "type": 0, - "class": 20, + "class": "TRAINER_CLASS_POKEFAN_M", "unk2": 0, "items": [], "unkC": 1, @@ -1216,7 +1216,7 @@ { "index": 61, "type": 0, - "class": 21, + "class": "TRAINER_CLASS_POKEFAN_F", "unk2": 0, "items": [], "unkC": 1, @@ -1232,7 +1232,7 @@ { "index": 62, "type": 0, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -1248,7 +1248,7 @@ { "index": 63, "type": 0, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -1264,7 +1264,7 @@ { "index": 64, "type": 0, - "class": 26, + "class": "TRAINER_CLASS_WAITRESS", "unk2": 0, "items": [], "unkC": 1, @@ -1280,7 +1280,7 @@ { "index": 65, "type": 0, - "class": 8, + "class": "TRAINER_CLASS_TWINS", "unk2": 0, "items": [], "unkC": 1, @@ -1301,7 +1301,7 @@ { "index": 66, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -1343,7 +1343,7 @@ { "index": 67, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -1374,7 +1374,7 @@ { "index": 68, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -1417,7 +1417,7 @@ { "index": 69, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -1433,7 +1433,7 @@ { "index": 70, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -1464,7 +1464,7 @@ { "index": 71, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -1485,7 +1485,7 @@ { "index": 72, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -1501,7 +1501,7 @@ { "index": 73, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -1517,7 +1517,7 @@ { "index": 74, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -1538,7 +1538,7 @@ { "index": 75, "type": 0, - "class": 31, + "class": "TRAINER_CLASS_DOUBLE_TEAM", "unk2": 0, "items": [], "unkC": 1, @@ -1559,7 +1559,7 @@ { "index": 76, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -1575,7 +1575,7 @@ { "index": 77, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -1591,7 +1591,7 @@ { "index": 78, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -1617,7 +1617,7 @@ { "index": 79, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -1643,7 +1643,7 @@ { "index": 80, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -1664,7 +1664,7 @@ { "index": 81, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -1680,7 +1680,7 @@ { "index": 82, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -1698,7 +1698,7 @@ { "index": 83, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -1716,7 +1716,7 @@ { "index": 84, "type": 0, - "class": 34, + "class": "TRAINER_CLASS_GENTLEMAN", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -1734,7 +1734,7 @@ { "index": 85, "type": 0, - "class": 35, + "class": "TRAINER_CLASS_SOCIALITE", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -1752,7 +1752,7 @@ { "index": 86, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -1768,7 +1768,7 @@ { "index": 87, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -1784,7 +1784,7 @@ { "index": 88, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1805,7 +1805,7 @@ { "index": 89, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1826,7 +1826,7 @@ { "index": 90, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1847,7 +1847,7 @@ { "index": 91, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1863,7 +1863,7 @@ { "index": 92, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1884,7 +1884,7 @@ { "index": 93, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -1915,7 +1915,7 @@ { "index": 94, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -1936,7 +1936,7 @@ { "index": 95, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -1957,7 +1957,7 @@ { "index": 96, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 0, @@ -1978,7 +1978,7 @@ { "index": 97, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -1994,7 +1994,7 @@ { "index": 98, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -2010,7 +2010,7 @@ { "index": 99, "type": 1, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -2032,7 +2032,7 @@ { "index": 100, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -2048,7 +2048,7 @@ { "index": 101, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -2064,7 +2064,7 @@ { "index": 102, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -2085,7 +2085,7 @@ { "index": 103, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -2111,7 +2111,7 @@ { "index": 104, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -2132,7 +2132,7 @@ { "index": 105, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -2153,7 +2153,7 @@ { "index": 106, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -2174,7 +2174,7 @@ { "index": 107, "type": 0, - "class": 44, + "class": "TRAINER_CLASS_TUBER_M", "unk2": 0, "items": [], "unkC": 1, @@ -2200,7 +2200,7 @@ { "index": 108, "type": 1, - "class": 45, + "class": "TRAINER_CLASS_TUBER_F", "unk2": 0, "items": [], "unkC": 1, @@ -2222,7 +2222,7 @@ { "index": 109, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -2238,7 +2238,7 @@ { "index": 110, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -2259,7 +2259,7 @@ { "index": 111, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -2285,7 +2285,7 @@ { "index": 112, "type": 0, - "class": 47, + "class": "TRAINER_CLASS_SIS_AND_BRO", "unk2": 0, "items": [], "unkC": 1, @@ -2306,7 +2306,7 @@ { "index": 113, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -2332,7 +2332,7 @@ { "index": 114, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -2348,7 +2348,7 @@ { "index": 115, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -2364,7 +2364,7 @@ { "index": 116, "type": 0, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -2380,7 +2380,7 @@ { "index": 117, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -2396,7 +2396,7 @@ { "index": 118, "type": 0, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -2412,7 +2412,7 @@ { "index": 119, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -2433,7 +2433,7 @@ { "index": 120, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -2459,7 +2459,7 @@ { "index": 121, "type": 1, - "class": 51, + "class": "TRAINER_CLASS_PI", "unk2": 0, "items": [], "unkC": 1, @@ -2497,7 +2497,7 @@ { "index": 122, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -2513,7 +2513,7 @@ { "index": 123, "type": 0, - "class": 51, + "class": "TRAINER_CLASS_PI", "unk2": 0, "items": [], "unkC": 1, @@ -2529,7 +2529,7 @@ { "index": 124, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -2545,7 +2545,7 @@ { "index": 125, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -2561,7 +2561,7 @@ { "index": 126, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -2577,7 +2577,7 @@ { "index": 127, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -2603,7 +2603,7 @@ { "index": 128, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -2619,7 +2619,7 @@ { "index": 129, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -2645,7 +2645,7 @@ { "index": 130, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -2661,7 +2661,7 @@ { "index": 131, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -2677,7 +2677,7 @@ { "index": 132, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -2710,7 +2710,7 @@ { "index": 133, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -2754,7 +2754,7 @@ { "index": 134, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -2776,7 +2776,7 @@ { "index": 135, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -2820,7 +2820,7 @@ { "index": 136, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -2846,7 +2846,7 @@ { "index": 137, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -2862,7 +2862,7 @@ { "index": 138, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -2883,7 +2883,7 @@ { "index": 139, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -2899,7 +2899,7 @@ { "index": 140, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -2943,7 +2943,7 @@ { "index": 141, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -2976,7 +2976,7 @@ { "index": 142, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3007,7 +3007,7 @@ { "index": 143, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3028,7 +3028,7 @@ { "index": 144, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3049,7 +3049,7 @@ { "index": 145, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3065,7 +3065,7 @@ { "index": 146, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -3096,7 +3096,7 @@ { "index": 147, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -3117,7 +3117,7 @@ { "index": 148, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -3143,7 +3143,7 @@ { "index": 149, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3159,7 +3159,7 @@ { "index": 150, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3175,7 +3175,7 @@ { "index": 151, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3191,7 +3191,7 @@ { "index": 152, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3207,7 +3207,7 @@ { "index": 153, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3228,7 +3228,7 @@ { "index": 154, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3264,7 +3264,7 @@ { "index": 155, "type": 0, - "class": 47, + "class": "TRAINER_CLASS_SIS_AND_BRO", "unk2": 0, "items": [], "unkC": 1, @@ -3285,7 +3285,7 @@ { "index": 156, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3301,7 +3301,7 @@ { "index": 157, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3317,7 +3317,7 @@ { "index": 158, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3333,7 +3333,7 @@ { "index": 159, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3359,7 +3359,7 @@ { "index": 160, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3375,7 +3375,7 @@ { "index": 161, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3396,7 +3396,7 @@ { "index": 162, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3427,7 +3427,7 @@ { "index": 163, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3448,7 +3448,7 @@ { "index": 164, "type": 1, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3492,7 +3492,7 @@ { "index": 165, "type": 0, - "class": 47, + "class": "TRAINER_CLASS_SIS_AND_BRO", "unk2": 0, "items": [], "unkC": 1, @@ -3513,7 +3513,7 @@ { "index": 166, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3534,7 +3534,7 @@ { "index": 167, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3550,7 +3550,7 @@ { "index": 168, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3576,7 +3576,7 @@ { "index": 169, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -3592,7 +3592,7 @@ { "index": 170, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3624,7 +3624,7 @@ { "index": 171, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -3665,7 +3665,7 @@ { "index": 172, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3691,7 +3691,7 @@ { "index": 173, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3712,7 +3712,7 @@ { "index": 174, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3743,7 +3743,7 @@ { "index": 175, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -3769,7 +3769,7 @@ { "index": 176, "type": 0, - "class": 57, + "class": "TRAINER_CLASS_ROUGHNECK", "unk2": 0, "items": [], "unkC": 1, @@ -3785,7 +3785,7 @@ { "index": 177, "type": 0, - "class": 57, + "class": "TRAINER_CLASS_ROUGHNECK", "unk2": 0, "items": [], "unkC": 1, @@ -3801,7 +3801,7 @@ { "index": 178, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -3817,7 +3817,7 @@ { "index": 179, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -3833,7 +3833,7 @@ { "index": 180, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -3859,7 +3859,7 @@ { "index": 181, "type": 0, - "class": 15, + "class": "TRAINER_CLASS_ARTIST", "unk2": 0, "items": [], "unkC": 1, @@ -3875,7 +3875,7 @@ { "index": 182, "type": 0, - "class": 23, + "class": "TRAINER_CLASS_YOUNG_COUPLE", "unk2": 0, "items": [], "unkC": 1, @@ -3896,7 +3896,7 @@ { "index": 183, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3917,7 +3917,7 @@ { "index": 184, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3933,7 +3933,7 @@ { "index": 185, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3954,7 +3954,7 @@ { "index": 186, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3980,7 +3980,7 @@ { "index": 187, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -3996,7 +3996,7 @@ { "index": 188, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -4022,7 +4022,7 @@ { "index": 189, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4038,7 +4038,7 @@ { "index": 190, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4059,7 +4059,7 @@ { "index": 191, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4085,7 +4085,7 @@ { "index": 192, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4106,7 +4106,7 @@ { "index": 193, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4127,7 +4127,7 @@ { "index": 194, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4143,7 +4143,7 @@ { "index": 195, "type": 1, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -4174,7 +4174,7 @@ { "index": 196, "type": 1, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -4194,7 +4194,7 @@ { "index": 197, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -4210,7 +4210,7 @@ { "index": 198, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -4226,7 +4226,7 @@ { "index": 199, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -4242,7 +4242,7 @@ { "index": 200, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -4258,7 +4258,7 @@ { "index": 201, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -4284,7 +4284,7 @@ { "index": 202, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -4310,7 +4310,7 @@ { "index": 203, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -4331,7 +4331,7 @@ { "index": 204, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -4347,7 +4347,7 @@ { "index": 205, "type": 1, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -4366,7 +4366,7 @@ { "index": 206, "type": 1, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -4385,7 +4385,7 @@ { "index": 207, "type": 0, - "class": 23, + "class": "TRAINER_CLASS_YOUNG_COUPLE", "unk2": 0, "items": [], "unkC": 1, @@ -4406,7 +4406,7 @@ { "index": 208, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -4422,7 +4422,7 @@ { "index": 209, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -4438,7 +4438,7 @@ { "index": 210, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -4454,7 +4454,7 @@ { "index": 211, "type": 0, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -4470,7 +4470,7 @@ { "index": 212, "type": 0, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -4486,7 +4486,7 @@ { "index": 213, "type": 0, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -4502,7 +4502,7 @@ { "index": 214, "type": 0, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -4518,7 +4518,7 @@ { "index": 215, "type": 0, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -4534,7 +4534,7 @@ { "index": 216, "type": 0, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -4550,7 +4550,7 @@ { "index": 217, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -4566,7 +4566,7 @@ { "index": 218, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -4582,7 +4582,7 @@ { "index": 219, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -4598,7 +4598,7 @@ { "index": 220, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -4614,7 +4614,7 @@ { "index": 221, "type": 0, - "class": 60, + "class": "TRAINER_CLASS_SCHOOL_KID_M", "unk2": 0, "items": [], "unkC": 1, @@ -4630,7 +4630,7 @@ { "index": 222, "type": 0, - "class": 61, + "class": "TRAINER_CLASS_SCHOOL_KID_F", "unk2": 0, "items": [], "unkC": 1, @@ -4646,7 +4646,7 @@ { "index": 223, "type": 0, - "class": 23, + "class": "TRAINER_CLASS_YOUNG_COUPLE", "unk2": 0, "items": [], "unkC": 1, @@ -4667,7 +4667,7 @@ { "index": 224, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -4711,7 +4711,7 @@ { "index": 225, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -4733,7 +4733,7 @@ { "index": 226, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4766,7 +4766,7 @@ { "index": 227, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -4799,7 +4799,7 @@ { "index": 228, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -4843,7 +4843,7 @@ { "index": 229, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -4876,7 +4876,7 @@ { "index": 230, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -4892,7 +4892,7 @@ { "index": 231, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -4918,7 +4918,7 @@ { "index": 232, "type": 1, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -4951,7 +4951,7 @@ { "index": 233, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -4972,7 +4972,7 @@ { "index": 234, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -4998,7 +4998,7 @@ { "index": 235, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -5019,7 +5019,7 @@ { "index": 236, "type": 0, - "class": 31, + "class": "TRAINER_CLASS_DOUBLE_TEAM", "unk2": 0, "items": [], "unkC": 1, @@ -5040,7 +5040,7 @@ { "index": 237, "type": 0, - "class": 31, + "class": "TRAINER_CLASS_DOUBLE_TEAM", "unk2": 0, "items": [], "unkC": 1, @@ -5061,7 +5061,7 @@ { "index": 238, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -5077,7 +5077,7 @@ { "index": 239, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -5093,7 +5093,7 @@ { "index": 240, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -5137,7 +5137,7 @@ { "index": 241, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -5153,7 +5153,7 @@ { "index": 242, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -5169,7 +5169,7 @@ { "index": 243, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -5185,7 +5185,7 @@ { "index": 244, "type": 1, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -5205,7 +5205,7 @@ { "index": 245, "type": 1, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -5235,7 +5235,7 @@ { "index": 246, "type": 1, - "class": 62, + "class": "TRAINER_CLASS_LEADER_ROARK", "unk2": 0, "items": [ "ITEM_POTION", @@ -5278,7 +5278,7 @@ { "index": 247, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -5307,7 +5307,7 @@ { "index": 248, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -5336,7 +5336,7 @@ { "index": 249, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -5365,7 +5365,7 @@ { "index": 250, "type": 3, - "class": 64, + "class": "TRAINER_CLASS_LEADER_BYRON", "unk2": 0, "items": [ "ITEM_HYPER_POTION", @@ -5415,7 +5415,7 @@ { "index": 251, "type": 0, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -5431,7 +5431,7 @@ { "index": 252, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -5447,7 +5447,7 @@ { "index": 253, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -5463,7 +5463,7 @@ { "index": 254, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -5479,7 +5479,7 @@ { "index": 255, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -5495,7 +5495,7 @@ { "index": 256, "type": 1, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -5536,7 +5536,7 @@ { "index": 257, "type": 1, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -5557,7 +5557,7 @@ { "index": 258, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -5573,7 +5573,7 @@ { "index": 259, "type": 1, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -5614,7 +5614,7 @@ { "index": 260, "type": 1, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -5634,7 +5634,7 @@ { "index": 261, "type": 3, - "class": 65, + "class": "TRAINER_CLASS_ELITE_FOUR_AARON", "unk2": 0, "items": [ "ITEM_FULL_RESTORE", @@ -5708,7 +5708,7 @@ { "index": 262, "type": 3, - "class": 66, + "class": "TRAINER_CLASS_ELITE_FOUR_BERTHA", "unk2": 0, "items": [ "ITEM_FULL_RESTORE", @@ -5782,7 +5782,7 @@ { "index": 263, "type": 3, - "class": 67, + "class": "TRAINER_CLASS_ELITE_FOUR_FLINT", "unk2": 0, "items": [ "ITEM_FULL_RESTORE", @@ -5856,7 +5856,7 @@ { "index": 264, "type": 3, - "class": 68, + "class": "TRAINER_CLASS_ELITE_FOUR_LUCIEN", "unk2": 0, "items": [ "ITEM_FULL_RESTORE", @@ -5930,7 +5930,7 @@ { "index": 265, "type": 0, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -5946,7 +5946,7 @@ { "index": 266, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -5987,7 +5987,7 @@ { "index": 267, "type": 3, - "class": 69, + "class": "TRAINER_CLASS_CHAMPION", "unk2": 0, "items": [ "ITEM_FULL_RESTORE", @@ -6075,7 +6075,7 @@ { "index": 268, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -6108,7 +6108,7 @@ { "index": 269, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -6130,7 +6130,7 @@ { "index": 270, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -6174,7 +6174,7 @@ { "index": 271, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -6206,7 +6206,7 @@ { "index": 272, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -6232,7 +6232,7 @@ { "index": 273, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -6258,7 +6258,7 @@ { "index": 274, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -6284,7 +6284,7 @@ { "index": 275, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -6310,7 +6310,7 @@ { "index": 276, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -6336,7 +6336,7 @@ { "index": 277, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -6357,7 +6357,7 @@ { "index": 278, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -6388,7 +6388,7 @@ { "index": 279, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -6421,7 +6421,7 @@ { "index": 280, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -6465,7 +6465,7 @@ { "index": 281, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -6497,7 +6497,7 @@ { "index": 282, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -6529,7 +6529,7 @@ { "index": 283, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -6551,7 +6551,7 @@ { "index": 284, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -6584,7 +6584,7 @@ { "index": 285, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -6617,7 +6617,7 @@ { "index": 286, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -6639,7 +6639,7 @@ { "index": 287, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -6671,7 +6671,7 @@ { "index": 288, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -6692,7 +6692,7 @@ { "index": 289, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -6713,7 +6713,7 @@ { "index": 290, "type": 0, - "class": 70, + "class": "TRAINER_CLASS_BELLE__PA", "unk2": 0, "items": [], "unkC": 1, @@ -6734,7 +6734,7 @@ { "index": 291, "type": 0, - "class": 71, + "class": "TRAINER_CLASS_RANCHER", "unk2": 0, "items": [], "unkC": 1, @@ -6750,7 +6750,7 @@ { "index": 292, "type": 0, - "class": 71, + "class": "TRAINER_CLASS_RANCHER", "unk2": 0, "items": [], "unkC": 1, @@ -6776,7 +6776,7 @@ { "index": 293, "type": 1, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -6817,7 +6817,7 @@ { "index": 294, "type": 0, - "class": 8, + "class": "TRAINER_CLASS_TWINS", "unk2": 0, "items": [], "unkC": 1, @@ -6838,7 +6838,7 @@ { "index": 295, "type": 3, - "class": 72, + "class": "TRAINER_CLASS_COMMANDER_MARS", "unk2": 0, "items": [], "unkC": 1, @@ -6871,7 +6871,7 @@ { "index": 296, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -6900,7 +6900,7 @@ { "index": 297, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -6920,7 +6920,7 @@ { "index": 298, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -6941,7 +6941,7 @@ { "index": 299, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -6962,7 +6962,7 @@ { "index": 300, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -6978,7 +6978,7 @@ { "index": 301, "type": 1, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -6999,7 +6999,7 @@ { "index": 302, "type": 1, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -7031,7 +7031,7 @@ { "index": 303, "type": 1, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -7053,7 +7053,7 @@ { "index": 304, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -7074,7 +7074,7 @@ { "index": 305, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -7090,7 +7090,7 @@ { "index": 306, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -7106,7 +7106,7 @@ { "index": 307, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -7132,7 +7132,7 @@ { "index": 308, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -7148,7 +7148,7 @@ { "index": 309, "type": 1, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -7186,7 +7186,7 @@ { "index": 310, "type": 1, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -7224,7 +7224,7 @@ { "index": 311, "type": 1, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -7246,7 +7246,7 @@ { "index": 312, "type": 1, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -7277,7 +7277,7 @@ { "index": 313, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -7298,7 +7298,7 @@ { "index": 314, "type": 1, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -7320,7 +7320,7 @@ { "index": 315, "type": 3, - "class": 74, + "class": "TRAINER_CLASS_LEADER_GARDENIA", "unk2": 0, "items": [ "ITEM_SUPER_POTION", @@ -7370,7 +7370,7 @@ { "index": 316, "type": 3, - "class": 75, + "class": "TRAINER_CLASS_LEADER_WAKE", "unk2": 0, "items": [ "ITEM_SUPER_POTION", @@ -7420,7 +7420,7 @@ { "index": 317, "type": 3, - "class": 76, + "class": "TRAINER_CLASS_LEADER_MAYLENE", "unk2": 0, "items": [ "ITEM_HYPER_POTION", @@ -7470,7 +7470,7 @@ { "index": 318, "type": 3, - "class": 77, + "class": "TRAINER_CLASS_LEADER_FANTINA", "unk2": 0, "items": [ "ITEM_HYPER_POTION", @@ -7520,7 +7520,7 @@ { "index": 319, "type": 3, - "class": 78, + "class": "TRAINER_CLASS_LEADER_CANDICE", "unk2": 0, "items": [ "ITEM_HYPER_POTION", @@ -7582,7 +7582,7 @@ { "index": 320, "type": 3, - "class": 79, + "class": "TRAINER_CLASS_LEADER_VOLKNER", "unk2": 0, "items": [ "ITEM_HYPER_POTION", @@ -7644,7 +7644,7 @@ { "index": 321, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -7660,7 +7660,7 @@ { "index": 322, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -7681,7 +7681,7 @@ { "index": 323, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -7707,7 +7707,7 @@ { "index": 324, "type": 1, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -7737,7 +7737,7 @@ { "index": 325, "type": 1, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -7758,7 +7758,7 @@ { "index": 326, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -7779,7 +7779,7 @@ { "index": 327, "type": 0, - "class": 80, + "class": "TRAINER_CLASS_PARASOL_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -7800,7 +7800,7 @@ { "index": 328, "type": 0, - "class": 80, + "class": "TRAINER_CLASS_PARASOL_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -7816,7 +7816,7 @@ { "index": 329, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -7846,7 +7846,7 @@ { "index": 330, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -7877,7 +7877,7 @@ { "index": 331, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -7908,7 +7908,7 @@ { "index": 332, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -7929,7 +7929,7 @@ { "index": 333, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -7950,7 +7950,7 @@ { "index": 334, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -7966,7 +7966,7 @@ { "index": 335, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -7982,7 +7982,7 @@ { "index": 336, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -7998,7 +7998,7 @@ { "index": 337, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -8014,7 +8014,7 @@ { "index": 338, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -8035,7 +8035,7 @@ { "index": 339, "type": 1, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -8066,7 +8066,7 @@ { "index": 340, "type": 1, - "class": 60, + "class": "TRAINER_CLASS_SCHOOL_KID_M", "unk2": 0, "items": [], "unkC": 1, @@ -8088,7 +8088,7 @@ { "index": 341, "type": 1, - "class": 60, + "class": "TRAINER_CLASS_SCHOOL_KID_M", "unk2": 0, "items": [], "unkC": 1, @@ -8110,7 +8110,7 @@ { "index": 342, "type": 1, - "class": 60, + "class": "TRAINER_CLASS_SCHOOL_KID_M", "unk2": 0, "items": [], "unkC": 1, @@ -8129,7 +8129,7 @@ { "index": 343, "type": 1, - "class": 61, + "class": "TRAINER_CLASS_SCHOOL_KID_F", "unk2": 0, "items": [], "unkC": 1, @@ -8161,7 +8161,7 @@ { "index": 344, "type": 1, - "class": 61, + "class": "TRAINER_CLASS_SCHOOL_KID_F", "unk2": 0, "items": [], "unkC": 1, @@ -8183,7 +8183,7 @@ { "index": 345, "type": 1, - "class": 61, + "class": "TRAINER_CLASS_SCHOOL_KID_F", "unk2": 0, "items": [], "unkC": 1, @@ -8202,7 +8202,7 @@ { "index": 346, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -8218,7 +8218,7 @@ { "index": 347, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -8234,7 +8234,7 @@ { "index": 348, "type": 1, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -8255,7 +8255,7 @@ { "index": 349, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -8271,7 +8271,7 @@ { "index": 350, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -8287,7 +8287,7 @@ { "index": 351, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -8303,7 +8303,7 @@ { "index": 352, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -8319,7 +8319,7 @@ { "index": 353, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -8335,7 +8335,7 @@ { "index": 354, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -8351,7 +8351,7 @@ { "index": 355, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -8367,7 +8367,7 @@ { "index": 356, "type": 1, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -8387,7 +8387,7 @@ { "index": 357, "type": 1, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -8420,7 +8420,7 @@ { "index": 358, "type": 0, - "class": 44, + "class": "TRAINER_CLASS_TUBER_M", "unk2": 0, "items": [], "unkC": 1, @@ -8441,7 +8441,7 @@ { "index": 359, "type": 0, - "class": 44, + "class": "TRAINER_CLASS_TUBER_M", "unk2": 0, "items": [], "unkC": 1, @@ -8457,7 +8457,7 @@ { "index": 360, "type": 0, - "class": 45, + "class": "TRAINER_CLASS_TUBER_F", "unk2": 0, "items": [], "unkC": 1, @@ -8478,7 +8478,7 @@ { "index": 361, "type": 0, - "class": 45, + "class": "TRAINER_CLASS_TUBER_F", "unk2": 0, "items": [], "unkC": 1, @@ -8494,7 +8494,7 @@ { "index": 362, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -8538,7 +8538,7 @@ { "index": 363, "type": 0, - "class": 81, + "class": "TRAINER_CLASS_WAITER", "unk2": 0, "items": [], "unkC": 1, @@ -8554,7 +8554,7 @@ { "index": 364, "type": 0, - "class": 81, + "class": "TRAINER_CLASS_WAITER", "unk2": 0, "items": [], "unkC": 1, @@ -8570,7 +8570,7 @@ { "index": 365, "type": 0, - "class": 81, + "class": "TRAINER_CLASS_WAITER", "unk2": 0, "items": [], "unkC": 1, @@ -8586,7 +8586,7 @@ { "index": 366, "type": 0, - "class": 26, + "class": "TRAINER_CLASS_WAITRESS", "unk2": 0, "items": [], "unkC": 1, @@ -8602,7 +8602,7 @@ { "index": 367, "type": 1, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -8633,7 +8633,7 @@ { "index": 368, "type": 0, - "class": 82, + "class": "TRAINER_CLASS_INTERVIEWERS", "unk2": 0, "items": [], "unkC": 1, @@ -8654,7 +8654,7 @@ { "index": 369, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -8670,7 +8670,7 @@ { "index": 370, "type": 0, - "class": 84, + "class": "TRAINER_CLASS_REPORTER", "unk2": 0, "items": [], "unkC": 1, @@ -8686,7 +8686,7 @@ { "index": 371, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -8707,7 +8707,7 @@ { "index": 372, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -8723,7 +8723,7 @@ { "index": 373, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -8744,7 +8744,7 @@ { "index": 374, "type": 0, - "class": 16, + "class": "TRAINER_CLASS_PKMN_BREEDER_M", "unk2": 0, "items": [], "unkC": 1, @@ -8760,7 +8760,7 @@ { "index": 375, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -8776,7 +8776,7 @@ { "index": 376, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -8792,7 +8792,7 @@ { "index": 377, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -8812,7 +8812,7 @@ { "index": 378, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -8844,7 +8844,7 @@ { "index": 379, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -8874,7 +8874,7 @@ { "index": 380, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -8904,7 +8904,7 @@ { "index": 381, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -8930,7 +8930,7 @@ { "index": 382, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -8956,7 +8956,7 @@ { "index": 383, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -8982,7 +8982,7 @@ { "index": 384, "type": 0, - "class": 20, + "class": "TRAINER_CLASS_POKEFAN_M", "unk2": 0, "items": [], "unkC": 1, @@ -8998,7 +8998,7 @@ { "index": 385, "type": 0, - "class": 21, + "class": "TRAINER_CLASS_POKEFAN_F", "unk2": 0, "items": [], "unkC": 1, @@ -9014,7 +9014,7 @@ { "index": 386, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -9035,7 +9035,7 @@ { "index": 387, "type": 0, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -9051,7 +9051,7 @@ { "index": 388, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -9095,7 +9095,7 @@ { "index": 389, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -9139,7 +9139,7 @@ { "index": 390, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -9172,7 +9172,7 @@ { "index": 391, "type": 0, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -9188,7 +9188,7 @@ { "index": 392, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -9221,7 +9221,7 @@ { "index": 393, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -9265,7 +9265,7 @@ { "index": 394, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -9309,7 +9309,7 @@ { "index": 395, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -9325,7 +9325,7 @@ { "index": 396, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -9341,7 +9341,7 @@ { "index": 397, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -9357,7 +9357,7 @@ { "index": 398, "type": 1, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -9378,7 +9378,7 @@ { "index": 399, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -9399,7 +9399,7 @@ { "index": 400, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -9420,7 +9420,7 @@ { "index": 401, "type": 1, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -9441,7 +9441,7 @@ { "index": 402, "type": 0, - "class": 34, + "class": "TRAINER_CLASS_GENTLEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -9457,7 +9457,7 @@ { "index": 403, "type": 3, - "class": 86, + "class": "TRAINER_CLASS_GALACTIC_BOSS", "unk2": 0, "items": [ "ITEM_SUPER_POTION", @@ -9507,7 +9507,7 @@ { "index": 404, "type": 3, - "class": 86, + "class": "TRAINER_CLASS_GALACTIC_BOSS", "unk2": 0, "items": [ "ITEM_SUPER_POTION", @@ -9569,7 +9569,7 @@ { "index": 405, "type": 3, - "class": 72, + "class": "TRAINER_CLASS_COMMANDER_MARS", "unk2": 0, "items": [], "unkC": 1, @@ -9616,7 +9616,7 @@ { "index": 406, "type": 3, - "class": 87, + "class": "TRAINER_CLASS_COMMANDER_JUPITER", "unk2": 0, "items": [], "unkC": 1, @@ -9650,7 +9650,7 @@ { "index": 407, "type": 3, - "class": 87, + "class": "TRAINER_CLASS_COMMANDER_JUPITER", "unk2": 0, "items": [], "unkC": 1, @@ -9697,7 +9697,7 @@ { "index": 408, "type": 3, - "class": 88, + "class": "TRAINER_CLASS_COMMANDER_SATURN", "unk2": 0, "items": [], "unkC": 1, @@ -9744,7 +9744,7 @@ { "index": 409, "type": 3, - "class": 88, + "class": "TRAINER_CLASS_COMMANDER_SATURN", "unk2": 0, "items": [], "unkC": 1, @@ -9791,7 +9791,7 @@ { "index": 410, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9822,7 +9822,7 @@ { "index": 411, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9838,7 +9838,7 @@ { "index": 412, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9868,7 +9868,7 @@ { "index": 413, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9884,7 +9884,7 @@ { "index": 414, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9904,7 +9904,7 @@ { "index": 415, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9920,7 +9920,7 @@ { "index": 416, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9941,7 +9941,7 @@ { "index": 417, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9962,7 +9962,7 @@ { "index": 418, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -9988,7 +9988,7 @@ { "index": 419, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -10004,7 +10004,7 @@ { "index": 420, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -10025,7 +10025,7 @@ { "index": 421, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10046,7 +10046,7 @@ { "index": 422, "type": 1, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10067,7 +10067,7 @@ { "index": 423, "type": 1, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10107,7 +10107,7 @@ { "index": 424, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10123,7 +10123,7 @@ { "index": 425, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10144,7 +10144,7 @@ { "index": 426, "type": 1, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10187,7 +10187,7 @@ { "index": 427, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10208,7 +10208,7 @@ { "index": 428, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10224,7 +10224,7 @@ { "index": 429, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10240,7 +10240,7 @@ { "index": 430, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -10261,7 +10261,7 @@ { "index": 431, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -10282,7 +10282,7 @@ { "index": 432, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -10298,7 +10298,7 @@ { "index": 433, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -10314,7 +10314,7 @@ { "index": 434, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -10330,7 +10330,7 @@ { "index": 435, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -10346,7 +10346,7 @@ { "index": 436, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -10362,7 +10362,7 @@ { "index": 437, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -10378,7 +10378,7 @@ { "index": 438, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -10394,7 +10394,7 @@ { "index": 439, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -10410,7 +10410,7 @@ { "index": 440, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -10426,7 +10426,7 @@ { "index": 441, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -10442,7 +10442,7 @@ { "index": 442, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -10458,7 +10458,7 @@ { "index": 443, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -10479,7 +10479,7 @@ { "index": 444, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -10495,7 +10495,7 @@ { "index": 445, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -10511,7 +10511,7 @@ { "index": 446, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -10532,7 +10532,7 @@ { "index": 447, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -10553,7 +10553,7 @@ { "index": 448, "type": 0, - "class": 35, + "class": "TRAINER_CLASS_SOCIALITE", "unk2": 0, "items": [], "unkC": 1, @@ -10569,7 +10569,7 @@ { "index": 449, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -10585,7 +10585,7 @@ { "index": 450, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -10601,7 +10601,7 @@ { "index": 451, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -10622,7 +10622,7 @@ { "index": 452, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -10648,7 +10648,7 @@ { "index": 453, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -10669,7 +10669,7 @@ { "index": 454, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -10690,7 +10690,7 @@ { "index": 455, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -10706,7 +10706,7 @@ { "index": 456, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -10726,7 +10726,7 @@ { "index": 457, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -10758,7 +10758,7 @@ { "index": 458, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -10788,7 +10788,7 @@ { "index": 459, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -10808,7 +10808,7 @@ { "index": 460, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -10824,7 +10824,7 @@ { "index": 461, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -10840,7 +10840,7 @@ { "index": 462, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -10856,7 +10856,7 @@ { "index": 463, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -10872,7 +10872,7 @@ { "index": 464, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -10888,7 +10888,7 @@ { "index": 465, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -10909,7 +10909,7 @@ { "index": 466, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -10925,7 +10925,7 @@ { "index": 467, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -10941,7 +10941,7 @@ { "index": 468, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -10957,7 +10957,7 @@ { "index": 469, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -10973,7 +10973,7 @@ { "index": 470, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11028,7 +11028,7 @@ { "index": 471, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11083,7 +11083,7 @@ { "index": 472, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11138,7 +11138,7 @@ { "index": 473, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11193,7 +11193,7 @@ { "index": 474, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11248,7 +11248,7 @@ { "index": 475, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11303,7 +11303,7 @@ { "index": 476, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11369,7 +11369,7 @@ { "index": 477, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11435,7 +11435,7 @@ { "index": 478, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11501,7 +11501,7 @@ { "index": 479, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11578,7 +11578,7 @@ { "index": 480, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11655,7 +11655,7 @@ { "index": 481, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -11732,7 +11732,7 @@ { "index": 482, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -11758,7 +11758,7 @@ { "index": 483, "type": 1, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -11799,7 +11799,7 @@ { "index": 484, "type": 0, - "class": 60, + "class": "TRAINER_CLASS_SCHOOL_KID_M", "unk2": 0, "items": [], "unkC": 1, @@ -11815,7 +11815,7 @@ { "index": 485, "type": 0, - "class": 61, + "class": "TRAINER_CLASS_SCHOOL_KID_F", "unk2": 0, "items": [], "unkC": 1, @@ -11831,7 +11831,7 @@ { "index": 486, "type": 1, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -11861,7 +11861,7 @@ { "index": 487, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -11877,7 +11877,7 @@ { "index": 488, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -11903,7 +11903,7 @@ { "index": 489, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -11924,7 +11924,7 @@ { "index": 490, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -11940,7 +11940,7 @@ { "index": 491, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -11956,7 +11956,7 @@ { "index": 492, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -11972,7 +11972,7 @@ { "index": 493, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -11988,7 +11988,7 @@ { "index": 494, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -12004,7 +12004,7 @@ { "index": 495, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -12020,7 +12020,7 @@ { "index": 496, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -12046,7 +12046,7 @@ { "index": 497, "type": 1, - "class": 44, + "class": "TRAINER_CLASS_TUBER_M", "unk2": 0, "items": [], "unkC": 1, @@ -12068,7 +12068,7 @@ { "index": 498, "type": 1, - "class": 45, + "class": "TRAINER_CLASS_TUBER_F", "unk2": 0, "items": [], "unkC": 1, @@ -12100,7 +12100,7 @@ { "index": 499, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -12144,7 +12144,7 @@ { "index": 500, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -12188,7 +12188,7 @@ { "index": 501, "type": 0, - "class": 81, + "class": "TRAINER_CLASS_WAITER", "unk2": 0, "items": [], "unkC": 1, @@ -12204,7 +12204,7 @@ { "index": 502, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -12220,7 +12220,7 @@ { "index": 503, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -12241,7 +12241,7 @@ { "index": 504, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -12257,7 +12257,7 @@ { "index": 505, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -12278,7 +12278,7 @@ { "index": 506, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -12304,7 +12304,7 @@ { "index": 507, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12320,7 +12320,7 @@ { "index": 508, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12341,7 +12341,7 @@ { "index": 509, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12357,7 +12357,7 @@ { "index": 510, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12383,7 +12383,7 @@ { "index": 511, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12399,7 +12399,7 @@ { "index": 512, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12420,7 +12420,7 @@ { "index": 513, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12441,7 +12441,7 @@ { "index": 514, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12462,7 +12462,7 @@ { "index": 515, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12478,7 +12478,7 @@ { "index": 516, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12504,7 +12504,7 @@ { "index": 517, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12525,7 +12525,7 @@ { "index": 518, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12551,7 +12551,7 @@ { "index": 519, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12567,7 +12567,7 @@ { "index": 520, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12588,7 +12588,7 @@ { "index": 521, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -12609,7 +12609,7 @@ { "index": 522, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -12635,7 +12635,7 @@ { "index": 523, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -12651,7 +12651,7 @@ { "index": 524, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -12677,7 +12677,7 @@ { "index": 525, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -12698,7 +12698,7 @@ { "index": 526, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -12724,7 +12724,7 @@ { "index": 527, "type": 0, - "class": 89, + "class": "TRAINER_CLASS_GALACTIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -12745,7 +12745,7 @@ { "index": 528, "type": 3, - "class": 72, + "class": "TRAINER_CLASS_COMMANDER_MARS", "unk2": 0, "items": [], "unkC": 1, @@ -12792,7 +12792,7 @@ { "index": 529, "type": 0, - "class": 57, + "class": "TRAINER_CLASS_ROUGHNECK", "unk2": 0, "items": [], "unkC": 1, @@ -12808,7 +12808,7 @@ { "index": 530, "type": 0, - "class": 20, + "class": "TRAINER_CLASS_POKEFAN_M", "unk2": 0, "items": [], "unkC": 1, @@ -12834,7 +12834,7 @@ { "index": 531, "type": 0, - "class": 21, + "class": "TRAINER_CLASS_POKEFAN_F", "unk2": 0, "items": [], "unkC": 1, @@ -12850,7 +12850,7 @@ { "index": 532, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -12876,7 +12876,7 @@ { "index": 533, "type": 0, - "class": 70, + "class": "TRAINER_CLASS_BELLE__PA", "unk2": 0, "items": [], "unkC": 1, @@ -12897,7 +12897,7 @@ { "index": 534, "type": 0, - "class": 23, + "class": "TRAINER_CLASS_YOUNG_COUPLE", "unk2": 0, "items": [], "unkC": 1, @@ -12918,7 +12918,7 @@ { "index": 535, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -12934,7 +12934,7 @@ { "index": 536, "type": 0, - "class": 15, + "class": "TRAINER_CLASS_ARTIST", "unk2": 0, "items": [], "unkC": 1, @@ -12950,7 +12950,7 @@ { "index": 537, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -12971,7 +12971,7 @@ { "index": 538, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -12992,7 +12992,7 @@ { "index": 539, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -13018,7 +13018,7 @@ { "index": 540, "type": 0, - "class": 21, + "class": "TRAINER_CLASS_POKEFAN_F", "unk2": 0, "items": [], "unkC": 1, @@ -13039,7 +13039,7 @@ { "index": 541, "type": 1, - "class": 51, + "class": "TRAINER_CLASS_PI", "unk2": 0, "items": [], "unkC": 1, @@ -13068,7 +13068,7 @@ { "index": 542, "type": 0, - "class": 34, + "class": "TRAINER_CLASS_GENTLEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -13089,7 +13089,7 @@ { "index": 543, "type": 0, - "class": 35, + "class": "TRAINER_CLASS_SOCIALITE", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -13112,7 +13112,7 @@ { "index": 544, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -13133,7 +13133,7 @@ { "index": 545, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -13149,7 +13149,7 @@ { "index": 546, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -13170,7 +13170,7 @@ { "index": 547, "type": 0, - "class": 84, + "class": "TRAINER_CLASS_REPORTER", "unk2": 0, "items": [], "unkC": 1, @@ -13186,7 +13186,7 @@ { "index": 548, "type": 1, - "class": 60, + "class": "TRAINER_CLASS_SCHOOL_KID_M", "unk2": 0, "items": [], "unkC": 1, @@ -13208,7 +13208,7 @@ { "index": 549, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -13224,7 +13224,7 @@ { "index": 550, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -13240,7 +13240,7 @@ { "index": 551, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -13256,7 +13256,7 @@ { "index": 552, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -13287,7 +13287,7 @@ { "index": 553, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -13313,7 +13313,7 @@ { "index": 554, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -13334,7 +13334,7 @@ { "index": 555, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -13355,7 +13355,7 @@ { "index": 556, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -13381,7 +13381,7 @@ { "index": 557, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -13402,7 +13402,7 @@ { "index": 558, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -13418,7 +13418,7 @@ { "index": 559, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -13434,7 +13434,7 @@ { "index": 560, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -13455,7 +13455,7 @@ { "index": 561, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -13481,7 +13481,7 @@ { "index": 562, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -13502,7 +13502,7 @@ { "index": 563, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13535,7 +13535,7 @@ { "index": 564, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13557,7 +13557,7 @@ { "index": 565, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13590,7 +13590,7 @@ { "index": 566, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13623,7 +13623,7 @@ { "index": 567, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13656,7 +13656,7 @@ { "index": 568, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13678,7 +13678,7 @@ { "index": 569, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13711,7 +13711,7 @@ { "index": 570, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13744,7 +13744,7 @@ { "index": 571, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13777,7 +13777,7 @@ { "index": 572, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -13799,7 +13799,7 @@ { "index": 573, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -13832,7 +13832,7 @@ { "index": 574, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -13876,7 +13876,7 @@ { "index": 575, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -13909,7 +13909,7 @@ { "index": 576, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -13953,7 +13953,7 @@ { "index": 577, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -13986,7 +13986,7 @@ { "index": 578, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14008,7 +14008,7 @@ { "index": 579, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14041,7 +14041,7 @@ { "index": 580, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14063,7 +14063,7 @@ { "index": 581, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14107,7 +14107,7 @@ { "index": 582, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14140,7 +14140,7 @@ { "index": 583, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -14161,7 +14161,7 @@ { "index": 584, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -14182,7 +14182,7 @@ { "index": 585, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -14203,7 +14203,7 @@ { "index": 586, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -14224,7 +14224,7 @@ { "index": 587, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -14250,7 +14250,7 @@ { "index": 588, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -14271,7 +14271,7 @@ { "index": 589, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -14297,7 +14297,7 @@ { "index": 590, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -14313,7 +14313,7 @@ { "index": 591, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14334,7 +14334,7 @@ { "index": 592, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14355,7 +14355,7 @@ { "index": 593, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14371,7 +14371,7 @@ { "index": 594, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14392,7 +14392,7 @@ { "index": 595, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14413,7 +14413,7 @@ { "index": 596, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14434,7 +14434,7 @@ { "index": 597, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14455,7 +14455,7 @@ { "index": 598, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14471,7 +14471,7 @@ { "index": 599, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14492,7 +14492,7 @@ { "index": 600, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -14518,7 +14518,7 @@ { "index": 601, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14539,7 +14539,7 @@ { "index": 602, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14560,7 +14560,7 @@ { "index": 603, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14581,7 +14581,7 @@ { "index": 604, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -14607,7 +14607,7 @@ { "index": 605, "type": 0, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -14623,7 +14623,7 @@ { "index": 606, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -14667,7 +14667,7 @@ { "index": 607, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -14744,7 +14744,7 @@ { "index": 608, "type": 1, - "class": 90, + "class": "TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -14765,7 +14765,7 @@ { "index": 609, "type": 1, - "class": 91, + "class": "TRAINER_CLASS_PKMN_TRAINER_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -14787,7 +14787,7 @@ { "index": 610, "type": 1, - "class": 92, + "class": "TRAINER_CLASS_PKMN_TRAINER_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -14809,7 +14809,7 @@ { "index": 611, "type": 1, - "class": 93, + "class": "TRAINER_CLASS_PKMN_TRAINER_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -14831,7 +14831,7 @@ { "index": 612, "type": 1, - "class": 94, + "class": "TRAINER_CLASS_PKMN_TRAINER_POKEKID", "unk2": 0, "items": [], "unkC": 1, @@ -14853,7 +14853,7 @@ { "index": 613, "type": 1, - "class": 95, + "class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS", "unk2": 0, "items": [], "unkC": 1, @@ -14873,7 +14873,7 @@ { "index": 614, "type": 1, - "class": 95, + "class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS", "unk2": 0, "items": [], "unkC": 1, @@ -14893,7 +14893,7 @@ { "index": 615, "type": 1, - "class": 95, + "class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS", "unk2": 0, "items": [], "unkC": 1, @@ -14913,7 +14913,7 @@ { "index": 616, "type": 1, - "class": 96, + "class": "TRAINER_CLASS_PKMN_TRAINER_DAWN", "unk2": 0, "items": [], "unkC": 1, @@ -14933,7 +14933,7 @@ { "index": 617, "type": 1, - "class": 96, + "class": "TRAINER_CLASS_PKMN_TRAINER_DAWN", "unk2": 0, "items": [], "unkC": 1, @@ -14953,7 +14953,7 @@ { "index": 618, "type": 1, - "class": 96, + "class": "TRAINER_CLASS_PKMN_TRAINER_DAWN", "unk2": 0, "items": [], "unkC": 1, @@ -14973,7 +14973,7 @@ { "index": 619, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -15050,7 +15050,7 @@ { "index": 620, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -15127,7 +15127,7 @@ { "index": 621, "type": 1, - "class": 95, + "class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS", "unk2": 0, "items": [], "unkC": 1, @@ -15171,7 +15171,7 @@ { "index": 622, "type": 1, - "class": 95, + "class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS", "unk2": 0, "items": [], "unkC": 1, @@ -15215,7 +15215,7 @@ { "index": 623, "type": 1, - "class": 95, + "class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS", "unk2": 0, "items": [], "unkC": 1, @@ -15259,7 +15259,7 @@ { "index": 624, "type": 1, - "class": 96, + "class": "TRAINER_CLASS_PKMN_TRAINER_DAWN", "unk2": 0, "items": [], "unkC": 1, @@ -15303,7 +15303,7 @@ { "index": 625, "type": 1, - "class": 96, + "class": "TRAINER_CLASS_PKMN_TRAINER_DAWN", "unk2": 0, "items": [], "unkC": 1, @@ -15347,7 +15347,7 @@ { "index": 626, "type": 1, - "class": 96, + "class": "TRAINER_CLASS_PKMN_TRAINER_DAWN", "unk2": 0, "items": [], "unkC": 1, @@ -15391,7 +15391,7 @@ { "index": 627, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -15407,7 +15407,7 @@ { "index": 628, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -15423,7 +15423,7 @@ { "index": 629, "type": 0, - "class": 7, + "class": "TRAINER_CLASS_AROMA_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -15439,7 +15439,7 @@ { "index": 630, "type": 0, - "class": 15, + "class": "TRAINER_CLASS_ARTIST", "unk2": 0, "items": [], "unkC": 1, @@ -15460,7 +15460,7 @@ { "index": 631, "type": 0, - "class": 15, + "class": "TRAINER_CLASS_ARTIST", "unk2": 0, "items": [], "unkC": 1, @@ -15481,7 +15481,7 @@ { "index": 632, "type": 0, - "class": 15, + "class": "TRAINER_CLASS_ARTIST", "unk2": 0, "items": [], "unkC": 1, @@ -15502,7 +15502,7 @@ { "index": 633, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -15523,7 +15523,7 @@ { "index": 634, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -15544,7 +15544,7 @@ { "index": 635, "type": 0, - "class": 10, + "class": "TRAINER_CLASS_BATTLE_GIRL", "unk2": 0, "items": [], "unkC": 1, @@ -15565,7 +15565,7 @@ { "index": 636, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -15586,7 +15586,7 @@ { "index": 637, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -15607,7 +15607,7 @@ { "index": 638, "type": 0, - "class": 30, + "class": "TRAINER_CLASS_BIRD_KEEPER", "unk2": 0, "items": [], "unkC": 1, @@ -15628,7 +15628,7 @@ { "index": 639, "type": 0, - "class": 16, + "class": "TRAINER_CLASS_PKMN_BREEDER_M", "unk2": 0, "items": [], "unkC": 1, @@ -15654,7 +15654,7 @@ { "index": 640, "type": 0, - "class": 16, + "class": "TRAINER_CLASS_PKMN_BREEDER_M", "unk2": 0, "items": [], "unkC": 1, @@ -15680,7 +15680,7 @@ { "index": 641, "type": 0, - "class": 16, + "class": "TRAINER_CLASS_PKMN_BREEDER_M", "unk2": 0, "items": [], "unkC": 1, @@ -15706,7 +15706,7 @@ { "index": 642, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -15732,7 +15732,7 @@ { "index": 643, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -15758,7 +15758,7 @@ { "index": 644, "type": 0, - "class": 17, + "class": "TRAINER_CLASS_PKMN_BREEDER_F", "unk2": 0, "items": [], "unkC": 1, @@ -15784,7 +15784,7 @@ { "index": 645, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -15806,7 +15806,7 @@ { "index": 646, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -15828,7 +15828,7 @@ { "index": 647, "type": 1, - "class": 4, + "class": "TRAINER_CLASS_CAMPER", "unk2": 0, "items": [], "unkC": 1, @@ -15850,7 +15850,7 @@ { "index": 648, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -15894,7 +15894,7 @@ { "index": 649, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -15927,7 +15927,7 @@ { "index": 650, "type": 0, - "class": 37, + "class": "TRAINER_CLASS_COLLECTOR", "unk2": 0, "items": [], "unkC": 1, @@ -15953,7 +15953,7 @@ { "index": 651, "type": 0, - "class": 18, + "class": "TRAINER_CLASS_COWGIRL", "unk2": 0, "items": [], "unkC": 1, @@ -15969,7 +15969,7 @@ { "index": 652, "type": 0, - "class": 18, + "class": "TRAINER_CLASS_COWGIRL", "unk2": 0, "items": [], "unkC": 1, @@ -15985,7 +15985,7 @@ { "index": 653, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -16006,7 +16006,7 @@ { "index": 654, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -16027,7 +16027,7 @@ { "index": 655, "type": 0, - "class": 12, + "class": "TRAINER_CLASS_CYCLIST_M", "unk2": 0, "items": [], "unkC": 1, @@ -16048,7 +16048,7 @@ { "index": 656, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -16064,7 +16064,7 @@ { "index": 657, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -16080,7 +16080,7 @@ { "index": 658, "type": 0, - "class": 13, + "class": "TRAINER_CLASS_CYCLIST_F", "unk2": 0, "items": [], "unkC": 1, @@ -16096,7 +16096,7 @@ { "index": 659, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -16112,7 +16112,7 @@ { "index": 660, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -16128,7 +16128,7 @@ { "index": 661, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -16149,7 +16149,7 @@ { "index": 662, "type": 0, - "class": 29, + "class": "TRAINER_CLASS_DRAGON_TAMER", "unk2": 0, "items": [], "unkC": 1, @@ -16170,7 +16170,7 @@ { "index": 663, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 0, @@ -16203,7 +16203,7 @@ { "index": 664, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -16247,7 +16247,7 @@ { "index": 665, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -16291,7 +16291,7 @@ { "index": 666, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -16324,7 +16324,7 @@ { "index": 667, "type": 1, - "class": 24, + "class": "TRAINER_CLASS_ACE_TRAINER_M", "unk2": 0, "items": [], "unkC": 1, @@ -16346,7 +16346,7 @@ { "index": 668, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -16390,7 +16390,7 @@ { "index": 669, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -16423,7 +16423,7 @@ { "index": 670, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -16456,7 +16456,7 @@ { "index": 671, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -16489,7 +16489,7 @@ { "index": 672, "type": 1, - "class": 25, + "class": "TRAINER_CLASS_ACE_TRAINER_F", "unk2": 0, "items": [], "unkC": 1, @@ -16533,7 +16533,7 @@ { "index": 673, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -16554,7 +16554,7 @@ { "index": 674, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -16575,7 +16575,7 @@ { "index": 675, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -16596,7 +16596,7 @@ { "index": 676, "type": 0, - "class": 49, + "class": "TRAINER_CLASS_PSYCHIC_M", "unk2": 0, "items": [], "unkC": 1, @@ -16617,7 +16617,7 @@ { "index": 677, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -16643,7 +16643,7 @@ { "index": 678, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -16669,7 +16669,7 @@ { "index": 679, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -16690,7 +16690,7 @@ { "index": 680, "type": 0, - "class": 50, + "class": "TRAINER_CLASS_PSYCHIC_F", "unk2": 0, "items": [], "unkC": 1, @@ -16711,7 +16711,7 @@ { "index": 681, "type": 0, - "class": 71, + "class": "TRAINER_CLASS_RANCHER", "unk2": 0, "items": [], "unkC": 1, @@ -16737,7 +16737,7 @@ { "index": 682, "type": 0, - "class": 71, + "class": "TRAINER_CLASS_RANCHER", "unk2": 0, "items": [], "unkC": 1, @@ -16763,7 +16763,7 @@ { "index": 683, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -16779,7 +16779,7 @@ { "index": 684, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -16795,7 +16795,7 @@ { "index": 685, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -16816,7 +16816,7 @@ { "index": 686, "type": 0, - "class": 11, + "class": "TRAINER_CLASS_FISHERMAN", "unk2": 0, "items": [], "unkC": 1, @@ -16837,7 +16837,7 @@ { "index": 687, "type": 0, - "class": 8, + "class": "TRAINER_CLASS_TWINS", "unk2": 0, "items": [], "unkC": 1, @@ -16858,7 +16858,7 @@ { "index": 688, "type": 0, - "class": 8, + "class": "TRAINER_CLASS_TWINS", "unk2": 0, "items": [], "unkC": 1, @@ -16879,7 +16879,7 @@ { "index": 689, "type": 1, - "class": 51, + "class": "TRAINER_CLASS_PI", "unk2": 0, "items": [], "unkC": 1, @@ -16917,7 +16917,7 @@ { "index": 690, "type": 1, - "class": 51, + "class": "TRAINER_CLASS_PI", "unk2": 0, "items": [], "unkC": 1, @@ -16955,7 +16955,7 @@ { "index": 691, "type": 0, - "class": 34, + "class": "TRAINER_CLASS_GENTLEMAN", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -16973,7 +16973,7 @@ { "index": 692, "type": 0, - "class": 34, + "class": "TRAINER_CLASS_GENTLEMAN", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -16991,7 +16991,7 @@ { "index": 693, "type": 0, - "class": 34, + "class": "TRAINER_CLASS_GENTLEMAN", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -17009,7 +17009,7 @@ { "index": 694, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -17025,7 +17025,7 @@ { "index": 695, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -17041,7 +17041,7 @@ { "index": 696, "type": 0, - "class": 48, + "class": "TRAINER_CLASS_RUIN_MANIAC", "unk2": 0, "items": [], "unkC": 1, @@ -17057,7 +17057,7 @@ { "index": 697, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -17083,7 +17083,7 @@ { "index": 698, "type": 0, - "class": 19, + "class": "TRAINER_CLASS_JOGGER", "unk2": 0, "items": [], "unkC": 1, @@ -17109,7 +17109,7 @@ { "index": 699, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -17125,7 +17125,7 @@ { "index": 700, "type": 0, - "class": 14, + "class": "TRAINER_CLASS_BLACK_BELT", "unk2": 0, "items": [], "unkC": 1, @@ -17151,7 +17151,7 @@ { "index": 701, "type": 0, - "class": 35, + "class": "TRAINER_CLASS_SOCIALITE", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -17169,7 +17169,7 @@ { "index": 702, "type": 0, - "class": 35, + "class": "TRAINER_CLASS_SOCIALITE", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -17187,7 +17187,7 @@ { "index": 703, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -17203,7 +17203,7 @@ { "index": 704, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -17219,7 +17219,7 @@ { "index": 705, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -17235,7 +17235,7 @@ { "index": 706, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -17256,7 +17256,7 @@ { "index": 707, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -17277,7 +17277,7 @@ { "index": 708, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -17298,7 +17298,7 @@ { "index": 709, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -17319,7 +17319,7 @@ { "index": 710, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -17340,7 +17340,7 @@ { "index": 711, "type": 0, - "class": 9, + "class": "TRAINER_CLASS_HIKER", "unk2": 0, "items": [], "unkC": 1, @@ -17361,7 +17361,7 @@ { "index": 712, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -17382,7 +17382,7 @@ { "index": 713, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -17403,7 +17403,7 @@ { "index": 714, "type": 0, - "class": 6, + "class": "TRAINER_CLASS_BUG_CATCHER", "unk2": 0, "items": [], "unkC": 1, @@ -17424,7 +17424,7 @@ { "index": 715, "type": 0, - "class": 80, + "class": "TRAINER_CLASS_PARASOL_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -17445,7 +17445,7 @@ { "index": 716, "type": 0, - "class": 80, + "class": "TRAINER_CLASS_PARASOL_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -17466,7 +17466,7 @@ { "index": 717, "type": 0, - "class": 80, + "class": "TRAINER_CLASS_PARASOL_LADY", "unk2": 0, "items": [], "unkC": 1, @@ -17487,7 +17487,7 @@ { "index": 718, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -17509,7 +17509,7 @@ { "index": 719, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 1, @@ -17531,7 +17531,7 @@ { "index": 720, "type": 1, - "class": 5, + "class": "TRAINER_CLASS_PICNICKER", "unk2": 0, "items": [], "unkC": 0, @@ -17553,7 +17553,7 @@ { "index": 721, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -17569,7 +17569,7 @@ { "index": 722, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -17585,7 +17585,7 @@ { "index": 723, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -17601,7 +17601,7 @@ { "index": 724, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -17622,7 +17622,7 @@ { "index": 725, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -17643,7 +17643,7 @@ { "index": 726, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -17664,7 +17664,7 @@ { "index": 727, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -17680,7 +17680,7 @@ { "index": 728, "type": 0, - "class": 32, + "class": "TRAINER_CLASS_RICH_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -17696,7 +17696,7 @@ { "index": 729, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -17714,7 +17714,7 @@ { "index": 730, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -17732,7 +17732,7 @@ { "index": 731, "type": 0, - "class": 33, + "class": "TRAINER_CLASS_LADY", "unk2": 0, "items": [ "ITEM_FULL_RESTORE" @@ -17750,7 +17750,7 @@ { "index": 732, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -17771,7 +17771,7 @@ { "index": 733, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -17792,7 +17792,7 @@ { "index": 734, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -17813,7 +17813,7 @@ { "index": 735, "type": 0, - "class": 39, + "class": "TRAINER_CLASS_PKMN_RANGER_M", "unk2": 0, "items": [], "unkC": 1, @@ -17834,7 +17834,7 @@ { "index": 736, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -17855,7 +17855,7 @@ { "index": 737, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -17876,7 +17876,7 @@ { "index": 738, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -17897,7 +17897,7 @@ { "index": 739, "type": 0, - "class": 40, + "class": "TRAINER_CLASS_PKMN_RANGER_F", "unk2": 0, "items": [], "unkC": 1, @@ -17918,7 +17918,7 @@ { "index": 740, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -17939,7 +17939,7 @@ { "index": 741, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -17960,7 +17960,7 @@ { "index": 742, "type": 0, - "class": 46, + "class": "TRAINER_CLASS_SAILOR", "unk2": 0, "items": [], "unkC": 1, @@ -17986,7 +17986,7 @@ { "index": 743, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -18007,7 +18007,7 @@ { "index": 744, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -18028,7 +18028,7 @@ { "index": 745, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -18049,7 +18049,7 @@ { "index": 746, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -18075,7 +18075,7 @@ { "index": 747, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -18101,7 +18101,7 @@ { "index": 748, "type": 0, - "class": 28, + "class": "TRAINER_CLASS_NINJA_BOY", "unk2": 0, "items": [], "unkC": 1, @@ -18127,7 +18127,7 @@ { "index": 749, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -18143,7 +18143,7 @@ { "index": 750, "type": 0, - "class": 36, + "class": "TRAINER_CLASS_BEAUTY", "unk2": 0, "items": [], "unkC": 1, @@ -18159,7 +18159,7 @@ { "index": 751, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18175,7 +18175,7 @@ { "index": 752, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18191,7 +18191,7 @@ { "index": 753, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18212,7 +18212,7 @@ { "index": 754, "type": 0, - "class": 55, + "class": "TRAINER_CLASS_SKIER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18233,7 +18233,7 @@ { "index": 755, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18249,7 +18249,7 @@ { "index": 756, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18265,7 +18265,7 @@ { "index": 757, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18281,7 +18281,7 @@ { "index": 758, "type": 0, - "class": 56, + "class": "TRAINER_CLASS_SKIER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18297,7 +18297,7 @@ { "index": 759, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18318,7 +18318,7 @@ { "index": 760, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18339,7 +18339,7 @@ { "index": 761, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18360,7 +18360,7 @@ { "index": 762, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18376,7 +18376,7 @@ { "index": 763, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18397,7 +18397,7 @@ { "index": 764, "type": 0, - "class": 43, + "class": "TRAINER_CLASS_SWIMMER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18418,7 +18418,7 @@ { "index": 765, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -18434,7 +18434,7 @@ { "index": 766, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -18450,7 +18450,7 @@ { "index": 767, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -18466,7 +18466,7 @@ { "index": 768, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -18482,7 +18482,7 @@ { "index": 769, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -18498,7 +18498,7 @@ { "index": 770, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -18514,7 +18514,7 @@ { "index": 771, "type": 0, - "class": 44, + "class": "TRAINER_CLASS_TUBER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18540,7 +18540,7 @@ { "index": 772, "type": 0, - "class": 44, + "class": "TRAINER_CLASS_TUBER_M", "unk2": 0, "items": [], "unkC": 1, @@ -18566,7 +18566,7 @@ { "index": 773, "type": 1, - "class": 45, + "class": "TRAINER_CLASS_TUBER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18588,7 +18588,7 @@ { "index": 774, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -18632,7 +18632,7 @@ { "index": 775, "type": 1, - "class": 45, + "class": "TRAINER_CLASS_TUBER_F", "unk2": 0, "items": [], "unkC": 1, @@ -18654,7 +18654,7 @@ { "index": 776, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -18698,7 +18698,7 @@ { "index": 777, "type": 1, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -18742,7 +18742,7 @@ { "index": 778, "type": 0, - "class": 27, + "class": "TRAINER_CLASS_VETERAN", "unk2": 0, "items": [], "unkC": 1, @@ -18758,7 +18758,7 @@ { "index": 779, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -18774,7 +18774,7 @@ { "index": 780, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -18790,7 +18790,7 @@ { "index": 781, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -18806,7 +18806,7 @@ { "index": 782, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -18822,7 +18822,7 @@ { "index": 783, "type": 0, - "class": 83, + "class": "TRAINER_CLASS_CAMERAMAN", "unk2": 0, "items": [], "unkC": 1, @@ -18838,7 +18838,7 @@ { "index": 784, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -18854,7 +18854,7 @@ { "index": 785, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -18870,7 +18870,7 @@ { "index": 786, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -18886,7 +18886,7 @@ { "index": 787, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -18902,7 +18902,7 @@ { "index": 788, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -18918,7 +18918,7 @@ { "index": 789, "type": 0, - "class": 52, + "class": "TRAINER_CLASS_GUITARIST", "unk2": 0, "items": [], "unkC": 1, @@ -18934,7 +18934,7 @@ { "index": 790, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -18950,7 +18950,7 @@ { "index": 791, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -18966,7 +18966,7 @@ { "index": 792, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -18982,7 +18982,7 @@ { "index": 793, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -18998,7 +18998,7 @@ { "index": 794, "type": 0, - "class": 85, + "class": "TRAINER_CLASS_IDOL", "unk2": 0, "items": [], "unkC": 1, @@ -19014,7 +19014,7 @@ { "index": 795, "type": 0, - "class": 82, + "class": "TRAINER_CLASS_INTERVIEWERS", "unk2": 0, "items": [], "unkC": 1, @@ -19035,7 +19035,7 @@ { "index": 796, "type": 0, - "class": 82, + "class": "TRAINER_CLASS_INTERVIEWERS", "unk2": 0, "items": [], "unkC": 1, @@ -19056,7 +19056,7 @@ { "index": 797, "type": 0, - "class": 82, + "class": "TRAINER_CLASS_INTERVIEWERS", "unk2": 0, "items": [], "unkC": 1, @@ -19077,7 +19077,7 @@ { "index": 798, "type": 0, - "class": 82, + "class": "TRAINER_CLASS_INTERVIEWERS", "unk2": 0, "items": [], "unkC": 1, @@ -19098,7 +19098,7 @@ { "index": 799, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -19114,7 +19114,7 @@ { "index": 800, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -19130,7 +19130,7 @@ { "index": 801, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -19146,7 +19146,7 @@ { "index": 802, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -19162,7 +19162,7 @@ { "index": 803, "type": 0, - "class": 58, + "class": "TRAINER_CLASS_CLOWN", "unk2": 0, "items": [], "unkC": 1, @@ -19178,7 +19178,7 @@ { "index": 804, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -19194,7 +19194,7 @@ { "index": 805, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -19210,7 +19210,7 @@ { "index": 806, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -19226,7 +19226,7 @@ { "index": 807, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -19242,7 +19242,7 @@ { "index": 808, "type": 0, - "class": 38, + "class": "TRAINER_CLASS_POLICEMAN", "unk2": 0, "items": [], "unkC": 1, @@ -19258,7 +19258,7 @@ { "index": 809, "type": 0, - "class": 84, + "class": "TRAINER_CLASS_REPORTER", "unk2": 0, "items": [], "unkC": 1, @@ -19274,7 +19274,7 @@ { "index": 810, "type": 0, - "class": 84, + "class": "TRAINER_CLASS_REPORTER", "unk2": 0, "items": [], "unkC": 1, @@ -19290,7 +19290,7 @@ { "index": 811, "type": 0, - "class": 84, + "class": "TRAINER_CLASS_REPORTER", "unk2": 0, "items": [], "unkC": 1, @@ -19306,7 +19306,7 @@ { "index": 812, "type": 0, - "class": 84, + "class": "TRAINER_CLASS_REPORTER", "unk2": 0, "items": [], "unkC": 1, @@ -19322,7 +19322,7 @@ { "index": 813, "type": 0, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -19338,7 +19338,7 @@ { "index": 814, "type": 0, - "class": 42, + "class": "TRAINER_CLASS_SWIMMER_M", "unk2": 0, "items": [], "unkC": 1, @@ -19354,7 +19354,7 @@ { "index": 815, "type": 0, - "class": 81, + "class": "TRAINER_CLASS_WAITER", "unk2": 0, "items": [], "unkC": 1, @@ -19370,7 +19370,7 @@ { "index": 816, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -19386,7 +19386,7 @@ { "index": 817, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19407,7 +19407,7 @@ { "index": 818, "type": 1, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -19437,7 +19437,7 @@ { "index": 819, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19458,7 +19458,7 @@ { "index": 820, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19479,7 +19479,7 @@ { "index": 821, "type": 1, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -19512,7 +19512,7 @@ { "index": 822, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19533,7 +19533,7 @@ { "index": 823, "type": 0, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19554,7 +19554,7 @@ { "index": 824, "type": 0, - "class": 3, + "class": "TRAINER_CLASS_LASS", "unk2": 0, "items": [], "unkC": 1, @@ -19575,7 +19575,7 @@ { "index": 825, "type": 1, - "class": 2, + "class": "TRAINER_CLASS_YOUNGSTER", "unk2": 0, "items": [], "unkC": 1, @@ -19608,7 +19608,7 @@ { "index": 826, "type": 0, - "class": 97, + "class": "TRAINER_CLASS_TOWER_TYCOON", "unk2": 0, "items": [], "unkC": 1, @@ -19624,7 +19624,7 @@ { "index": 827, "type": 1, - "class": 53, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M", "unk2": 0, "items": [], "unkC": 1, @@ -19645,7 +19645,7 @@ { "index": 828, "type": 1, - "class": 54, + "class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F", "unk2": 0, "items": [], "unkC": 1, @@ -19666,7 +19666,7 @@ { "index": 829, "type": 1, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -19687,7 +19687,7 @@ { "index": 830, "type": 1, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -19720,7 +19720,7 @@ { "index": 831, "type": 1, - "class": 41, + "class": "TRAINER_CLASS_SCIENTIST", "unk2": 0, "items": [], "unkC": 1, @@ -19740,7 +19740,7 @@ { "index": 832, "type": 0, - "class": 22, + "class": "TRAINER_CLASS_POKE_KID", "unk2": 0, "items": [], "unkC": 1, @@ -19761,7 +19761,7 @@ { "index": 833, "type": 1, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -19804,7 +19804,7 @@ { "index": 834, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -19830,7 +19830,7 @@ { "index": 835, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -19856,7 +19856,7 @@ { "index": 836, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -19882,7 +19882,7 @@ { "index": 837, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -19959,7 +19959,7 @@ { "index": 838, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -20036,7 +20036,7 @@ { "index": 839, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -20113,7 +20113,7 @@ { "index": 840, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -20190,7 +20190,7 @@ { "index": 841, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -20267,7 +20267,7 @@ { "index": 842, "type": 1, - "class": 63, + "class": "TRAINER_CLASS_PKMN_TRAINER_BARRY", "unk2": 0, "items": [], "unkC": 1, @@ -20344,7 +20344,7 @@ { "index": 843, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -20360,7 +20360,7 @@ { "index": 844, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -20381,7 +20381,7 @@ { "index": 845, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -20397,7 +20397,7 @@ { "index": 846, "type": 0, - "class": 59, + "class": "TRAINER_CLASS_WORKER", "unk2": 0, "items": [], "unkC": 1, @@ -20413,7 +20413,7 @@ { "index": 847, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -20429,7 +20429,7 @@ { "index": 848, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, @@ -20450,7 +20450,7 @@ { "index": 849, "type": 0, - "class": 73, + "class": "TRAINER_CLASS_GALACTIC", "unk2": 0, "items": [], "unkC": 1, diff --git a/files/poketool/trainer/trdata.json.txt b/files/poketool/trainer/trdata.json.txt index 3c84dc27f..c85e80e43 100644 --- a/files/poketool/trainer/trdata.json.txt +++ b/files/poketool/trainer/trdata.json.txt @@ -3,6 +3,7 @@ #include "global.h" #include "trainer_data.h" #include "constants/items.h" +#include "constants/trainer_classes.h" u32 __size = sizeof(struct TrainerData); diff --git a/include/constants/trainer_classes.h b/include/constants/trainer_classes.h new file mode 100644 index 000000000..62355cdf0 --- /dev/null +++ b/include/constants/trainer_classes.h @@ -0,0 +1,103 @@ +#ifndef POKEDIAMOND_CONSTANTS_TRAINER_CLASSES_H +#define POKEDIAMOND_CONSTANTS_TRAINER_CLASSES_H + +#define TRAINER_CLASS_PKMN_TRAINER_M 0 +#define TRAINER_CLASS_PKMN_TRAINER_F 1 +#define TRAINER_CLASS_YOUNGSTER 2 +#define TRAINER_CLASS_LASS 3 +#define TRAINER_CLASS_CAMPER 4 +#define TRAINER_CLASS_PICNICKER 5 +#define TRAINER_CLASS_BUG_CATCHER 6 +#define TRAINER_CLASS_AROMA_LADY 7 +#define TRAINER_CLASS_TWINS 8 +#define TRAINER_CLASS_HIKER 9 +#define TRAINER_CLASS_BATTLE_GIRL 10 +#define TRAINER_CLASS_FISHERMAN 11 +#define TRAINER_CLASS_CYCLIST_M 12 +#define TRAINER_CLASS_CYCLIST_F 13 +#define TRAINER_CLASS_BLACK_BELT 14 +#define TRAINER_CLASS_ARTIST 15 +#define TRAINER_CLASS_PKMN_BREEDER_M 16 +#define TRAINER_CLASS_PKMN_BREEDER_F 17 +#define TRAINER_CLASS_COWGIRL 18 +#define TRAINER_CLASS_JOGGER 19 +#define TRAINER_CLASS_POKEFAN_M 20 +#define TRAINER_CLASS_POKEFAN_F 21 +#define TRAINER_CLASS_POKE_KID 22 +#define TRAINER_CLASS_YOUNG_COUPLE 23 +#define TRAINER_CLASS_ACE_TRAINER_M 24 +#define TRAINER_CLASS_ACE_TRAINER_F 25 +#define TRAINER_CLASS_WAITRESS 26 +#define TRAINER_CLASS_VETERAN 27 +#define TRAINER_CLASS_NINJA_BOY 28 +#define TRAINER_CLASS_DRAGON_TAMER 29 +#define TRAINER_CLASS_BIRD_KEEPER 30 +#define TRAINER_CLASS_DOUBLE_TEAM 31 +#define TRAINER_CLASS_RICH_BOY 32 +#define TRAINER_CLASS_LADY 33 +#define TRAINER_CLASS_GENTLEMAN 34 +#define TRAINER_CLASS_SOCIALITE 35 +#define TRAINER_CLASS_BEAUTY 36 +#define TRAINER_CLASS_COLLECTOR 37 +#define TRAINER_CLASS_POLICEMAN 38 +#define TRAINER_CLASS_PKMN_RANGER_M 39 +#define TRAINER_CLASS_PKMN_RANGER_F 40 +#define TRAINER_CLASS_SCIENTIST 41 +#define TRAINER_CLASS_SWIMMER_M 42 +#define TRAINER_CLASS_SWIMMER_F 43 +#define TRAINER_CLASS_TUBER_M 44 +#define TRAINER_CLASS_TUBER_F 45 +#define TRAINER_CLASS_SAILOR 46 +#define TRAINER_CLASS_SIS_AND_BRO 47 +#define TRAINER_CLASS_RUIN_MANIAC 48 +#define TRAINER_CLASS_PSYCHIC_M 49 +#define TRAINER_CLASS_PSYCHIC_F 50 +#define TRAINER_CLASS_PI 51 +#define TRAINER_CLASS_GUITARIST 52 +#define TRAINER_CLASS_ACE_TRAINER_SNOW_M 53 +#define TRAINER_CLASS_ACE_TRAINER_SNOW_F 54 +#define TRAINER_CLASS_SKIER_M 55 +#define TRAINER_CLASS_SKIER_F 56 +#define TRAINER_CLASS_ROUGHNECK 57 +#define TRAINER_CLASS_CLOWN 58 +#define TRAINER_CLASS_WORKER 59 +#define TRAINER_CLASS_SCHOOL_KID_M 60 +#define TRAINER_CLASS_SCHOOL_KID_F 61 +#define TRAINER_CLASS_LEADER_ROARK 62 +#define TRAINER_CLASS_PKMN_TRAINER_BARRY 63 +#define TRAINER_CLASS_LEADER_BYRON 64 +#define TRAINER_CLASS_ELITE_FOUR_AARON 65 +#define TRAINER_CLASS_ELITE_FOUR_BERTHA 66 +#define TRAINER_CLASS_ELITE_FOUR_FLINT 67 +#define TRAINER_CLASS_ELITE_FOUR_LUCIEN 68 +#define TRAINER_CLASS_CHAMPION 69 +#define TRAINER_CLASS_BELLE__PA 70 +#define TRAINER_CLASS_RANCHER 71 +#define TRAINER_CLASS_COMMANDER_MARS 72 +#define TRAINER_CLASS_GALACTIC 73 +#define TRAINER_CLASS_LEADER_GARDENIA 74 +#define TRAINER_CLASS_LEADER_WAKE 75 +#define TRAINER_CLASS_LEADER_MAYLENE 76 +#define TRAINER_CLASS_LEADER_FANTINA 77 +#define TRAINER_CLASS_LEADER_CANDICE 78 +#define TRAINER_CLASS_LEADER_VOLKNER 79 +#define TRAINER_CLASS_PARASOL_LADY 80 +#define TRAINER_CLASS_WAITER 81 +#define TRAINER_CLASS_INTERVIEWERS 82 +#define TRAINER_CLASS_CAMERAMAN 83 +#define TRAINER_CLASS_REPORTER 84 +#define TRAINER_CLASS_IDOL 85 +#define TRAINER_CLASS_GALACTIC_BOSS 86 +#define TRAINER_CLASS_COMMANDER_JUPITER 87 +#define TRAINER_CLASS_COMMANDER_SATURN 88 +#define TRAINER_CLASS_GALACTIC_F 89 +#define TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY 90 +#define TRAINER_CLASS_PKMN_TRAINER_RICH_BOY 91 +#define TRAINER_CLASS_PKMN_TRAINER_PICNICKER 92 +#define TRAINER_CLASS_PKMN_TRAINER_CAMPER 93 +#define TRAINER_CLASS_PKMN_TRAINER_POKEKID 94 +#define TRAINER_CLASS_PKMN_TRAINER_LUCAS 95 +#define TRAINER_CLASS_PKMN_TRAINER_DAWN 96 +#define TRAINER_CLASS_TOWER_TYCOON 97 + +#endif //POKEDIAMOND_CONSTANTS_TRAINER_CLASSES_H diff --git a/include/trainer_data.h b/include/trainer_data.h index 3abf9a9f3..6a5b69a4a 100644 --- a/include/trainer_data.h +++ b/include/trainer_data.h @@ -15,6 +15,7 @@ struct TrainerMonSpeciesMoves { u16 difficulty; u16 level; + u16 species; u16 moves[MON_MOVES]; }; @@ -30,6 +31,7 @@ struct TrainerMonSpeciesItemMoves { u16 difficulty; u16 level; + u16 species; u16 item; u16 moves[MON_MOVES]; }; @@ -58,13 +60,20 @@ struct TrainerData u32 unk_10; }; +struct TrainerDataLoaded +{ + struct TrainerData data; + u16 name[OT_NAME_LENGTH + 1]; + u8 padding[16]; +}; + struct EnemyTrainerSet { u32 flags; struct PlayerParty * parties[4]; - u16 field_14[4]; + u16 field_14[2]; u32 trainer_idxs[4]; - struct TrainerData datas[4]; + struct TrainerDataLoaded datas[4]; }; #endif //POKEDIAMOND_TRAINER_DATA_H