Cmep Key Ring Base: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
Line 6: Line 6:
! Bit          !! Function
! Bit          !! Function
|-
|-
| 0x01        || accessible for bigmac encrypt
| 0x01        || Encryption operation allowed
|-
|-
| 0x02        || accessible for bigmac decrypt
| 0x02        || Decryption operation allowed
|-
|-
| 0x10         || ?
| 0x04         || ? operation allowed
|-
|-
| 0x20        || crypto operation supports a keyslot dst
| 0x08        || ? operation allowed
|-
|-
| 0x80         || Keyslot pairing Mask Group 1(Master slots 0x206-0x20D and Target slots 8-0xF)
| 0x10         || Master Keyslot can target f00d memory
|-
|-
| 0x100        || Keyslot Pairing Mask Group 2 (Master slots 0x340-0x343 and Target slots 0x10-0x1F)
| 0x20        || Master Keyslot can target user keyslot (based on Mask Group below)
|-
|-
| 0x200         || Keyslot Pairing Mask Group 3 (Master slots 0x344-0x353 and Target slots 0x20-0x2F)
| 0x40         || Keyslot Pairing Mask Group 0(Master slots 0x204-0x205 and user slots 0-7)
|-
|-
| 0x400        || dst can be memory
| 0x80        || Keyslot Pairing Mask Group 1(Master slots 0x206-0x20D and user slots 8-0xF)
|-
|-
| 0x800        || can be written directly by f00d (?)
| 0x100        || Keyslot Pairing Mask Group 2 (Master slots 0x340-0x343 and user slots 0x10-0x1F)
|-
| 0x200        || Keyslot Pairing Mask Group 3 (Master slots 0x344-0x353 and user slots 0x20-0x2F)
|-
| 0x400        || User Keyslot can target f00d memory
|-
| 0x800        || can be written directly by f00d
|-
|-
| 0x1000      || can be read directly by f00d
| 0x1000      || can be read directly by f00d

Revision as of 16:00, 29 January 2019

Address = 0xE0058000 + 32 * Slot

Permission bits

Bit Function
0x01 Encryption operation allowed
0x02 Decryption operation allowed
0x04 ? operation allowed
0x08 ? operation allowed
0x10 Master Keyslot can target f00d memory
0x20 Master Keyslot can target user keyslot (based on Mask Group below)
0x40 Keyslot Pairing Mask Group 0(Master slots 0x204-0x205 and user slots 0-7)
0x80 Keyslot Pairing Mask Group 1(Master slots 0x206-0x20D and user slots 8-0xF)
0x100 Keyslot Pairing Mask Group 2 (Master slots 0x340-0x343 and user slots 0x10-0x1F)
0x200 Keyslot Pairing Mask Group 3 (Master slots 0x344-0x353 and user slots 0x20-0x2F)
0x400 User Keyslot can target f00d memory
0x800 can be written directly by f00d
0x1000 can be read directly by f00d

Key Ring Slots 0xE0058000

