~kris/9p

9hist

2e8fd57dcdcfdee6467c48d030a10f4cff786954 — David du Colombier 35 years ago 5739053
Plan 9 from Bell Labs 1991-08-13
3 files changed, 1781 insertions(+), 1663 deletions(-)

M gnot/boot.h
M pc/devhard.c
M port/devmnt.c
M gnot/boot.h => gnot/boot.h +1649 -1636
@@ 1,7 1,7 @@
ulong bootcode[]={
	0x000000107,
	0x000002b10,
	0x0000005a0,
	0x000002b3a,
	0x0000005b0,
	0x0000001e4,
	0x000000000,
	0x000002020,


@@ 18,22 18,22 @@ ulong bootcode[]={
	0x0001c4e75,
	0x04feffe80,
	0x042a7486e,
	0x082326100,
	0x082426100,
	0x00b2a4878,
	0x00001486e,
	0x0823a6100,
	0x0824a6100,
	0x00b1e4878,
	0x00001486e,
	0x082426100,
	0x082526100,
	0x00b124878,
	0x001b64878,
	0x00001486e,
	0x0824a6100,
	0x0825a6100,
	0x00ae44a80,
	0x042e72f40,
	0x0019a44df,
	0x06c0a486e,
	0x082556100,
	0x082656100,
	0x00888588f,
	0x02f370161,
	0x001ac6100,


@@ 47,28 47,28 @@ ulong bootcode[]={
	0x061000a76,
	0x0588f221f,
	0x0b280670a,
	0x0486e825d,
	0x0486e826d,
	0x06100084e,
	0x0588f2f2f,
	0x001a46100,
	0x00a864878,
	0x001b64878,
	0x00001486e,
	0x082656100,
	0x082756100,
	0x00a7c4a80,
	0x042e72f40,
	0x001b644df,
	0x06c0a486e,
	0x082716100,
	0x082816100,
	0x00820588f,
	0x0486e8286,
	0x0486e8296,
	0x061000a2e,
	0x0588f2f00,
	0x0486e827a,
	0x0486e828a,
	0x02f2f01bc,
	0x061000a84,
	0x04a806c0a,
	0x0486e8292,
	0x0486e82a2,
	0x0610007fa,
	0x0588f2f2f,
	0x001c06100,


@@ 83,10 83,10 @@ ulong bootcode[]={
	0x02f2f01d4,
	0x0610006bc,
	0x02f4001d8,
	0x0486e829b,
	0x0486e82ab,
	0x06100088c,
	0x0486e82a9,
	0x0486e82a3,
	0x0486e82b9,
	0x0486e82b3,
	0x0486f00dc,
	0x06100094c,
	0x0487801b6,


@@ 96,11 96,11 @@ ulong bootcode[]={
	0x04a8042e7,
	0x02f4001f2,
	0x044df6c0a,
	0x0486e82b0,
	0x0486e82c0,
	0x06100078a,
	0x0588f2f2f,
	0x001f4486e,
	0x082b7486f,
	0x082c7486f,
	0x000f46100,
	0x00916486f,
	0x000f86100,


@@ 113,26 113,26 @@ ulong bootcode[]={
	0x06100096e,
	0x0588f221f,
	0x0b280670a,
	0x0486e82ba,
	0x0486e82ca,
	0x061000746,
	0x0588f2f2f,
	0x002086100,
	0x0097e486e,
	0x082c6486e,
	0x082c0486f,
	0x082d6486e,
	0x082d0486f,
	0x001106100,
	0x008ca4878,
	0x001b64878,
	0x00001486e,
	0x082cd6100,
	0x082dd6100,
	0x009644a80,
	0x042e72f40,
	0x0022644df,
	0x06c0a486e,
	0x082d56100,
	0x082e56100,
	0x00708588f,
	0x02f2f0228,
	0x0486e82dc,
	0x0486e82ec,
	0x0486f0128,
	0x061000894,
	0x0486f012c,


@@ 146,46 146,46 @@ ulong bootcode[]={
	0x008ec588f,
	0x0221fb280,
	0x0670a486e,
	0x082df6100,
	0x082ef6100,
	0x006c4588f,
	0x02f2f023c,
	0x0610008fc,
	0x042a7486e,
	0x082e7486e,
	0x082e56100,
	0x082f7486e,
	0x082f56100,
	0x008dc4a80,
	0x06c0a486e,
	0x082e96100,
	0x082f96100,
	0x006a0588f,
	0x0486e82ee,
	0x0486e82fe,
	0x061000764,
	0x0486e82fa,
	0x0486e82f9,
	0x0486e830a,
	0x0486e8309,
	0x048780006,
	0x0486e82f7,
	0x0486e8307,
	0x02f2f0264,
	0x0610008de,
	0x04a806c0a,
	0x0486e82fb,
	0x0486e830b,
	0x061000672,
	0x0588f486e,
	0x083016100,
	0x083116100,
	0x00736486f,
	0x00164486e,
	0x083096100,
	0x083196100,
	0x008d44a80,
	0x06c0a486e,
	0x0830d6100,
	0x0831d6100,
	0x00650588f,
	0x0486f00f8,
	0x0486f0170,
	0x0610017b8,
	0x0610017e2,
	0x048780001,
	0x0486e8312,
	0x0486e8322,
	0x06100089c,
	0x02f400280,
	0x02f2f0168,
	0x0486e831a,
	0x0486e832a,
	0x0486f0184,
	0x0610007c0,
	0x0486f0188,


@@ 196,27 196,27 @@ ulong bootcode[]={
	0x061000888,
	0x02f2f0298,
	0x061000844,
	0x0486e831e,
	0x0486e832e,
	0x0610006c8,
	0x042a7486e,
	0x0832a486e,
	0x083276100,
	0x0833a486e,
	0x083376100,
	0x0081c42a7,
	0x0486e8336,
	0x0486e8333,
	0x0486e8346,
	0x0486e8343,
	0x06100080e,
	0x04aae8022,
	0x0672042a7,
	0x0486e834f,
	0x0486e834a,
	0x0486e833e,
	0x0486e835f,
	0x0486e835a,
	0x0486e834e,
	0x061000794,
	0x0486e8363,
	0x0486e8373,
	0x0610005be,
	0x04fef02d4,
	0x04e7542a7,
	0x0486e835e,
	0x0486e8352,
	0x0486e836e,
	0x0486e8362,
	0x061000778,
	0x0598f60e0,
	0x0598f102e,


@@ 228,17 228,17 @@ ulong bootcode[]={
	0x07273b200,
	0x0676a4878,
	0x00002486e,
	0x083ce6100,
	0x083de6100,
	0x007e22f40,
	0x000084aaf,
	0x00008508f,
	0x06c0a486e,
	0x083d56100,
	0x083e56100,
	0x00568588f,
	0x0486e83e4,
	0x0486e83f4,
	0x02f2f0004,
	0x06100052a,
	0x0486e83ef,
	0x0486e83ff,
	0x02f2f000c,
	0x06100051e,
	0x0610007a4,


@@ 254,34 254,34 @@ ulong bootcode[]={
	0x00796588f,
	0x060f260ec,
	0x048780002,
	0x0486e839e,
	0x0486e83ae,
	0x061000778,
	0x02f400008,
	0x04aaf0008,
	0x06c0a486e,
	0x083a96100,
	0x083b96100,
	0x00500588f,
	0x0486e83bc,
	0x0486e83cc,
	0x02f2f000c,
	0x0610004c2,
	0x0486e83c3,
	0x0486e83d3,
	0x02f2f0014,
	0x0610004b6,
	0x04fef0018,
	0x06000ff7a,
	0x060be4878,
	0x00002486e,
	0x0836f6100,
	0x0837f6100,
	0x007362f40,
	0x000084aaf,
	0x000086c0a,
	0x0486e837a,
	0x0486e838a,
	0x0610004be,
	0x0588f486e,
	0x0838d2f2f,
	0x0839d2f2f,
	0x0000c6100,
	0x00480486e,
	0x083932f2f,
	0x083a32f2f,
	0x000146100,
	0x004744fef,
	0x000186000,


@@ 289,36 289,36 @@ ulong bootcode[]={
	0x0fff042af,
	0x000044878,
	0x00002486e,
	0x084056100,
	0x084156100,
	0x006ee4a80,
	0x042e72f40,
	0x0001644df,
	0x06c0a486e,
	0x0840f6100,
	0x0841f6100,
	0x00474588f,
	0x048780002,
	0x0486e8421,
	0x0486e8431,
	0x0610006cc,
	0x04a8042e7,
	0x02f40001a,
	0x044df6c0a,
	0x0486e842a,
	0x0486e843a,
	0x061000452,
	0x0588f486e,
	0x08682486e,
	0x0843b486e,
	0x085a26100,
	0x08692486e,
	0x0844b486e,
	0x085b26100,
	0x005de486e,
	0x085a26100,
	0x085b26100,
	0x006502f00,
	0x02f400024,
	0x0486e85a2,
	0x0486e85b2,
	0x02f2f0030,
	0x0610006a4,
	0x0b0af002c,
	0x0661e486e,
	0x08682486e,
	0x0846e6100,
	0x08692486e,
	0x0847e6100,
	0x004e22f2f,
	0x0003c6100,
	0x0064e202f,


@@ 326,11 326,11 @@ ulong bootcode[]={
	0x000484e75,
	0x07005b0af,
	0x00030660a,
	0x0486e8446,
	0x0486e8456,
	0x0610003f2,
	0x0588f486e,
	0x08682486e,
	0x0844e6100,
	0x08692486e,
	0x0845e6100,
	0x004b22f2f,
	0x000406100,
	0x0061e2f2f,


@@ 342,17 342,17 @@ ulong bootcode[]={
	0x042ae801e,
	0x042ae8022,
	0x042a7486e,
	0x0847f6100,
	0x0848f6100,
	0x0061a4a80,
	0x06d744878,
	0x0003f486e,
	0x087462f00,
	0x087562f00,
	0x02f400018,
	0x06100060a,
	0x02f2f0018,
	0x0610005d8,
	0x0207c0000,
	0x067444878,
	0x067544878,
	0x000202f08,
	0x061000566,
	0x020404a80,


@@ 374,7 374,7 @@ ulong bootcode[]={
	0x060f27001,
	0x02d40801e,
	0x060ea42a7,
	0x0486e848b,
	0x0486e849b,
	0x061000598,
	0x04a806d1e,
	0x048780001,


@@ 385,147 385,147 @@ ulong bootcode[]={
	0x000206100,
	0x005564fef,
	0x0001042a7,
	0x0486e8499,
	0x0486e84a9,
	0x06100056c,
	0x04a806d20,
	0x048780040,
	0x0486e8682,
	0x0486e8692,
	0x02f002f40,
	0x000286100,
	0x0055c2f2f,
	0x000286100,
	0x0052a4fef,
	0x000304e75,
	0x0486e84a7,
	0x0486e8682,
	0x0486e84b7,
	0x0486e8692,
	0x0610004dc,
	0x0518f60ea,
	0x0598f486e,
	0x084ab6100,
	0x084bb6100,
	0x003961d7c,
	0x000328606,
	0x000328616,
	0x03d7cffff,
	0x0860a486e,
	0x085a2486e,
	0x086066100,
	0x005ea2f00,
	0x0861a486e,
	0x085b2486e,
	0x086166100,
	0x0062a2f00,
	0x02f400010,
	0x0486e85a2,
	0x0486e85b2,
	0x02f2f001c,
	0x06100051c,
	0x0b0af0018,
	0x0670a486e,
	0x084b26100,
	0x084c26100,
	0x00290588f,
	0x048780064,
	0x0486e85a2,
	0x0486e85b2,
	0x02f2f0028,
	0x0610004ea,
	0x022007002,
	0x0b0816608,
	0x00c2e004f,
	0x085a2677c,
	0x085b2677c,
	0x04a8142e7,
	0x02f410026,
	0x044df6e0e,
	0x0486e84bc,
	0x0486e84cc,
	0x06100025a,
	0x0222f0028,
	0x0588f2f01,
	0x0486e8606,
	0x0486e85a2,
	0x061000d7c,
	0x0486e8616,
	0x0486e85b2,
	0x061000db2,
	0x04a806638,
	0x0102e85a5,
	0x0102e85b5,
	0x049c02f00,
	0x0102e85a4,
	0x0102e85b4,
	0x049c02f00,
	0x0102e85a3,
	0x0102e85b3,
	0x049c02f00,
	0x0102e85a2,
	0x0102e85b2,
	0x049c02f00,
	0x02f2f0040,
	0x0486e84c5,
	0x0486e84d5,
	0x0610002e4,
	0x0486e84e8,
	0x0486e84f8,
	0x06100020e,
	0x04fef001c,
	0x00c2e0033,
	0x08606670a,
	0x0486e84f3,
	0x08616670a,
	0x0486e8503,
	0x0610001fa,
	0x0588f4fef,
	0x000344e75,
	0x00c2e004b,
	0x085a36600,
	0x085b36600,
	0x0ff7c4878,
	0x00064486e,
	0x085a22f2f,
	0x085b22f2f,
	0x000346100,
	0x004442200,
	0x04fef000c,
	0x06000ff62,
	0x0598f486e,
	0x084fc6100,
	0x0850c6100,
	0x002921d7c,
	0x000348606,
	0x000348616,
	0x03d7cffff,
	0x0860a486e,
	0x085a2486e,
	0x086066100,
	0x004e62f00,
	0x0861a486e,
	0x085b2486e,
	0x086166100,
	0x005262f00,
	0x02f400010,
	0x0486e85a2,
	0x0486e85b2,
	0x02f2f001c,
	0x061000418,
	0x0b0af0018,
	0x0670a486e,
	0x085076100,
	0x085176100,
	0x0018c588f,
	0x048780064,
	0x0486e85a2,
	0x0486e85b2,
	0x02f2f0028,
	0x0610003e6,
	0x02f400024,
	0x04aaf0024,
	0x06e0a486e,
	0x085156100,
	0x085256100,
	0x00168588f,
	0x02f2f0024,
	0x0486e8606,
	0x0486e85a2,
	0x061000c8c,
	0x0486e8616,
	0x0486e85b2,
	0x061000cc2,
	0x04a80660a,
	0x0486e8522,
	0x0486e8532,
	0x06100014a,
	0x0588f0c2e,
	0x000378606,
	0x000378616,
	0x06618486e,
	0x0860c486e,
	0x085316100,
	0x0861c486e,
	0x085416100,
	0x00202486e,
	0x0860c6100,
	0x0861c6100,
	0x0012c4fef,
	0x0000c0c2e,
	0x000358606,
	0x000358616,
	0x0670a486e,
	0x0853b6100,
	0x0854b6100,
	0x00118588f,
	0x04fef0034,
	0x04e754fef,
	0x0fff042a7,
	0x0486e8548,
	0x0486e8558,
	0x061000368,
	0x04a806c0a,
	0x0202f001c,
	0x04fef0018,
	0x04e75486e,
	0x0854d6100,
	0x0855d6100,
	0x001ba486f,
	0x0000c6100,
	0x0031a4a80,
	0x06c0a486e,
	0x085546100,
	0x085646100,
	0x000d8588f,
	0x06100032c,
	0x04fef0010,


@@ 554,19 554,19 @@ ulong bootcode[]={
	0x0610002b4,
	0x04aae801e,
	0x0671842a7,
	0x0486e856b,
	0x0486e8563,
	0x0486e855e,
	0x0486e857b,
	0x0486e8573,
	0x0486e856e,
	0x061000228,
	0x04fef002c,
	0x060aa42a7,
	0x0486e857c,
	0x0486e8574,
	0x0486e856f,
	0x0486e858c,
	0x0486e8584,
	0x0486e857f,
	0x061000210,
	0x04fef002c,
	0x06092486e,
	0x085596134,
	0x085696134,
	0x0588f6092,
	0x0598f2f2f,
	0x0000c6100,


@@ 585,7 585,7 @@ ulong bootcode[]={
	0x0027c486f,
	0x000042f2f,
	0x0004c486e,
	0x0857f4878,
	0x0858f4878,
	0x000026100,
	0x0011a42a7,
	0x061744fef,


@@ 593,10 593,10 @@ ulong bootcode[]={
	0x0598f4281,
	0x07021b081,
	0x06f1e4ab6,
	0x01d2086c2,
	0x01d2086d2,
	0x0660e2daf,
	0x000081d20,
	0x086c27001,
	0x086d27001,
	0x0588f4e75,
	0x052817021,
	0x0b0816ee2,


@@ 606,9 606,9 @@ ulong bootcode[]={
	0x042827021,
	0x0b0826f18,
	0x020362d20,
	0x086c2b088,
	0x086d2b088,
	0x0660642b6,
	0x02d2086c2,
	0x02d2086d2,
	0x052827021,
	0x0b0826ee8,
	0x0588f4e75,


@@ 620,11 620,11 @@ ulong bootcode[]={
	0x04e75518f,
	0x072204a81,
	0x06d222eb6,
	0x01d2086c2,
	0x01d2086d2,
	0x04a976712,
	0x02f410004,
	0x042b61d20,
	0x086c24eb7,
	0x086d24eb7,
	0x00151222f,
	0x000045381,
	0x04a816cde,


@@ 640,7 640,7 @@ ulong bootcode[]={
	0x000001000,
	0x02f08486f,
	0x000146100,
	0x012582200,
	0x012822200,
	0x041ef0018,
	0x092882f01,
	0x0486f001c,


@@ 666,7 666,7 @@ ulong bootcode[]={
	0x000001000,
	0x02f08486f,
	0x000146100,
	0x011f02200,
	0x0121a2200,
	0x041ef0018,
	0x092882f01,
	0x0486f001c,


@@ 691,7 691,7 @@ ulong bootcode[]={
	0x02f2f0014,
	0x048691000,
	0x02f096100,
	0x0118c2d6f,
	0x011b62d6f,
	0x00010801a,
	0x090af001c,
	0x04fef0018,


@@ 743,49 743,65 @@ ulong bootcode[]={
	0x04e404e75,
	0x070014e40,
	0x04e754fef,
	0x0fff42ebc,
	0x0ffec2ebc,
	0x000006178,
	0x042af0004,
	0x042af0008,
	0x07003b0af,
	0x000046f38,
	0x000086f38,
	0x02f370161,
	0x0001c2f2f,
	0x000182f2f,
	0x0001861bc,
	0x000242f2f,
	0x000202f2f,
	0x0002061bc,
	0x04a8042e7,
	0x02f400016,
	0x02f40001a,
	0x044df662c,
	0x0486e817e,
	0x048780002,
	0x06100fe70,
	0x052af0018,
	0x052af001c,
	0x07003b0af,
	0x000184fef,
	0x0001c4fef,
	0x000146ec8,
	0x02faf0008,
	0x00161001c,
	0x02faf000c,
	0x001610024,
	0x020174fef,
	0x0000c4e75,
	0x000144e75,
	0x04a806c0c,
	0x0203c0000,
	0x0618e4fef,
	0x000184e75,
	0x000204e75,
	0x02f002f2f,
	0x000282f2f,
	0x000286100,
	0x008324a80,
	0x042e72f40,
	0x0002244df,
	0x0661a486e,
	0x000302f2f,
	0x000306100,
	0x008684a80,
	0x066622f2f,
	0x00024486e,
	0x0819b4878,
	0x000026100,
	0x0fe1a2f7c,
	0x0000061af,
	0x000204fef,
	0x0000c609c,
	0x0fe1e4282,
	0x0700ab082,
	0x06f2e2f42,
	0x000281037,
	0x029250040,
	0x0c0bc0000,
	0x000ff2f00,
	0x0486e81b7,
	0x048780002,
	0x06100fdf8,
	0x0242f0034,
	0x05282700a,
	0x0b0824fef,
	0x0000c6ed2,
	0x0486e81be,
	0x048780002,
	0x06100fddc,
	0x02f7c0000,
	0x061be002c,
	0x04fef0018,
	0x06000ff5e,
	0x02f800161,
	0x000344280,
	0x04fef0024,
	0x0003c4280,
	0x04fef002c,
	0x04e75598f,
	0x0226f0008,
	0x0206f000c,


@@ 796,14 812,12 @@ ulong bootcode[]={
	0x011400001,
	0x054881011,
	0x049c07232,
	0x0b0016d00,
	0x006247251,
	0x0b0016e00,
	0x0061c3036,
	0x0b0016d10,
	0x07251b001,
	0x06e0a3036,
	0x00b208096,
	0x04efb0000,
	0x0200890af,
	0x0000c588f,
	0x04280588f,
	0x04e753029,
	0x000021080,
	0x030290002,


@@ 830,7 844,9 @@ ulong bootcode[]={
	0x02029000c,
	0x07218e2a8,
	0x011400003,
	0x05888608c,
	0x058882008,
	0x090af000c,
	0x0588f4e75,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 845,17 861,16 @@ ulong bootcode[]={
	0x04869000c,
	0x02f082f48,
	0x0000c6100,
	0x01c98206f,
	0x01c82206f,
	0x0000c701c,
	0x0d1c04fef,
	0x0000c6000,
	0x0ff443029,
	0x000021080,
	0x0000c60ae,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0ff2c3029,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x060983029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 864,11 879,11 @@ ulong bootcode[]={
	0x000744869,
	0x000062f08,
	0x02f48000c,
	0x061001c4a,
	0x061001c38,
	0x0206f000c,
	0x07074d1c0,
	0x04fef000c,
	0x06000fef6,
	0x06000ff64,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 878,41 893,41 @@ ulong bootcode[]={
	0x048690006,
	0x02f082f48,
	0x0000c6100,
	0x01c14206f,
	0x01c02206f,
	0x0000c7074,
	0x0d1c04fef,
	0x0000c6000,
	0x0fec03029,
	0x0ff2e3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fea83029,
	0x0ff163029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fe903029,
	0x0fefe3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fe783029,
	0x0fee63029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fe603029,
	0x0fece3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fe483029,
	0x0feb63029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 922,7 937,7 @@ ulong bootcode[]={
	0x02029000a,
	0x0e0801140,
	0x000015488,
	0x06000fe1e,
	0x06000fe8c,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 951,13 966,13 @@ ulong bootcode[]={
	0x0000a2f29,
	0x0000e2f08,
	0x02f48000c,
	0x061001aee,
	0x061001adc,
	0x0206f000c,
	0x020370162,
	0x00014000a,
	0x0d1c04fef,
	0x0000c6000,
	0x0fd943029,
	0x0fe023029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 971,13 986,13 @@ ulong bootcode[]={
	0x0000a2f29,
	0x0000e2f08,
	0x02f48000c,
	0x061001a9e,
	0x061001a8c,
	0x0206f000c,
	0x020370162,
	0x00014000a,
	0x0d1c04fef,
	0x0000c6000,
	0x0fd443029,
	0x0fdb23029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 1002,7 1017,7 @@ ulong bootcode[]={
	0x0000ae080,
	0x011400001,
	0x054886000,
	0x0fce03029,
	0x0fd4e3029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 1029,7 1044,7 @@ ulong bootcode[]={
	0x07218e2a8,
	0x011400003,
	0x058886000,
	0x0fc743029,
	0x0fce23029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 1038,7 1053,7 @@ ulong bootcode[]={
	0x0001c4869,
	0x0000c2f08,
	0x02f48000c,
	0x061001992,
	0x061001980,
	0x0226f0014,
	0x0206f000c,
	0x0701cd1c0,


@@ 1055,7 1070,7 @@ ulong bootcode[]={
	0x0588810e9,
	0x000284fef,
	0x0000c6000,
	0x0fc0c3029,
	0x0fc7a3029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 1082,15 1097,15 @@ ulong bootcode[]={
	0x07218e2a8,
	0x011400003,
	0x058886000,
	0x0fba03029,
	0x0fc0e3029,
	0x000021080,
	0x030290002,
	0x048c0e080,
	0x011400001,
	0x0548810e9,
	0x000286000,
	0x0fb846000,
	0x0fb8a3029,
	0x0fbf26000,
	0x0fb863029,
	0x000021080,
	0x030290002,
	0x048c0e080,


@@ 1099,17 1114,17 @@ ulong bootcode[]={
	0x0001c4869,
	0x0000c2f08,
	0x02f48000c,
	0x06100189e,
	0x06100188c,
	0x0206f000c,
	0x0701cd1c0,
	0x04fef000c,
	0x06000fb4a,
	0x06000fbb8,
	0x030290002,
	0x010803029,
	0x0000248c0,
	0x0e0801140,
	0x000015488,
	0x06000fb32,
	0x06000fba0,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 1120,7 1135,7 @@ ulong bootcode[]={
	0x0000a48c0,
	0x0e0801140,
	0x000015488,
	0x06000fb06,
	0x06000fb74,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 1147,7 1162,7 @@ ulong bootcode[]={
	0x0000c7218,
	0x0e2a81140,
	0x000035888,
	0x06000fa9a,
	0x06000fb08,
	0x030290002,
	0x010803029,
	0x0000248c0,


@@ 1157,162 1172,188 @@ ulong bootcode[]={
	0x048690006,
	0x02f082f48,
	0x0000c6100,
	0x017b8701c,
	0x017a6701c,
	0x0d1af000c,
	0x04878001c,
	0x048770162,
	0x000180022,
	0x02f2f0014,
	0x06100179e,
	0x06100178c,
	0x0701cd1af,
	0x000184878,
	0x0001c4877,
	0x001620024,
	0x0003e2f2f,
	0x000206100,
	0x01784206f,
	0x01772206f,
	0x00024701c,
	0x0d1c04fef,
	0x000246000,
	0x0fa306000,
	0x0fa2c3029,
	0x0fa9e6000,
	0x0fa9a3029,
	0x000061080,
	0x030290006,
	0x048c0e080,
	0x011400001,
	0x054886000,
	0x0fa144878,
	0x0fa824878,
	0x000404869,
	0x000062f08,
	0x02f48000c,
	0x061001746,
	0x061001734,
	0x0206f000c,
	0x07040d1c0,
	0x04fef000c,
	0x06000f9f2,
	0x04280588f,
	0x04e756000,
	0x0f9e86000,
	0x0f9e46000,
	0x0f9e06000,
	0x0f9dc598f,
	0x0206f000c,
	0x04878001c,
	0x02f2f000c,
	0x02f082f48,
	0x0000c6100,
	0x01708701c,
	0x0d1af000c,
	0x04878001c,
	0x048770162,
	0x00018001c,
	0x02f2f0014,
	0x0610016ee,
	0x06000fa60,
	0x06000fa5c,
	0x06000fa58,
	0x06000fa54,
	0x06000fa50,
	0x0598f206f,
	0x0000c4878,
	0x0001c2f2f,
	0x0000c2f08,
	0x02f48000c,
	0x0610016fc,
	0x0701cd1af,
	0x000184878,
	0x0000c4878,
	0x0001c4877,
	0x001620024,
	0x000382f2f,
	0x000206100,
	0x016d4226f,
	0x0002c206f,
	0x00024701c,
	0x0d1c02029,
	0x000541080,
	0x001620018,
	0x0001c2f2f,
	0x000146100,
	0x016e2701c,
	0x0d1af0018,
	0x04878001c,
	0x048770162,
	0x000240038,
	0x02f2f0020,
	0x0610016c8,
	0x0226f002c,
	0x0206f0024,
	0x0701cd1c0,
	0x020290054,
	0x0e0881140,
	0x000012029,
	0x000547210,
	0x0e2a81140,
	0x000022029,
	0x000547218,
	0x0e2a81140,
	0x000035888,
	0x020290058,
	0x010802029,
	0x00058e088,
	0x00054e088,
	0x011400001,
	0x020290058,
	0x020290054,
	0x07210e2a8,
	0x011400002,
	0x020290058,
	0x020290054,
	0x07218e2a8,
	0x011400003,
	0x058882029,
	0x0005c1080,
	0x02029005c,
	0x000581080,
	0x020290058,
	0x0e0881140,
	0x000012029,
	0x0005c7210,
	0x000587210,
	0x0e2a81140,
	0x000022029,
	0x0005c7218,
	0x000587218,
	0x0e2a81140,
	0x000035888,
	0x020290060,
	0x02029005c,
	0x010802029,
	0x00060e080,
	0x0005ce088,
	0x011400001,
	0x020290060,
	0x07210e2a0,
	0x02029005c,
	0x07210e2a8,
	0x011400002,
	0x020290060,
	0x07218e2a0,
	0x02029005c,
	0x07218e2a8,
	0x011400003,
	0x058882029,
	0x000641080,
	0x020290064,
	0x000601080,
	0x020290060,
	0x0e0801140,
	0x000012029,
	0x000647210,
	0x000607210,
	0x0e2a01140,
	0x000022029,
	0x000647218,
	0x000607218,
	0x0e2a01140,
	0x000035888,
	0x02029006c,
	0x020290064,
	0x010802029,
	0x0006ce080,
	0x00064e080,
	0x011400001,
	0x02029006c,
	0x020290064,
	0x07210e2a0,
	0x011400002,
	0x02029006c,
	0x020290064,
	0x07218e2a0,
	0x011400003,
	0x042280004,
	0x042280005,
	0x042280006,
	0x042280007,
	0x050883029,
	0x000701080,
	0x058882029,
	0x0006c1080,
	0x02029006c,
	0x0e0801140,
	0x000012029,
	0x0006c7210,
	0x0e2a01140,
	0x000022029,
	0x0006c7218,
	0x0e2a01140,
	0x000034228,
	0x000044228,
	0x000054228,
	0x000064228,
	0x000075088,
	0x030290070,
	0x048c0e080,
	0x011400001,
	0x054883029,
	0x000721080,
	0x010803029,
	0x0007048c0,
	0x0e0801140,
	0x000015488,
	0x030290072,
	0x048c0e080,
	0x011400001,
	0x054882008,
	0x090af0030,
	0x04fef0028,
	0x04e75598f,
	0x0226f000c,
	0x0206f0008,
	0x012984280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400004,
	0x054881011,
	0x049c07232,
	0x0b0016d00,
	0x006007251,
	0x0b0016e00,
	0x005f83036,
	0x00b2080d6,
	0x04efb0000,
	0x010803029,
	0x0007248c0,
	0x0e0801140,
	0x000015488,
	0x0200890af,
	0x000304fef,
	0x000284e75,
	0x0598f226f,
	0x0000c206f,
	0x000081298,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000045488,
	0x0101149c0,
	0x07232b001,
	0x06d107251,
	0x0b0016e0a,
	0x030360b20,
	0x080d64efb,
	0x000004280,
	0x0588f4e75,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000085888,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x0202f0008,
	0x0d0af0010,
	0x0b0886608,


@@ 1328,50 1369,21 @@ ulong bootcode[]={
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400008,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x02340000c,
	0x058886000,
	0x0ff784280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x03340000a,
	0x054884878,
	0x0001c2f08,
	0x02f480008,
	0x04869000c,
	0x061001486,
	0x06100147c,
	0x0206f000c,
	0x0701cd1c0,
	0x04fef000c,
	0x06000ff2e,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000ff16,
	0x0609e4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054886088,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1381,11 1393,11 @@ ulong bootcode[]={
	0x02f082f48,
	0x000084869,
	0x000066100,
	0x01438206f,
	0x01432206f,
	0x0000c7074,
	0x0d1c04fef,
	0x0000c6000,
	0x0fee04280,
	0x0ff544280,
	0x010104281,
	0x012280001,
	0x0e1818081,


@@ 1394,41 1406,41 @@ ulong bootcode[]={
	0x000742f08,
	0x02f480008,
	0x048690006,
	0x061001402,
	0x0610013fc,
	0x0206f000c,
	0x07074d1c0,
	0x04fef000c,
	0x06000feaa,
	0x06000ff1e,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fe92,
	0x06000ff06,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fe7a,
	0x06000feee,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fe62,
	0x06000fed6,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fe4a,
	0x06000febe,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fe32,
	0x06000fea6,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1439,7 1451,7 @@ ulong bootcode[]={
	0x00001e181,
	0x080812340,
	0x0000a5488,
	0x06000fe06,
	0x06000fe7a,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1464,7 1476,7 @@ ulong bootcode[]={
	0x052882348,
	0x0000e2029,
	0x0000ad1c0,
	0x06000fda2,
	0x06000fe16,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1478,7 1490,7 @@ ulong bootcode[]={
	0x052882348,
	0x0000e2029,
	0x0000ad1c0,
	0x06000fd6a,
	0x06000fdde,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1500,7 1512,7 @@ ulong bootcode[]={
	0x00001e181,
	0x080812340,
	0x0000a5488,
	0x06000fd12,
	0x06000fd86,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1528,7 1540,7 @@ ulong bootcode[]={
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x06000fca2,
	0x06000fd16,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1538,7 1550,7 @@ ulong bootcode[]={
	0x02f082f48,
	0x000084869,
	0x0000c6100,
	0x011c4226f,
	0x011be226f,
	0x00018206f,
	0x0000c701c,
	0x0d1c04280,


@@ 1555,7 1567,7 @@ ulong bootcode[]={
	0x058881358,
	0x000284fef,
	0x0000c6000,
	0x0fc384280,
	0x0fcac4280,
	0x010104281,
	0x012280001,
	0x0e1818081,


@@ 1583,15 1595,15 @@ ulong bootcode[]={
	0x0e5a18081,
	0x02340000c,
	0x058886000,
	0x0fbc84280,
	0x0fc3c4280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400002,
	0x054881358,
	0x000286000,
	0x0fbac6000,
	0x0fbc24280,
	0x0fc206000,
	0x0fbb04280,
	0x010104281,
	0x012280001,
	0x0e1818081,


@@ 1600,17 1612,17 @@ ulong bootcode[]={
	0x0001c2f08,
	0x02f480008,
	0x04869000c,
	0x0610010ca,
	0x0610010c4,
	0x0206f000c,
	0x0701cd1c0,
	0x04fef000c,
	0x06000fb72,
	0x06000fbe6,
	0x042801010,
	0x042811228,
	0x00001e181,
	0x080813340,
	0x000025488,
	0x06000fb5a,
	0x06000fbce,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1621,7 1633,7 @@ ulong bootcode[]={
	0x00001e181,
	0x080813340,
	0x0000a5488,
	0x06000fb2e,
	0x06000fba2,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1649,7 1661,7 @@ ulong bootcode[]={
	0x07418e5a1,
	0x080812340,
	0x0000c5888,
	0x06000fabe,
	0x06000fb32,
	0x042801010,
	0x042811228,
	0x00001e181,


@@ 1659,1228 1671,1230 @@ ulong bootcode[]={
	0x02f082f48,
	0x000084869,
	0x000066100,
	0x00fe0701c,
	0x00fda701c,
	0x0d1af000c,
	0x04878001c,
	0x02f2f0010,
	0x048770162,
	0x000200022,
	0x061000fc6,
	0x061000fc0,
	0x0701cd1af,
	0x000184878,
	0x0001c2f2f,
	0x0001c4877,
	0x00162002c,
	0x0003e6100,
	0x00fac206f,
	0x00fa6206f,
	0x00024701c,
	0x0d1c04fef,
	0x000246000,
	0x0fa546000,
	0x0fa504280,
	0x0fac86000,
	0x0fac44280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400006,
	0x054886000,
	0x0fa384878,
	0x0faac4878,
	0x000402f08,
	0x02f480008,
	0x048690006,
	0x061000f6e,
	0x061000f68,
	0x0206f000c,
	0x07040d1c0,
	0x04fef000c,
	0x06000fa16,
	0x04280588f,
	0x04e756000,
	0x0fa0c6000,
	0x0fa086000,
	0x0fa046000,
	0x0fa00598f,
	0x0206f0008,
	0x04878001c,
	0x02f082f48,
	0x000082f2f,
	0x000146100,
	0x00f30701c,
	0x0d1af000c,
	0x04878001c,
	0x02f2f0010,
	0x048770162,
	0x00020001c,
	0x061000f16,
	0x06000fa8a,
	0x06000fa86,
	0x06000fa82,
	0x06000fa7e,
	0x06000fa7a,
	0x0598f206f,
	0x000084878,
	0x0001c2f08,
	0x02f480008,
	0x02f2f0014,
	0x061000f30,
	0x0701cd1af,
	0x000184878,
	0x0000c4878,
	0x0001c2f2f,
	0x0001c4877,
	0x00162002c,
	0x000386100,
	0x00efc226f,
	0x00030206f,
	0x00024701c,
	0x0d1c04280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x000104877,
	0x001620020,
	0x0001c6100,
	0x00f16701c,
	0x0d1af0018,
	0x04878001c,
	0x02f2f001c,
	0x048770162,
	0x0002c0038,
	0x061000efc,
	0x0226f0030,
	0x0206f0024,
	0x0701cd1c0,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400054,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000545888,
	0x042801010,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000585888,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400058,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x02340005c,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0005c5888,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400060,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000605888,
	0x042801010,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x000645888,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x023400064,
	0x058884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x00001e181,
	0x080814281,
	0x012280002,
	0x07410e5a1,
	0x080814281,
	0x012280003,
	0x07418e5a1,
	0x080812340,
	0x0006c5088,
	0x042801010,
	0x042811228,
	0x000027410,
	0x0e5a18081,
	0x00001e181,
	0x080813340,
	0x000705488,
	0x042801010,
	0x042811228,
	0x000037418,
	0x0e5a18081,
	0x02340006c,
	0x050884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400070,
	0x054884280,
	0x010104281,
	0x012280001,
	0x0e1818081,
	0x033400072,
	0x054882008,
	0x090af002c,
	0x04fef0028,
	0x04e75142f,
	0x00007c43c,
	0x0007f701e,
	0x0b0ae800e,
	0x06e047001,
	0x04e75202e,
	0x00001e181,
	0x080813340,
	0x000725488,
	0x0200890af,
	0x0002c4fef,
	0x000284e75,
	0x0142f0007,
	0x0c43c007f,
	0x0701eb0ae,
	0x0800e6e04,
	0x070014e75,
	0x0202e800e,
	0x0120249c1,
	0x01d801920,
	0x0807a52ae,
	0x0800e1202,
	0x049c11d80,
	0x049c11036,
	0x01920807a,
	0x052ae800e,
	0x0120249c1,
	0x010361920,
	0x0807a49c0,
	0x02daf0008,
	0x00d2081ba,
	0x042804e75,
	0x04fefffe4,
	0x0282f002c,
	0x0246f0028,
	0x02f6e8006,
	0x000042eae,
	0x080162d6f,
	0x000208006,
	0x0202f0024,
	0x053802d40,
	0x08016101a,
	0x049c02400,
	0x07025b082,
	0x067684a82,
	0x06628202e,
	0x08006b0ae,
	0x080166504,
	0x053ae8006,
	0x042360161,
	0x08006202e,
	0x080062d6f,
	0x000048006,
	0x02d578016,
	0x04fef001c,
	0x04e75202e,
	0x08006b0ae,
	0x08016640a,
	0x01d820161,
	0x0800652ae,
	0x0800652ae,
	0x0801a700a,
	0x0b0826606,
	0x042ae801a,
	0x060a47009,
	0x0b082669e,
	0x07007d0ae,
	0x0801ac0bc,
	0x0fffffff8,
	0x02d40801a,
	0x0608c327c,
	0x0fc182f7c,
	0x0fffffc18,
	0x0001442af,
	0x00010101a,
	0x049c02400,
	0x02f4a0028,
	0x04a826606,
	0x0538a6000,
	0x0ff6a702e,
	0x0b0826610,
	0x0b2fcfc18,
	0x06604327c,
	0x0000042af,
	0x0001460d6,
	0x07031b082,
	0x06e467039,
	0x0b0826d40,
	0x042837030,
	0x0b0826e06,
	0x07039b082,
	0x06c10b2fc,
	0x0fc186604,
	0x0224360bc,
	0x02f430014,
	0x060b62003,
	0x02203d281,
	0x0d281d081,
	0x0d080d082,
	0x090bc0000,
	0x000302600,
	0x049c02daf,
	0x000080d20,
	0x081ca4280,
	0x04e754fef,
	0x0ffe4282f,
	0x0002c246f,
	0x000282f6e,
	0x080060004,
	0x02eae8016,
	0x02d6f0020,
	0x08006202f,
	0x000245380,
	0x02d408016,
	0x0101a49c0,
	0x024007025,
	0x0b0826768,
	0x04a826628,
	0x0202e8006,
	0x0b0ae8016,
	0x0650453ae,
	0x080064236,
	0x001618006,
	0x0202e8006,
	0x02d6f0004,
	0x080062d57,
	0x080164fef,
	0x0001c4e75,
	0x0202e8006,
	0x0b0ae8016,
	0x0640a1d82,
	0x001618006,
	0x052ae8006,
	0x052ae801a,
	0x0700ab082,
	0x0660642ae,
	0x0801a60a4,
	0x07009b082,
	0x0669e7007,
	0x0d0ae801a,
	0x0c0bcffff,
	0x0fff82d40,
	0x0801a608c,
	0x0327cfc18,
	0x02f7cffff,
	0x0fc180014,
	0x042af0010,
	0x0101a49c0,
	0x024002f4a,
	0x0002860c2,
	0x000284a82,
	0x06606538a,
	0x06000ff6a,
	0x0702eb082,
	0x06610b2fc,
	0x0fc186604,
	0x0327c0000,
	0x042af0014,
	0x060d67031,
	0x0b0826e46,
	0x07039b082,
	0x06d404283,
	0x07030b082,
	0x06606b2fc,
	0x0fc1866b4,
	0x0702ab082,
	0x0661c2430,
	0x049905884,
	0x02004b2fc,
	0x0fc186606,
	0x022426000,
	0x0ff662f42,
	0x06e067039,
	0x0b0826c10,
	0x0b2fcfc18,
	0x066042243,
	0x060bc2f43,
	0x0001460b6,
	0x020032203,
	0x0d281d281,
	0x0d081d080,
	0x0d08290bc,
	0x000000030,
	0x02600101a,
	0x049c02400,
	0x02f4a0028,
	0x060c27030,
	0x0b0826606,
	0x0b2fcfc18,
	0x066b4702a,
	0x0b082661c,
	0x024304990,
	0x058842004,
	0x0b2fcfc18,
	0x066062242,
	0x06000ff66,
	0x02f420014,
	0x06000ff5e,
	0x0c4bc0000,
	0x0007f2f02,
	0x02f2f0014,
	0x02f2f001c,
	0x02f092f49,
	0x000282f04,
	0x02f440040,
	0x010362920,
	0x0807a49c0,
	0x020760d20,
	0x081ca4e90,
	0x0282f0040,
	0x0246f003c,
	0x0226f002c,
	0x04a806c0e,
	0x0448081af,
	0x000244fef,
	0x000146000,
	0x0ff5ec4bc,
	0x00000007f,
	0x02f022f2f,
	0x000142f2f,
	0x0001c2f09,
	0x02f490028,
	0x02f042f44,
	0x000401036,
	0x02920807a,
	0x049c02076,
	0x00d2081ba,
	0x04e90282f,
	0x00040246f,
	0x0003c226f,
	0x0002c4a80,
	0x06c0e4480,
	0x081af0024,
	0x04fef0014,
	0x06000ff14,
	0x0d8802004,
	0x04fef0014,
	0x06000fe84,
	0x0222f0008,
	0x00c81ffff,
	0x0fc186708,
	0x07002c0af,
	0x000106614,
	0x0ff14d880,
	0x020044fef,
	0x000146000,
	0x0fe84222f,
	0x000080c81,
	0x0fffffc18,
	0x067087002,
	0x0c0af0010,
	0x066142f2f,
	0x0000c2f01,
	0x02f2f000c,
	0x02f012f2f,
	0x0000c6100,
	0x002184fef,
	0x0000c4e75,
	0x0448160e8,
	0x04fefffbc,
	0x02a2f0058,
	0x0226f0048,
	0x0206f0050,
	0x02e2f0054,
	0x02c2f0004,
	0x02817367c,
	0x000002005,
	0x02405726f,
	0x0b0816d00,
	0x001ce6e00,
	0x001a67008,
	0x02a00347c,
	0x000007078,
	0x0c0877228,
	0x0b0816d00,
	0x001566e00,
	0x0011c2c11,
	0x070042f40,
	0x000147020,
	0x0c0876606,
	0x04a866d00,
	0x000fe422f,
	0x00041741c,
	0x07040c087,
	0x0670000da,
	0x020044c45,
	0x008012601,
	0x07030d680,
	0x07039b083,
	0x06c047027,
	0x0d6802202,
	0x01f832920,
	0x000247002,
	0x0b0826f7c,
	0x07004c087,
	0x0671a0c37,
	0x000302920,
	0x000246710,
	0x07008b085,
	0x066385382,
	0x01fbc0030,
	0x029200024,
	0x0b4fc0000,
	0x0670a5382,
	0x01fbc002d,
	0x061000218,
	0x04fef000c,
	0x04e754481,
	0x060e84fef,
	0x0ffbc2a2f,
	0x00058226f,
	0x00048206f,
	0x000502e2f,
	0x000542c2f,
	0x000042817,
	0x0367c0000,
	0x020052405,
	0x0726fb081,
	0x06d0001ce,
	0x06e0001a6,
	0x070082a00,
	0x0347c0000,
	0x07078c087,
	0x07228b081,
	0x06d000156,
	0x06e00011c,
	0x02c117004,
	0x02f400014,
	0x07020c087,
	0x066064a86,
	0x06d0000fe,
	0x0422f0041,
	0x0741c7040,
	0x0c0876700,
	0x000da2004,
	0x04c450801,
	0x026017030,
	0x0d6807039,
	0x0b0836c04,
	0x07027d680,
	0x022021f83,
	0x029200024,
	0x02f074878,
	0x0fc182f2f,
	0x000544877,
	0x029200030,
	0x06100ff06,
	0x0202f0024,
	0x04fef0054,
	0x04e757010,
	0x0b08566cc,
	0x0b6fc0000,
	0x067165382,
	0x01fbc0058,
	0x07002b082,
	0x06f7c7004,
	0x0c087671a,
	0x00c370030,
	0x029200024,
	0x067107008,
	0x0b0856638,
	0x053821fbc,
	0x000302920,
	0x0002460b0,
	0x00024b4fc,
	0x00000670a,
	0x053821fbc,
	0x000782920,
	0x0002460e8,
	0x07040c087,
	0x0673e2004,
	0x04c450801,
	0x02800b0fc,
	0x0fc186708,
	0x0701e9088,
	0x0b0826f12,
	0x07040c087,
	0x067064a84,
	0x06f00ff5e,
	0x04a866f00,
	0x0ff585382,
	0x07040c087,
	0x06600ff2a,
	0x020064c45,
	0x000012601,
	0x06000ff26,
	0x020064c45,
	0x000012c00,
	0x060c04486,
	0x0347c0001,
	0x06000fefc,
	0x07230b280,
	0x0671e7248,
	0x0b280670c,
	0x02c117004,
	0x02f400014,
	0x06000fed8,
	0x028117004,
	0x02f400014,
	0x06000fecc,
	0x02c113406,
	0x042863c02,
	0x0002d2920,
	0x000242f07,
	0x04878fc18,
	0x02f2f0054,
	0x048772920,
	0x000306100,
	0x0ff06202f,
	0x000244fef,
	0x000544e75,
	0x07010b085,
	0x066ccb6fc,
	0x000006716,
	0x053821fbc,
	0x000582920,
	0x000245382,
	0x01fbc0030,
	0x029200024,
	0x060b05382,
	0x01fbc0078,
	0x029200024,
	0x060e87040,
	0x0c087673e,
	0x020044c45,
	0x008012800,
	0x0b0fcfc18,
	0x06708701e,
	0x09088b082,
	0x06f127040,
	0x0c0876706,
	0x04a846f00,
	0x0ff5e4a86,
	0x06f00ff58,
	0x053827040,
	0x0c0876600,
	0x0ff2a2006,
	0x04c450001,
	0x026016000,
	0x0ff262006,
	0x04c450001,
	0x02c0060c0,
	0x04486347c,
	0x000016000,
	0x0fefc7230,
	0x0b280671e,
	0x07248b280,
	0x0670c2c11,
	0x070042f40,
	0x000146000,
	0x0feba7208,
	0x0b280672a,
	0x07210b280,
	0x067127220,
	0x0b28066c4,
	0x02c117004,
	0x02f400014,
	0x06000fe9c,
	0x02c113406,
	0x03c0248c6,
	0x0fed82811,
	0x070042f40,
	0x000146000,
	0x0fe8a2c11,
	0x0fecc2c11,
	0x034064286,
	0x03c027004,
	0x02f400014,
	0x06000feba,
	0x07208b280,
	0x0672a7210,
	0x0b2806712,
	0x07220b280,
	0x066c42c11,
	0x070042f40,
	0x000146000,
	0x0fe7e7275,
	0x0b2806710,
	0x07278b280,
	0x06600fe54,
	0x070102a00,
	0x06000fe4c,
	0x08ebc0000,
	0x00020700a,
	0x0fe9c2c11,
	0x034063c02,
	0x048c67004,
	0x02f400014,
	0x06000fe8a,
	0x02c117004,
	0x02f400014,
	0x06000fe7e,
	0x07275b280,
	0x067107278,
	0x0b2806600,
	0x0fe547010,
	0x02a006000,
	0x0fe3e7258,
	0x0b280670a,
	0x07264b280,
	0x06600fe30,
	0x060e87001,
	0x0264060d4,
	0x0518f2f2f,
	0x0000c6100,
	0x0eaec266f,
	0x00010246e,
	0x08016262f,
	0x00014226f,
	0x00018206e,
	0x080062200,
	0x00c83ffff,
	0x0fc186706,
	0x04a836c00,
	0x00084101b,
	0x049c02400,
	0x06734b2fc,
	0x0fc186706,
	0x0b2fc0000,
	0x06fecb1ca,
	0x0640610c2,
	0x02d488006,
	0x052ae801a,
	0x0700ab082,
	0x0664242ae,
	0x0801ab2fc,
	0x0fc1867ce,
	0x05389101b,
	0x049c02400,
	0x066cc0c83,
	0x0fe4c8ebc,
	0x000000020,
	0x0700a2a00,
	0x06000fe3e,
	0x07258b280,
	0x0670a7264,
	0x0b2806600,
	0x0fe3060e8,
	0x070012640,
	0x060d4518f,
	0x02f2f000c,
	0x06100eac2,
	0x0266f0010,
	0x0246e8016,
	0x0262f0014,
	0x0226f0018,
	0x0206e8006,
	0x022000c83,
	0x0fffffc18,
	0x067044a83,
	0x06d064fef,
	0x0000c4e75,
	0x024034482,
	0x0b2826cf2,
	0x0b1ca6408,
	0x010fc0020,
	0x02d488006,
	0x052ae801a,
	0x0528160e8,
	0x07009b082,
	0x066bc7007,
	0x0d0ae801a,
	0x0c0bcffff,
	0x0fff82d40,
	0x0801a60aa,
	0x02001b283,
	0x06c00ff78,
	0x0b1ca6408,
	0x010fc0020,
	0x02d488006,
	0x052ae801a,
	0x0528160e4,
	0x0598f1ebc,
	0x0002a202f,
	0x000181f40,
	0x000011f7c,
	0x0002a0002,
	0x0422f0003,
	0x04878fc18,
	0x042a7486f,
	0x067064a83,
	0x06c000084,
	0x0101b49c0,
	0x024006734,
	0x0b2fcfc18,
	0x06706b2fc,
	0x000006fec,
	0x0b1ca6406,
	0x010c22d48,
	0x0800652ae,
	0x0801a700a,
	0x0b0826642,
	0x042ae801a,
	0x0b2fcfc18,
	0x067ce5389,
	0x0101b49c0,
	0x0240066cc,
	0x00c83ffff,
	0x0fc186704,
	0x04a836d06,
	0x04fef000c,
	0x04e752403,
	0x04482b282,
	0x06cf2b1ca,
	0x0640810fc,
	0x000202d48,
	0x0800652ae,
	0x0801a5281,
	0x060e87009,
	0x0b08266bc,
	0x07007d0ae,
	0x0801ac0bc,
	0x0fffffff8,
	0x02d40801a,
	0x060aa2001,
	0x0b2836c00,
	0x0ff78b1ca,
	0x0640810fc,
	0x000202d48,
	0x0800652ae,
	0x0801a5281,
	0x060e4598f,
	0x01ebc002a,
	0x0202f0018,
	0x01f400001,
	0x01f7c002a,
	0x00002422f,
	0x000034878,
	0x0fc1842a7,
	0x0486f0008,
	0x06100ff10,
	0x042804fef,
	0x000104e75,
	0x0598f2037,
	0x001610008,
	0x01e80422f,
	0x000014878,
	0x0fc182f2f,
	0x00010486f,
	0x000086100,
	0x0ff104280,
	0x0feea7004,
	0x04fef0010,
	0x04e75598f,
	0x020370161,
	0x000081e80,
	0x0422f0001,
	0x04878fc18,
	0x02f2f0010,
	0x0486f0008,
	0x06100feea,
	0x04e752f2f,
	0x000102f2f,
	0x000102f2f,
	0x000102f37,
	0x001610010,
	0x06100fc94,
	0x070044fef,
	0x000104e75,
	0x02f2f0010,
	0x02f2f0010,
	0x02f2f0010,
	0x02f370161,
	0x000106100,
	0x0fc947004,
	0x04fef0010,
	0x04e75202e,
	0x08006b0ae,
	0x08016640c,
	0x01dbc0025,
	0x001618006,
	0x052ae8006,
	0x042804e75,
	0x0202f0014,
	0x07268b081,
	0x06d2a6e04,
	0x070f04e75,
	0x0726cb280,
	0x0670e7275,
	0x0b2806704,
	0x042804e75,
	0x070e04e75,
	0x07008c0af,
	0x000106704,
	0x070c04e75,
	0x070f84e75,
	0x07223b280,
	0x06714722b,
	0x0b280670a,
	0x0722db280,
	0x066d670fe,
	0x04e7570ff,
	0x04e7570fc,
	0x04e754fef,
	0x0ff74f237,
	0x055000161,
	0x00090f22f,
	0x075000034,
	0x0f2277500,
	0x06100088a,
	0x04a80671c,
	0x02f2f00a4,
	0x04878fc18,
	0x02f2f00a4,
	0x0486e8592,
	0x06100fbee,
	0x070084fef,
	0x000a44e75,
	0x048780001,
	0x0f22f5400,
	0x00040f227,
	0x074006100,
	0x008b24a80,
	0x0202e8006,
	0x0b0ae8016,
	0x0640c1dbc,
	0x000250161,
	0x0800652ae,
	0x080064280,
	0x04e75202f,
	0x000147268,
	0x0b0816d2a,
	0x06e0470f0,
	0x04e75726c,
	0x0b280670e,
	0x07275b280,
	0x067044280,
	0x04e7570e0,
	0x04e757008,
	0x0c0af0010,
	0x0670470c0,
	0x04e7570f8,
	0x04e757223,
	0x0b2806714,
	0x0722bb280,
	0x0670a722d,
	0x0b28066d6,
	0x070fe4e75,
	0x070ff4e75,
	0x070fc4e75,
	0x04fefff74,
	0x0f2375500,
	0x001610090,
	0x0f22f7500,
	0x00034f227,
	0x075006100,
	0x0088a4a80,
	0x0671c2f2f,
	0x000b04878,
	0x000a44878,
	0x0fc182f2f,
	0x000b0486e,
	0x085966100,
	0x0fbbc7008,
	0x04fef00b0,
	0x000a4486e,
	0x085a26100,
	0x0fbee7008,
	0x04fef00a4,
	0x04e754878,
	0x0fffff22f,
	0x05400004c,
	0x00001f22f,
	0x054000040,
	0x0f2277400,
	0x061000880,
	0x0610008b2,
	0x04a80671c,
	0x02f2f00bc,
	0x02f2f00b0,
	0x04878fc18,
	0x02f2f00bc,
	0x0486e859b,
	0x06100fb8a,
	0x02f2f00b0,
	0x0486e85a6,
	0x06100fbbc,
	0x070084fef,
	0x000bc4e75,
	0x042af0030,
	0x0f22f543a,
	0x00054f293,
	0x00016f22f,
	0x054000054,
	0x0f200001a,
	0x0f22f7400,
	0x0005452af,
	0x0003042af,
	0x000207041,
	0x0b0af00c0,
	0x06e0a705a,
	0x0b0af00c0,
	0x06c0004d4,
	0x042af0040,
	0x0f23c4000,
	0x000000000,
	0x0f22f543a,
	0x00054f281,
	0x000e2486f,
	0x00040f22f,
	0x054000058,
	0x0f2277400,
	0x0610004bc,
	0x0f22f4000,
	0x0004cf23c,
	0x054233fd3,
	0x044135547,
	0x05a32f22f,
	0x06000004c,
	0x0202f004c,
	0x0e2802f40,
	0x000484480,
	0x02f006100,
	0x005e4f22f,
	0x054230064,
	0x0f22f7400,
	0x00054202f,
	0x0004c90af,
	0x000502f00,
	0x0610005ca,
	0x0f22f5423,
	0x00058f200,
	0x00100f23c,
	0x000b04e75,
	0x04878ffff,
	0x0f22f5400,
	0x0004cf227,
	0x074006100,
	0x008804a80,
	0x0671c2f2f,
	0x000bc4878,
	0x0fc182f2f,
	0x000bc486e,
	0x085ab6100,
	0x0fb8a7008,
	0x04fef00bc,
	0x04e7542af,
	0x00030f22f,
	0x0543a0054,
	0x0f2930016,
	0x0f22f5400,
	0x00054f200,
	0x0001af22f,
	0x074000054,
	0x052af0030,
	0x042af0020,
	0x07041b0af,
	0x000c06e0a,
	0x0705ab0af,
	0x000c06c00,
	0x004d442af,
	0x00040f23c,
	0x040000000,
	0x00001f200,
	0x00838f295,
	0x0003053af,
	0x00054202f,
	0x0005090af,
	0x000542f00,
	0x06100059e,
	0x00000f22f,
	0x0543a0054,
	0x0f28100e2,
	0x0486f0040,
	0x0f22f5400,
	0x00058f227,
	0x074006100,
	0x004bcf22f,
	0x04000004c,
	0x0f23c5423,
	0x03fd34413,
	0x055475a32,
	0x0f22f6000,
	0x0004c202f,
	0x0004ce280,
	0x02f400048,
	0x044802f00,
	0x0610005e4,
	0x0f22f5423,
	0x0005cf200,
	0x00100f23c,
	0x040000000,
	0x00001f200,
	0x00838588f,
	0x0f292ffd4,
	0x00064f22f,
	0x074000054,
	0x0202f004c,
	0x090af0050,
	0x02f006100,
	0x005caf22f,
	0x054230058,
	0x0f2000100,
	0x0f23c4000,
	0x00000000a,
	0x000000001,
	0x0f2000838,
	0x04fef0014,
	0x0f2920030,
	0x052af0040,
	0x0202f003c,
	0x090af0040,
	0x0f2950030,
	0x053af0054,
	0x0202f0050,
	0x090af0054,
	0x02f006100,
	0x0055cf22f,
	0x054230048,
	0x0059ef22f,
	0x05423005c,
	0x0f2000100,
	0x0f23c4000,
	0x00000000a,
	0x000000001,
	0x0f2000838,
	0x0588ff295,
	0x0ffd40caf,
	0x0fffffc18,
	0x000b86606,
	0x070062f40,
	0x000b87067,
	0x0b0af00c0,
	0x066084aaf,
	0x000b86e00,
	0x003b6701e,
	0x0b0af00b8,
	0x06c06701e,
	0x02f4000b8,
	0x07802d8af,
	0x000b87066,
	0x0b0af00c0,
	0x06612202f,
	0x00040d880,
	0x06e0a7801,
	0x0f23c4000,
	0x000000000,
	0x07020b084,
	0x042e72f44,
	0x0003644df,
	0x06e187065,
	0x0b0af00c0,
	0x0660670ff,
	0x02f4000b8,
	0x070652f40,
	0x000c06000,
	0x0fe98f22f,
	0x054000054,
	0x0f22f7400,
	0x0004c4aaf,
	0x000406c26,
	0x070ff90af,
	0x0588ff292,
	0x0ffd4f23c,
	0x040000000,
	0x0000af200,
	0x008384fef,
	0x00014f292,
	0x0003052af,
	0x00040202f,
	0x0003c90af,
	0x000402f00,
	0x0610004ae,
	0x0282f0038,
	0x0f2277400,
	0x0f22f5400,
	0x00058f21f,
	0x05423f22f,
	0x074000050,
	0x0588f4283,
	0x0b6846c6a,
	0x06100055c,
	0x0f22f5423,
	0x00048f200,
	0x00100f23c,
	0x040000000,
	0x0000af200,
	0x00838588f,
	0x0f295ffd4,
	0x00cafffff,
	0x0fc1800b8,
	0x066067006,
	0x02f4000b8,
	0x07067b0af,
	0x000c06608,
	0x04aaf00b8,
	0x06e0003b6,
	0x0701eb0af,
	0x000b86c06,
	0x0701e2f40,
	0x000b87802,
	0x0d8af00b8,
	0x07066b0af,
	0x000c06612,
	0x0202f0040,
	0x090832f43,
	0x000384a80,
	0x06d0002d2,
	0x0d8806e0a,
	0x07801f23c,
	0x040000000,
	0x000007020,
	0x0b08442e7,
	0x02f440036,
	0x044df6e18,
	0x07065b0af,
	0x000c06606,
	0x070ff2f40,
	0x000b87065,
	0x02f4000c0,
	0x06000fe98,
	0x0f22f5400,
	0x00054f22f,
	0x07400004c,
	0x04aaf0040,
	0x06c2670ff,
	0x090af0040,
	0x02f006100,
	0x00478f22f,
	0x054800050,
	0x0f20000a0,
	0x004ae282f,
	0x00038f227,
	0x07400f22f,
	0x054000058,
	0x0f21f5423,
	0x0f22f7400,
	0x00048f227,
	0x074806100,
	0x004b8262f,
	0x00044282f,
	0x00040f202,
	0x06000f202,
	0x04000f22f,
	0x054230050,
	0x00050588f,
	0x04283b684,
	0x06c6a202f,
	0x000409083,
	0x02f430038,
	0x04a806d00,
	0x002d22f00,
	0x061000478,
	0x0f22f5480,
	0x00058f200,
	0x000a8f22f,
	0x074800058,
	0x07030d082,
	0x022031f80,
	0x039200091,
	0x05283b684,
	0x04fef000c,
	0x06d967605,
	0x074ffd484,
	0x04a826d38,
	0x0200241f7,
	0x029200085,
	0x0101049c0,
	0x0d0831080,
	0x042830c37,
	0x000392920,
	0x000856f16,
	0x0200241f7,
	0x00050f200,
	0x000a0f22f,
	0x074000048,
	0x0f2277480,
	0x0610004b8,
	0x0262f0044,
	0x0282f0040,
	0x0f2026000,
	0x0f2024000,
	0x0f22f5423,
	0x00050f22f,
	0x054800058,
	0x0f20000a8,
	0x0f22f7480,
	0x000587030,
	0x0d0822203,
	0x01f803920,
	0x000915283,
	0x0b6844fef,
	0x0000c6d96,
	0x0760574ff,
	0x0d4844a82,
	0x06d382002,
	0x041f72920,
	0x000851010,
	0x049c0d083,
	0x010804283,
	0x00c370039,
	0x029200085,
	0x0101049c0,
	0x090bc0000,
	0x0000a1080,
	0x052835382,
	0x04a826cc8,
	0x07c014a83,
	0x0670c1f7c,
	0x000310084,
	0x052af0040,
	0x042864282,
	0x04aaf0030,
	0x067000202,
	0x01fbc002d,
	0x02920005c,
	0x052824283,
	0x07801d8af,
	0x000b82a2f,
	0x000b87067,
	0x0b0af00c0,
	0x0661470fb,
	0x0b0af0040,
	0x06e0c202f,
	0x00040b0af,
	0x000b86f00,
	0x001b47066,
	0x0b0af00c0,
	0x0661c262f,
	0x000404483,
	0x06c024283,
	0x0b6af00b8,
	0x06f022604,
	0x0202f0040,
	0x0d8806c02,
	0x042844a83,
	0x06f222003,
	0x0d084b085,
	0x0660a1fbc,
	0x0002e2920,
	0x06f162002,
	0x041f72920,
	0x000851010,
	0x049c090bc,
	0x00000000a,
	0x010805283,
	0x053824a82,
	0x06cc87c01,
	0x04a83670c,
	0x01f7c0031,
	0x0008452af,
	0x000404286,
	0x042824aaf,
	0x000306700,
	0x002021fbc,
	0x0002d2920,
	0x0005c5282,
	0x01fbc0030,
	0x02920005c,
	0x052825383,
	0x04a836ede,
	0x04a846f28,
	0x042837801,
	0x0d8af00b8,
	0x02a2f00b8,
	0x07067b0af,
	0x000c06614,
	0x070fbb0af,
	0x000406e0c,
	0x0202f0040,
	0x0b0af00b8,
	0x06f0001b4,
	0x07066b0af,
	0x000c0661c,
	0x0262f0040,
	0x044836c02,
	0x04283b6af,
	0x000b86f02,
	0x02604202f,
	0x00040d880,
	0x06c024284,
	0x04a836f22,
	0x02003d084,
	0x0b085660a,
	0x01fbc002e,
	0x02920005c,
	0x052822202,
	0x01fb76920,
	0x000842920,
	0x052821fbc,
	0x000302920,
	0x0005c5282,
	0x052865384,
	0x04a846ed8,
	0x07004c0af,
	0x000bc6700,
	0x000e82003,
	0x053834a83,
	0x06ede4a84,
	0x06f282003,
	0x0d084b085,
	0x0660a1fbc,
	0x0002e2920,
	0x0005c5282,
	0x07065b0af,
	0x000c0672a,
	0x07067b0af,
	0x000c06722,
	0x042372920,
	0x0005c2f2f,
	0x000bc4878,
	0x0fc182f2f,
	0x000bc486f,
	0x000686100,
	0x0f7ec7008,
	0x04fef00bc,
	0x04e754aaf,
	0x000206700,
	0x0008e1fbc,
	0x000452920,
	0x0005c5282,
	0x0262f0040,
	0x06c701fbc,
	0x0002d2920,
	0x022021fb7,
	0x069200084,
	0x02920005c,
	0x052825286,
	0x053844a84,
	0x06ed87004,
	0x0c0af00bc,
	0x0670000e8,
	0x02003d084,
	0x0b085660a,
	0x01fbc002e,
	0x02920005c,
	0x052827065,
	0x0b0af00c0,
	0x0672a7067,
	0x0b0af00c0,
	0x067224237,
	0x02920005c,
	0x02f2f00bc,
	0x04878fc18,
	0x02f2f00bc,
	0x0486f0068,
	0x06100f7ec,
	0x070084fef,
	0x000bc4e75,
	0x04aaf0020,
	0x06700008e,
	0x01fbc0045,
	0x02920005c,
	0x05282262f,
	0x000406c70,
	0x01fbc002d,
	0x02920005c,
	0x052824483,
	0x07064b083,
	0x06e262003,
	0x04c7c0801,
	0x000000064,
	0x0d0bc0000,
	0x000302202,
	0x01f802920,
	0x0005c5282,
	0x044837064,
	0x0b0836e26,
	0x020034c7c,
	0x008010000,
	0x00064d0bc,
	0x000642601,
	0x020034c7c,
	0x008010000,
	0x0000ad0bc,
	0x000000030,
	0x022021f80,
	0x02920005c,
	0x052822003,
	0x04c7c0801,
	0x000000064,
	0x026012003,
	0x04c7c0801,
	0x00000000a,
	0x0d0bc0000,
	0x000302202,
	0x02001d0bc,
	0x000000030,
	0x01f802920,
	0x0005c5282,
	0x020034c7c,
	0x008010000,
	0x0000a2001,
	0x0d0bc0000,
	0x000301f80,
	0x06000ff58,
	0x01fbc002b,
	0x02920005c,
	0x052826090,
	0x01fbc0065,
	0x02920005c,
	0x052826000,
	0x0ff581fbc,
	0x0002b2920,
	0x0005c5282,
	0x060901fbc,
	0x000652920,
	0x0005c5282,
	0x06000ff72,
	0x07067b0af,
	0x000c0670a,
	0x07068b0af,
	0x000c06600,
	0x0ff1c76ff,
	0x0d6824a83,
	0x06d0a0c37,
	0x000303920,
	0x0005c6724,
	0x028034a84,
	0x06d00ff02,
	0x00c37002e,
	0x04920005c,
	0x0660e2403,
	0x0b8836700,
	0x0fef05282,
	0x06000feea,
	0x0538460de,
	0x0538360ca,
	0x076ff96af,
	0x000406c02,
	0x042832a2f,
	0x000b89aaf,
	0x000407068,
	0x02f4000c0,
	0x06000fe34,
	0x07001c0af,
	0x000bc6700,
	0x0fe021fbc,
	0x0002b2920,
	0x0005c5282,
	0x06000fdf4,
	0x0f22f5400,
	0x0004cf23c,
	0x040230000,
	0x0000af22f,
	0x07400004c,
	0x0f2277400,
	0x0610001ea,
	0x0262f0040,
	0x0282f003c,
	0x0f2026000,
	0x0f2024000,
	0x0f22f5480,
	0x00054f200,
	0x000a8f22f,
	0x074800054,
	0x0598f6000,
	0x0fd3453af,
	0x000b86000,
	0x0fc467001,
	0x02f400020,
	0x07020d1af,
	0x0ff727067,
	0x0b0af00c0,
	0x0670a7068,
	0x0b0af00c0,
	0x06600ff1c,
	0x076ffd682,
	0x04a836d0a,
	0x00c370030,
	0x03920005c,
	0x067242803,
	0x04a846d00,
	0x0ff020c37,
	0x0002e4920,
	0x0005c660e,
	0x02403b883,
	0x06700fef0,
	0x052826000,
	0x0feea5384,
	0x060de5383,
	0x060ca76ff,
	0x096af0040,
	0x06c024283,
	0x02a2f00b8,
	0x09aaf0040,
	0x070682f40,
	0x000c06000,
	0x0fb20518f,
	0x0fe347001,
	0x0c0af00bc,
	0x06700fe02,
	0x01fbc002b,
	0x02920005c,
	0x052826000,
	0x0fdf4f22f,
	0x05400004c,
	0x0f23c4023,
	0x00000000a,
	0x0f22f7400,
	0x0004cf227,
	0x074006100,
	0x001ea262f,
	0x00040282f,
	0x0003cf202,
	0x06000f202,
	0x04000f22f,
	0x054800054,
	0x0f20000a8,
	0x0f22f7480,
	0x00054598f,
	0x06000fd34,
	0x053af00b8,
	0x06000fc46,
	0x070012f40,
	0x000207020,
	0x0d1af00c0,
	0x06000fb20,
	0x0518ff22f,
	0x05500000c,
	0x0206f0014,
	0x0f200083a,
	0x0f28e0010,
	0x04290f23c,
	0x040000000,
	0x00000508f,
	0x04e75f217,
	0x075002017,
	0x07214e2a0,
	0x0c0bc0000,
	0x007ff90bc,
	0x0000003fe,
	0x020800297,
	0x0800fffff,
	0x000973fe0,
	0x00000f217,
	0x05400508f,
	0x04e75518f,
	0x0f22f5500,
	0x0000c206f,
	0x0000c242f,
	0x00014f200,
	0x0083af28e,
	0x000104290,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x0f2177500,
	0x020177214,
	0x0e2a0c0bc,
	0x0000ef23c,
	0x040000000,
	0x00000508f,
	0x04e75f217,
	0x075002017,
	0x07214e2a0,
	0x0c0bc0000,
	0x007ffd480,
	0x06e0cf23c,
	0x040000000,
	0x00000508f,
	0x04e750c82,
	0x0000007ff,
	0x090bc0000,
	0x003fe2080,
	0x00297800f,
	0x0ffff0097,
	0x03fe00000,
	0x06d0cf23c,
	0x040000000,
	0x00000508f,
	0x04e750297,
	0x0800fffff,
	0x020027214,
	0x0e3a08197,
	0x0f2175400,
	0x0508f4e75,
	0x0518ff22f,
	0x05500000c,
	0x0242f0014,
	0x0f200083a,
	0x0f28e000e,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x0f2177500,
	0x020177214,
	0x0e2a0c0bc,
	0x04feffff4,
	0x0206f0018,
	0x0f22f5500,
	0x00010f23c,
	0x040000000,
	0x00001f200,
	0x00838f295,
	0x00018f23c,
	0x040000000,
	0x00000f210,
	0x07400f200,
	0x008004fef,
	0x0000c4e75,
	0x0f22f7500,
	0x00004242f,
	0x000047214,
	0x0e2a2c4bc,
	0x0000007ff,
	0x0d4806e0c,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x00c820000,
	0x007ff6d0c,
	0x0f23c4000,
	0x000000000,
	0x0508f4e75,
	0x00297800f,
	0x0ffff2002,
	0x07214e3a0,
	0x08197f217,
	0x05400508f,
	0x04e754fef,
	0x0fff4206f,
	0x00018f22f,
	0x055000010,
	0x0f23c4000,
	0x000000001,
	0x0f2000838,
	0x0f2950018,
	0x0f23c4000,
	0x000000000,
	0x094bc0000,
	0x003fe7015,
	0x0b0826d2c,
	0x0203c001f,
	0x0ffffe4a0,
	0x04680c1af,
	0x0000442af,
	0x00008f22f,
	0x054000004,
	0x0f2107400,
	0x0f2000800,
	0x04fef000c,
	0x04e75f22f,
	0x075000004,
	0x0242f0004,
	0x07214e2a2,
	0x0c4bc0000,
	0x007ff94bc,
	0x0000003fe,
	0x07015b082,
	0x06d2c203c,
	0x0001fffff,
	0x0e4a04680,
	0x0c1af0004,
	0x042af0008,
	0x0f22f5400,
	0x00004f210,
	0x07400f200,
	0x00800f22f,
	0x054280004,
	0x04fef000c,
	0x04e757035,
	0x0b0826de0,
	0x072ead282,
	0x0203c7fff,
	0x0ffffe2a0,
	0x04680c1af,
	0x0000860cc,
	0x0598f222f,
	0x000086c1c,
	0x020014480,
	0x02f0061f0,
	0x0f2000080,
	0x0f23c4000,
	0x000000001,
	0x0f2000420,
	0x0508f4e75,
	0x0700ab081,
	0x06f0cf236,
	0x040001d20,
	0x08052588f,
	0x04e752401,
	0x0e2822001,
	0x090822e82,
	0x02f0061bc,
	0x0f22f5428,
	0x000044fef,
	0x0000c4e75,
	0x07035b082,
	0x06de072ea,
	0x0d282203c,
	0x07fffffff,
	0x0e2a04680,
	0x0c1af0008,
	0x060cc598f,
	0x0222f0008,
	0x06c1c2001,
	0x044802f00,
	0x061f0f200,
	0x00080f23c,
	0x040000000,
	0x00001f200,
	0x00420508f,
	0x04e75700a,
	0x0b0816f0c,
	0x0f2364000,
	0x01d208052,
	0x0588f4e75,
	0x02401e282,
	0x020019082,
	0x02e822f00,
	0x061bcf227,
	0x074002f2f,
	0x0000c61b2,
	0x0588ff21f,
	0x05423508f,
	0x04e75518f,
	0x0f22f543a,
	0x0000cf293,
	0x00054486f,
	0x0000cf22f,
	0x054000010,
	0x0f200001a,
	0x0f2277400,
	0x02f2f000c,
	0x061b2588f,
	0x0f21f5423,
	0x0508f4e75,
	0x0518ff22f,
	0x0543a000c,
	0x0f2930054,
	0x06100feee,
	0x0f2000100,
	0x0f200003a,
	0x0f2810016,
	0x0f22f5400,
	0x00018f23c,
	0x040220000,
	0x00001f22f,
	0x074000018,
	0x0f22f5400,
	0x00018f200,
	0x0001af22f,
	0x074000018,
	0x0f22f5400,
	0x000184fef,
	0x000144e75,
	0x0486f000c,
	0x0f22f5400,
	0x00010f200,
	0x0001af227,
	0x00010f227,
	0x074006100,
	0x0feeef200,
	0x00100f200,
	0x0003af281,
	0x00016f22f,
	0x054000018,
	0x0f23c4022,
	0x000000001,
	0x0f22f7400,
	0x00018f22f,
	0x054000018,
	0x0f200001a,
	0x0f22f7400,
	0x00018f22f,
	0x054000018,
	0x04fef0014,
	0x04e75486f,
	0x0000cf22f,
	0x054000010,
	0x0f2277400,
	0x06100fea0,
	0x060e0f22f,
	0x054800004,
	0x0f200049a,
	0x0f2277480,
	0x06100ff7e,
	0x0f200001a,
	0x0508f4e75,
	0x0202f000c,
	0x06f4c246f,
	0x00004226f,
	0x00008b5c9,
	0x062462209,
	0x0c2bc0000,
	0x000036710,
	0x053806d32,
	0x014d92209,
	0x0c2bc0000,
	0x0000366f0,
	0x090bc0000,
	0x000106d10,
	0x024d924d9,
	0x024d924d9,
	0x090bc0000,
	0x000106cf0,
	0x0d0bc0000,
	0x0000f6d06,
	0x014d95380,
	0x06cfa202f,
	0x000044e75,
	0x0d3c0d5c0,
	0x0fea060e0,
	0x0f22f5480,
	0x00004f200,
	0x0049af227,
	0x074806100,
	0x0ff7ef200,
	0x0001a508f,
	0x04e75202f,
	0x0000c6f4c,
	0x0246f0004,
	0x0226f0008,
	0x0b5c96246,
	0x02209c2bc,
	0x000000003,
	0x067105380,
	0x06de81521,
	0x06d3214d9,
	0x02209c2bc,
	0x000000003,
	0x066f090bc,
	0x000000010,
	0x06d102521,
	0x025212521,
	0x0252190bc,
	0x06d1024d9,
	0x024d924d9,
	0x024d990bc,
	0x000000010,
	0x06cf0d0bc,
	0x00000000f,
	0x06dbc1521,
	0x053806db6,
	0x060f8518f,
	0x02ebc7ff0,
	0x000007001,
	0x02f400004,
	0x0f2175400,
	0x0508f4e75,
	0x0518ff22f,
	0x05500000c,
	0x0f2177500,
	0x0203c7ff0,
	0x00000c097,
	0x00c807ff0,
	0x000006706,
	0x04280508f,
	0x04e7542a7,
	0x0f2277500,
	0x061304a80,
	0x066087001,
	0x04fef0014,
	0x04e754280,
	0x060f6518f,
	0x02ebc7ff0,
	0x0000042af,
	0x000044aaf,
	0x0000c6c06,
	0x000978000,
	0x00000f217,
	0x06d0614d9,
	0x053806cfa,
	0x0202f0004,
	0x04e75d3c0,
	0x0d5c02209,
	0x0c2bc0000,
	0x000036710,
	0x053806de8,
	0x015212209,
	0x0c2bc0000,
	0x0000366f0,
	0x090bc0000,
	0x000106d10,
	0x025212521,
	0x025212521,
	0x090bc0000,
	0x000106cf0,
	0x0d0bc0000,
	0x0000f6dbc,
	0x015215380,
	0x06db660f8,
	0x0518f2ebc,
	0x07ff00000,
	0x070012f40,
	0x00004f217,
	0x05400508f,
	0x04e75518f,
	0x0206f0014,
	0x0f22f5400,
	0x0f22f5500,
	0x0000cf217,
	0x074004aaf,
	0x000046706,
	0x04280508f,
	0x04e750c97,
	0x07500203c,
	0x07ff00000,
	0x06610b0fc,
	0x000006d06,
	0x07001508f,
	0x04e754280,
	0x060f80c97,
	0x0fff00000,
	0x06610b0fc,
	0x000006e06,
	0x07001508f,
	0x04e754280,
	0x060f84280,
	0x0c0970c80,
	0x07ff00000,
	0x067064280,
	0x0508f4e75,
	0x042a7f227,
	0x075006130,
	0x04a806608,
	0x070014fef,
	0x000144e75,
	0x0428060f6,
	0x0518f2ebc,
	0x07ff00000,
	0x042af0004,
	0x04aaf000c,
	0x06c060097,
	0x080000000,
	0x0f2175400,
	0x0508f4e75,
	0x0518f206f,
	0x00014f22f,
	0x05400000c,
	0x0f2177400,
	0x04aaf0004,
	0x067064280,
	0x0508f4e75,
	0x00c977ff0,
	0x000006610,
	0x0b0fc0000,
	0x06d067001,
	0x0508f4e75,
	0x0428060f8,
	0x00c97fff0,
	0x000006610,
	0x0b0fc0000,
	0x06e067001,
	0x0508f4e75,
	0x0428060f8,
	0x04280508f,
	0x04e750000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000007,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x07072696e,
	0x074206572,
	0x0726f7273,
	0x000000000,
	0x06e6f6e2d,
	0x07a65726f,
	0x020657869,
	0x074207374,
	0x061747573,
	0x000070000,
	0x000000000,
	0x000000001,
	0x00000000a,
	0x000000064,
	0x0000003e8,
	0x000002710,
	0x0000186a0,
	0x0000f4240,
	0x000989680,
	0x005f5e100,
	0x03b9aca00,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000007072,
	0x0696e7420,
	0x06572726f,
	0x072730000,
	0x000006e6f,
	0x06e2d7a65,
	0x0726f2065,
	0x078697420,
	0x073746174,
	0x075730000,
	0x000000000,
	0x000010000,
	0x0000a0000,
	0x000640000,
	0x003e80000,
	0x027100001,
	0x086a0000f,
	0x042400098,
	0x0968005f5,
	0x0e1003b9a,
	0x0ca000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000001,
	0x000060000,
	0x000000001,
	0x000010000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000030003,
	0x000010006,
	0x000000000,
	0x000010001,
	0x000000000,
	0x000000000,
	0x000000000,
	0x002000000,
	0x000000000,
	0x000000004,
	0x002030303,
	0x001000000,
	0x001000002,
	0x000000005,
	0x000010000,
	0x002000000,
	0x000000000,
	0x006240620,
	0x0061c0618,
	0x0061205f0,
	0x005d805d4,
	0x0056a04fe,
	0x004d204ba,
	0x004840480,
	0x0046403f8,
	0x003900324,
	0x002c00270,
	0x001e601bc,
	0x001a4018c,
	0x00174015c,
	0x00144010e,
	0x000d800c0,
	0x00076000c,
	0x0060005fc,
	0x005f805f4,
	0x005ee05cc,
	0x005b405b0,
	0x0054604d6,
	0x004aa0492,
	0x0045c0458,
	0x0043c03cc,
	0x0036202f2,
	0x0029a0262,
	0x001fe01d2,
	0x001ba01a2,
	0x0018a0172,
	0x0015a0124,
	0x000ee00d6,
	0x0008c001c,
	0x0454f4600,
	0x067657453,
	0x03a207265,
	0x061642072,
	0x065747279,
	0x00a007265,
	0x061642065,
	0x072726f72,
	0x000676574,
	0x0533a2072,
	0x065747279,
	0x020626164,
	0x020747970,
	0x0650a0062,
	0x000000003,
	0x000030000,
	0x000000000,
	0x000000000,
	0x000000000,
	0x000000200,
	0x000000000,
	0x000000000,
	0x000040203,
	0x003030100,
	0x000000100,
	0x000020000,
	0x000050001,
	0x000000200,
	0x000000000,
	0x00000061e,
	0x0061a0616,
	0x006120002,
	0x005f005d8,
	0x005d4056a,
	0x004fe04d2,
	0x004ba0484,
	0x004800464,
	0x003f80390,
	0x0032402c0,
	0x0027001e6,
	0x001bc01a4,
	0x0018c0174,
	0x0015c0144,
	0x0010e00d8,
	0x000c2007a,
	0x0000805f8,
	0x005f405f0,
	0x005ec0002,
	0x005ca05b2,
	0x005ae0544,
	0x004d404a8,
	0x00490045a,
	0x00456043a,
	0x003ca0360,
	0x002f00298,
	0x0026001fc,
	0x001d001b8,
	0x001a00188,
	0x001700158,
	0x0012200ec,
	0x000d6008e,
	0x00008454f,
	0x046006765,
	0x074533a20,
	0x072656164,
	0x020726574,
	0x072790a00,
	0x072656164,
	0x020657272,
	0x06f720067,
	0x06574533a,
	0x020726574,
	0x072792062,
	0x061642074,
	0x079706500,
	0x000004104,
	0x000004190,
	0x000003e2c,
	0x0000041e2,
	0x000004132,
	0x000004158,
	0x000004176,
	0x07970652c,
	0x0206e3d25,
	0x0640a0025,
	0x02e327578,
	0x020000a00,
	0x062616420,
	0x074797065,
	0x000000000,
	0x0412e0000,
	0x041ba0000,
	0x03e560000,
	0x0420c0000,
	0x0415c0000,
	0x041820000,
	0x041a00000,
	0x000000000,
	0x000000000,
	0x000000000,


@@ 2903,228 2917,227 @@ ulong bootcode[]={
	0x000000000,
	0x000000000,
	0x000000000,
	0x023632f63,
	0x06f6e7300,
	0x023632f63,
	0x06f6e7300,
	0x023632f63,
	0x06f6e7300,
	0x023652f73,
	0x079736e61,
	0x06d650073,
	0x079736e61,
	0x06d650073,
	0x079736e61,
	0x06d650023,
	0x0652f7465,
	0x0726d696e,
	0x0616c0074,
	0x065726d69,
	0x06e616c00,
	0x061742674,
	0x020676e6f,
	0x074203100,
	0x061742674,
	0x020676e6f,
	0x074203100,
	0x000002363,
	0x02f636f6e,
	0x073002363,
	0x02f636f6e,
	0x073002363,
	0x02f636f6e,
	0x073002365,
	0x02f737973,
	0x06e616d65,
	0x000737973,
	0x06e616d65,
	0x000737973,
	0x06e616d65,
	0x00023652f,
	0x07465726d,
	0x0696e616c,
	0x000706f73,
	0x0742e2e2e,
	0x000746572,
	0x06d696e61,
	0x06c006174,
	0x026742067,
	0x06e6f7420,
	0x031006174,
	0x026742067,
	0x06e6f7420,
	0x031007465,
	0x0726d696e,
	0x0616c0070,
	0x06f73742e,
	0x02e2e0023,
	0x0732f2573,
	0x000626f6f,
	0x074657300,
	0x063726561,
	0x074650025,
	0x064007772,
	0x069746500,
	0x023732f25,
	0x07300626f,
	0x06f746573,
	0x00023732f,
	0x025730062,
	0x06f6f7465,
	0x073006372,
	0x065617465,
	0x000256400,
	0x077726974,
	0x065002373,
	0x02f257300,
	0x0626f6f74,
	0x065730023,
	0x0732f626f,
	0x06f740063,
	0x072656174,
	0x065002564,
	0x000777269,
	0x07465002f,
	0x0002f0062,
	0x0696e6400,
	0x06d6f756e,
	0x0742e2e2e,
	0x0002f0000,
	0x0006d6f75,
	0x06e740074,
	0x0696d652e,
	0x000637265,
	0x061746500,
	0x025640077,
	0x072697465,
	0x0002f002f,
	0x00062696e,
	0x064006d6f,
	0x0756e742e,
	0x02e2e002f,
	0x02e2e0073,
	0x074617400,
	0x023632f74,
	0x0696d6500,
	0x0256c6400,
	0x073756363,
	0x06573730a,
	0x000236b00,
	0x02f6e6574,
	0x02f6e6574,
	0x000236b00,
	0x02f6e6574,
	0x02f646b00,
	0x02f363830,
	0x032302f69,
	0x06e697400,
	0x0696e6974,
	0x0002d6d00,
	0x02f363830,
	0x032302f69,
	0x06e697400,
	0x0696e6974,
	0x0002f3638,
	0x03032302f,
	0x0696e6974,
	0x00023742f,
	0x074747930,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x023742f74,
	0x074793063,
	0x0746c0042,
	0x039363030,
	0x000707573,
	0x068206173,
	0x0796e6300,
	0x023742f74,
	0x074793063,
	0x0746c006f,
	0x070656e69,
	0x06e672023,
	0x00000006d,
	0x06f756e74,
	0x00074696d,
	0x0652e2e2e,
	0x0002f2e2e,
	0x000737461,
	0x074002363,
	0x02f74696d,
	0x06500256c,
	0x064007375,
	0x063636573,
	0x0730a0023,
	0x06b002f6e,
	0x065742f6e,
	0x065740023,
	0x06b002f6e,
	0x065742f64,
	0x06b002f36,
	0x038303230,
	0x02f696e69,
	0x07400696e,
	0x06974002d,
	0x06d002f36,
	0x038303230,
	0x02f696e69,
	0x07400696e,
	0x06974002f,
	0x036383032,
	0x0302f696e,
	0x069740023,
	0x0742f7474,
	0x079306374,
	0x06c004231,
	0x039323030,
	0x000707573,
	0x068206173,
	0x0796e6300,
	0x023692f63,
	0x0746c006f,
	0x070656e69,
	0x06e672023,
	0x0692f6374,
	0x06c007075,
	0x073682064,
	0x06b6d7578,
	0x000636f6e,
	0x066696720,
	0x031203136,
	0x0206e6f72,
	0x065737461,
	0x072740023,
	0x06b2f322f,
	0x064617461,
	0x06c006f70,
	0x0656e696e,
	0x067202374,
	0x02f747479,
	0x03063746c,
	0x000423936,
	0x030300070,
	0x075736820,
	0x06173796e,
	0x063002374,
	0x02f747479,
	0x03063746c,
	0x0006f7065,
	0x06e696e67,
	0x020236b2f,
	0x0322f6461,
	0x074610023,
	0x06b2f322f,
	0x02023742f,
	0x074747930,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x0236b2f32,
	0x042313932,
	0x030300070,
	0x075736820,
	0x06173796e,
	0x063002369,
	0x02f63746c,
	0x000636f6e,
	0x06e656374,
	0x020257300,
	0x06469616c,
	0x0696e6700,
	0x06572726f,
	0x072206469,
	0x0006f7065,
	0x06e696e67,
	0x02023692f,
	0x063746c00,
	0x070757368,
	0x020646b6d,
	0x075780063,
	0x06f6e6669,
	0x067203120,
	0x03136206e,
	0x06f726573,
	0x074617274,
	0x000236b2f,
	0x0322f6461,
	0x07461006f,
	0x070656e69,
	0x06e672023,
	0x06b2f322f,
	0x064617461,
	0x000236b2f,
	0x0322f6374,
	0x06c006f70,
	0x0656e696e,
	0x06720236b,
	0x02f322f63,
	0x0746c0063,
	0x06f6e6e65,
	0x063742025,
	0x073006469,
	0x0616c696e,
	0x067202573,
	0x02c207265,
	0x074727969,
	0x06e67202e,
	0x02e2e0a00,
	0x0636f6e6e,
	0x065637465,
	0x06420746f,
	0x02025730a,
	0x00023652f,
	0x0626f6f74,
	0x06c696e65,
	0x067006572,
	0x0726f7220,
	0x06469616c,
	0x0696e6720,
	0x025732c20,
	0x072657472,
	0x079696e67,
	0x0202e2e2e,
	0x00a00636f,
	0x06e6e6563,
	0x074656420,
	0x0746f2025,
	0x0730a0023,
	0x0652f626f,
	0x06f746c69,
	0x06e650023,
	0x0652f626f,
	0x06f746465,
	0x076696365,
	0x00023652f,
	0x0626f6f74,
	0x064657669,
	0x063650023,
	0x0652f626f,
	0x06f747365,
	0x072766572,
	0x0006e6673,
	0x0006e6f70,
	0x02e2e2e00,
	0x077726974,
	0x065206e6f,
	0x070007265,
	0x06164206e,
	0x06f70006e,
	0x073657276,
	0x06572006e,
	0x06673006e,
	0x06f702e2e,
	0x02e007772,
	0x069746520,
	0x06e6f7000,
	0x072656164,
	0x0206e6f70,
	0x0006e203d,
	0x02025643b,
	0x020627566,
	0x0203d2025,
	0x0643b2062,
	0x07566203d,
	0x020252e32,
	0x07820252e,
	0x032782025,
	0x02e327820,
	0x0252e3278,
	0x00a00666f,
	0x0726d6174,
	0x0206e6f70,
	0x0006e6f74,
	0x020526e6f,
	0x070007365,
	0x020252e32,
	0x07820252e,
	0x032780a00,
	0x0666f726d,
	0x06174206e,
	0x06f70006e,
	0x06f742052,
	0x06e6f7000,
	0x073657373,
	0x0696f6e2e,
	0x02e2e0077,
	0x072697465,
	0x020736573,
	0x073696f6e,
	0x000726561,
	0x064207365,
	0x07373696f,
	0x06e2e2e2e,
	0x000777269,
	0x074652073,
	0x065737369,
	0x06f6e0072,
	0x065616420,
	0x06e00666f,
	0x0726d6174,
	0x020736573,
	0x073696f6e,
	0x000657272,
	0x06f722025,
	0x0733b006e,
	0x06f742052,
	0x073657373,
	0x0696f6e00,
	0x0666f726d,
	0x061742073,
	0x065737369,
	0x06f6e0065,
	0x072726f72,
	0x02025733b,
	0x0006e6f74,
	0x020527365,
	0x07373696f,
	0x06e002f63,
	0x066730063,
	0x066732e2e,
	0x02e007069,
	0x070650066,
	0x06f726b00,
	0x02f636673,
	0x000626f6f,
	0x074636673,
	0x0002d6673,
	0x0002f6366,
	0x07300626f,
	0x06f746366,
	0x073002d73,
	0x000626f6f,
	0x0743a2025,
	0x0733a2025,
	0x0730a0000,
	0x000636673,
	0x02e2e2e00,
	0x070697065,
	0x000666f72,
	0x06b002f63,
	0x066730062,
	0x06f6f7463,
	0x06673002d,
	0x06673002f,
	0x063667300,
	0x0626f6f74,
	0x063667300,
	0x02d730062,
	0x06f6f743a,
	0x02025733a,
	0x02025730a,
	0x000000000,
	0x04e614e00,
	0x02b496e66,
	0x0002d496e,
	0x066000000,
	0x000030d0,
	0x0,
	0x000030d0,
	0x000004e61,
	0x04e002b49,
	0x06e66002d,
	0x0496e6600,
	0x000000000,
	0x0000310a,
	0x0,
};

M pc/devhard.c => pc/devhard.c +125 -22
@@ 9,6 9,8 @@
typedef	struct Drive		Drive;
typedef	struct Ident		Ident;
typedef	struct Controller	Controller;
typedef struct Partition	Partition;
typedef struct Ptable		Ptable;

enum
{


@@ 16,7 18,7 @@ enum
	Pbase=		0x1F0,
	Pdata=		0,	/* data port (16 bits) */
	Perror=		1,	/* error port (read) */
	Pbmode=		1,	/* buffer mode port (write) */
	Pprecomp=	1,	/* buffer mode port (write) */
	Pcount=		2,	/* sector count port */
	Psector=	3,	/* sector number port */
	Pcyllsb=	4,	/* least significant byte cylinder # */


@@ 25,7 27,7 @@ enum
	Pstatus=	7,	/* status port (read) */
	 Sbusy=		 (1<<7),
	 Sready=	 (1<<6),
	 Sdrq=		 (1<<5),
	 Sdrq=		 (1<<3),
	 Serr=		 (1<<0),
	Pcmd=		7,	/* cmd port (write) */



@@ 38,12 40,16 @@ enum

	/* file types */
	Qdir=		0,
	Qdata=		(1<<4),
	Qstruct=	(2<<4),
	Qmask=		(3<<4),
	Qdata=		(1<<(3+3)),
	Qpart=		(2<<(3+3)),
	Qmask=		(3<<(3+3)),

	Maxxfer=	4*1024,		/* maximum transfer size/cmd */
	Npart=		8+1,		/* 8 sub partitions and one for the disk */
};
#define PART(x)		((x)&0x3)
#define DRIVE(x)	(((x)>>3)&0x7)
#define MKQID(t,d,p)	((t) | ((d)<<3) | (p))

/*
 *  ident sector from drive


@@ 83,6 89,25 @@ struct Ident
	ushort	reserved2[120];
};

struct Partition
{
	ulong	start;
	ulong	end;
	uchar	name[NAMELEN];
};

struct Ptable 
{
	uchar		magic[4];	/* ascii "disk" */
	uchar		n[4];		/* number of partitions */
	struct
	{
		uchar	start[4];	/* starting block */
		uchar	end[4];		/* ending block */
		uchar	name[NAMELEN];
	} p[1];
};

/*
 *  a hard drive
 */


@@ 92,8 117,10 @@ struct Drive
	int	drive;
	int	confused;	/* needs to be recalibrated (or worse) */
	int	online;
	int	npart;		/* number of real partitions */
	Partition p[Npart];

	ulong	cap;		/* drive capacity */
	ulong	cap;		/* total bytes */
	int	bytes;		/* bytes/sector */
	int	sectors;	/* sectors/track */
	int	heads;		/* heads/cyl */


@@ 139,7 166,40 @@ static void	hardintr(Ureg*);
static long	hardxfer(Drive*, int, void*, long, long);
static long	hardident(Drive*);
static void	hardsetbuf(Drive*, int);
static void	hardpart(Drive*);

static int
hardgen(Chan *c, Dirtab *tab, long ntab, long s, Dir *dirp)
{
	Qid qid;
	int drive;
	char *name;
	Drive *dp;
	Partition *pp;
	ulong l;

	qid.vers = 0;
	drive = s/(Npart+1);
	s = s % (Npart+1);
	if(drive >= conf.nhard)
		return -1;
	dp = &hard[drive];

	if(s == 0){
		sprint(name, "hd%dparition", drive);
		qid.path = MKQID(Qpart, drive, 0);
		l = dp->npart * sizeof(Partition);
	} else if(s-1 < p.npart){
		pp = &dp->p[s-1];
		sprint(name, "hd%d%s", drive, pp->name);
		qid.path = MKQID(Qdata, drive, s-1);
		l = (pp->end - pp->start) * dp->cp->bytes;
	} else
		return 0;

	devdir(c, qid, name, l, 0600, dirp);
	return 1;
}
/*
 *  we assume drives 0 and 1 are on the first controller, 2 and 3 on the
 *  second, etc.


@@ 197,15 257,16 @@ hardattach(char *spec)

	for(dp = hard; dp < &hard[conf.nhard]; dp++){
		if(!waserror()){
			dp->bytes = 512;
			hardsetbuf(dp, 1);
			hardident(dp);
			hardpart(dp);
			dp->cyl = dp->id.lcyls;
			dp->heads = dp->id.lheads;
			dp->sectors = dp->id.ls2t;
			dp->bytes = 512;
			dp->cap = dp->bytes * dp->cyl * dp->heads * dp->sectors;
			harddir[NHDIR*dp->drive].length = dp->cap;
print("drive %d online\n", dp - hard);
			dp->online = 1;
			poperror();
		} else


@@ 338,12 399,28 @@ hardwrite(Chan *c, void *a, long n)
static int
cmddone(void *a)
{
	Controller *cp;
	Controller *cp = a;

	return cp->cmd == 0;
}

/*
 *  wait for the controller to be ready to accept a command
 */
static void
cmdreadywait(Controller *cp)
{
	long start;

	start = m->ticks;
	while((inb(cp->pbase+Pstatus) & (Sready|Sbusy)) != Sready)
		if(TK2MS(m->ticks - start) > 1){
print("cmdreadywait failed\n");
			errors("disk not responding");
		}
}

/*
 *  start a disk transfer.  hardintr will performa all the iterative
 *  parts.
 */


@@ 387,11 464,7 @@ hardxfer(Drive *dp, int cmd, void *va, long off, long len)
	else
		cp->len = cyl*dp->sectors*dp->heads*dp->bytes - off;

	/*
	 *  wait for the controller to accept commands
	 */
	while(inb(cp->pbase+Pstatus) & Sbusy)
		;
	cmdreadywait(cp);

	/*
	 *  start the transfer


@@ 399,9 472,10 @@ hardxfer(Drive *dp, int cmd, void *va, long off, long len)
	cp->secs = cp->len/dp->bytes;
	cp->sofar = 0;
	cp->cmd = cmd;
	cp->dp = dp;
	outb(cp->pbase+Pcount, cp->secs);
	outb(cp->pbase+Psector, cp->tsec);
	outb(cp->pbase+Pdh, (1<<5) | (dp->drive<<4) | cp->thead);
	outb(cp->pbase+Pdh, (dp->drive<<4) | cp->thead);
	outb(cp->pbase+Pcyllsb, cp->tcyl);
	outb(cp->pbase+Pcylmsb, cp->tcyl>>8);
	outb(cp->pbase+Pcmd, cmd);


@@ 439,10 513,14 @@ hardsetbuf(Drive *dp, int on)
		nexterror();
	}

	outb(cp->pbase+Pbmode, on ? 0xAA : 0x55);
	outb(cp->pbase+Pdh, (1<<5) | dp->drive<<4);
	cmdreadywait(cp);

	outb(cp->pbase+Pprecomp, on ? 0xAA : 0x55);
	outb(cp->pbase+Pdh, (dp->drive<<4));
	outb(cp->pbase+Pcmd, Csetbuf);

	sleep(&cp->r, cmddone, cp);

	poperror();
	qunlock(cp);
}


@@ 462,11 540,14 @@ hardident(Drive *dp)
		nexterror();
	}

	cmdreadywait(cp);

	cp->len = 512;
	cp->secs = 1;
	cp->sofar = 0;
	cp->cmd = Cident;
	outb(cp->pbase+Pdh, (1<<5) | dp->drive<<4);
	cp->dp = dp;
	outb(cp->pbase+Pdh, (dp->drive<<4));
	outb(cp->pbase+Pcmd, Cident);
	sleep(&cp->r, cmddone, cp);
	if(cp->status & Serr){


@@ 480,20 561,39 @@ print("bad disk magic\n");
		errors("bad disk magic");
	}

if((dp->id.interface & 0x4000) == 0)
	print("lookaheads disabled\n");	

	poperror();
	qunlock(cp);
}

/*
 *  read partition table
 */
static void
hardpart(Drive *dp)
{
	Partition *pp;
	Ptable *pt;
	uchar buf[1024];

	pp = &dp->p[0];
	strcpy(pp->name, "disk");
	pp->start = 0;
	pp->end = pp->cap / dp->bytes;

	qlock(dp->cp);
	hardxfer(dp, Cread, buf, pp->end - 1, dp->bytes);
	
	qunlock(dp->cp);
}

/*
 *  we get an interrupt for every sector transferred
 */
static void
hardintr(Ureg *ur)
{
	Controller *cp;
	long loop;

	/*
 	 *  BUG!! if there is ever more than one controller, we need a way to


@@ 513,7 613,8 @@ hardintr(Ureg *ur)
		cp->sofar++;
		if(cp->sofar != cp->secs){
			while((inb(cp->pbase+Pstatus) & Sdrq) == 0)
				;
				if(++loop > 10000)
					panic("hardintr 1");
			outss(cp->pbase+Pdata, &cp->buf[cp->sofar*cp->dp->bytes],
				cp->dp->bytes/2);
		} else{


@@ 529,8 630,10 @@ hardintr(Ureg *ur)
			wakeup(&cp->r);
			return;
		}
		loop = 0;
		while((inb(cp->pbase+Pstatus) & Sdrq) == 0)
			;
			if(++loop > 10000)
				panic("hardintr 2");
		inss(cp->pbase+Pdata, &cp->buf[cp->sofar*cp->dp->bytes],
			cp->dp->bytes/2);
		cp->sofar++;

M port/devmnt.c => port/devmnt.c +7 -5
@@ 30,7 30,6 @@ struct MntQ
	MntQ	*next;		/* for allocation */
	Chan	*msg;		/* for reading and writing messages */
	Proc	*reader;	/* process reading response */
	int	tag;		/* increments per message; lock Ref while changing */
	Mnthdr	*writer;	/* queue of headers of written messages */
};



@@ 166,7 165,6 @@ mqalloc(Chan *msg)	/* mntqalloc is qlocked */
		lock(q);
		q->ref = 1;
		q->msg = msg;
		q->tag = 0;
		unlock(q);
		incref(msg);
		q->writer = 0;


@@ 684,6 682,7 @@ mntxmit(Mnt *m, Mnthdr *mh)
	MntQ *q;
	int qlocked, tag, written;

	if(&qlocked);	/* force qlocked not to be registerized */
	mh->mbr = 0;
	mbw = mballoc();
	if(waserror()){			/* 1 */


@@ 815,7 814,8 @@ mntxmit(Mnt *m, Mnthdr *mh)
		if(tag == mh->thdr.tag){	/* it's mine */
			if(mh->rhdr.type != Rerror)
			if(mh->rhdr.type != mh->thdr.type+1){
				print(" T(%d)%c %d %d ", tag, devchar[m->q->msg->type],
				print("mail rob: '%s T(%d)%c %d %d'\n", u->p->text,
					tag, devchar[m->q->msg->type],
					mh->rhdr.type, mh->thdr.type+1);
				goto FreeRead;
			}


@@ 854,7 854,8 @@ mntxmit(Mnt *m, Mnthdr *mh)
			goto FreeRead;
		if(mh->rhdr.type != Rerror)
		if(mh->rhdr.type != w->thdr.type+1){
			print(" t(%d)%c %d %d ", tag, devchar[m->q->msg->type],
			print("mail rob: '%s w(%d)%c %d %d'\n",
				u->p->text, tag, devchar[m->q->msg->type],
				mh->rhdr.type, w->thdr.type+1);
			goto FreeRead;
		}


@@ 932,7 933,8 @@ mntdump(void)
		p = q->reader;
		print("q rdr %d wrtr ", p? p->pid : 0);
		for(h=q->writer; h; h=h->next)
			print("(%lux %lux %d)", h, &h->r, (p=h->p)? p->pid : 0);
			print("(%lux %lux %d %d)", h, &h->r, h->thdr.tag,
				(p=h->p)? p->pid : 0);
		print("\n");
	}
}