From d9e4dad0a828a8a904f44dda090a4d6d08fe2948 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 11 Jun 2016 13:31:31 -0400 Subject: Makefile redo & other features (#395) * .build containment implemented * no destructive variable setting - builds in either folder * make from 3 places * cleans before each build * make from root with keyboard=keyboard, keymap=keymap * make from keyboard/keyboard with keymap=keymap * make from keymaps/keymap * only implemented on planck * adds color diag to avr-gcc * makefiles for all plancks, clean-up * quick build-all makefile for plancks * reformatting of make output (colors) * color toggle, tmk path corrections * correct if statement for color * move config.h to main makefile, updates preonic, atomic * format update, all keyboards targets * makefile optional for build all target, alps and arrow_pad updated * alps updated * make planck default, trying out travis recipe for all-keyboards * all-keymaps target, different travis recipe * updates alps64 * updates keyboards to new format * updates clue* projects * all projects updated, specialise EZ .hex, let .hex through * updates travis * automatically find root, keyboard, keymap * silent echo, cleaned-up mass make output * updates all keyboards' .hex files except EZ * Rename Bantam44.c to bantam44.c * Rename Bantam44.h to bantam44.h * nananana * adds six key keyboard * does same to ez as rest * updates send_string example * brings ergodox_ez up to date * updates template/new project script * adds sixkeyboard * adds readme for sixkeyboard * adds sixkeyboard to travis * filenames, gitignore mess * define clock prescaler stuff manually * make quick, size test example * documentation and dfu-no-build --- keyboard/jd45/keymaps/default.c | 31 - keyboard/jd45/keymaps/default/compiled.hex | 1113 +++++++++++++++++++++++++++ keyboard/jd45/keymaps/default/keymap.c | 31 + keyboard/jd45/keymaps/justin.c | 101 --- keyboard/jd45/keymaps/justin/compiled.hex | 1154 ++++++++++++++++++++++++++++ keyboard/jd45/keymaps/justin/keymap.c | 101 +++ 6 files changed, 2399 insertions(+), 132 deletions(-) delete mode 100644 keyboard/jd45/keymaps/default.c create mode 100644 keyboard/jd45/keymaps/default/compiled.hex create mode 100644 keyboard/jd45/keymaps/default/keymap.c delete mode 100644 keyboard/jd45/keymaps/justin.c create mode 100644 keyboard/jd45/keymaps/justin/compiled.hex create mode 100644 keyboard/jd45/keymaps/justin/keymap.c (limited to 'keyboard/jd45/keymaps') diff --git a/keyboard/jd45/keymaps/default.c b/keyboard/jd45/keymaps/default.c deleted file mode 100644 index 05dd46e792..0000000000 --- a/keyboard/jd45/keymaps/default.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "jd45.h" -#include "backlight.h" - -/* this keymap is to provide a basic keyboard layout for testing the matrix - * for more practical and complicated keymap refer to other keymaps in the same folder - */ -/* JD45 keymap definition macro - */ -#define KEYMAP( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \ - K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \ - K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ - K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ -) { \ - { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \ - { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \ - { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \ - { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \ -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = KEYMAP( - ESC, Q, W, E, R, T, Y, U, I, O, P, QUOT, BSPC, - TAB, A, S, D, F, G, H, J, K, L, SCLN, ENT, - LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, - PAUSE, LCTL, LALT, DEL, SPC, DEL, LEFT, UP, DOWN, RIGHT ), -}; - -const uint16_t PROGMEM fn_actions[] = { - -}; diff --git a/keyboard/jd45/keymaps/default/compiled.hex b/keyboard/jd45/keymaps/default/compiled.hex new file mode 100644 index 0000000000..ea8cb1aaee --- /dev/null +++ b/keyboard/jd45/keymaps/default/compiled.hex @@ -0,0 +1,1113 @@ +:100000000C947F010C94C3010C94C3010C94C301A4 +:100010000C94C3010C94C3010C94C3010C94C30150 +:100020000C94C3010C94C3010C94E80B0C94BA0C0F +:100030000C94C6190C94C3010C94C3010C94C30115 +:100040000C94C3010C94C3010C94C3010C94C30120 +:100050000C94C3010C942E1A0C94C3010C94C3018C +:100060000C94C3010C94800E0C94C3010C94C30136 +:100070000C94C3010C94C3010C94C3010C94C301F0 +:100080000C94C3010C94C3010C94C3010C94C301E0 +:100090000C94C3010C94C3010C94C3010C94C301D0 +:1000A0000C94C3010C94C3010C94C301270D490D9A +:1000B000370E490D370E8E0DB10D370E060E190E87 +:1000C0004211421171117111B011D0112613261372 +:1000D000DB1126138B128B12F212FB122613201344 +:1000E00098129812981298129812981298129812C0 +:1000F00098129812981298129812981298129812B0 +:10010000A812B612BD12C412CE12290014001A0091 +:100110000800150017001C0018000C001200130046 +:1001200034002A002B0004001600070009000A0012 +:100130000B000D000E000F00330028000000E1004E +:100140001D001B00060019000500110010003600FC +:1001500037003800E50000004800E000E2004C00F5 +:100160002C0000004C0000005000520051004F00D5 +:1001700000000A034A004400340035000000120366 +:100180006700650065006B006800610063006B003C +:1001900000000403090409027400040100A0FA0924 +:1001A0000400000103010100092111010001223FA7 +:1001B000000705810308000A090401000103010288 +:1001C00000092111010001224D00070582030800EA +:1001D0000A090402000103000000092111010001C5 +:1001E0002236000705830308000A090403000203FE +:1001F00000000009211101000122200007058403ED +:100200002000010705040320000112011001000075 +:100210000008EDFE60600100010200010631FF09E7 +:1002200074A1010975150025FF9520750881020943 +:1002300076150025FF952075089102C005010980FB +:10024000A101850216010026B7001A01002AB70095 +:10025000751095018100C0050C0901A101850316E7 +:100260000100269C021A01002A9C0275109501814A +:1002700000C005010902A1010901A1000509190138 +:100280002905150025019505750181029501750364 +:1002900081010501093009311581257F9502750815 +:1002A000810609381581257F950175088106050CA1 +:1002B0000A38021581257F950175088106C0C005A1 +:1002C000010906A101050719E029E7150025019597 +:1002D0000875018102950175088101050819012938 +:1002E00005950575019102950175039101050719A1 +:1002F0000029FF150025FF950675088100C011240F +:100300001FBECFEFDAE0DEBFCDBF04B603FE24C0D0 +:100310008091EC029091ED02A091EE02B091EF027B +:100320008730904BA740B04BB9F41092EC0210927A +:10033000ED021092EE021092EF0214BE84B7877F96 +:1003400084BF88E10FB6F89480936000109260003B +:100350000FBEE0E0F8E3099511E0A0E0B1E0EEE2C5 +:10036000F5E402C005900D92A434B107D9F712E06C +:10037000A4E4B1E001C01D92AC3EB107E1F70E94D8 +:1003800053090C9495220C940000279A2F988FEF14 +:100390009FEF90938700809386008AE0809380008F +:1003A00089E1809381000C946C20282F81110BC06F +:1003B00080918000877F8093800010928D00109242 +:1003C0008C002F9808952F988091800088608093EA +:1003D0008000233019F48FEF9FEF0FC083E090E08F +:1003E000821B9109880F991F2FEF3FEFA90102C0CF +:1003F000569547958A95E2F7CA0190938D008093B0 +:100400008C000895089508950E94C50182E092E04D +:10041000892B11F00C940202089583E092E0892B5D +:1004200011F00C940302089581E0089581E008958D +:100430000C94160208950F931F93CF93DF938C01B2 +:10044000FC01C081D181CE010E948A18BE010E94A8 +:10045000CB02EC01B8010E941802882309F48DC078 +:10046000F8018281882309F44AC080914F018111EB +:100470001FC0C431F0E5DF0709F051C00E941A0225 +:1004800081E080934F010E94F81990934E01809370 +:100490004D011092460110924801109247011092AE +:1004A0004A011092490110924C0110924B0165C013 +:1004B00080914D0190914E010E94041A883C910553 +:1004C00070F480914601E82FF0E0EE0FFF1FE95B2A +:1004D000FE4FD183C0838F5F809346014EC0C438E6 +:1004E00080E5D80721F0C538D04501F13AC0F801C0 +:1004F0008281882341F01092440182E01EC0C438FA +:10050000E0E5DE0759F580914401811106C086E2DD +:100510000E94E60F86E20E94AE1082E01CC0C43842 +:10052000F0E5DF0741F3C538D045D9F4F801828101 +:10053000882331F01092450180E20E94FD101DC019 +:1005400080914501811106C087E20E94E60F87E293 +:100550000E94AE1080E20E9404110FC0C538D04541 +:1005600029F381E08093440180934501C801DF9124 +:10057000CF911F910F910C94140280E0DF91CF91E5 +:100580001F910F9108950C9404020C940D0280E0C9 +:1005900090E0089508959DE0799FF001112494E37F +:1005A000899FE00DF11D1124E60FF11DEE0FFF1FD5 +:1005B000E65FFE4F859194910895880F991FFC0185 +:1005C000E657F040859194910895880F991FFC019A +:1005D000E65FFE4F8591949108950F931F93CF93FB +:1005E000DF93EC01811521E39207A0F5C11580E3AB +:1005F000D80708F0D7C0C83ED105D8F4C03ED10511 +:1006000008F003C2C83AD10578F4C53AD10508F01C +:100610006AC0C130D10509F463C008F4F3C1C43025 +:10062000D10508F0F2C1EEC1CB3BD10508F466C09C +:10063000E9C1C11590E2D90708F0AFC0C11521E0AA +:10064000D20708F0E2C1C03FD10508F4DBC18E013A +:1006500010651BC2C03880E5D80700F5C03790E5AB +:10066000D90708F0A3C0C11520E5D20709F4ACC032 +:1006700050F4CE01905480319F4008F0C3C1DF7028 +:100680008E01106A02C2C13080E5D80709F4AAC001 +:10069000C43190E5D90708F4ABC0B4C1C33820E534 +:1006A000D20709F48EC050F4C13890E5D90709F497 +:1006B00082C008F083C000E011EDE7C1C03181E5E0 +:1006C000D80708F49FC1C11597E5D90708F432C1CE +:1006D000CE0190578115904108F094C1DF708FC111 +:1006E00001E010E0D2C1C53AD10509F490C1C63A83 +:1006F000D10509F08FC102E810E4C7C1C83AD1059D +:1007000009F48BC1C93AD10509F48AC1CA3AD105A5 +:1007100009F489C1CB3AD10509F488C1CC3AD10595 +:1007200009F487C1CD3AD10509F486C1C03BD10592 +:1007300009F485C1CE3AD10509F484C1CF3AD10577 +:1007400009F483C1C13BD10509F482C1C23BD10583 +:1007500009F481C1C33BD10509F480C1C43BD10573 +:1007600009F47FC1C53BD10509F47EC1C63BD10563 +:1007700009F47DC1C73BD10509F47CC1C83BD10553 +:1007800009F47BC1C93BD10509F47AC1CA3BD10543 +:1007900009F479C100E014E478C1CE019F700E9491 +:1007A000E50274C1DD278E01106C6FC1CF70DD27AB +:1007B0008E01146D6AC100E010ED67C100E012ED1A +:1007C00064C100E013ED61C10E9491138FEF94E3C7 +:1007D0002CE0815090402040E1F700C000000E94D2 +:1007E000531A53C18091CC0281608093CC024DC1D9 +:1007F0000E94FE1B811102C00E94DF1B0E941B1C75 +:1008000090E09093EB028093EA02C23080E5D80733 +:1008100021F48091EA02816086C0C43090E5D90756 +:1008200021F48091EA0282607EC0C63020E5D207C2 +:1008300021F48091EA02846076C0C83080E5D80750 +:1008400019F48091EA0227C0CA3090E5D90721F453 +:100850008091EA02806167C0CC3020E5D20721F4A4 +:100860008091EA0280625FC0CE3080E5D80721F433 +:100870008091EA02806457C0C03190E5D90721F425 +:100880008091EA0280684FC0C23120E5D20729F486 +:100890008091EA028460886046C0C33080E5D80752 +:1008A00021F48091EA028E7F3EC0C53090E5D907E1 +:1008B00021F48091EA028D7F36C0C73020E5D2074F +:1008C00021F48091EA028B7F2EC0C93080E5D807E1 +:1008D00019F48091EA0226C0CB3090E5D90721F4C3 +:1008E0008091EA028F7E1FC0CD3020E5D20721F42F +:1008F0008091EA028F7D17C0CF3080E5D80721F4C0 +:100900008091EA028F7B0FC0C13190E5D90721F4B5 +:100910008091EA028F7707C0C331D04531F48091CE +:10092000EA028B7F877F8093EA028091EA020E942D +:100930001F1CABC08D2F99278F709927813091058F +:10094000D9F49E012370332702C0880F991F2A957E +:10095000E2F79C688E0144E0000F111F4A95E1F711 +:1009600000271370802B912B53E0CC0FDD1F5A957D +:10097000E1F7C076DD272FC08230910531F4DC2FFE +:10098000CC278E01016F106A80C08330910569F415 +:10099000CE018370992701E010E002C0000F111F03 +:1009A0008A95E2F7C8019C680FC084309105B9F4BC +:1009B000CE018370992701E010E002C0000F111FE3 +:1009C0008A95E2F7C8019A6823E0CC0FDD1F2A95CB +:1009D000E1F7C07ED7708C010C2B1D2B56C08530E3 +:1009E000910531F4DC2FCC278E01046F106A4DC0C5 +:1009F000069709F04AC0CF71DD27DC2FCC278E0186 +:100A0000106243C000E010E040C08E013EC001E82B +:100A100010E43BC003E810E438C002EE14E435C033 +:100A200009EE14E432C00AEE14E42FC005EB14E41E +:100A30002CC006EB14E429C007EB14E426C00CEC30 +:100A400014E423C00DEC14E420C003E815E41DC039 +:100A50000AE815E41AC002E915E417C004E915E430 +:100A600014C001E216E411C003E216E40EC004E271 +:100A700016E40BC005E216E408C006E216E405C061 +:100A800007E216E402C00AE216E4C801DF91CF9142 +:100A90001F910F9108959DE0799FF001112494E337 +:100AA000899FE00DF11D1124E60FF11DEE0FFF1FD0 +:100AB000E65FFE4F85919491803E9105E0F4803C85 +:100AC000910558F58133910509F46FC048F48932D6 +:100AD000910509F463C08A32910509F46DC072C0B2 +:100AE00089339105E9F082389105D1F0853391057C +:100AF00009F44DC067C0833E910581F138F4803E12 +:100B00009105B9F0823E9105D9F05CC0863E910511 +:100B100061F1873E9105A1F155C00E94DD02089563 +:100B20002091EA0220FD02C021FF4CC080EE90E03F +:100B300049C08091EA0280FFF9CF89E390E042C08A +:100B40008091EA0282FF0EC08091EA0284FF03C016 +:100B500080E090E037C083EE90E034C08091EA02FC +:100B600082FFF2CF82EE90E02DC08091EA0283FFF7 +:100B70000BC08091EA0284FDEBCF87EE90E022C0AB +:100B80008091EA0283FFF5CF86EE90E01BC0809152 +:100B9000EA0285FF07C089E290E014C08091EA0272 +:100BA00085FFF9CF85E390E00DC08091EA0286FFD2 +:100BB00007C08AE290E006C08091EA0286FFF9CF82 +:100BC00081E390E00E94ED02089508950C94E505FC +:100BD000E82FF0E0EF5DFE4F8081E82FEF70F0E04E +:100BE00082958F7021E030E0A90102C0440F551FAB +:100BF0008A95E2F740A308950F931F93CF93DF9355 +:100C000085B7806885BF85B7806885BFC3E0D0E0C1 +:100C100001E010E0FE01EF5DFE4F8081E82FEF70F4 +:100C2000F0E021A182958F70A80102C0440F551FEA +:100C30008A95E2F7CA01822B81A38C2F0E94E805D6 +:100C4000219740F78CE090E061E070E0FC01EC5E01 +:100C5000FE4F2081E22FEF70F0E042A122952F702D +:100C6000DB0102C0AA0FBB1F2A95E2F79D01242BCE +:100C700022A3019758F7DF91CF911F910F910C9408 +:100C8000C302EF92FF920F931F93CF93DF9308E578 +:100C900011E0C3E0EE24E394F12CD5E08C2F0E9408 +:100CA000E8058CE090E040E050E0FC01EC5EFE4F97 +:100CB0006081E62FEF70F0E020A130E062956F7068 +:100CC00002C0359527956A95E2F720FD09C0970186 +:100CD000082E02C0220F331F0A94E2F7422B532B37 +:100CE000019718F7F801929182918F018417950767 +:100CF00021F051834083D09300018C2F0E94E8059E +:100D0000C15060F68091000187FD2CC08150809316 +:100D100000018F3F39F08FE99FE00197F1F700C0A4 +:100D2000000020C0809156019091570190935F017F +:100D300080935E01809154019091550190935D01E3 +:100D400080935C01809152019091530190935B01DB +:100D500080935A01809150019091510190935901D3 +:100D6000809358010E94C50281E0DF91CF911F91CD +:100D70000F91FF90EF900895E82FF0E0EE0FFF1F26 +:100D8000E85AFE4F808191810895089580916C0109 +:100D900008950F931F93CF93DF9300D000D01F923D +:100DA000CDB7DEB79C018091610190916201281757 +:100DB000390709F493C03093620120936101223E08 +:100DC0003105F1F1293E310559F12A3E310559F13C +:100DD000253B310559F1263B310551F1273B3105C2 +:100DE00051F12C3C310561F12D3C310531F12338B5 +:100DF00081E0380729F12A3891E0390709F12239D1 +:100E000081E03807E9F0243991E03907C9F021324F +:100E100082E03807B9F0233292E0390789F415C02F +:100E200090E040E114C090E040E211C092E001C0C7 +:100E300094E040E00CC090E1FCCF90E040E407C0BB +:100E400090E0F7CF90E044E002C090E041E08901FB +:100E50008DEF4C839D830E946A0E80E00E946A0E93 +:100E600082E00E946A0E4C81842F0E946A0E9D814E +:100E7000892F0E946A0E80E00E946A0E80E00E9424 +:100E80006A0E80E00E946A0E80E00E946A0E8091E5 +:100E9000E102843019F583E089831B830A83809300 +:100EA000E9008FEF9091E800815095FD06C095ED27 +:100EB0009A95F1F700008111F5CF8091E80085FF48 +:100EC0000DC040E050E063E070E0CE0101960E946A +:100ED000D8098091E8008E778093E8000F900F90FA +:100EE0000F900F900F90DF91CF911F910F91089568 +:100EF000CF93DF9300D01F92CDB7DEB72091E102F0 +:100F0000243021F522E029839B838A8383E0809328 +:100F1000E9008FEF9091E800815095FD06C095EDB6 +:100F20009A95F1F700008111F5CF8091E80085FFD7 +:100F30000DC040E050E063E070E0CE0101960E94F9 +:100F4000D8098091E8008E778093E8000F900F9089 +:100F50000F90DF91CF910895CF93DF93EC018DEF48 +:100F60000E946A0E80E00E946A0E83E00E946A0E70 +:100F700088810E946A0E89810E946A0E8A810E947D +:100F80006A0E8B810E946A0E8C810E946A0E80E03C +:100F90000E946A0E8091E1028430F9F482E080932D +:100FA000E9008FEF9091E800815095FD06C095ED26 +:100FB0009A95F1F700008111F5CF8091E80085FF47 +:100FC0000CC040E050E065E070E0CE010E94D8091E +:100FD0008091E8008E778093E800DF91CF910895AB +:100FE000EF92FF920F931F93CF93DF93EC018DEF5E +:100FF0000E946A0E8E017E0188E0E80EF11CF80165 +:1010000081918F010E946A0E0E151F05C1F7809114 +:10101000E102843039F581E08093E9008FEF90910F +:10102000E800815095FD06C0F5EDFA95F1F7000056 +:101030008111F5CF8091E80085FF14C040E050E0B9 +:1010400068E070E0CE010E94D8098091E8008E77B8 +:101050008093E80088E0FE01A4E6B1E001900D92E3 +:101060008A95E1F7DF91CF911F910F91FF90EF905B +:1010700008958091E002811109C00E946D0B0E94C9 +:10108000CA0B8091E20084608093E2000895109280 +:10109000E0020895089508950C94BB192091600111 +:1010A0002F5F822F62E30E942522992319F020935B +:1010B000600108951092600180916301882371F1AD +:1010C0008091E102843041F58091E9008F70209198 +:1010D000EC00922F917020FD90E8892B94E0909382 +:1010E000E9009091EB0090FF14C09091EE0097FF03 +:1010F00010C09091E80095FF03C01092F100F9CF65 +:101100009091E80090FF05C09091E8009E77909341 +:10111000E8008F708093E90010926301089542E027 +:1011200061EC81E00E94E70A42E061EC82E00E940B +:10113000E70A42E061EC83E00E94E70A42E261ECE8 +:1011400084E00C94E70A8091E302833009F453C0F1 +:1011500030F4813071F0823009F48CC008958A3007 +:1011600009F478C08B3009F45EC0893009F09AC068 +:1011700020C08091E202813A09F094C08091E80099 +:10118000877F8093E8008091E6029091E702892BA7 +:1011900021F468E084E691E003C060E080E090E044 +:1011A00070E00E94230A8091E8008B778093E8002A +:1011B00008958091E202813209F074C08091E602C4 +:1011C0009091E702892B09F06DC08091E800877F3C +:1011D0008093E8008091E80082FD05C08091E102E3 +:1011E0008111F8CF5FC08091F10080936C018091F4 +:1011F000E8008B7753C08091E202813A09F052C037 +:101200008091E6029091E702892B09F04BC0809112 +:10121000E800877F8093E8008091E80080FFFCCFA2 +:1012200080910B0136C08091E2028132D9F5809124 +:10123000E6029091E702892BA9F58091E800877F6B +:101240008093E8000E941C0B8091E40280930B01C4 +:101250000C9491138091E202813221F58091E80093 +:10126000877F8093E8000E941C0B8091E5028093A9 +:101270006D0108958091E202813AA1F48091E80025 +:10128000877F8093E8008091E80080FFFCCF809109 +:101290006D018093F1008091E8008E778093E800E3 +:1012A0000C941C0B089584B7877F84BF88E10FB628 +:1012B000F89480936000109260000FBE90E080E888 +:1012C0000FB6F89480936100909361000FBE0E9466 +:1012D000FE0E0E946D0B0E94CA0B8091E20084609A +:1012E0008093E20078940E946C0E0E944F0E0E9440 +:1012F000000F81E091E00E94AA0E0E94080FFDCF2E +:10130000292F332723303105C9F064F4213031050A +:1013100081F02230310509F043C084E790E026E9EE +:1013200031E042C021323105F1F02232310541F184 +:1013300037C082E190E02AE032E036C09927813060 +:10134000910541F08230910541F0892B49F5E2E9A0 +:10135000F1E005C0EEE7F1E002C0E2E7F1E08491E0 +:1013600090E09F0121C06430D8F4E62FF0E0EE0F4A +:10137000FF1FEF5CFE4F2081318189E090E014C0B7 +:10138000643070F470E0FB01EE0FFF1FE75DFE4F6D +:1013900020813181FB01EB5DFE4F808190E004C034 +:1013A00080E090E020E030E0FA013183208308956E +:1013B000CF92DF92EF92FF920F931F93CF93DF9321 +:1013C000EC018B016A010E943B0B811133C0C114F7 +:1013D000D10439F0F60180819181081B190BC80FE7 +:1013E000D91FE12CF12C0115110519F18091E800AC +:1013F00085FD16C08091E8008E778093E800C114C7 +:10140000D10449F0F60180819181E80EF91EF18244 +:10141000E08285E00FC00E943B0B882321F30AC0C5 +:1014200089918093F10001501109FFEFEF1AFF0A33 +:10143000DACF80E0DF91CF911F910F91FF90EF9075 +:10144000DF90CF9008952091E8023091E9022617AD +:10145000370748F06115710539F42091E8002E77BF +:101460002093E80001C0B90140E061157105A9F1C0 +:101470002091E102222309F443C0253009F442C03F +:101480002091E80023FD40C02091E80022FD32C0F9 +:101490002091E80020FFE9CF4091F3002091F20075 +:1014A00030E0342BFC01CF016115710559F0283073 +:1014B000310540F481918093F100615071092F5FF3 +:1014C0003F4FF1CF41E02830310509F040E0209155 +:1014D000E8002E772093E800C8CF4111C9CF0AC099 +:1014E0008091E102882361F0853061F08091E8000D +:1014F00083FD0AC08091E80082FFF2CF80E008956A +:1015000082E0089583E0089581E008952091E80243 +:101510003091E9022617370748F06115710539F453 +:101520002091E8002E772093E80001C0B901FC016A +:1015300020E06115710591F18091E102882309F4A1 +:1015400040C0853009F43FC08091E80083FD3DC074 +:101550008091E80082FD2FC08091E80080FFE9CFF4 +:101560002091F3008091F20090E0922B61157105BB +:1015700059F08830910540F424912093F100319680 +:10158000615071090196F2CF21E0089709F020E03F +:101590008091E8008E778093E800CBCF2111CCCFEB +:1015A0000AC08091E102882361F0853061F080916A +:1015B000E80083FD0AC08091E80082FFF2CF80E05E +:1015C000089582E0089583E0089581E00895982FBA +:1015D000973058F59093E900981739F07091EC0026 +:1015E0002091ED005091F00003C0242F762F50E0A1 +:1015F00021FF19C03091EB003E7F3093EB0030911A +:10160000ED003D7F3093ED003091EB003160309381 +:10161000EB007093EC002093ED005093F0002091CC +:10162000EE0027FF07C09F5FD3CF8F708093E90044 +:1016300081E0089580E008958091E20287FF11C063 +:101640008091E80082FD05C08091E1028111F8CF10 +:1016500011C08091E8008B770BC08091E102882354 +:1016600049F08091E80080FFF8CF8091E8008E7704 +:101670008093E80008952091E4003091E50095E61C +:101680004091EC00842F817040FF22C08091E800DF +:1016900080FD1CC08091E102882391F0853091F09B +:1016A0008091EB0085FD10C04091E4005091E50071 +:1016B0004217530729F39A01915011F784E00895D6 +:1016C00082E0089583E0089581E0089580E0089520 +:1016D0004091E80042FFDECF08950E94DB0B0E949C +:1016E000E30BE0EEF0E0808181608083E8EDF0E0E4 +:1016F00080818F77808319BCA7EDB0E08C918E7FBD +:101700008C9380818F7E80831092E00208950F93E6 +:101710001F93CF93DF930E94DB0B0E94E30BC8ED76 +:10172000D0E088818F7788838881806888838881EA +:101730008F7D888319BC1092E1021092DD02109215 +:10174000DF021092DE0200EE10E0F80180818B7F54 +:10175000808388818160888342E060E080E00E942D +:10176000E70AE1EEF0E080818E7F8083E2EEF0E038 +:10177000808181608083808188608083F80180819E +:101780008E7F8083888180618883DF91CF911F91D4 +:101790000F910895E8EDF0E080818F7E8083E7ED82 +:1017A000F0E080818160808384E082BF81E080936B +:1017B000E0020C94870BE8EDF0E080818E7F80835F +:1017C0001092E20008951092DA001092E10008955C +:1017D0001F920F920FB60F9211242F933F934F93A6 +:1017E0005F936F937F938F939F93AF93BF93EF9389 +:1017F000FF938091E10082FF0BC08091E20082FFA5 +:1018000007C08091E1008B7F8093E1000E944E0829 +:101810008091DA0080FF1FC08091D80080FF1BC03C +:101820008091DA008E7F8093DA008091D90080FF6A +:101830000DC080E189BD82E189BD09B400FEFDCF04 +:1018400081E08093E1020E94390805C019BC109222 +:10185000E1020E9447088091E10080FF19C0809159 +:10186000E20080FF15C08091E2008E7F8093E2004D +:101870008091E20080618093E2008091D8008062D4 +:101880008093D80019BC85E08093E1020E944B0848 +:101890008091E10084FF30C08091E20084FF2CC081 +:1018A00080E189BD82E189BD09B400FEFDCF809150 +:1018B000D8008F7D8093D8008091E1008F7E809347 +:1018C000E1008091E2008F7E8093E2008091E2004F +:1018D00081608093E2008091DD02882311F084E032 +:1018E00007C08091E30087FD02C081E001C083E072 +:1018F0008093E1020E944C088091E10083FF29C09F +:101900008091E20083FF25C08091E100877F809372 +:10191000E10082E08093E1021092DD028091E1001B +:101920008E7F8093E1008091E2008E7F8093E200C1 +:101930008091E20080618093E20042E060E080E01C +:101940000E94E70A8091F00088608093F0000E9476 +:101950004A08FF91EF91BF91AF919F918F917F9135 +:101960006F915F914F913F912F910F900FBE0F900C +:101970001F9018951F920F920FB60F9211242F935C +:101980003F934F935F936F937F938F939F93AF9307 +:10199000BF93CF93DF93EF93FF93C091E900CF7094 +:1019A0008091EC00D82FD17080FDD0E81092E90032 +:1019B0008091F000877F8093F00078940E94FE0C65 +:1019C0001092E9008091F00088608093F000CD2BA8 +:1019D000CF70C093E900FF91EF91DF91CF91BF915C +:1019E000AF919F918F917F916F915F914F913F91B7 +:1019F0002F910F900FBE0F901F9018951F93CF93AC +:101A0000DF93CDB7DEB7AA970FB6F894DEBF0FBE4F +:101A1000CDBFE2EEF2E088E08E0F9091F10091935D +:101A20008E13FBCF0E94A3088091E80083FF1FC1A3 +:101A30008091E2029091E302492F50E04A30510533 +:101A400008F015C1FA01EA5AFF4F0C94452280387C +:101A500081F0823809F00BC18091E6028F7080938B +:101A6000E9008091EB0085FB882780F91092E9005E +:101A700006C08091DE029091DF0291118260909108 +:101A8000E800977F9093E8008093F1001092F100B6 +:101A9000C8C0282F2D7F09F0EAC0882319F08230B2 +:101AA00061F0E5C08091E402813009F0E0C093303C +:101AB00009F080E08093DF022BC08091E402811165 +:101AC00027C08091E6028F7009F4D1C08093E900AD +:101AD0002091EB0020FF1CC0933021F48091EB009B +:101AE000806214C09091EB0090619093EB0021E034 +:101AF00030E0A90102C0440F551F8A95E2F74093D8 +:101B0000EA001092EA008091EB0088608093EB007D +:101B10001092E9008091E800877F86C08111A7C0FC +:101B20001091E4021F778091E3008078812B8093ED +:101B3000E3008091E800877F8093E8000E941C0BFF +:101B40008091E80080FFFCCF8091E3008068809363 +:101B5000E300111102C082E001C083E08093E10242 +:101B600086C08058823008F082C08091E402909153 +:101B7000E5028C3D53E0950779F583E08A838AE29C +:101B800089834FB7F894DE01139620E03EE051E2DE +:101B9000E32FF0E050935700E49120FF03C0E2955B +:101BA000EF703F5FEF708E2F90E0EA3010F0C79635 +:101BB00001C0C0968D939D932F5F243149F74FBF8D +:101BC0008091E800877F8093E8006AE270E0CE01B0 +:101BD00001960E94230A14C0AE014F5F5F4F6091CF +:101BE000E6020E948009BC01009709F440C0909170 +:101BF000E800977F9093E80089819A810E94860A85 +:101C00008091E8008B778093E80031C0803879F5C7 +:101C10008091E800877F8093E8008091DD028093C7 +:101C2000F1008091E8008E778093E8000E941C0B01 +:101C30001EC081111CC09091E4029230C0F48091CA +:101C4000E800877F8093E8009093DD020E941C0BE0 +:101C50008091DD02811106C08091E30087FD02C002 +:101C600081E001C084E08093E1020E948F088091AE +:101C7000E80083FF0AC08091E800877F8093E80036 +:101C80008091EB0080628093EB00AA960FB6F894E7 +:101C9000DEBF0FBECDBFDF91CF911F910895CF93CF +:101CA0008091E1028823A1F0C091E900CF7090916A +:101CB000EC00892F817090FD80E8C82B1092E9001C +:101CC0008091E80083FD0E94FE0CCF70C093E90074 +:101CD000CF9108950C94790E87E68093CC001092F2 +:101CE000CD0088E08093C90086E08093CA00789494 +:101CF00008959091C80095FFFCCF8093CE00089581 +:101D00001F920F920FB60F9211242F933F934F9370 +:101D10008F939F93EF93FF9380916F0190E09C01CD +:101D20002F5F3F4F40916E01421741F03091CE003E +:101D3000FC01E059FE4F308320936F01FF91EF913A +:101D40009F918F914F913F912F910F900FBE0F90C8 +:101D50001F90189590937502809374020895E091F6 +:101D60007402F0917502309721F00190F081E02D1E +:101D7000099480E00895E0917402F0917502309723 +:101D800021F00280F381E02D09940895E09174021E +:101D9000F0917502309721F00480F581E02D0994CF +:101DA000089520917202309173028217930771F0A7 +:101DB0009093730280937202E0917402F091750225 +:101DC000309721F00680F781E02D09940895209145 +:101DD0007002309171028217930771F09093710233 +:101DE00080937002E0917402F0917502309721F0B7 +:101DF0000084F185E02D0994089508950C94FD0E5A +:101E00000E94EF190E94FC050E94B91A0C946C20E4 +:101E10005F926F927F928F929F92AF92BF92CF927A +:101E2000DF92EF92FF920F931F93CF93DF9300D037 +:101E300000D01F92CDB7DEB70E9441069FE7C92EA2 +:101E400092E0D92E03E010E0AA24A394B12C502EE6 +:101E5000802F0E94BC064C01F601729062906F01C7 +:101E60006826792661147104A1F40150110978F7EC +:101E70008FEF89838A831B820E94F8198160782FF3 +:101E80009D838C8349815A816B818D810E94B80F1B +:101E900038C08091CC0281FD0E94C5062CE030E064 +:101EA0007501022E02C0EE0CFF1C0A94E2F7C70176 +:101EB00086219721892B09F129835A828E209F2020 +:101EC00091E0892809F490E09B830E94F8198160D1 +:101ED000782F9D838C8349815A816B818D810E94EB +:101EE000B80F000F111FF801E958FD4F8081918153 +:101EF000E826F926F182E08204C02150310980F6FB +:101F0000B4CF0E94A71D109176020E94AF0E181741 +:101F1000D1F00E94AF0E809376020F900F900F9039 +:101F20000F900F90DF91CF911F910F91FF90EF9045 +:101F3000DF90CF90BF90AF909F908F907F906F90E9 +:101F40005F900C94E6050F900F900F900F900F90FC +:101F5000DF91CF911F910F91FF90EF90DF90CF9085 +:101F6000BF90AF909F908F907F906F905F900895FB +:101F7000CF93DF93CDB7DEB72B970FB6F894DEBFC4 +:101F80000FBECDBF4F83588769877A878B87DE0165 +:101F9000119686E0FD0111928A95E9F785E0FE0130 +:101FA000379601900D928A95E1F749815A816B81AC +:101FB0007C818D819E810E942F162B960FB6F894FE +:101FC000DEBF0FBECDBFDF91CF910895CF938823A1 +:101FD00009F4C2C0C82F823859F40E94AF0E81FDA7 +:101FE000BBC089E30E9409190E948C1989E30CC0C7 +:101FF000833879F40E94AF0E80FDAEC083E50E9465 +:1020000009190E948C1983E50E942619CF910C941E +:102010008C19843859F40E94AF0E82FD9DC087E46C +:102020000E9409190E948C1987E4EECF8CEF8C0F67 +:10203000813A48F48C2F0E94D41F81118DC08C2FBF +:102040000E940919E3CF80E28C0F883048F4C770F2 +:1020500081E001C0880FCA95EAF70E944519D6CFE2 +:102060008BE58C0F833078F4C53A29F0C63A31F00D +:1020700083E890E005C081E890E002C082E890E04B +:10208000CF910C94D10E88E58C0F833108F064C099 +:10209000C83A39F1C93A41F1CA3A49F1CB3A51F15A +:1020A000CC3A59F1CD3A61F1C03B69F1CE3A71F1C8 +:1020B000CF3A79F1C13B81F1C23B89F1C33B91F148 +:1020C000C43B99F1C53BA1F1C63BA9F1C73BB1F1B6 +:1020D000C83BB9F1C93BC1F1CA3BC9F180E090E00E +:1020E00038C082EE90E035C089EE90E032C08AEED2 +:1020F00090E02FC085EB90E02CC086EB90E029C0EB +:1021000087EB90E026C08CEC90E023C08DEC90E053 +:1021100020C083E891E01DC08AE891E01AC082E9FE +:1021200091E017C084E991E014C081E292E011C00F +:1021300083E292E00EC084E292E00BC085E292E07E +:1021400008C086E292E005C087E292E002C08AE21F +:1021500092E0CF910C94E70ECF910895882309F473 +:102160004BC0823859F40E94AF0E81FF45C089E30D +:102170000E9409190E948C1989E30CC0833871F4FC +:102180000E94AF0E80FF38C083E50E9409190E94AB +:102190008C1983E50E9426190C948C19843859F403 +:1021A0000E94AF0E82FF28C087E40E9409190E9496 +:1021B0008C1987E4EFCF9CEF980F913A58F390E297 +:1021C000980F983050F4877091E001C0990F8A956C +:1021D000EAF7892F0E944B19DFCF9BE5980F9330C8 +:1021E00020F480E090E00C94D10E885A833120F4E2 +:1021F00080E090E00C94E70E0895882321F00E947F +:1022000045190C948C190895882321F00E944B19CC +:102210000C948C1908957F928F929F92AF92BF92E7 +:10222000CF92DF92EF92FF920F931F93CF93DF93A2 +:102230001F92CDB7DEB77C01C62E772EFC0105813B +:1022400002950F70128111110E9462190E940219E9 +:10225000882379F0112369F080E28C0D883048F0F2 +:1022600082E00E94EB180E94021991E0D82ED92634 +:1022700001C0D12CE72DE295EF70F0E0E05AFF4F5E +:102280000C944522872D807F072D0F70882311F035 +:102290000295007F112389F0002309F499C180E29F +:1022A0008C0D883020F4802F0E94451903C0802FA8 +:1022B0000E9455190E948C198BC18C2D0E94AE1062 +:1022C000002309F4C3C180E28C0D883020F4802FF4 +:1022D0000E944B1903C0802F0E945B190E948C1929 +:1022E000B5C1872D807F972D9F70803211F4892F83 +:1022F00003C0892F8295807FCC2021F0F1E0CF169A +:10230000A1F01DC0112339F0002319F1013009F5A6 +:102310000E9475199BC1002319F0013009F496C180 +:1023200089830E947819898110C1112321F0063018 +:1023300008F08CC10EC0053008F088C106C1112319 +:1023400059F0002331F0F701958190FF41C19F7052 +:1023500095830E94FD107AC1002309F4F6C03EC1A6 +:10236000872D86958695837090E0009719F00197E8 +:1023700061F06CC1112321F08C2D972D937002C058 +:1023800080E090E00E94D10E61C1112321F08C2DDC +:10239000972D937002C080E090E00E94E70E56C136 +:1023A0008C2D112319F00E94AF1C02C00E94171D32 +:1023B0000E949C1D4BC1872D837009F052C01111E2 +:1023C00045C18C2D829586958770880F880F9C2D2E +:1023D0009F70892E912CA12CB12C082E04C0880C42 +:1023E000991CAA1CBB1C0A94D2F7C4FE14C00FE0AF +:1023F00010E020E030E0B901A80104C0440F551FEF +:10240000661F771F8A95D2F7CB01BA016095709548 +:102410008095909503C060E070E0CB01272D269554 +:102420002695237030E02230310569F023303105E4 +:1024300089F0682979298A299B292130310571F091 +:102440000E94771703C1682979298A299B290E944C +:102450009317FCC00E947717C501B4010E945B1757 +:10246000F5C0112319F0872D817001C0869588234E +:1024700009F4ECC08C2D829586958770880F880FA3 +:102480009C2D9F70892E912CA12CB12C082E04C05C +:10249000880C991CAA1CBB1C0A94D2F7C4FE14C059 +:1024A0000FE010E020E030E0B901A80104C0440FC3 +:1024B000551F661F771F8A95D2F7CB01BA01609529 +:1024C00070958095909503C060E070E0CB01272D5A +:1024D000269526952370422F50E04230510569F031 +:1024E0004330510589F0682979298A299B2941308F +:1024F000510571F00E945118A9C0682979298A29CB +:102500009B290E946D18A2C00E945118C501B401F8 +:102510000E9435189BC08C2D90E0FC01E05EF10913 +:10252000E531F10508F050C0E059FF4F0C94452209 +:102530000C2D0F70872D8F71112321F00E94CE1763 +:10254000802F07CF0E94EF17802F0E9404117EC0BA +:10255000112341F0053008F079C0872D8F710E945A +:10256000141874C0063008F071C0F7CF112339F089 +:10257000872D8F710E94CE1769C01123C9F3872D53 +:102580008F710E94EF1762C0112329F0872D8F7180 +:102590000E94B9175BC00E94AF1758C0112351F0B9 +:1025A000172D1F71812F0E94CE1763E0812F0E948B +:1025B000E2184CC081E00E94EB18023008F446C0DB +:1025C00082E00E94EB1842C0112331F0002381F217 +:1025D0008C2D0E94E60F3AC0002389F28C2D0E94B8 +:1025E000AE1034C0472D4F706C2DC7010E94C7023A +:1025F0000E94D3162BC0111129C0472D4F7050E0F7 +:1026000042305105B9F04CF44115510581F041308B +:102610005105E1F40E94942019C04330510569F03E +:102620004430510599F48C2D0E94E6200FC00E9481 +:102630007D200CC00E94B02009C00E94C32006C0AB +:10264000472D4F706C2DC7010E94CA02DD20F9F0A2 +:102650000E94DE1880FD1BC0F70112820E94D8186C +:102660000E94CE17C7010E9456130E94D8180F90DF +:10267000DF91CF911F910F91FF90EF90DF90CF905E +:10268000BF90AF909F908F907F900C94EF170F901A +:10269000DF91CF911F910F91FF90EF90DF90CF903E +:1026A000BF90AF909F908F907F9008950F931F934E +:1026B000CF93DF93EC01888199812B813C81232B7F +:1026C000B9F09F3F11F48F3F99F0CE010E941B0299 +:1026D000882371F0688179818A810E94D4188C01E5 +:1026E0000E9489180E945017B801CE010E940B1158 +:1026F000DF91CF911F910F9108950E9462190E945E +:1027000072190E9437190E948C190E944D1E0E9456 +:102710009C1D80E090E00E94D10E80E090E00C943F +:10272000E70E0E9452190C947D130E94C918292F9C +:1027300022952F7030E02C3031054CF42A303105D1 +:102740006CF42250310922303105A8F407C02C3036 +:10275000310569F02F30310551F00DC0803F69F02F +:1027600018F4803E40F409C0843F29F406C093FB6E +:10277000882780F9089580E0089581E00895CF9337 +:10278000DF9300D000D01F92CDB7DEB70F900F902F +:102790000F900F900F90DF91CF910895CF93DF931B +:1027A00000D000D000D0CDB7DEB726960FB6F89493 +:1027B000DEBF0FBECDBFDF91CF9108951F93CF93A2 +:1027C000DF93C0917F0216E080918002C81799F0D4 +:1027D000D0E01C9FF0011D9FF00D1124EF57FD4F1D +:1027E0004081518162817381848195810E94CE13E1 +:1027F0002196C770E9CFDF91CF911F910895409145 +:10280000B1025091B2026091B3027091B402809112 +:10281000B5029091B6020C94CE138091B6028295C7 +:102820008F7009F054C08091B302882309F44FC01F +:1028300080917F02A09180026091B1027091B202FA +:102840004091B4025091B502B6E08A1709F43FC036 +:1028500090E041155105C1F17F3F11F46F3FA1F1A7 +:10286000B89FF001B99FF00D1124EF57FD4F218162 +:1028700072132AC02081621327C02281211124C033 +:10288000238134812417350710F421503109241B8A +:10289000350B283C3105C0F42091B6022F70206121 +:1028A0002093B60226E0289FF001299FF00D112405 +:1028B000EA57FD4F80818F708061808381EB92E0C9 +:1028C0000E9456130C94DE1301968770BECF0895B4 +:1028D000CF92DF92EF92FF920F931F93CF93DF93EC +:1028E000CDB7DEB762970FB6F894DEBF0FBECDBF8F +:1028F0008C0185E0F801DE011D9601900D928A950C +:10290000E1F7D8014C9111965C91119712966C9158 +:1029100012971396CD90DC9014973091B10270917C +:10292000B2028091B4029091B502009709F46BC194 +:102930007F3F19F43F3F09F466C1E090B302EE20F7 +:1029400009F4C0C02091B602C816D90628F0F601D5 +:10295000E81BF90BCF0104C0809590958C0D9D1D4F +:10296000FF24F394883C910578F0F12C207F09F046 +:10297000C6C07C2DD98AC88A89890E94BF1381EB81 +:1029800092E00E945613B1C0822F807F09F046C0AA +:10299000751314C0341312C0611110C02F70206160 +:1029A0002093B6020E94FF1381EB92E00E9456131F +:1029B0008091B602D80115968C932EC0CD2819F1BE +:1029C0005F3F11F44F3FF9F0F62E61111CC080916A +:1029D0007F022091800236E0821709F45AC090E00D +:1029E000389FF001399FF00D1124EF57FD4F718191 +:1029F000571306C07081471303C07281711103C061 +:102A000001968770E9CFF62E662309F418C18091EC +:102A1000B60281608093B602F12C11C1751308C013 +:102A2000341306C0611104C08091B602D801C3C03E +:102A30004D875E878D859E856A8B0E9495136A8976 +:102A40008823E1F16623D1F12091B602822F82958D +:102A50008F7090E0029774F08091B1029091B20271 +:102A600098878F831986DB86CA862C87CE010796C6 +:102A70000E94561386E0F801A1EBB2E001900D929E +:102A80008A95E1F70E940D140E94FF13FF24F3942E +:102A9000D6C04D875E878D859E850E94C918292FD7 +:102AA00022952F7030E0223031050CF0BCC09F70B1 +:102AB00009F0B6C0805E883008F4C1C0C8010E9429 +:102AC0005613E4CFC816D90608F453C0F601E81B24 +:102AD000F90BCF01883C910508F450C0F12C7C2DF6 +:102AE000D98AC88A89890E94BF13E1EBF2E086E0A7 +:102AF000DF011D928A95E9F70E94FF13A0C07513AC +:102B000014C0341312C0611110C08091B602F801D4 +:102B10008583C8010E94561386E0E1EBF2E0DF01F5 +:102B20001D928A95E9F7FE2C8AC04D875E878D85B8 +:102B30009E856A8B0E9495136A89882309F4BECF0B +:102B4000662309F4BBCF2091B602822F82958F7045 +:102B500090E002970CF48ECF8091B1029091B20276 +:102B60009A8389831B82DD82CC822E83CE010196DB +:102B70007FCF809590958C0D9D1DACCFF62E662352 +:102B800009F49CCF75132EC034132CC02091B602CB +:102B900020FD1FC0822F82958F70D9F0D801159625 +:102BA0002C9315978F3049F08F5F982F9295907FD7 +:102BB000822F8F70892B15968C93C8010E94561313 +:102BC00086E0F801A1EBB2E001900D928A95E1F761 +:102BD00093CF86E0F801A1EBB2E001900D928A95C7 +:102BE000E1F72DC04D875E878D859E850E949513E8 +:102BF000811140CF8091B60281608093B602C801F6 +:102C00000E9456131CC0662309F458CF4D875E8777 +:102C10008D859E850E949513882309F44FCF2ACF76 +:102C2000811148CF0CC0243031050CF047CF9F7084 +:102C300009F440CFF8019581907F09F03BCF8F2DAB +:102C400062960FB6F894DEBF0FBECDBFDF91CF9175 +:102C50001F910F91FF90EF90DF90CF9008951F93F9 +:102C6000CF93DF93CDB7DEB72C970FB6F894DEBFC6 +:102C70000FBECDBF4F83588769877A878B879C8724 +:102C8000CE0107960E946814882369F08F81988589 +:102C90002A853B85232BF1F19F3F09F063C08F3FCD +:102CA00009F060C037C086E0FE013796DE0111965C +:102CB00001900D928A95E1F76F817885EA85FB8511 +:102CC000309741F17F3F11F46F3F21F12091800255 +:102CD00030E0C90101968770992740917F0250E04A +:102CE0008417950709F447C069837A83FD83EC83D1 +:102CF00096E0929FD001939FB00D1124AF57BD4F26 +:102D0000FE01319601900D929A95E1F78093800231 +:102D10000E94DE1316E080917F0290918002891755 +:102D2000C1F1189FC00111248F579D4F0E94681454 +:102D3000882379F1E0917F021E9FF0011124EF5763 +:102D4000FD4F4081518162817381848195810E9410 +:102D5000CE1380917F0290E001968770992780932F +:102D60007F02D9CF4F81588569857A858B859C856F +:102D70000E94CE13CFCF0E94911310928002109226 +:102D80007F02E1EBF2E086E0DF011D928A95E9F730 +:102D9000C1CF2C960FB6F894DEBF0FBECDBFDF912A +:102DA000CF911F910895EF92FF920F931F93CF93AE +:102DB000DF938C01009709F46CC0F12CEE24E394AE +:102DC000E8012196F8018491843740F4843008F0BA +:102DD00051C0813081F0823019F15BC0853709F430 +:102DE00044C0A8F19CE7980F903708F052C08F7745 +:102DF0000E94AE1041C00E5F1F4FFE01C49180E2E1 +:102E00008C0F883048F4C7708E2D01C0880FCA958A +:102E1000EAF70E94651914C08C2F0E94E60F2DC09E +:102E20000E5F1F4FFE01C49180E28C0F883058F472 +:102E3000C7708E2D01C0880FCA95EAF70E946B19E2 +:102E40000E948C191AC08C2F0E94AE1016C00E5F03 +:102E50001F4FFE01C491CC2381F08FE99FE00197C1 +:102E6000F1F700C00000C150F6CF0E5F1F4FFE010A +:102E7000F49003C00E94E60F8E018F2D882309F481 +:102E80009FCFEFE9FFE03197F1F700C000008150DC +:102E9000F5CFDF91CF911F910F91FF90EF900895A3 +:102EA00008956093BB027093BC028093BD0290931F +:102EB000BE020C947D130F931F930091BB021091DF +:102EC000BC022091BD023091BE02DC01CB01802BFF +:102ED000912BA22BB32B8093BB029093BC02A093A7 +:102EE000BD02B093BE021F910F910C947D130F93FE +:102EF0001F930091BB021091BC022091BD02309142 +:102F0000BE02DC01CB0180239123A223B323809353 +:102F1000BB029093BC02A093BD02B093BE021F916E +:102F20000F910C947D130F931F930091BB0210918E +:102F3000BC022091BD023091BE02DC01CB01802792 +:102F40009127A227B3278093BB029093BC02A09342 +:102F5000BD02B093BE021F910F910C947D1310928D +:102F6000B7021092B8021092B9021092BA020C94F1 +:102F70007D1341E050E060E070E004C0440F551F55 +:102F8000661F771F8A95D2F74093B7025093B80215 +:102F90006093B9027093BA020C947D1341E050E043 +:102FA00060E070E004C0440F551F661F771F8A95CC +:102FB000D2F78091B7029091B802A091B902B09176 +:102FC000BA02482B592B6A2B7B2B4093B7025093A4 +:102FD000B8026093B9027093BA020C947D1341E079 +:102FE00050E060E070E004C0440F551F661F771F7B +:102FF0008A95D2F740955095609570958091B7026B +:103000009091B802A091B902B091BA024823592315 +:103010006A237B234093B7025093B8026093B902AE +:103020007093BA020C947D1341E050E060E070E0D0 +:1030300004C0440F551F661F771F8A95D2F78091F1 +:10304000B7029091B802A091B902B091BA02482794 +:1030500059276A277B274093B7025093B8026093A1 +:10306000B9027093BA020C947D130F931F930091D1 +:10307000B7021091B8022091B9023091BA02DC0176 +:10308000CB01802B912BA22BB32B8093B702909373 +:10309000B802A093B902B093BA021F910F910C9499 +:1030A0007D130F931F930091B7021091B8022091E6 +:1030B000B9023091BA02DC01CB0180239123A22313 +:1030C000B3238093B7029093B802A093B902B09350 +:1030D000BA021F910F910C947D130F931F930091CF +:1030E000B7021091B8022091B9023091BA02DC0106 +:1030F000CB0180279127A227B3278093B702909313 +:10310000B802A093B902B093BA021F910F910C9428 +:103110007D130895CF92DF92EF92FF920F931F934A +:10312000CF93DF938C01C090BB02D090BC02E090A3 +:10313000BD02F090BE028091B7029091B802A091BA +:10314000B902B091BA02C82AD92AEA2AFB2ACFE1E9 +:10315000D0E0D701C6010C2E04C0B695A79597956F +:1031600087950A94D2F780FF06C0B8018C2F0E9481 +:103170004B05019721F4219760F780E001C08C2F67 +:10318000DF91CF911F910F91FF90EF90DF90CF9043 +:103190000895CF93DF93EC010E948A18BE010E942C +:1031A0004B05DF91CF910895CB010E94C918089576 +:1031B0008091BF0285958595859508958091BF0280 +:1031C0008770089598E0899F90011124262B209301 +:1031D000BF020C94CE172091BF028095822380936A +:1031E000BF02982F977069F430E0482F552747FDAC +:1031F00050952417350729F08595859585950C946C +:10320000EF1708959091BF02977081E009F480E074 +:10321000089520910C0130910D01F90132969FEF34 +:1032200040E05191581789F09F3F19F4511101C0A6 +:10323000942F4F5F4630A9F79F3F39F0F901E90F0E +:10324000F11D97FDFA9582830895089520910C0150 +:1032500030910D01F9013296285F3F4F908198130C +:1032600001C010823196E217F307C1F7089581E09B +:1032700090E0E0910C01F0910D01E80FF91F108230 +:10328000019688309105A9F708959091CB02892B7A +:103290008093CB02089580959091CB0289238093EF +:1032A000CB0208951092CB0208959091CA02892B07 +:1032B0008093CA02089580959091CA0289238093D1 +:1032C000CA0208951092CA0208959091C902892BEA +:1032D0008093C902089580959091C90289238093B3 +:1032E000C90208951092C90208958093C0020895FA +:1032F0001092C002089580910C0190910D01FC0183 +:1033000031969C01285F3F4F80E0919191118F5F32 +:10331000E217F307D1F70895E0910C01F0910D0148 +:103320008091CB028083E0910C01F0910D0190819E +:103330008091CA02892B8083E0910C01F0910D01EC +:1033400090818091C902892B80838091C00288235B +:1033500061F0E0910C01F0910D019081892B808347 +:103360000E947B1981111092C00280910C019091F2 +:103370000D010C94BB0E0E94911380E00E94D501B8 +:103380000E946C200E94AF0E0C94E6051F920F92D3 +:103390000FB60F9211248F939F93AF93BF93809199 +:1033A000CD02811113C08091CE029091CF02A091E5 +:1033B000D002B091D1024196A11DB11D8093CE02E1 +:1033C0009093CF02A093D002B093D102BF91AF915E +:1033D0009F918F910F900FBE0F901F90189582E0D4 +:1033E00084BD93E095BD9AEF97BD80936E000895DC +:1033F0002FB7F8948091CE029091CF02A091D00285 +:10340000B091D1022FBF0895CF92DF92EF92FF9239 +:103410000F931F932FB7F8944091CE025091CF0293 +:103420006091D0027091D1022FBF6A017B01EE241E +:10343000FF248C0120E030E0C016D106E206F3063E +:1034400010F4415051099A01281B390BC9011F91F1 +:103450000F91FF90EF90DF90CF9008951F920F9201 +:103460000FB60F9211248F939F93AF93BF938091C8 +:10347000CE029091CF02A091D002B091D1020196DC +:10348000A11DB11D8093CE029093CF02A093D002D4 +:10349000B093D102BF91AF919F918F910F900FBECA +:1034A0000F901F9018950E946D0BF8942FEF87EAEC +:1034B00091E6215080409040E1F700C0000087E095 +:1034C00090EBDC018093EC029093ED02A093EE026E +:1034D000B093EF029CE088E10FB6F894A895809332 +:1034E00060000FBE90936000FFCFCF92DF92EF920B +:1034F000FF920F931F93CF93DF93D82FC3E0EE2457 +:10350000E394F12C8C2F0E94BC066C010CE010E0BF +:103510009701002E02C0220F331F0A94E2F72C21DC +:103520003D21232B49F0602F7C2F80E00E94CB02AD +:10353000D81302C081E006C00150110948F7C150FC +:1035400008F780E0DF91CF911F910F91FF90EF90EE +:10355000DF90CF900895CF93C82F8CE20E94751A08 +:10356000882321F08C2FCF910C94751A80E0CF9195 +:103570000895CF930E94FE1B811102C00E94DF1BA1 +:10358000C5E6C15049F00E9441068FE39CE90197CE +:10359000F1F700C00000F5CF89E20E94AB1A81115B +:1035A0000CC18AE20E94AB1A81110E94DF1B85E0E8 +:1035B0000E94AB1A81110E94531A0E94091C809329 +:1035C000CC0287E00E94AB1A8823A9F18BE10E940C +:1035D000AB1A882351F08091CC0281FB222720F97D +:1035E00091E0922790FB81F90EC08EE00E94AB1A09 +:1035F000882361F08091CC0282FB222720F991E0A0 +:10360000922790FB82F98093CC0215C080E10E9442 +:10361000AB1A9091CC02882341F093FB222720F92A +:1036200081E0822780FB93F904C0892F809580FB7D +:1036300090F99093CC028091CC020E940D1C0E94C4 +:103640001B1C8093EA0280EE0E94AB1A882341F093 +:103650008091EA02982F909590FB80F98093EA027E +:1036600089E30E94AB1A882359F08091EA0281FB1A +:10367000222720F991E0922790FB81F98093EA02BA +:1036800082EE0E94AB1A882359F08091EA0282FBF5 +:10369000222720F991E0922790FB82F98093EA0299 +:1036A00086EE0E94AB1A882359F08091EA0283FBD0 +:1036B000222720F991E0922790FB83F98093EA0278 +:1036C00083EE0E94AB1A882359F08091EA0284FBB2 +:1036D000222720F991E0922790FB84F98093EA0257 +:1036E00085E30E94AB1A882359F08091EA0285FB9A +:1036F000222720F991E0922790FB85F98093EA0236 +:1037000081E30E94AB1A882359F08091EA0286FB7C +:10371000222720F991E0922790FB86F98093EA0214 +:1037200081E10E94AB1A882359F08091EA0287FB5D +:10373000222720F991E0922790FB87F98093EA02F3 +:103740008091EA020E941F1C87E20E94AB1AC82FD8 +:103750008EE10E94AB1A8111C2608FE10E94AB1A08 +:103760008111C46080E20E94AB1A8111C86081E2BD +:103770000E94AB1A8111C06182E20E94AB1A8111D2 +:10378000C06283E20E94AB1A8111C06484E20E948D +:10379000AB1A882311F0C06802C0CC2329F08C2F0B +:1037A0000E94161C6C2F03C00E94121C682F70E030 +:1037B00080E090E0CF910C945117CF9108956DEE79 +:1037C0007EEF80E090E00E947F2260E082E090E067 +:1037D0000E946D2260E083E090E00E946D2260E034 +:1037E00084E090E00E946D2260E085E090E00E941D +:1037F0006D2260E086E090E00C946D2280E090E025 +:103800000E94672221E08D3E9E4F09F020E0822F2A +:10381000089582E090E00C945F22682F82E090E0AF +:103820000C946D2283E090E00C945F22682F83E07B +:1038300090E00C946D2284E090E00C945F22682F5D +:1038400084E090E00C946D2286E090E00C945F227E +:10385000682F86E090E00C946D228091D40280FF66 +:103860000BC06091110185E0689FB001112475952E +:103870006795759567952BC081FF09C0609111010F +:1038800085E0689FB00111247595679520C082FF7F +:1038900007C06091110185E0689FB001112417C035 +:1038A0009091D5029923D1F060911001961788F775 +:1038B0002091110185E0289F90011124929FA00181 +:1038C000939F500D112470E0CA010E94312260388C +:1038D000710540F46115710539F002C065E070E0D2 +:1038E000862F08958FE7089581E008958091D4028E +:1038F00080FF08C060910F0170E075956795759520 +:10390000679521C081FF06C060910F0170E0759539 +:10391000679519C082FF04C060910F0170E010C06C +:103920009091D5029923C1F060910E019617A0F7EE +:1039300080910F01899FC001112470E00E94312203 +:103940006038710528F46115710521F0862F0895FE +:103950008FE7089581E0089561E070E0F4CF803F43 +:1039600021F40E942D1C819504C0813F29F40E94FE +:103970002D1C8093D8020895823F21F40E942D1CB3 +:10398000819504C0833F29F40E942D1C8093D702A7 +:103990000895893F19F40E94761C05C08A3F31F4CE +:1039A0000E94761C81958093D90208958B3F21F463 +:1039B0000E94761C819504C08C3F29F40E94761CDD +:1039C0008093DA020895843F21F48091D6028160C9 +:1039D00017C0853F21F48091D602826011C0863FD6 +:1039E00021F48091D60284600BC0873F21F480913E +:1039F000D602886005C0883F31F48091D60280618C +:103A00008093D60208958D3F21F48091D402816085 +:103A10000BC08E3F21F48091D402826005C08F3F9D +:103A200029F48091D40284608093D4020895803F69 +:103A300039F48091D80287FF6CC01092D80269C017 +:103A4000813F29F48091D8021816BCF362C090918E +:103A5000D702823F29F497FF5CC01092D70259C069 +:103A6000833F19F41916CCF354C0893F41F4809177 +:103A7000D90218160CF04DC01092D9024AC08A3FE4 +:103A800029F48091D90287FF44C0F6CF8B3F39F4E7 +:103A90008091DA0287FF3DC01092DA023AC08C3F73 +:103AA00029F48091DA021816BCF333C0843F21F464 +:103AB0008091D6028E7F17C0853F21F48091D60277 +:103AC0008D7F11C0863F21F48091D6028B7F0BC081 +:103AD000873F21F48091D602877F05C0883F31F46B +:103AE0008091D6028F7E8093D60213C08D3F21F441 +:103AF0008091D4028E7F0BC08E3F21F48091D4023E +:103B00008D7F05C08F3F29F48091D4028B7F8093F5 +:103B1000D4028091D70281110EC08091D802811108 +:103B20000AC08091D902811106C08091DA02811108 +:103B300002C01092D502089586ED92E00E94C60E52 +:103B40000E94F8199093D3028093D20208951F9394 +:103B5000CF93DF938091D2029091D3020E94041AF6 +:103B6000AC019091D502992321F02091120130E00F +:103B700006C0209113018AE0289F9001112442176A +:103B8000530708F486C08091D702C091D802D09123 +:103B9000D9021091DA02811107C0C11176C0D1118A +:103BA00074C0111172C075C09F3F19F09F5F909350 +:103BB000D502181624F40E942D1C8093D702809100 +:103BC000D70287FF05C00E942D1C81958093D702E4 +:103BD0001C1624F40E942D1C8093D8028091D802D8 +:103BE00087FF05C00E942D1C81958093D8026091AB +:103BF000D702662339F1C091D802CC2319F1772777 +:103C000067FD7095872F972F0E94362123E333E3BA +:103C100043E35FE30E949A210E9403216093D7024D +:103C20006C2F772767FD7095872F972F0E9436217D +:103C300023E333E343E35FE30E949A210E940321DD +:103C40006093D8021D1624F40E94761C8093D9023A +:103C50008091D90287FF05C00E94761C81958093D0 +:103C6000D902111624F40E94761C8093DA02809106 +:103C7000DA0287FF05C00E94761C81958093DA02E4 +:103C8000DF91CF911F910C949C1D9F3F09F08ECF27 +:103C900096CFDF91CF911F910895E6EDF2E085E098 +:103CA000DF011D928A95E9F71092D5021092D40295 +:103CB0000895833081F128F4813059F08230D1F0B9 +:103CC0000895853009F449C0B8F1863009F456C02A +:103CD000089580911301262F30E0280F311D2F3FCA +:103CE000310524F4680F6093130108958FEF8093DA +:103CF0001301089580911201262F30E0280F311D05 +:103D00002F3F310524F4680F6093120108958FEF5F +:103D100080931201089580911101262F30E0280F21 +:103D2000311D2F3F310524F4680F60931101089570 +:103D30008FEF80931101089580911001262F30E0BC +:103D4000280F311D2F3F310524F4680F60931001B7 +:103D500008958FEF80931001089580910F01262F11 +:103D600030E0280F311D2F3F310524F4680F609398 +:103D70000F0108958FEF80930F01089580910E0138 +:103D8000262F30E0280F311D2F3F310524F4680F16 +:103D900060930E0108958FEF80930E010895833094 +:103DA00011F128F4813049F0823091F00895853086 +:103DB00081F120F18630C1F10895809113016817D7 +:103DC00020F4861B80931301089510921301089527 +:103DD00080911201681720F4861B809312010895C8 +:103DE00010921201089580911101681720F4861B2A +:103DF000809311010895109211010895809110018E +:103E0000681720F4861B809310010895109210010A +:103E1000089580910F01681720F4861B80930F018D +:103E2000089510920F01089580910E01681720F4F3 +:103E3000861B80930E01089510920E0108950F9332 +:103E40001F93873208F040C08E3108F08AC08E3050 +:103E500009F474C0C0F4873009F45EC068F4863099 +:103E600009F09AC08091CC02817F8E7F8093CC0232 +:103E700081E08093DC0291C0883009F486C08B30E9 +:103E800009F483C089C0863109F47FC068F48031A9 +:103E900009F082C08091CC0283FB222720F991E0B7 +:103EA000922790FB83F953C0893109F46EC08B319E +:103EB00009F072C08091CC0281FB222720F991E0A9 +:103EC000922790FB81F943C0883309F45EC050F417 +:103ED000893209F45CC0853309F459C0873209F48A +:103EE00056C05AC0833409F452C028F48A3308F407 +:103EF00053C0895337C0883409F04EC00E949113D3 +:103F00000FEF13ED20E3015010402040E1F700C017 +:103F100000000E94531A39C09091CC02892F8095DD +:103F2000817080FB90F929F0966098609093CC02A4 +:103F300034C0997F977F9093CC0227C08091CC02A8 +:103F400082FB222720F991E0922790FB82F980934F +:103F5000CC029923D1F08091CC0281608093CC0275 +:103F600014C08D5141E050E060E070E08A019B0197 +:103F700004C0000F111F221F331F8A95D2F7C901F9 +:103F8000B8010E9451170E94911381E006C061E0C0 +:103F900070E080E090E0F5CF80E01F910F910895F0 +:103FA00080E0089580E00895CF93C82F8091DC02CF +:103FB000813069F018F08230C9F184C0E0910C01C1 +:103FC000F0910D018081823209F07EC007C0E0913E +:103FD0000C01F0910D018081823261F48C2F0E94DE +:103FE000D01F811104C08C2F0E941F1F1DC081E0B3 +:103FF00090E01AC08C2F0E94D21F811114C0C431CE +:1040000079F048F4CB3079F0C03109F061C082E03A +:104010008093DC0208C0C93219F0C83321F058C0BF +:104020001092DC0255C081E0817054C0C93291F118 +:1040300020F5C43179F1B0F4C73009F047C08EE102 +:104040008093130182E3809312018AE0809311012F +:1040500084E18093100188E080930F0188E28093CF +:104060000E0134C0CE51C63088F5EC2FF0E0E75C8D +:10407000FE4F80818093DB0229C0CE34E9F020F42A +:10408000CB3421F56AE013C0C13579F0C235F1F4C3 +:1040900061E00DC08091DB02882319F01092DB02F1 +:1040A00015C081E08093DC0215C061E006C08091FC +:1040B000DB020E94591E0AC06AE08091DB020E9466 +:1040C000CF1E04C01092DC0280E004C081E002C078 +:1040D00080E0AACFCF9108950E94FE1B811102C0FB +:1040E0000E94DF1B0E94241C8093EB0280FF02C011 +:1040F000869501C080E00C94D5018091EB02982F49 +:104100009695292F30E0233031054CF49F5F990FAD +:104110008170892B81608093EB020E94281C809122 +:10412000EB0286950C94D5018091EB02982F969521 +:1041300091F09158990F8170892B8093EB028E7FBB +:1041400091E009F490E08091EB0290FB80F980937C +:10415000EB020E94281C8091EB0286950C94D501FD +:104160008091EB02982F909590FB80F98093EB0261 +:104170000E94281C8091EB0280FF02C0869501C03E +:1041800080E00C94D5019091EB02892F86958F5F8A +:104190008F779170843028F4880F892B8093EB02FD +:1041A00002C09093EB028091EB028E7F91E009F4C4 +:1041B00090E08091EB0290FB80F98093EB020E94EB +:1041C000281C8091EB0286950C94D5012091EB027E +:1041D000922F96958927982F990F822F8170892B7E +:1041E0008093EB028E7F91E009F490E08091EB02E6 +:1041F00090FB80F98093EB020E94281C8091EB02D7 +:1042000086950C94D50104D06894B1118DC00895A1 +:1042100070D088F09F5790F0B92F9927B751A0F030 +:10422000D1F0660F771F881F991F1AF0BA95C9F74A +:1042300012C0B13081F077D0B1E0089574C0672F1B +:10424000782F8827B85F39F0B93FCCF386957795FA +:104250006795B395D9F73EF49095809570956195E3 +:104260007F4F8F4F9F4F0895E89409C097FB3EF40E +:1042700090958095709561957F4F8F4F9F4F9923B3 +:10428000A9F0F92F96E9BB279395F6958795779531 +:104290006795B795F111F8CFFAF4BB0F11F460FFF1 +:1042A0001BC06F5F7F4F8F4F9F4F16C0882311F049 +:1042B00096E911C0772321F09EE8872F762F05C05D +:1042C000662371F096E8862F70E060E02AF09A95F8 +:1042D000660F771F881FDAF7880F9695879597F9ED +:1042E000089557FD9058440F551F59F05F3F71F0E6 +:1042F0004795880F97FB991F61F09F3F79F087954D +:104300000895121613061406551FF2CF4695F1DFD5 +:1043100008C0161617061806991FF1CF8695710565 +:10432000610508940895E894BB2766277727CB0199 +:1043300097F908950BD078C069D028F06ED018F0A6 +:10434000952309F05AC05FC01124EECFCADFA0F355 +:10435000959FD1F3950F50E0551F629FF001729F1A +:10436000BB27F00DB11D639FAA27F00DB11DAA1F39 +:10437000649F6627B00DA11D661F829F2227B00D86 +:10438000A11D621F739FB00DA11D621F839FA00D11 +:10439000611D221F749F3327A00D611D231F849F61 +:1043A000600D211D822F762F6A2F11249F575040B8 +:1043B0008AF0E1F088234AF0EE0FFF1FBB1F661F53 +:1043C000771F881F91505040A9F79E3F510570F00C +:1043D00014C0AACF5F3FECF3983EDCF38695779547 +:1043E0006795B795F795E7959F5FC1F7FE2B880F07 +:1043F000911D9695879597F9089597F99F6780E89D +:1044000070E060E008959FEF80EC089500240A9426 +:104410001616170618060906089500240A9412169F +:104420001306140605060895092E0394000C11F4D2 +:10443000882352F0BB0F40F4BF2B11F460FF04C07F +:104440006F5F7F4F8F4F9F4F0895991B79E004C096 +:10445000991F961708F0961B881F7A95C9F78095C3 +:10446000089597FB072E16F4009407D077FD09D026 +:104470000E944B2207FC05D03EF4909581959F4FFA +:104480000895709561957F4F0895EE0FFF1F059079 +:10449000F491E02D0994AA1BBB1B51E107C0AA1F90 +:1044A000BB1FA617B70710F0A61BB70B881F991FD5 +:1044B0005A95A9F780959095BC01CD010895F99979 +:1044C000FECF92BD81BDF89A992780B50895A8E1E5 +:1044D000B0E042E050E00C948722262FF999FECFFD +:1044E00092BD81BDF89A019700B4021639F01FBA47 +:1044F00020BD0FB6F894FA9AF99A0FBE0895019666 +:10450000272F0E946E220C946D22DC01CB01FC014E +:10451000F999FECF06C0F2BDE1BDF89A319600B41C +:0E4520000D9241505040B8F70895F894FFCF27 +:10452E00FFC606F007AC077807C90601C1022808C6 +:10453E00140A321E4F79536366764969590919294F +:10454E00030F1F5F433F4D3620BF0272023C021C19 +:10455E0002A801C101DA01F30101020304050607F5 +:04456E000809000038 +:00000001FF diff --git a/keyboard/jd45/keymaps/default/keymap.c b/keyboard/jd45/keymaps/default/keymap.c new file mode 100644 index 0000000000..05dd46e792 --- /dev/null +++ b/keyboard/jd45/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +#include "jd45.h" +#include "backlight.h" + +/* this keymap is to provide a basic keyboard layout for testing the matrix + * for more practical and complicated keymap refer to other keymaps in the same folder + */ +/* JD45 keymap definition macro + */ +#define KEYMAP( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \ + K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \ + K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ + K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ +) { \ + { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \ + { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \ + { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \ + { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \ +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP( + ESC, Q, W, E, R, T, Y, U, I, O, P, QUOT, BSPC, + TAB, A, S, D, F, G, H, J, K, L, SCLN, ENT, + LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, + PAUSE, LCTL, LALT, DEL, SPC, DEL, LEFT, UP, DOWN, RIGHT ), +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; diff --git a/keyboard/jd45/keymaps/justin.c b/keyboard/jd45/keymaps/justin.c deleted file mode 100644 index f261b54633..0000000000 --- a/keyboard/jd45/keymaps/justin.c +++ /dev/null @@ -1,101 +0,0 @@ -#include "jd45.h" -#include "backlight.h" - -/* JD45 keymap definition macro - */ -#define KEYMAP( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \ - K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \ - K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \ - K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ -) { \ - { KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \ - { KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO }, \ - { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_NO }, \ - { KC_##K38, KC_##K39, KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_##K43, KC_NO, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_NO } \ -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = KEYMAP( - ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC, - FN8, A, R, S, T, D, H, N, E, I, O, ENT, - LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6, - FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0 ), -[1] = KEYMAP( - TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, END, PGDN, DOWN, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ), -[2] = KEYMAP( - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, - TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ), -[3] = KEYMAP( - TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ), -[4] = KEYMAP( - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS, - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS, - TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ), -}; - -enum macro_id { - PSWD1, - PSWD2, - PSWD3, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_MINS), - [1] = ACTION_LAYER_MOMENTARY(1), // FN1 - [2] = ACTION_LAYER_MOMENTARY(2), // FN2 - [3] = ACTION_LAYER_MOMENTARY(3), // FN3 - [4] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_GRV), - [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_RGUI), - [6] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_CAPS), - [7] = ACTION_LAYER_MODS(4, MOD_LSFT), // FN4 - [8] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_TAB), - - [10] = ACTION_MACRO(PSWD1), - [11] = ACTION_MACRO(PSWD2), - [12] = ACTION_MACRO(PSWD3), - - [29] = ACTION_BACKLIGHT_TOGGLE(), - [30] = ACTION_BACKLIGHT_INCREASE(), - [31] = ACTION_BACKLIGHT_DECREASE() - -}; - -/* - * Macro definition - */ -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch (id) { - case PSWD1: - return (record->event.pressed ? - MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : - MACRO_NONE ); - case PSWD2: - return (record->event.pressed ? - MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : - MACRO_NONE ); - case PSWD3: - return (record->event.pressed ? - MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) : - MACRO_NONE ); - //case VOLUP: - // return (record->event.pressed ? - // MACRO( D(VOLU), U(VOLU), END ) : - // MACRO_NONE ); - //case ALT_TAB: - // return (record->event.pressed ? - // MACRO( D(LALT), D(TAB), END ) : - // MACRO( U(TAB), END )); - } - return MACRO_NONE; -} diff --git a/keyboard/jd45/keymaps/justin/compiled.hex b/keyboard/jd45/keymaps/justin/compiled.hex new file mode 100644 index 0000000000..9bfb07db45 --- /dev/null +++ b/keyboard/jd45/keymaps/justin/compiled.hex @@ -0,0 +1,1154 @@ +:100000000C94AA020C94EE020C94EE020C94EE02F4 +:100010000C94EE020C94EE020C94EE020C94EE02A0 +:100020000C94EE020C94EE020C942C0D0C94FE0D2C +:100030000C940A1B0C94EE020C94EE020C94EE024B +:100040000C94EE020C94EE020C94EE020C94EE0270 +:100050000C94EE020C94721B0C94EE020C94EE02C3 +:100060000C94EE020C94C40F0C94EE020C94EE026D +:100070000C94EE020C94EE020C94EE020C94EE0240 +:100080000C94EE020C94EE020C94EE020C94EE0230 +:100090000C94EE020C94EE020C94EE020C94EE0220 +:1000A0000C94EE020C94EE020C94EE026B0E8D0E8C +:1000B0007B0F8D0E7B0FD20EF50E7B0F4A0F5D0F5F +:1000C00086128612B512B512F41214136A146A1449 +:1000D0001F136A14CF13CF1336143F146A14641419 +:1000E000DC13DC13DC13DC13DC13DC13DC13DC1398 +:1000F000DC13DC13DC13DC13DC13DC13DC13DC1388 +:10010000EC13FA130114081412147500011E021ED8 +:10011000011F021F012002200121022101220222CF +:10012000012302230124022401250225012802289B +:10013000007500011E021E011F021F012002200186 +:10014000210221012202220123022301240224018F +:1001500025022501280228007500011E021E011F2C +:10016000021F01200220012102210122022201237B +:100170000223012402240125022501280228002D42 +:1001800021F1A1F1A2F1A33522E7323932E2A42B09 +:1001900021000000C001C002C000000000000000FB +:1001A000000000000000000000000000000000004F +:1001B00000000000000000000000D200D000D129A3 +:1001C0000014001A00090013000A000D000F0018A7 +:1001D000001C00330034002A00C80004001500167B +:1001E00000170007000B00110008000C0012002887 +:1001F000000000E1001D001B000600190005000EB4 +:10020000001000360037003800C6000000C400E3CC +:1002100000C700C200C10000002C000000C500E6BD +:1002200000C300C00000000100CA00CB00CC0001E8 +:100230000001000100010001000100010052004C1A +:1002400000010001000100010001000100010001A6 +:10025000004A004B0050004F000000010001000167 +:1002600000010001000100010001004D004E00519D +:100270000001000000010001000100010001000078 +:100280000001000000010001000100010000000168 +:10029000000100010001000100010001002400250F +:1002A00000260027000100010001000100010001FB +:1002B00000010001002F002100220023003700016F +:1002C00000000001000100010001000100010030F8 +:1002D000001E001F0020003100010000000100DDB1 +:1002E000000100010001000000480000002E002D68 +:1002F0000001000100000001003A003B003C003D0D +:10030000003E003F004000410042004300440045E1 +:1003100000010001000100010001000100010001D5 +:1003200000010001000100010000000100010001C6 +:1003300000010001000100010001000100010001B5 +:1003400000010000000100010001000100010000A7 +:100350000001000000010001000100010000000197 +:10036000000100010001000100010001002400253E +:10037000002600270001000100010001000100012A +:1003800000010001002F002100220023003700019E +:100390000000000100010001000100010001003027 +:1003A000001E001F0020003100010000000100DDE0 +:1003B000000100010001000000480000002E002D97 +:1003C000000100010000000A034A00440034003527 +:1003D00000000012036700650065006B00680061A3 +:1003E0000063006B000000040309040902740004A8 +:1003F0000