Slot Initial Valid Initial Protection Protection (1.69) Ever Valid (1.69) Per Console? (1.69) Set By? Description
0 N 0x0442 0x0442 Y ? ? ?
1 N 0x0442 0x0442 N ? ? ?
2-7 N 0x0442 0x0040 N ? ? ?
8 N 0x049F 0x0081 Y Y first_loader (0x206/0x207) enp per-console key (encrypt)
9 N 0x049F 0x0080 N ? first_loader (0x206/0x207) enp per-console key (decrypt)
0xA N 0x049F 0x0080 Y N first_loader (0x208-0x20D) enp metadata key
0xB-0xF N 0x049F 0x0080 Y N first_loader (0x208-0x20D) ?
0x10 N 0x0502 0x0502 N ? ? supports decryption only
0x11-0x1F N 0x0502 0x0100 N ? ? ?
0x20 N 0x061F 0x0200 Y ? first_loader (0x344) Derived from 0x344, used for hmac-sha256 over enc files
0x21-0x24 N 0x061F 0x061F N ? ? supports encryption and decryption
0x25-0x2F N 0x061F 0x0200 N ? ? ?
0x30-0x34 N 0x041F 0x041F N ? ? ?
0x35-0x7F N 0x041F 0x0000 N ? ? ?
0x80-0xFF X 0x0000 0x0000 X ? ? Not used
0x100 N 0x041F 0x041F N ? ? ?
0x101-0x17F N 0x041F 0x0000 N ? ? ?
0x180-0x1FF X 0x0000 0x0000 X ? ? Not used
0x200-0x203 Y 0x0002 0x0000 Y ? ? ?
0x204-0x205 Y 0x006F 0x006F Y ? ? ?
0x206 Y 0x00AF 0x00A0 Y ? ? Used to derive key used to decrypt personalized layer over enc. Should be per-console.
0x207 Y 0x00AF 0x00A0 Y ? ? Used instead of the above key when secret debug mode is set. (Possibly non-per-console?)
0x208-0x20D Y 0x00AF 0x00A0 Y ? ? 6 keys used to decrypt enc metadata, which one is used depends on key revision in enc header
0x20E-0x20F Y ? 0x0010 Y ? ? Maybe per-console emmc crypto keys? Protected by second_loader.
0x210-0x211 Y 0x001F 0x0000 Y ? ? ?
0x212 Y 0x001F 0x001F Y ? ? ?
0x213 Y 0x001F 0x001F Y ? ? Used to derive SMI keys, which are used for factory fw decryption. Per-console.
0x214 Y 0x001F 0x0000 Y ? ? Used to derive keyslots 0x514, 0x515 in second_loader
0x215 Y 0x001F 0x0000 Y ? ? ?
0x216 Y 0x001F 0x001F Y ? ? Derive 0x502-0x504 by encrypting data in second_loader.
0x217 Y 0x001F 0x0000 Y ? ? ?
0x218-0x2FF X 0x0000 0x0000 X ? ? Not used
0x300-0x33F Y 0x0002 0x0000 Y ? ? ?
0x340 Y 0x012F 0x012F Y ? ? Used to decrypt keys into the 0x10 key slot
0x341-0x343 Y 0x012F 0x0120 Y ? ? ?
0x344 Y 0x022F 0x0220 Y ? ? Used to derive key 0x20 in brom.
0x345-0x348 Y 0x022F 0x022F Y ? ? Used to decrypt keys into one of the 0x21-0x24 key slot
0x349-0x353 Y 0x022F 0x0220 Y ? ? ?
0x354-0x3FF Y 0x001F 0x0000 Y ? ? ?
0x400-0x47F N 0x1800 0x0000 N ? ? ?
0x480-0x4FF X 0x0000 0x0000 X ? ? Not used
0x500 N 0x1800 0x1800 N ? ? ?
0x501 N 0x1800 0x1000 Y N first_loader Used by bootrom first_loader to figure out whether to load from eMMC or ARM comms after reset
0x502-0x504 N 0x1800 0x1800 Y Y ? Related to Ernie SNVS
0x505 N 0x1800 0x0000 N ? ? ?
0x506 N 0x1800 0x1800 Y ? ? ?
0x507 N 0x1800 0x1800 Y N ? ?
0x508 N 0x1800 0x1800 Y N ? Ernie HW version (from syscon cmd 0x1). Set to 0x100060D on 1.692, 0x100010A on 1.05, 0x0100010B on 1.50
0x509 N 0x1800 0x1800 Y Y ? IDPS of unit (console id)
0x50A N 0x1800 0x1800 Y ? ? Byte15bit0,byte14bit0,byte14bit1,byte11bit4: Revocation related. Byte13bit0: Enable F00D debug prints.
0x50B N 0x1800 0x1800 Y ? ? From 0xD2 SNVS block 0, 8 bytes
0x50C N 0x1800 0x1800 Y N ? Flags. Set to 1 on 1.692 and newer, 0 on older
0x50D N 0x1800 0x1800 Y Y ? OpenPSID
0x50E N 0x1800 0x1800 Y Y ? Current firmware version. Comes from SNVS.
0x50F N 0x1800 0x1800 Y Y ? Factory firmware version. Comes from idstorage.
0x510 N 0x1800 0x1800 Y Y ? Some bit flags, comes from syscon cmd 0x90 offset 0xE0
0x511 N 0x1800 0x1800 Y Y ? Unique per boot session id, Syscon shared 0xD0 session key
0x512 N 0x1800 0x1800 Y Y ? Tick count? Used in Syscon encrypted communication. Set to a random value when session key is set.
0x513 N 0x1800 0x1800 Y N ? DRAM size. Set to 0x20000000 on retail, 0x40000000 on devkit.
0x514 N 0x1800 0x1800 Y N? ? F00d-cmd F01 AES-256-CMAC key. Protected on 1.05.
0x515 N 0x1800 0x1800 Y N? ? F00d-cmd F01 AES-256-CBC key. Protected on 1.05.
0x516 N 0x1800 0x1800 Y ? ? F00d-cmd F01 writes (u32)1 here when exporting the infoblk. Next time main() executes this flag is cleared.
0x517 N 0x1800 0x1800 Y ? ? When initializing the EEPROM, this is zeroed if 0x50D has bit8 clear (on 1.692).
0x518 N 0x1800 0x1800 Y N ? Another current FW version (3.60+?) Comes from SNVS.
0x519 N 0x1800 0x1800 Y N ? 00s
0x51A N 0x1800 0x1800 Y Y ? Randomized 0x20 byte key unique every boot/reboot/resume used for kernel coredump encryption
0x51B N 0x1800 0x1800 Y N ? Some kind of model info 0x406000 on retail and 0x416000 on devkit, obtained from syscon command 5
0x51C-0x57F N 0x1800 0x0000 N ? ? ?
0x580-0x5FF X 0x0000 0x0000 X ? ? Not used
0x600 Y 0x1000 0x1000 Y Y ? aimgr_sm.self cmd 0x3 return, VisibleId/FuseId
0x601 Y 0x1000 0x1000 Y Y ? ?
0x602 Y 0x1000 0x1000 Y Y ? ?
0x603 Y 0x1000 0x1000 Y N ? ?
0x604 Y 0x1000 0x1000 Y N ? ?
0x605-0x607 Y 0x1000 0x0000 Y ? ? ?
0x608-0x6FF X 0x0000 0x0000 X ? ? Not used
0x700-0x7FF Y 0x1000 0x0000 Y N ? 16 public RSA keys for enc, which one is used depends on public key revision from enc header.

Initial Keyring

Slot Per Console? Master Key? Data
0x200 ? N
0x201 ? N
0x202 ? N
0x203 ? N
0x204 ? Y
0x205 ? Y
0x206 ? Y
0x207 ? Y
0x208 ? Y
0x209 ? Y
0x20A ? Y
0x20B ? Y
0x20C ? Y
0x20D ? Y
0x20E ? N
0x20F ? N
0x210 ? N
0x211 ? N
0x212 ? N
0x213 ? N
0x214 ? N
0x215 ? N
0x216 ? N
0x217 ? N
0x300 ? N
0x301 ? N
0x302 ? N
0x303 ? N
0x304 ? N
0x305 ? N
0x306 ? N
0x307 ? N
0x308 ? N
0x309 ? N
0x30A ? N
0x30B ? N
0x30C ? N
0x30D ? N
0x30E ? N
0x30F ? N
0x310 ? N
0x311 ? N
0x312 ? N
0x313 ? N
0x314 ? N
0x315 ? N
0x316 ? N
0x317 ? N
0x318 ? N
0x319 ? N
0x31A ? N
0x31B ? N
0x31C ? N
0x31D ? N
0x31E ? N
0x31F ? N
0x320 ? N
0x321 ? N
0x322 ? N
0x323 ? N
0x324 ? N
0x325 ? N
0x326 ? N
0x327 ? N
0x328 ? N
0x329 ? N
0x32A ? N
0x32B ? N
0x32C ? N
0x32D ? N
0x32E ? N
0x32F ? N
0x330 ? N
0x331 ? N
0x332 ? N
0x333 ? N
0x334 ? N
0x335 ? N
0x336 ? N
0x337 ? N
0x338 ? N
0x339 ? N
0x33A ? N
0x33B ? N
0x33C ? N
0x33D ? N
0x33E ? N
0x33F ? N
0x340 ? Y
0x341 ? Y
0x342 ? Y
0x343 ? Y
0x344 ? Y
0x345 ? Y
0x346 ? Y
0x347 ? Y
0x348 ? Y
0x349 ? Y
0x34A ? Y
0x34B ? Y
0x34C ? Y
0x34D ? Y
0x34E ? Y
0x34F ? Y
0x350 ? Y
0x351 ? Y
0x352 ? Y
0x353 ? Y
0x354 ? N
0x355 ? N
0x356 ? N
0x357 ? N
0x358 ? N
0x359 ? N
0x35A ? N
0x35B ? N
0x35C ? N
0x35D ? N
0x35E ? N
0x35F ? N
0x360 ? N
0x361 ? N
0x362 ? N
0x363 ? N
0x364 ? N
0x365 ? N
0x366 ? N
0x367 ? N
0x368 ? N
0x369 ? N
0x36A ? N
0x36B ? N
0x36C ? N
0x36D ? N
0x36E ? N
0x36F ? N
0x370 ? N
0x371 ? N
0x372 ? N
0x373 ? N
0x374 ? N
0x375 ? N
0x376 ? N
0x377 ? N
0x378 ? N
0x379 ? N
0x37A ? N
0x37B ? N
0x37C ? N
0x37D ? N
0x37E ? N
0x37F ? N
0x380 ? N
0x381 ? N
0x382 ? N
0x383 ? N
0x384 ? N
0x385 ? N
0x386 ? N
0x387 ? N
0x388 ? N
0x389 ? N
0x38A ? N
0x38B ? N
0x38C ? N
0x38D ? N
0x38E ? N
0x38F ? N
0x390 ? N
0x391 ? N
0x392 ? N
0x393 ? N
0x394 ? N
0x395 ? N
0x396 ? N
0x397 ? N
0x398 ? N
0x399 ? N
0x39A ? N
0x39B ? N
0x39C ? N
0x39D ? N
0x39E ? N
0x39F ? N
0x3A0 ? N
0x3A1 ? N
0x3A2 ? N
0x3A3 ? N
0x3A4 ? N
0x3A5 ? N
0x3A6 ? N
0x3A7 ? N
0x3A8 ? N
0x3A9 ? N
0x3AA ? N
0x3AB ? N
0x3AC ? N
0x3AD ? N
0x3AE ? N
0x3AF ? N
0x3B0 ? N
0x3B1 ? N
0x3B2 ? N
0x3B3 ? N
0x3B4 ? N
0x3B5 ? N
0x3B6 ? N
0x3B7 ? N
0x3B8 ? N
0x3B9 ? N
0x3BA ? N
0x3BB ? N
0x3BC ? N
0x3BD ? N
0x3BE ? N
0x3BF ? N
0x3C0 ? N
0x3C1 ? N
0x3C2 ? N
0x3C3 ? N
0x3C4 ? N
0x3C5 ? N
0x3C6 ? N
0x3C7 ? N
0x3C8 ? N
0x3C9 ? N
0x3CA ? N
0x3CB ? N
0x3CC ? N
0x3CD ? N
0x3CE ? N
0x3CF ? N
0x3D0 ? N
0x3D1 ? N
0x3D2 ? N
0x3D3 ? N
0x3D4 ? N
0x3D5 ? N
0x3D6 ? N
0x3D7 ? N
0x3D8 ? N
0x3D9 ? N
0x3DA ? N
0x3DB ? N
0x3DC ? N
0x3DD ? N
0x3DE ? N
0x3DF ? N
0x3E0 ? N
0x3E1 ? N
0x3E2 ? N
0x3E3 ? N
0x3E4 ? N
0x3E5 ? N
0x3E6 ? N
0x3E7 ? N
0x3E8 ? N
0x3E9 ? N
0x3EA ? N
0x3EB ? N
0x3EC ? N
0x3ED ? N
0x3EE ? N
0x3EF ? N
0x3F0 ? N
0x3F1 ? N
0x3F2 ? N
0x3F3 ? N
0x3F4 ? N
0x3F5 ? N
0x3F6 ? N
0x3F7 ? N
0x3F8 ? N
0x3F9 ? N
0x3FA ? N
0x3FB ? N
0x3FC ? N
0x3FD ? N
0x3FE ? N
0x3FF ? N
0x600 N N 6aaee0686af7cbb46ec9ffacf133bb94c74491c52800da0c00ba148401010000
0x601 N N eefd76616dfc658d29b87f22b4fd77ad0a55fd6ab001b2e566e159afe51e899f
0x602 N N ed3f6d6d0000000000ba14840101081082688b3af1dbc31536e028c25c6aaa77
0x603 N N ffff030000000000000000000000000000000000000000000000000000000000
0x604 N N 0300000000000000000000000000000000000000000000000000000000000000
0x605 N N 3b39e92e25b0403827ee32d7d649a847d7f11e24d011760a794337d4f740c9df
0x606 N N bb26dde82061ea366948757eebc805183f82c4b70cb2e30f359dc651d00ab736
0x607 N N 68aaf68bee6983b383a999cd4230540e777529952037e050932301c5a05f22cf
0x700 N N cdae7e886c890f5ec5ff3ab72ee09d4a2369f5593a3bad32256747103eb173e5
0x701 N N 9e6ead3abd18c0474cf54a09a0500b94cc20534f04cc8268507f0e3e109307f3
0x702 N N 4b74885fea456fbecee2f04b87fdd1c54784cc79ecf76688ccbcdc18fb36ed20
0x703 N N 0662c058d91619f3f50e404969a57ce91697f907b768094b5f0a683cd72962d6
0x704 N N 84a12145ca84dbee6f4b03d986a19c0e7cfcbf0006aa492f071662707cf92604
0x705 N N a8b7e6bbfb3fdb66c4e049a4978a523bd6e521346ba64bd8b050185730b4556e
0x706 N N 1678bb9d7384ea0fce3e509f1227b45ffc5fbd39c42c628012c22df47f5d4add
0x707 N N c8ff6f6df11bc1604028141f21224b5fd323c1f3b7b7de6c1f1bfc8215c47ab1
0x708 N N 2136e5df66193889419eae7d7b6aa49b258d47ebb1c3c1a20737d9400fecca43
0x709 N N 567613b5bed61c9645110a4bead9d9dacecfed9e87a50422560490f243f53595
0x70A N N 08c98fab44e067fdf86a1f7ecacf9e38a2aca19c6740c22742cbb8e7364531cc
0x70B N N 39127bb97b18c9e0a3c8aaa44da6bca859dacbf238b75732c5858c9d73f0415f
0x70C N N adaee2224e567670fa7911450495bcc1c95b69af831774557890c3dc9ec62bc2
0x70D N N 830fc7639156d58a81c83557e080b97017af7fd4652be8dcd1f7a2d622abc4fc
0x70E N N c65bba3e466742153ce3ab595c27cc35ba4719c5d8cb4174229afd52b0f496a8
0x70F N N 8a178fc4fc85290a3c87776131516782291e56c84d624079ddf2c30c05813bd4
0x710 N N 2956baf256b87660d15b82108d8d516fefa8c083cfbfd789d24de45c4b577471
0x711 N N cc135976422b66fcb8cdcfa8a1fe89c1fbf425fd672be4c1a7cf9076abd5735a
0x712 N N eac6dfb30e7800fc45aac29a71e947665ff72c8a8e1971ec5a37a4d4255a5a79
0x713 N N c716a404c8ceab584557b0c927a22c59b1a530b7b355402229f648a3d53a0e36
0x714 N N dff42c59e23892978edc425dd9e3e62c8940fef195c87dd5f66bb6a343472139
0x715 N N 8a9660b4f4171d6d8869f5e2e467fc4d262f3a6f0634f0460586156c23c821d0
0x716 N N 93c0abd45ab174b303c1c09a6b3a03c04a077c770770eb25652f1ce6eda6b0a8
0x717 N N ce3033b085eacf8ab3b387f940311df4b6dfaec8a95afa19ea2ff4f23a6a2faf
0x718 N N 43ce217a67dca72211ab644072d251a49967a771f98cd1ba4631239eed253f77
0x719 N N 56170514bb5dfbe8a4bb7c1abe6dad3ecbecb7da2174b540cdfe6ff3349eb298
0x71A N N 3a6f299237e79cd1270e57598c10b2e699c381dbdbffee1275a9fbba81724c9d
0x71B N N ccc18897ede7fa70f2ea715955de48a2b6d0542b736fbdcb51b85d684c5ead89
0x71C N N 1b224eb51d92bb26d5ed5b5ee7e0a8374f2ee8728b73973cefb39168d025686e
0x71D N N 89a96361bd2279c9dde0e4a448a572d4707ab9de3c7bb3fb67302518de31cbc9
0x71E N N 491bf12f76b681496257ad20bdb8c63ae44595b82352cdce00b9850b151bfa3e
0x71F N N 81f7197593fdb5ddd562992c21e86a28e0ce3ca59cb0c6315b06b3483873a3ae
0x720 N N 493a79509144ef3042d01456727f3e0e8b652c4b34343eee9439b36d91fb9037
0x721 N N 4a4546a405bbfb192751708f54ef23b1f19065f0bb0c306476bead56b4601b4a
0x722 N N ef947a87e3fe79bae1aeee0f695d9a54e03a60f8a3cdddaecd9965f193627611
0x723 N N 254dd9f02129c51aae4549b0887ffde75b0790d9fd81d90aaaf1aa364c5a7fc8
0x724 N N b4a5acd9d3c8f3a6184812745d2f901798ef62812907586d6029116379a1e0ff
0x725 N N aca8c646fb0ea2433703327dea866a9c7c63d5d6656f71dd65d79e67969ab256
0x726 N N 4f813aea955e0105f3587b6a28ead7e60a00fef6df38cf1735502684f4ed0a81
0x727 N N 1bd5a1a076f2db59280c683d714fc41b4a5ffc5237e77176056f2843a4e4b8b4
0x728 N N dd9b97c1c59c84304950fb578266181a49e208403bcfa664b705628c94a48223
0x729 N N 7d7e67167d717474a052c03938d1791f6aced52a4f3f30e2ace0226e45a5e296
0x72A N N d57d35d8ce3e1953c9290940ede10cb73c9718f2d0d370ea887311d6a0187491
0x72B N N bdbc7301538897c7b76baafde38cbd049e35957b0d09438a826e52e15f414a1c
0x72C N N b1cfe4abc4beb25133cf8fc15075768a4fd106e44c7fbad184e9105cc238cdb9
0x72D N N 42b5167de438425606c03b5c8481e6bc0af7f5e183a3b4a6935188968df8a817
0x72E N N ae06b4ccb6bee8f989fbd98faea40ef45f8e207ce3bef80284cdb7b59075a63d
0x72F N N c59d6b826fb4e72c95206c2bb84d46b3e60de3d48ef1366144f3f5b22b599cec
0x730 N N f7dc3137ec6e0a1f8ec018023ab259f8c2d6b282cc5a9957b58afd6e29206b90
0x731 N N c565f9cc4eb14aa2daa159a5eed38c85b01aeb1e4f4b3dec8e0a9a4676515acc
0x732 N N bd3fa08edf85f278bd8ef51a7fbdda965b88970db139f4c9488b0d60ed6f555b
0x733 N N aef77cfaab76b4798ac34a02a95d3daea700a9b28f55fcf47554dc10430f7a89
0x734 N N e44fd416c024fc830870710af42528a1e3f00becef50274a29c31c2e71302e25
0x735 N N 077ab07427f09815d5b0d029a57ad69c044babf08f9d2764a5e15c25ce53e320
0x736 N N 612fc68363a34a52f9a69a9d12f31d3dc6d6d37c8b8407d9b7178f1ef19ae7c2
0x737 N N b1d5fb7618063ab016de433800bdd6966c574ec47fa34a66b0324d39d9f887ea
0x738 N N 53229dfa87adcdee652c35a44952a00f3e4d078c9007c43705477b234ed128e9
0x739 N N 03eba44d0cf85ec26b9057cc38e62778395c9f5edfad71f2cba30a40806f9225
0x73A N N 180958f85fef21d2419653e780ee74cf82e6b0b1af5d2c52acdca913fc37bec7
0x73B N N 54ba1ba337ee42f598dc462db96eee029060acd6d27e9dd58db1c36603fd057f
0x73C N N efd6ecb9977f1ef5486aba7338a4a1dfffd5bfc2796d4469374c61495d62a781
0x73D N N ba97ec2739ea5fdcac538ce891d900ea40fc0edabd7d08000b37419e114766f4
0x73E N N 012555d2b097ce780a8b51960f88100e5ae90798f0076d00959e17fd7416bb0c
0x73F N N 002882a1576d8b20a7859e559b4ece541444e86206c77f6ffa43bf7c756b62ba
0x740 N N e1bf0650d31fe12c9da5024cd4645a0ae96db6addef787aba872f3037335249d
0x741 N N 06fc3b6d03d9b9d5dcfe418f2a37896fb9d758a1549335f5099423eef0f46b15
0x742 N N fb3adc695a3fc1900665c38c0b4ca12c725149bf289c50edda751ae030a1006b
0x743 N N 37c0a4bd8ee780fa9d3e1a97e649a3f8e8345ca24842d5d1176db24d98b2fa02
0x744 N N 7cf4c898e6e72184b25583e66fc90dd785b995d1b6bcce04d783616808f45810
0x745 N N d3a8b978884a0b22fee09e2d7318ea02ea9709589068bbe7a1a3d54d486221ae
0x746 N N 7b618ae592fe76494b4434a736fcb10d3dab19b0a034235183cab308334227b7
0x747 N N 422d4ea100eb81b34dd698a139fed839bbddaf0d06fbcd608a350399c2b5bfe7
0x748 N N 410dcbc7d20513e7de81d2c3b2f6b3cb7473ff0d9da8f8ad3e807a8c48fcc319
0x749 N N 4bcac94497c344844636b35f3922cb800f6dd1d7d25929693e94a1c2462b248a
0x74A N N 60c2cd1220c8798e45dce81953faded318f136a550010b9e5afd4e5b952a2e77
0x74B N N f22026188733c3a1fd128af89820ba73a56a23af49e04f4ded4f78f69196aa88
0x74C N N 042335a49c2582068e69a851e1adf72b8accf7ef2821b7ad776b1c50b4ffc792
0x74D N N b6172cd7188aa31298c42182c634d3d3ac32a3ffa2c324897645d3ea053d1f8d
0x74E N N 68f79cada1a7802fa16fe7d399475731cca4977a9364bb312994f850095be052
0x74F N N ec0a534029e63ccea7cd9e43cacef0b4ae2429aa9912b7bae7dcdf00ba9d4ada
0x750 N N 6130cb7658fc6ec566d622b55c4f6beefd4ba5caf2a4bb5f2e79820b5427ce60
0x751 N N 1d7e92b80d1566abed917b412f49a3d8d5129a34b9861c1aec99906847baae94
0x752 N N f790dacd9f0effab81eec5687d05003cb748f279727afe1e4a1ffc07318523b8
0x753 N N e6eba0ebff95626e466e6be41eb7ec091a6263c04a92e1924e4d949b305b6f91
0x754 N N ec0fd294876d6548582ae12ff8a39fa0fcc11b7e7f7afb3d1db33a15b1acbda5
0x755 N N be8ae8f76eda16b3482320b30e752392f2c465c4a07792340b96072efbb82b92
0x756 N N 05f683aa1aeb69c0980409b1a212051863f0dc654cf95aa1a219d09204f4706f
0x757 N N a9d55bc79cbfb26fdc0130155a34b726e6f168458ee622f725e75c2fb0abcaca
0x758 N N 05f244401b5862d742f3732aab702da9aadcb86afe3e59b1d670670043738940
0x759 N N 283609746209898a3d70738a56c7e748b2471143d84b0a88bd9629198cfcd5e7
0x75A N N d01ad41ceb9a08e081d8f72459c70411249053ae392dbc284e1f49098a6a06f9
0x75B N N e1d8670b25864b2bf37cd5cfa2b324498b42f2dd41abf081dfba07061be4b964
0x75C N N 794313997f0d6e0f6bce5509f87cd4e83162b15938bcf989f5f7384559d600c9
0x75D N N ee6c7e2d9aca36fa3e6ef6c91d98c07a9e79ee6955e8035cb49fc65ec35f2cf2
0x75E N N 12bbabc6c6525a4fdfecc997f1d5e553536a6fe5338182b4b001acd49dcb677f
0x75F N N 44e7112112ef26b7eab62b44f91a5b0bad28b164530dc3a4ff17dbb976241ec3
0x760 N N fbd84775010d95618284570663ba7dde36de981c7641fd35d356b01a1b39ed9a
0x761 N N 2a6450f61a0f2023cba098a43dcac879186aadfdc4bbe687ca8d78d9d62e96c9
0x762 N N 3bfa87a8064988c49582ac1fc530330c716526f440a79e2afc0eb58f9a123b7d
0x763 N N 342a48e5fea7bebcd4ffc8cedf6122fe3939080a5b8ce8f03869f6447fe1b33a
0x764 N N 49b991924dbf8343f3dc72457bae8ce50d291664475a1e6b564a09be0a7fa279
0x765 N N 4c27ebf2580d687e6116f84f1a347dcd346b1ae3b48adec0860c36884653a5a3
0x766 N N 9744c2229a85bb72973cb431647c7eb50ddd528c09c3c2097d7cd7a6fa28dd6e
0x767 N N 8d9d3841cddd90a413291c73f88523cac53618e0483e09ba88ca53fd6de785ca
0x768 N N 496905c2deb8b75852f2c9fb948f5c15c072c8571e5bc3163fc3fcbdf92e5b5d
0x769 N N ba30d220c185502d7e9e0a83b2aea098e1f9507def5fd0f129076b3f7e745b44
0x76A N N 0a2f56c8de9591c3bc16f777b082656650fa1e85b1d244c0f691e893d7e0d2c3
0x76B N N a15ac56d069ecb0e31897efb918fdf93b5fa1ed6dfc7421e5439da867abaddeb
0x76C N N b785a6f95cd23b4ca8255c89ef4e8d9a497fca1c013b04bc9bec00b265ebedc4
0x76D N N ff58e990beb594c738ca6a601796e0ee79b1339ff36e0a49aa4984419db4b233
0x76E N N f761afa5ee61172dadc669ada72390b47fb83172a975dfd0e4cd04fca627a5bc
0x76F N N d1b249094673ca74adf0e6f07bc5706f9904e7c40c7ea59012bbef30aac35dc2
0x770 N N b101b337ae29fa754fd10af5fff77b3df77bb7a317f74801be38b238ce98020b
0x771 N N ca4c9268f837a03e83389ef7bdd9c7a02fe93ff70808240bb634458b01973cd5
0x772 N N a0ed95619aa09c4933ca01411b9b26cffc633e2880ccd5a3776883cfe329fcd5
0x773 N N 6912325edef3a61bb4fa5992c7a4cd13230c1e65e99c1c71f7ddc5486fdefcd5
0x774 N N 632c384c40ae12676c66ebf25b859edd3061f8388070a99479a68e5ebc794bc8
0x775 N N 7b3d16d8b4969f78a86d06dce61b1dccb07720b84d8972aa2b861b2eb586837c
0x776 N N 4422481883b297364c1c763396f94af3432b2fc57370311ac1b2857c517ec51e
0x777 N N 5d45a31def78dc28422539d7a5eac579b0eba8334d836668fa4f3a6fe25dbbaf
0x778 N N 55157a5c49708d923589694220173de9a3ce2f96e33963ea87e2067ffc3807da
0x779 N N aff11869dfcb2dc208313b7accb393d144e7d5d50fffef11c3dedc877b028fa4
0x77A N N c4705e723702e28dc84c7e355c1203753f7defc9e38cbd790d4c6c326a9f48e0
0x77B N N 8ca66bb18d1aa342b7e62049c63ed76f07aceae7bbdb5076baa54f2d84e31775
0x77C N N 97c02e539a4bc00bfca54437463ef830b1ac92bc339a9376f60792d61933c607
0x77D N N 8cbd70e0752cc2099f183f6f4c8c7d5c1df02e626ad0fd595209ec9235ed63dd
0x77E N N d483ec895f5784d2fe640abe4bba2adf115eea30f3c1b405f4a513a581c6333b
0x77F N N 9844698fbec9ad01a2619bff716703d56a69b8ee459a06fd9a61ea1ecdf0e993
0x780 N N 80d3af14fbfe8e70be3db07595214a908712b756322a8667da589f370c3867a6
0x781 N N 1df895cd14e53db0e6479c975c13ffba0c27c40b84168fffd63ce001d334a4fd
0x782 N N d3fc72dd9963ae825f7fd9c5ea1d99241db1261dd0e31cd94d8f2657d8ec3d93
0x783 N N f2f08e3d7df6fe07ed9fbe87fcec75ef7e5fa243f5ba24c1b81e121fa07db901
0x784 N N 6a5f33fce5f23bb89e108bc27718f5eaa09cf686dc15ffdec0129928680abe5a
0x785 N N 336ff78fa69c57741899ef7a238de1abcd39bd6b23b888a34d7dcdd3f57cd8a5
0x786 N N 5d2735973e74f3c416fa1b019515b5b2cc45367f1e769010a96acf79b78bb8bf
0x787 N N 7be678aeeba54214f5dbc3b0ed3fef22793c9b3564f9b3b134dc87662c0014a0
0x788 N N 5bd5f12abd2413c8e8ac5d8cfc71ef07e0276b083e3a2729eea5b068f1f85331
0x789 N N 986420bc576cd005228a4396af000f4f95ea10e442844d84eaad40c95796f705
0x78A N N 7a5ba3f08ed905e179416e05babe6d43216d5e5f8b346cef01dd266f5dd2adf8
0x78B N N f6fb17fb08515b0b752b6a53e09ea007fac79327b53e568fcef00e2e85d54c1b
0x78C N N 6becd2639f5527f7a6f32a689013a0911f1e011227ab565c4d5adbf9ff02f15a
0x78D N N 00429863ba5634b4285ca2f2b5109af1a83314d1f3eda27d8ce9ee568b13a575
0x78E N N 94630701ea5bc9518339c697341ebcab6f21b615ec1a93fd141b3190dcb6346c
0x78F N N 35e7e9c15f468104eee83771a2fa096c27e1077f176a6a2b72927126301a91e0
0x790 N N 8f9d7ab79e79587837981413153a45314517e300f97086529d73dd9f2a3aa946
0x791 N N 29d644dfa9a730c42f3d5865e436fce69a98344eae3a3b9675ce9da9f5877820
0x792 N N 78876c7583d4859ce27bc6a0181f070ec12faec7943177837a618070d2ebe603
0x793 N N 4058f525d70ba7690aa615d2d83b882c38c70ff2175fd11d89375104e5d59268
0x794 N N 114910602e78eec49dfdb30ed2d32e45f39d530f76b5194deedac6ae5be64473
0x795 N N b287a1d2b3bd78ea498249a4a3f6e9444fb4a1e306969b4e61704c39d78dface
0x796 N N 985116f83f1b2cb1119798740c059fc5eb77a8c232ec13a8c004fbe259ddd369
0x797 N N c3b53cf8e86f2a47b01107c63261ef73558ea2f03ce2a2e2fb7f4e8141d98206
0x798 N N 834a3d317cf16e6756dabbe968f733bea5c954a2cfe5d3d276e0cbc7a225b4e7
0x799 N N d7877384ad02ea56f09e5c82df5c236ba054420a95f0fa959108032deb1b7811
0x79A N N 037bb91ab52f151d1f760ec949f4c7a126451a5707f7c5e9f1723d2c8f892a36
0x79B N N c5a0dd4b5750f5da8a26e3f4f7b2f10768e00410c84e69039a833153d8da687a
0x79C N N 061c6de184f761bc8771c6909c791af8d8d9927048d03600be531be3d7d5c51c
0x79D N N d493b5640f4a7aacdb934797beeda10d102dd5329d44beda56570752a7bc2a9f
0x79E N N 6f4b5aca17641ca3add546f59a9fbe0bde984d1f6a88ca2764676ce785380b41
0x79F N N 71d70e9d083c81d567366b3d951779fc2c12aeb2a865483145754b79eba173c8
0x7A0 N N 8de96a5b2f557055a9cb4b4a299e86ef0ef6769415f8cb3a83d514cc3f70008a
0x7A1 N N 1e090feb4614201d25b54202a8cb3811d49dbdafc4ace6d63b6e13e67cc9730b
0x7A2 N N cae4a283424bbc14efd89e72e6513902aacb955cb3ccdf4a47b3948a4b0201e7
0x7A3 N N 6be4f58725ad38c481e67d4060c2d31cdbc87dbc491114e6a87c45b3ea37a227
0x7A4 N N 0c5c941cee02e8c1bcc29256dd86d0b0160724eaf49b4363f8f65229b5202d69
0x7A5 N N f1dc00952693b75a8883ae8ff5a6b4b9f85367d5ec06ad8aa0c765ec09590543
0x7A6 N N 3da8897bc46cec5193c81e39ee0a574bca73fd099805b48477b3887305edaf9d
0x7A7 N N e19b36e6de66691cd0a8ef19ecb45ba2898e6d9d4a0c6e678e3bebaaf44e67be
0x7A8 N N 431af443aca1049caf3455f4288d6a4cc69307f7bd986f1239f846cad5eb1caf
0x7A9 N N b5f9906e558f087984dda69dbb43aa7be8ff00fad2d02df4cee88bf423f51bda
0x7AA N N 1f1b3944d5a17e74b7ebdec3ed8a70783edc9bcbdb76bbfafb546cf882fe1107
0x7AB N N 9778f5ade0126f3b357abd48d6b6ef2ca0e303d3159e69178c2cab41f841de56
0x7AC N N 609ec551f154811896907d2b8691d8b8360bd8e3062b0a46df7778beba6484e3
0x7AD N N 0701b80610d59e2253ab10db8d896426dd111dba5f1e31b7761c6a963056c59e
0x7AE N N 70f74a7ca32da4cb46518af2192d0416e9b93644b03073270de6ba75816dbb51
0x7AF N N f8769cf01abdc46336466c9261597e70106344ebd0735178e70b83cd4a187ea6
0x7B0 N N 283d76ab50f838b41dd94d94d8ff1aff23e42cc58bee0a56aba29a3151528c3e
0x7B1 N N b0281f507a97c79efa14df4bc64f3f5964ee0076934aff3375d9e4f04dae5e14
0x7B2 N N df27d3f0054f40201cbbc6bcb75a96550a5eaac417fb605a0014b9205325753c
0x7B3 N N 556328f1f096e5d50d83eb3cb335c453e0f3b0bbf3b75277b915b7f5e9878de3
0x7B4 N N 847df7ab55c11a75fd5353fd1b38930a6b27956ccc9505af49e3b005711fa514
0x7B5 N N 6a4ecb0f506cbada661d466298ee14337c27680232fd5510d538160ad27cb490
0x7B6 N N 1aedde48ddd6185fd743b69d9f0454e4df723f416684fbffc73bb09e4588a68b
0x7B7 N N e8eea00603d07e4e37e2fa8e61ca97d64c3019ad267187cefb132734825b7640
0x7B8 N N bdc147a43a1092a482ec5cccb689040122f9f538433c2efd9f4d13d5a612ecff
0x7B9 N N 5c7a7cff2e6dad153a63d0c88e39fbae7adbf37c540be6f1f4240566475ec978
0x7BA N N 1aca6b4a5fb7af017a4c5cdfd15036994f7e4d677b124c602fbd08d952fa7b47
0x7BB N N 3ca989237ab17d48090d9cd1c7ca37da737d596487bac92e6ffc18f1242f873b
0x7BC N N bed97c92dff41dc45f73eefceab3ec6800321e1fa4b9de8840b29ad648c8438f
0x7BD N N ec18d74088d6e075bb1295869df5fda93a89bf187d4cb310eb9b3d3d0666294d
0x7BE N N d234d4d96abb1421a94321647e49e4185295854f89d61886f905304150d418bb
0x7BF N N 4c80c7c775f12fd51c3f3721237b473dc82f1176221546c6bcc22383cfe63dd8
0x7C0 N N 8497d52c2c329f399841cad263bb4d7f640c8b583fc15400fd3ce28eb6f52ec6
0x7C1 N N 1e094dd0479201e59ffdac0b7193dc116e98a9c9abbb729209f5600fcc901990
0x7C2 N N 804b691ce39e3ce01f8f0b2238f73c2f68747c6e590c30675f15ad230affdfb3
0x7C3 N N 07ad55b0f6d241ad6c3fcc6903a6b25d64dce7f683d23317c3bb8f27d93ec42f
0x7C4 N N f947ad4115bafb3dc4c57051f6ad787d341c716395e8432352776003e375e6aa
0x7C5 N N e07e2174b75d26c83bc0d96f8e350c4ff7bae27584bb6d64bf46af0c94a6cd56
0x7C6 N N 2a63807907b0f4f1c90888db4f5a8e3dffb073f8d7605157fe08916b3390004a
0x7C7 N N 0250f18bc7f05306dfc231e627f010b4e2417db0c6a3ee785d13f2bd48f1716a
0x7C8 N N 3d621c703958dc2b8acf42d385f649271d56aa6077af74f68e16b54028038a40
0x7C9 N N 588e93c26cf3d71386338a4e14132cda4e97a73bc3d01cc3a41909570f24be41
0x7CA N N 7663161a5166d2bdbeea969ea7ff5a5e12b8e7b4ad60e1671a3ffd6105593349
0x7CB N N f323ef2610bb4854251b3bac0b5a1b3e91c1426d9a89aebdc87f39822f6b331f
0x7CC N N 0793894273cbc60a07f4cb45b5d7b040058ded872952e779bb800f81a57a3995
0x7CD N N e319252ea178d2f82ed01656e4bad1722802fe57c656a6f8bd01ad104adbaf54
0x7CE N N e5238f1add7aa48968f26f71f187a24514e8c60112a803a4241f9e57e1f7af6a
0x7CF N N d18db03f4a0dcbb7a736ee3ce3876e2a46053a2a12b3088377cc5fe2392938ef
0x7D0 N N 8cb2497089f9f56ef18a21a2b16579e8813c055d93bb8df483c6786de063e8f4
0x7D1 N N 116c1cbbe2bcc48292999ff2add6507b6002e61ee9ab734b89b89eb26377a67e
0x7D2 N N f18a3e1aaaedabaa126e07e59c6965038d3eb0f6fa3fb302e125e34fbfef01e3
0x7D3 N N d6f599da74515c72cd33dcd6444a4e9cfea0f8de75c7fca523b4dc6695c30f4d
0x7D4 N N 711e50c91441beedfa92f4bb93014a776ed4cd9a0ad9ee1fe3db222bb93f6d5f
0x7D5 N N c35f0bfd48380c556778935df1705e5515e00783f98814e911842ae9fd45b122
0x7D6 N N a094eb80910643477fd5cfc60c62f2a410030732e31894420e473cfaa43eba8b
0x7D7 N N 43596e6b06e6cd67bad69d2943a67d449c9fefe25732d09b7b993ea16372b71b
0x7D8 N N ec06d570beec94c4cee301a77504ad00e7c9f8e2fedb7db4f2404ec4605958d0
0x7D9 N N 5c799199efbc7e483a85b7a774651b7bec1107f3c35e5f9623cc1479fa2fcab2
0x7DA N N 606c323790ec44b77748216e8e25997362cd59f7db176e40b012c6c252121237
0x7DB N N 451dab82bcf376741b1f6d0530c58e30f97cbfaf81c1d30b3d4476b82faec5af
0x7DC N N 8c79e83efd53e7c40777d0fe4a2584c0eeda30d2e95eff0d5e74b2d4a7a7fb9f
0x7DD N N b16dcd1ffa3d7a090e4040d74c2d7789d2c2351634f11395be1a2e3888048b5d
0x7DE N N 3e97f9ca56cef2970ef4d5b047a8bae8ffc67dfe1218c0fa1113c26cf15f7274
0x7DF N N e5273ed1901ff8a9681b531a66575bdd1c6c8e6bf1fa894b3c67e490ad0478ec
0x7E0 N N 795eb5161baa2ff99377acc74ba7f7ef79e41d03e8b899e7b0dc3486f33220fd
0x7E1 N N 0d008b128f46648dd0311bf3798143c61f51c08d4a5a942821ce4ef84988b411
0x7E2 N N 2739d8e6e7186d34084d126b6a4f459fbd09b5dd34ef00fbb611eb2d312191db
0x7E3 N N f4abf13038833d5da7327cd9290ffbce6ca3f689882d225ae7c40957e9bad7e2
0x7E4 N N 0e2a4c20664a235f28386ebff817d0775fad3151b8e39f3a8ca89a4178fc6520
0x7E5 N N f90e31956a64ceef68285a391dbd96cd1e0faee2d027636e50804bc47d23b90a
0x7E6 N N 184193fd28e2ef1ce6f782146e595db4798fdfb8e03625709e9998a0d8ebfe32
0x7E7 N N 6a9204919336d4df3273cfd6a5b58cac5c2542cc4b4d89757f010254db01009b
0x7E8 N N 677deff2d7391fbb6da67485cb88d76cfabba7656625d0373c761e294082653e
0x7E9 N N 91689d9d9b271ef47170214bca129392b5db30d1f4b77b1375a45a1bdc2a3a55
0x7EA N N 2559bd1455d42f1f13cccf7c2500efe32d963059504f0d69ff6bd30cd6a95c1c
0x7EB N N 077c149c3a40062a49367b4033b2c80e36a64de9aa5e01f5a37016d777396a85
0x7EC N N 04b7b3666ccaf1dc911f90c869b199ec149bcced50b19eb32654457712996458
0x7ED N N 34418d27de5915d074d6e3732a65918c4c1018aa486109c8b1a3335850fef450
0x7EE N N bba43308d81208c27309549590a3fd0233e686ef6c1299096d3f8a872196ec36
0x7EF N N 0107f6ecfb56299ab71116e775d04742a12d9c23f00051af37252c85d60dd347
0x7F0 N N 606001e3846f3621e8e66cf444d2e20c01ed73ad810421d290d824f9f08ee9a2
0x7F1 N N 3ddb41e084520e6073ae5f84926a000cb53b5b63e1a888f46556d1d916577084
0x7F2 N N 9adf52f1926b6c545ca959ce9800bfe86bfabf64ab5c04f3d41540303489b4fe
0x7F3 N N cd978edc1db6dc5c1da17bff3aa8fed5407d7336d8027087c553b1e3c15491a1
0x7F4 N N f83fc2615ef7f647ddb9e666db49effdcbb08b1dc32773c6f52558c24f467341
0x7F5 N N 04b0b70938d13314924d5e20fafa62d785875f49ed6f1b39c7c1c7cb859856eb
0x7F6 N N 69213cb98bf7665f999fb87cbf7bf87f7d7006a2f42df2b0a8dd7576f895a650
0x7F7 N N 79bbd313309faaeea24c3a8d3bec8aba81c3b008ba13765ffc0eeb39d0afe2cc
0x7F8 N N 71a56ce5af79188cf70a048e41691f2d90de0abcc6b9cca235c5c105ec77cd32
0x7F9 N N 915da02507f7cf4286c375b2e5eadd0ec01d272d6236d9fcd147f2a84651242f
0x7FA N N 68333929da8542489f9ea852f160d9d80d25112f5330f54ae188f9f69823e81e
0x7FB N N c8d96c49fbae295252047bb6bfe5d175502181da177bfd8792e4e2205c2d689c
0x7FC N N 511b792980a78e5f9c12461fc498ef1ab105a1a8133ffaa93b28b4bac6604c84
0x7FD N N 196f5de217d71579b9b58fa214ff52ea798b258258cbbc4caa95c6189757eced
0x7FE N N ac373d038b695af368ee1294655a6f98c30d291017300033bb5eb4e4703f2337
0x7FF N N 967d0f21ecd5a0fe1dc6782034b7ac348a0feaadbc6aa28cb828ef5ec4cfe49c