diff options
-rw-r--r-- | drivers/net/bnx2.c | 65 | ||||
-rw-r--r-- | drivers/net/bnx2.h | 17 | ||||
-rw-r--r-- | firmware/Makefile | 10 | ||||
-rw-r--r-- | firmware/WHENCE | 11 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw.ihex | 5908 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-mips-06-6.0.15.fw.ihex | 5815 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-mips-09-5.0.0.j15.fw.ihex | 6081 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-mips-09-6.0.17.fw.ihex | 6488 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-rv2p-06-5.0.0.j3.fw.ihex | 424 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex | 366 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-rv2p-09-5.0.0.j10.fw.ihex | 462 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex | 392 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw.ihex | 499 | ||||
-rw-r--r-- | firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex | 425 |
14 files changed, 13533 insertions, 13430 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index b10be27f340a..56f3dfe70038 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -61,11 +61,11 @@ #define DRV_MODULE_NAME "bnx2" #define DRV_MODULE_VERSION "2.0.17" #define DRV_MODULE_RELDATE "July 18, 2010" -#define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-5.0.0.j6.fw" -#define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-5.0.0.j3.fw" -#define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-5.0.0.j15.fw" -#define FW_RV2P_FILE_09_Ax "bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw" -#define FW_RV2P_FILE_09 "bnx2/bnx2-rv2p-09-5.0.0.j10.fw" +#define FW_MIPS_FILE_06 "bnx2/bnx2-mips-06-6.0.15.fw" +#define FW_RV2P_FILE_06 "bnx2/bnx2-rv2p-06-6.0.15.fw" +#define FW_MIPS_FILE_09 "bnx2/bnx2-mips-09-6.0.17.fw" +#define FW_RV2P_FILE_09_Ax "bnx2/bnx2-rv2p-09ax-6.0.17.fw" +#define FW_RV2P_FILE_09 "bnx2/bnx2-rv2p-09-6.0.17.fw" #define RUN_AT(x) (jiffies + (x)) @@ -1269,30 +1269,9 @@ bnx2_init_rx_context(struct bnx2 *bp, u32 cid) val |= BNX2_L2CTX_CTX_TYPE_SIZE_L2; val |= 0x02 << 8; - if (CHIP_NUM(bp) == CHIP_NUM_5709) { - u32 lo_water, hi_water; - - if (bp->flow_ctrl & FLOW_CTRL_TX) - lo_water = BNX2_L2CTX_LO_WATER_MARK_DEFAULT; - else - lo_water = BNX2_L2CTX_LO_WATER_MARK_DIS; - if (lo_water >= bp->rx_ring_size) - lo_water = 0; - - hi_water = min_t(int, bp->rx_ring_size / 4, lo_water + 16); - - if (hi_water <= lo_water) - lo_water = 0; - - hi_water /= BNX2_L2CTX_HI_WATER_MARK_SCALE; - lo_water /= BNX2_L2CTX_LO_WATER_MARK_SCALE; + if (bp->flow_ctrl & FLOW_CTRL_TX) + val |= BNX2_L2CTX_FLOW_CTRL_ENABLE; - if (hi_water > 0xf) - hi_water = 0xf; - else if (hi_water == 0) - lo_water = 0; - val |= lo_water | (hi_water << BNX2_L2CTX_HI_WATER_MARK_SHIFT); - } bnx2_ctx_wr(bp, rx_cid_addr, BNX2_L2CTX_CTX_TYPE, val); } @@ -1373,8 +1352,7 @@ bnx2_set_mac_link(struct bnx2 *bp) /* Acknowledge the interrupt. */ REG_WR(bp, BNX2_EMAC_STATUS, BNX2_EMAC_STATUS_LINK_CHANGE); - if (CHIP_NUM(bp) == CHIP_NUM_5709) - bnx2_init_all_rx_contexts(bp); + bnx2_init_all_rx_contexts(bp); } static void @@ -4974,6 +4952,11 @@ bnx2_init_chip(struct bnx2 *bp) REG_WR(bp, BNX2_HC_CONFIG, val); + if (bp->rx_ticks < 25) + bnx2_reg_wr_ind(bp, BNX2_FW_RX_LOW_LATENCY, 1); + else + bnx2_reg_wr_ind(bp, BNX2_FW_RX_LOW_LATENCY, 0); + for (i = 1; i < bp->irq_nvecs; i++) { u32 base = ((i - 1) * BNX2_HC_SB_CONFIG_SIZE) + BNX2_HC_SB_CONFIG_1; @@ -5242,18 +5225,20 @@ bnx2_init_all_rings(struct bnx2 *bp) bnx2_init_rx_ring(bp, i); if (bp->num_rx_rings > 1) { - u32 tbl_32; - u8 *tbl = (u8 *) &tbl_32; - - bnx2_reg_wr_ind(bp, BNX2_RXP_SCRATCH_RSS_TBL_SZ, - BNX2_RXP_SCRATCH_RSS_TBL_MAX_ENTRIES); + u32 tbl_32 = 0; for (i = 0; i < BNX2_RXP_SCRATCH_RSS_TBL_MAX_ENTRIES; i++) { - tbl[i % 4] = i % (bp->num_rx_rings - 1); - if ((i % 4) == 3) - bnx2_reg_wr_ind(bp, - BNX2_RXP_SCRATCH_RSS_TBL + i, - cpu_to_be32(tbl_32)); + int shift = (i % 8) << 2; + + tbl_32 |= (i % (bp->num_rx_rings - 1)) << shift; + if ((i % 8) == 7) { + REG_WR(bp, BNX2_RLUP_RSS_DATA, tbl_32); + REG_WR(bp, BNX2_RLUP_RSS_COMMAND, (i >> 3) | + BNX2_RLUP_RSS_COMMAND_RSS_WRITE_MASK | + BNX2_RLUP_RSS_COMMAND_WRITE | + BNX2_RLUP_RSS_COMMAND_HASH_MASK); + tbl_32 = 0; + } } val = BNX2_RLUP_RSS_CONFIG_IPV4_RSS_TYPE_ALL_XI | diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 2104c1005d02..efdfbc2a9e37 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h @@ -352,12 +352,7 @@ struct l2_fhdr { #define BNX2_L2CTX_BD_PRE_READ 0x00000000 #define BNX2_L2CTX_CTX_SIZE 0x00000000 #define BNX2_L2CTX_CTX_TYPE 0x00000000 -#define BNX2_L2CTX_LO_WATER_MARK_DEFAULT 4 -#define BNX2_L2CTX_LO_WATER_MARK_SCALE 4 -#define BNX2_L2CTX_LO_WATER_MARK_DIS 0 -#define BNX2_L2CTX_HI_WATER_MARK_SHIFT 4 -#define BNX2_L2CTX_HI_WATER_MARK_SCALE 16 -#define BNX2_L2CTX_WATER_MARKS_MSK 0x000000ff +#define BNX2_L2CTX_FLOW_CTRL_ENABLE 0x000000ff #define BNX2_L2CTX_CTX_TYPE_SIZE_L2 ((0x20/20)<<16) #define BNX2_L2CTX_CTX_TYPE_CTX_BD_CHN_TYPE (0xf<<28) #define BNX2_L2CTX_CTX_TYPE_CTX_BD_CHN_TYPE_UNDEFINED (0<<28) @@ -4185,6 +4180,15 @@ struct l2_fhdr { #define BNX2_RLUP_RSS_CONFIG_IPV6_RSS_TYPE_IP_ONLY_XI (2L<<2) #define BNX2_RLUP_RSS_CONFIG_IPV6_RSS_TYPE_RES_XI (3L<<2) +#define BNX2_RLUP_RSS_COMMAND 0x00002048 +#define BNX2_RLUP_RSS_COMMAND_RSS_IND_TABLE_ADDR (0xfUL<<0) +#define BNX2_RLUP_RSS_COMMAND_RSS_WRITE_MASK (0xffUL<<4) +#define BNX2_RLUP_RSS_COMMAND_WRITE (1UL<<12) +#define BNX2_RLUP_RSS_COMMAND_READ (1UL<<13) +#define BNX2_RLUP_RSS_COMMAND_HASH_MASK (0x7UL<<14) + +#define BNX2_RLUP_RSS_DATA 0x0000204c + /* * rbuf_reg definition @@ -6077,6 +6081,7 @@ struct l2_fhdr { #define BNX2_COM_SCRATCH 0x00120000 +#define BNX2_FW_RX_LOW_LATENCY 0x00120058 #define BNX2_FW_RX_DROP_COUNT 0x00120084 diff --git a/firmware/Makefile b/firmware/Makefile index 494a167c6552..74d47cd0886c 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -35,11 +35,11 @@ fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw fw-shipped-$(CONFIG_BNX2X) += bnx2x/bnx2x-e1-6.0.34.0.fw \ bnx2x/bnx2x-e1h-6.0.34.0.fw \ bnx2x/bnx2x-e2-6.0.34.0.fw -fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-5.0.0.j15.fw \ - bnx2/bnx2-rv2p-09-5.0.0.j10.fw \ - bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw \ - bnx2/bnx2-mips-06-5.0.0.j6.fw \ - bnx2/bnx2-rv2p-06-5.0.0.j3.fw +fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-6.0.17.fw \ + bnx2/bnx2-rv2p-09-6.0.17.fw \ + bnx2/bnx2-rv2p-09ax-6.0.17.fw \ + bnx2/bnx2-mips-06-6.0.15.fw \ + bnx2/bnx2-rv2p-06-6.0.15.fw fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \ diff --git a/firmware/WHENCE b/firmware/WHENCE index 1d3936c2e2f7..f22c4dfd0733 100644 --- a/firmware/WHENCE +++ b/firmware/WHENCE @@ -699,15 +699,16 @@ Found in hex form in kernel source. Driver: BNX2 - Broadcom NetXtremeII -File: bnx2/bnx2-mips-06-4.6.16.fw -File: bnx2/bnx2-rv2p-06-4.6.16.fw -File: bnx2/bnx2-mips-09-4.6.17.fw -File: bnx2/bnx2-rv2p-09-4.6.15.fw +File: bnx2/bnx2-mips-06-6.0.15.fw +File: bnx2/bnx2-rv2p-06-6.0.15.fw +File: bnx2/bnx2-mips-09-6.0.17.fw +File: bnx2/bnx2-rv2p-09-6.0.17.fw +File: bnx2/bnx2-rv2p-09ax-6.0.17.fw Licence: This file contains firmware data derived from proprietary unpublished - source code, Copyright (c) 2004 - 2009 Broadcom Corporation. + source code, Copyright (c) 2004 - 2010 Broadcom Corporation. Permission is hereby granted for the distribution of this firmware data in hexadecimal or equivalent format, provided this copyright notice is diff --git a/firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw.ihex b/firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw.ihex deleted file mode 100644 index 8d379bffbfef..000000000000 --- a/firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw.ihex +++ /dev/null @@ -1,5908 +0,0 @@ -:10000000080001100800000000004CC8000000C8F3 -:1000100000000000000000000000000008004CC8C4 -:100020000000001400004D90080000880800000047 -:10003000000058C400004DA408005A40000000848D -:100040000000A668080058C4000001540000A6EC97 -:10005000080031D808000000000075340000A840F6 -:1000600000000000000000000000000008007534DF -:100070000000002400011D7408000488080004002A -:100080000000175C00011D98000000000000000047 -:100090000000000000000000000000000000000060 -:1000A000080000A80800000000003B38000134F4FC -:1000B0000000000000000000000000000000000040 -:0800C000000000000000000038 -:0800C8000A00004400000000E2 -:1000D000000000000000000D636F6D352E302E30E3 -:1000E0006A36000005000002000000000000000366 -:1000F00000000014000000320000000300000000B7 -:1001000000000000000000000000000000000000EF -:1001100000000010000001360000EA600000000549 -:1001200000000000000000000000000000000008C7 -:1001300000000000000000000000000000000000BF -:1001400000000000000000000000000000000000AF -:10015000000000000000000000000000000000009F -:10016000000000020000000000000000000000008D -:10017000000000000000000000000000000000007F -:10018000000000000000000000000010000000005F -:10019000000000000000000000000000000000005F -:1001A000000000000000000000000000000000004F -:1001B000000000000000000000000000000000003F -:1001C000000000000000000000000000000000002F -:1001D000000000000000000000000000100000030C -:1001E000000000000000000D0000000D3C020800AF -:1001F00024424D003C03080024634DFCAC40000049 -:100200000043202B1480FFFD244200043C1D080005 -:1002100037BD7FFC03A0F0213C1008002610011020 -:100220003C1C0800279C4D000E000214000000003A -:100230000000000D27BDFFE8AFBF0014AFB00010F5 -:100240009742010830437000240220001062000B26 -:10025000286220011440002F0000102124024000D9 -:1002600010620025000000002402600010620026D9 -:10027000000010210A0000948FBF001427500100D5 -:10028000920200091040001A240300013C020800F9 -:100290008C42002010400016000018210E00052B93 -:1002A00000000000960300083C06080094C64DBEFE -:1002B0008E0400188F8200209605000C00031C009D -:1002C00000661825AC440000AC450004240400017D -:1002D000AC400008AC40000CAC400010AC40001436 -:1002E000AC4000180E000550AC43001C0000182163 -:1002F0000A000093006010210E0003BD0000000002 -:100300000A000093000010210E000F810000000081 -:10031000000010218FBF00148FB0001003E0000810 -:1003200027BD001827BDFFE0AFB00010AFBF001819 -:10033000AFB10014275001009203000B2402001AF1 -:10034000961100081462005B00002821322200018F -:1003500010400008000000008E0200009603001408 -:10036000000211C200021040005A10210A0000DBF6 -:10037000A44300803C0208008C420020104000286A -:10038000000000000E00052B00000000974201084D -:100390009743010C8F8500203042003E3063FFFF01 -:1003A0000002140000431025ACA200008F4201009F -:1003B0003C06080094C64DBEACA20004974301164B -:1003C0009744010E3C02200000031C003084FFFF14 -:1003D00000641825ACA3000800C230259742011024 -:1003E0009743011224040001000214003063FFFF50 -:1003F00000431025ACA2000C974201143042FFFFCD -:10040000ACA200108F420118ACA200149342010B61 -:10041000304200FFACA200180E000550ACA6001C34 -:100420003C0208008C420040244200013C010800CC -:10043000AC2200403C0308008C63004432220002DE -:1004400032240004246300013C010800AC23004472 -:10045000108000180002282B8F4202B804430008C5 -:100460008E0200203C0208008C4200602442000101 -:100470003C010800AC2200600A0000FB24050001DA -:100480009603001600002821AF4202808E0200046D -:10049000A7430284AF4202883C021000AF4202B878 -:1004A0003C0208008C42005C244200013C01080030 -:1004B000AC22005C8FBF00188FB100148FB0001009 -:1004C00000A0102103E0000827BD002027BDFFE0A9 -:1004D000AFB00010AFBF0018AFB10014275001003B -:1004E0009203000B24020003961100081462006DB1 -:1004F000000020213222000110400008000000000E -:100500008E02000096030014000211C20002104087 -:10051000005A10210A000142A44300803C02080056 -:100520008C42002010400025000000000E00052B2A -:1005300000000000974201089743010C8F850020BE -:100540003042003E3063FFFF0002140000431025DC -:10055000ACA200008F4201003C06080094C64DBECC -:10056000ACA20004974301169744010E3C02200000 -:1005700000031C003084FFFF00641825ACA30008B2 -:1005800000C2302597420110974301122404000154 -:10059000000214003063FFFF00431025ACA2000CE2 -:1005A000974201143042FFFFACA20010ACA000142F -:1005B000ACA000180E000550ACA6001C3C020800C0 -:1005C0008C420040244200013C010800AC22004063 -:1005D0003C0208008C420044322300042442000103 -:1005E0003C010800AC2200441060001A32220002D4 -:1005F0008F4202B8044300088E0200203C0208002B -:100600008C420060244200013C010800AC220060E2 -:100610000A0001772404000196030016000020213F -:10062000AF4202808E020004A7430284AF420288D8 -:100630003C021000AF4202B83C0208008C42005C51 -:10064000244200013C010800AC22005C0A00017851 -:100650008FBF001810400013000020218F430104B9 -:100660003C026020AC4300148C420004240301FED1 -:10067000304203FF1443000B000020218F42010091 -:10068000000211C02442FFFC2C420008104000026E -:100690002403000200031F403C026000AC436914C5 -:1006A000000020218FBF00188FB100148FB0001000 -:1006B0000080102103E0000827BD00208F430100C7 -:1006C0002402010050620003000311C20000000D6B -:1006D000000311C200021040005A1021A440008003 -:1006E00003E00008000010219362000003E000080E -:1006F000AF80000003E000080000102103E00008C4 -:1007000000001021240201001482000800000000F3 -:100710003C0208008C4200FC244200013C0108001D -:10072000AC2200FC0A00019F30A200203C0208001D -:100730008C420084244200013C010800AC22008469 -:1007400030A200201040000830A300103C02080036 -:100750008C420108244200013C010800AC2201083F -:1007600003E0000800000000106000080000000026 -:100770003C0208008C420104244200013C010800B4 -:10078000AC22010403E00008000000003C02080065 -:100790008C420100244200013C010800AC2201000F -:1007A00003E000080000000027BDFFE8AFBF001015 -:1007B0002744010094830008306200041040001BAD -:1007C000306600028F4202B804410008240500018F -:1007D0003C0208008C420060244200013C010800F9 -:1007E000AC2200600A0001EB8FBF00108C82002059 -:1007F0009483001600002821AF4202808C820004FE -:10080000A7430284AF4202883C021000AF4202B804 -:100810003C0208008C42005C244200013C010800BC -:10082000AC22005C0A0001EB8FBF001010C0000674 -:10083000006028218F4401000E00018F000000009D -:100840000A0001EA240500018F8200088F43010499 -:1008500050430007000028218F4401000E00018F43 -:10086000000000008F420104AF8200080000282130 -:100870008FBF001000A0102103E0000827BD001862 -:100880003C0208008C420088274301009465000C5C -:10089000244200013C010800AC2200888C6400184E -:1008A0000345102190454000AF4400388C62001C85 -:1008B0002403FFF800052E000043102434420004F6 -:1008C000AF42003C3C020005AF4200300000000097 -:1008D0000000000000000000AF450404000000001C -:1008E00000000000000000003C020006344200014D -:1008F000AF420030000000000000000000000000D7 -:100900008F420000304200101040FFFD0000102117 -:1009100003E000080000000027BDFFE0AFB20018B0 -:100920003C036010AFBF001CAFB10014AFB00010AB -:100930008C6450002402FF7F3C1A80000082202437 -:100940003484380C24020037AC6450003C12080098 -:1009500026524D38AF42000824020C80AF420024DA -:100960003C1B80083C06080024C6062C02401021CF -:100970002404001C2484FFFFAC4600000481FFFD1A -:10098000244200043C0208002442016C3C0108009F -:10099000AC224D403C020800244204043C01080003 -:1009A000AC224D443C020800244207B83C01080038 -:1009B000AC224D883C0208002442025C3C03080043 -:1009C000246306343C040800248406E03C05080047 -:1009D00024A53B503C010800AC224DA03C0208007D -:1009E000244205F43C010800AC264D843C0108007B -:1009F000AC254D943C010800AC234D9C3C01080003 -:100A0000AC244DA43C010800AC224DA83C010800D8 -:100A1000AC234D3C3C010800AC204D483C01080093 -:100A2000AC204D4C3C010800AC204D503C0108006E -:100A3000AC204D543C010800AC204D583C0108004E -:100A4000AC204D5C3C010800AC204D603C0108002E -:100A5000AC244D643C010800AC204D683C0108000A -:100A6000AC204D6C3C010800AC204D703C010800EE -:100A7000AC204D743C010800AC204D783C010800CE -:100A8000AC264D7C3C010800AC264D803C010800A2 -:100A9000AC204D8C3C010800AC254D903C01080079 -:100AA000AC234D980E0006BB000000003C02800005 -:100AB000344200708C420000AF8200143C030800F6 -:100AC0008C6300208F820004104300043C028000ED -:100AD0000E0004F3AF8300043C0280003446007033 -:100AE0003C0308008C6300A03C0208008C4200A478 -:100AF000104300048F8400143C010800AC2300A4C0 -:100B0000A743009E8CCA00003C0308008C6300BC15 -:100B10003C0208008C4200B80144202300641821E4 -:100B2000000040210064202B0048102100441021C7 -:100B30003C010800AC2300BC3C010800AC2200B81A -:100B40008F510000322200071040FFDCAF8A0014F2 -:100B50008CC600003C0508008CA500BC3C040800C5 -:100B60008C8400B800CA302300A628210000102180 -:100B700000A6302B00822021008620213227000190 -:100B80003C010800AC2500BC3C010800AC2400B8C6 -:100B900010E0001F322200028F420100AF4200200D -:100BA0008F420104AF4200A89342010B0E0001885E -:100BB000305000FF2E02001D544000040010108031 -:100BC0000E00018B0A0002C5000000000052102137 -:100BD0008C4200000040F8090000000010400005B1 -:100BE0003C0240008F4301043C026020AC430014EF -:100BF0003C024000AF4201383C0208008C42003405 -:100C0000244200013C010800AC22003432220002E0 -:100C10001040000E322200048F4201400E00018875 -:100C2000AF4200200E00034B000000003C024000D9 -:100C3000AF4201783C0208008C4200382442000197 -:100C40003C010800AC220038322200041040FF981A -:100C50003C0280008F4201800E000188AF420020DC -:100C60008F43018024020F00146200050000000081 -:100C70008F420188A742009C0A0002FA3C02400011 -:100C80009362000024030050304200FF1443000828 -:100C90003C0240000E00032D000000005440000400 -:100CA0003C0240000E000E0D000000003C0240001F -:100CB000AF4201B83C0208008C42003C24420001D3 -:100CC0003C010800AC22003C0A00027A3C02800091 -:100CD0003C0290003442000100822025AF440020F5 -:100CE0008F4200200440FFFE0000000003E00008E7 -:100CF000000000003C0280003442000100822025F8 -:100D000003E00008AF44002027BDFFE0AFB10014AE -:100D1000AFB0001000808821AFBF00180E000302A2 -:100D200030B000FF9362007D022020210202802566 -:100D3000A370007D8F7000743C0280000E00030BD6 -:100D400002028024160000098FBF00188F4201F8AC -:100D50000440FFFE24020002AF5101C0A34201C4BF -:100D60003C021000AF4201F88FBF00188FB1001491 -:100D70008FB0001003E0000827BD002027BDFFE86A -:100D8000AFBF0010974201843042020010400005BE -:100D9000000020210E001042000000000A00034164 -:100DA000240400018F420188044000098FBF001015 -:100DB0008F4201883C03FF00004310243C030400E1 -:100DC00014430003240400019362003E8FBF00100F -:100DD0000080102103E0000827BD00182402000154 -:100DE000A3600022A76200168F4401400A0003108E -:100DF0002405000127BDFFE8AFBF0014AFB000100D -:100E000093620000304400FF3883002038820030B5 -:100E10000003182B0002102B00621824106000033E -:100E200024020050148200628FBF001493420148D4 -:100E3000304200FF2443FFFF2C6200051040005C9D -:100E40008FBF0014000310803C03080024634CC8CB -:100E5000004310218C420000004000080000000008 -:100E60000E0003028F4401408F70000C8F4201443A -:100E70001602000224020001AF62000C0E00030BF8 -:100E80008F4401408F420144145000048FBF00146E -:100E90008FB000100A000FB827BD00188F62000C39 -:100EA0000A0003B300000000976200108F43014462 -:100EB0003042FFFF1462000900000000240200011C -:100EC000A76200108F420140AF4202003C021000B6 -:100ED000AF4202380A0003BA8FBF001497620010B5 -:100EE0000A0003B3000000000E0003028F4401401B -:100EF000976200128F4301443050FFFF1603000237 -:100F000024020001A76200120E00030B8F4401406F -:100F10008F420144160200048FBF00148FB00010EE -:100F20000A00034527BD0018976200120A0003B3A8 -:100F300000000000976200148F4301443042FFFF1D -:100F4000146200068FBF0014240200018FB000104D -:100F5000A76200140A0012E227BD0018976200146D -:100F60000A0003B300000000976200168F4301449B -:100F70003042FFFF14620006240200018FBF0014FC -:100F80008FB00010A76200160A000BAA27BD001838 -:100F900097620016144000068FBF00143C02080040 -:100FA0008C420070244200013C010800AC22007019 -:100FB0008FB0001003E0000827BD001827BDFFE830 -:100FC000AFBF0014AFB000108F500100936200005B -:100FD00093430109304400FF2402001F106200A562 -:100FE0002862002010400018240200382862000AFD -:100FF0001040000C2402000B286200081040002C56 -:1010000000000000046000E528620002144000288F -:1010100024020006106200268FBF00140A0004B7E5 -:101020008FB000101062005E2862000B144000DCDC -:101030008FBF00142402000E106200738FB00010E6 -:101040000A0004B700000000106200C028620039E6 -:101050001040000A2402008024020036106200CAF8 -:1010600028620037104000B424020035106200C12D -:101070008FBF00140A0004B78FB000101062002B5D -:101080002862008110400006240200C824020039B2 -:10109000106200B48FBF00140A0004B78FB00010B4 -:1010A000106200998FBF00140A0004B78FB00010BF -:1010B0003C0208008C420020104000B98FBF001491 -:1010C0000E00052B000000008F4201008F830020DE -:1010D0009745010C97460108AC6200008F4201045D -:1010E0003C04080094844DBE00052C00AC62000452 -:1010F0008F4201180006340000C43025AC6200089D -:101100008F42011C24040001AC62000C9342010ACE -:1011100000A22825AC650010AC600014AC6000187B -:10112000AC66001C0A00048D8FBF00143C0208004E -:101130008C4200201040009A8FBF00140E00052B37 -:1011400000000000974401083C03080094634DBE72 -:101150009745010C000422029746010E8F82002061 -:10116000000426000083202500052C003C0300809D -:1011700000A6282500832025AC400000AC400004D8 -:10118000AC400008AC40000CAC450010AC40001472 -:10119000AC400018AC44001C0A00048C240400017C -:1011A0009742010C144000150000000093620005F6 -:1011B0003042001014400011000000000E00030235 -:1011C0000200202193620005020020213442001019 -:1011D0000E00030BA36200059362000024030020AD -:1011E000304200FF1043006D020020218FBF001429 -:1011F0008FB000100A00105827BD00180000000D25 -:101200000A0004B68FBF00143C0208008C42002084 -:10121000104000638FBF00140E00052B000000007B -:101220008F4201048F8300209744010C3C05080085 -:1012300094A54DBEAC6200009762002C000424000F -:101240003042FFFF008220253C02400E00A22825EC -:10125000AC640004AC600008AC60000CAC60001032 -:10126000AC600014AC600018AC65001C0A00048C73 -:10127000240400010E00030202002021A7600008E0 -:101280000E00030B02002021020020210E0003109B -:10129000240500013C0208008C4200201040004060 -:1012A0008FBF00140E00052B000000009742010CB8 -:1012B0008F8300203C05080094A54DBE0002140059 -:1012C000AC700000AC620004AC6000088F64004C9D -:1012D0003C02401F00A22825AC64000C8F62005025 -:1012E00024040001AC6200108F620054AC62001450 -:1012F000AC600018AC65001C8FBF00148FB00010EC -:101300000A00055027BD0018240200205082002545 -:101310008FB000100E000FA202002021104000200C -:101320008FBF0014020020218FB000100000282180 -:101330000A00031027BD0018020020218FBF0014EF -:101340008FB000100A00061827BD00189745010C41 -:10135000020020218FBF00148FB000100A00063851 -:1013600027BD0018020020218FB000100A00065D82 -:1013700027BD00189345010D020020218FB00010F9 -:101380000A0006A727BD0018020020218FBF001405 -:101390008FB000100A00068327BD00188FBF00140D -:1013A0008FB0001003E0000827BD00188F420278BC -:1013B0000440FFFE2402000234840080AF44024057 -:1013C000A34202443C02100003E00008AF4202784E -:1013D0003C04080094844DCA3C0208008C424DD461 -:1013E0003083FFFF000318C000431021AF42003CD0 -:1013F0003C0208008C424DD0AF4200383C02005005 -:1014000034420008AF42003000000000000000003D -:10141000000000008F420000304200201040FFFD1D -:10142000000000008F4204003C010800AC224DC0C7 -:101430008F4204043C010800AC224DC43C02002051 -:10144000AF420030000000003C02080094424DC84A -:101450003C03080094634DCC3C05080094A54DCE98 -:1014600024840001004310213083FFFF3C01080069 -:10147000A4224DC83C010800A4244DCA14650003F1 -:10148000000000003C010800A4204DCA03E0000851 -:10149000000000003C05000A27BDFFE803452821A5 -:1014A0003C04080024844DB0AFBF00100E0005B509 -:1014B0002406000A3C02080094424DB23C03080096 -:1014C00094634DCE3042000F2442000300431804C1 -:1014D00024027FFF0043102B10400002AF83001C4A -:1014E0000000000D0E0004C2000000003C020800D5 -:1014F00094424DBA8FBF001027BD001803E00008CA -:10150000A74200A23C02000A0342102194430006B5 -:101510003C02080094424DBA3C010800A4234DB699 -:10152000004310238F83001C0002140000021403E8 -:101530000043102B03E000083842000127BDFFE8FC -:10154000AFBF00103C02000A034210219442000683 -:101550003C010800A4224DB60E00050F000000005B -:101560005440FFF93C02000A8FBF001003E000085E -:1015700027BD001827BDFFE8AFBF00100E00050F04 -:101580000000000010400003000000000E00051DD8 -:10159000000000003C0208008C424DC08FBF0010CC -:1015A00027430400AF4200383C0208008C424DC47F -:1015B00027BD0018AF830020AF42003C3C0200056D -:1015C000AF42003003E00008AF8000188F8200189F -:1015D0003C0300060002114000431025AF420030DA -:1015E0000000000000000000000000008F4200002A -:1015F000304200101040FFFD27420400AF8200205F -:1016000003E00008AF8000183C0608008CC64DC4FB -:101610008F8500188F8300203C02080094424DBA49 -:1016200027BDFFE024A5000124630020244200011F -:1016300024C70020AFB10014AFB00010AFBF001836 -:10164000AF850018AF8300203C010800A4224DBAEA -:10165000309000FF3C010800AC274DC404C10008D5 -:101660000000882104E00006000000003C020800A1 -:101670008C424DC0244200013C010800AC224DC008 -:101680003C02080094424DBA3C03080094634DC8E4 -:101690000010202B004310262C420001004410258E -:1016A000144000048F830018240200101462000FFD -:1016B000000000000E000541241100013C03080059 -:1016C00094634DBA3C02080094424DC81462000372 -:1016D000000000000E0004C200000000160000031D -:1016E000000000000E00052B000000003C03080075 -:1016F00094634DBE3C02080094424DBC246300013B -:101700003064FFFF3C010800A4234DBE1482000397 -:10171000000000003C010800A4204DBE120000069D -:10172000000000003C02080094424DBAA74200A20B -:101730000A0005A3022010210E00050F0000000082 -:1017400010400004022010210E00051D00000000C2 -:10175000022010218FBF00188FB100148FB000102D -:1017600003E0000827BD00203084FFFF30A5FFFF05 -:1017700000001821108000070000000030820001E6 -:101780001040000200042042006518210A0005AB49 -:101790000005284003E000080060102110C000068A -:1017A00024C6FFFF8CA2000024A50004AC82000028 -:1017B0000A0005B52484000403E0000800000000CE -:1017C00010A0000824A3FFFFAC860000000000006A -:1017D000000000002402FFFF2463FFFF1462FFFAF1 -:1017E0002484000403E0000800000000240200013B -:1017F000AF62000CA7620010A7620012A76200147B -:1018000003E00008A76200163082007F0342102127 -:101810003C08000E004818213C0208008C420020C1 -:1018200027BDFFD82407FF80AFB3001CAFB200185C -:10183000AFB10014AFB00010AFBF00200080802116 -:1018400030B100FF0087202430D200FF1040002F6D -:1018500000009821AF44002C906200002403005047 -:10186000304200FF1443000E000000003C0208005C -:101870008C4200E00202102100471024AF42002CED -:101880003C0208008C4200E0020210213042007F3E -:101890000342102100481021944200D43053FFFF2E -:1018A0000E00052B000000003C02080094424DBED3 -:1018B0008F8300200011340000C2302500122C005C -:1018C0003C02400000C2302534A50001AC7000008D -:1018D0008FBF0020AC6000048FB20018AC7300080A -:1018E0008FB10014AC60000C8FB3001CAC6500100D -:1018F0008FB00010AC60001424040001AC6000182C -:1019000027BD00280A000550AC66001C8FBF0020D0 -:101910008FB3001C8FB200188FB100148FB000106D -:1019200003E0000827BD00289343010F24020010A4 -:101930001062000E2865001110A00007240200129A -:10194000240200082405003A10620006000030213D -:1019500003E0000800000000240500351462FFFCCD -:10196000000030210A0005D0000000008F42007402 -:1019700024420FA003E00008AF62000C27BDFFE87F -:10198000AFBF00100E000310240500018FBF001030 -:1019900024020001A762001227BD001824020001E2 -:1019A00003E00008A360002227BDFFE0AFB10014F0 -:1019B000AFB00010AFBF001830B1FFFF0E00030240 -:1019C000008080219362003F24030004304200FF26 -:1019D0001443000C02002021122000082402000AF7 -:1019E0000E0005C900000000936200052403FFFEFD -:1019F00000431024A362000524020012A362003FEA -:101A0000020020210E00030BA360008116200003BA -:101A1000020020210E00062D0000000002002021FF -:101A2000322600FF8FBF00188FB100148FB0001056 -:101A3000240500380A0005D027BD002027BDFFE09F -:101A4000AFBF001CAFB20018AFB10014AFB00010B0 -:101A50000E000302008080210E0005C90000000076 -:101A60009362003F24120018305100FF123200032D -:101A70000200202124020012A362003F93620005AD -:101A80002403FFFE004310240E00030BA362000595 -:101A9000020020212405002016320007000030211A -:101AA0008FBF001C8FB200188FB100148FB00010D0 -:101AB0000A00031027BD00208FBF001C8FB2001842 -:101AC0008FB100148FB00010240500390A0005D032 -:101AD00027BD002027BDFFE8AFB00010AFBF001446 -:101AE0009742010C2405003600808021144000102C -:101AF000304600FF0E000302000000002402001226 -:101B0000A362003F93620005344200100E0005C935 -:101B1000A36200050E00030B020020210200202119 -:101B20000E000310240500200A00069C000000009F -:101B30000E0005D0000000000E000302020020216C -:101B4000936200232403FF9F0200202100431024FE -:101B50008FBF00148FB00010A36200230A00030B94 -:101B600027BD001827BDFFE0AFBF0018AFB10014BC -:101B7000AFB0001030B100FF0E00030200808021E2 -:101B8000240200120E0005C9A362003F0E00030BE1 -:101B90000200202102002021022030218FBF0018E6 -:101BA0008FB100148FB00010240500350A0005D055 -:101BB00027BD0020A380002C03E00008A380002D97 -:101BC0008F4202780440FFFE8F820034AF42024011 -:101BD00024020002A34202443C02100003E0000879 -:101BE000AF4202783C0360008C625400304200082F -:101BF0001440FFFD000000008C625408AF82000C0E -:101C000024020052AC605408AC645430AC625434CA -:101C10002402000803E00008AC6254003C026000AB -:101C20008C42540030420008104000053C03600024 -:101C30008C625400304200081440FFFD0000000098 -:101C40008F83000C3C02600003E00008AC435408A2 -:101C500090A3000024020005008040213063003F73 -:101C600000004821146200050000502190A2001CD1 -:101C700094A3001E304900FF306AFFFFAD00000C46 -:101C8000AD000010AD000024950200148D05001C6D -:101C90008D0400183042FFFF00491023000211009C -:101CA000000237C3004038210086202300A2102BF9 -:101CB0000082202300A72823AD05001CAD040018D6 -:101CC000A5090014A5090020A50A001603E00008D4 -:101CD000A50A00228F4201F80440FFFE2402000200 -:101CE000AF4401C0A34201C43C02100003E000085D -:101CF000AF4201F83C0208008C4200B427BDFFE867 -:101D0000AFBF001424420001AFB000103C01080036 -:101D1000AC2200B48F4300243C02001F30AA00FF15 -:101D20003442FF8030D800FF006280240080F82118 -:101D300030EF00FF1158003B01405821240CFF8078 -:101D40003C19000A3163007F000310C000031940F2 -:101D5000006218213C0208008C4200DC256800016A -:101D6000310D007F03E21021004310213043007F3A -:101D700003431821004C102400794821AF4200246D -:101D80008D220024016C1824006C7026AD22000CFA -:101D90008D220024310800FFAD220010952200148E -:101DA000952300208D27001C3042FFFF3063FFFF8A -:101DB0008D2600180043102300021100000227C3E3 -:101DC0000040282100C4302300E2102B00C2302341 -:101DD00000E53823AD27001CAD2600189522002011 -:101DE000A522001495220022154B000AA5220016F8 -:101DF0008D2300248D2200082546000131450080F6 -:101E00001462000430C4007F108F000238AA0080E2 -:101E100000C0502151AF000131C800FF1518FFC9A3 -:101E2000010058218F8400343082007F0342182142 -:101E30003C02000A006218212402FF800082202454 -:101E4000AF440024A06A0079A06A00838C6200502D -:101E50008F840034AC6200708C6500743C027FFF9C -:101E60003442FFFF00A228240E000703AC65007473 -:101E7000AF5000248FBF00148FB0001003E00008A3 -:101E800027BD001827BDFFC0AFBE0038AFB7003474 -:101E9000AFB5002CAFB20020AFB1001CAFB000183E -:101EA000AFBF003CAFB60030AFB40028AFB30024E2 -:101EB0008F4500248F4600288F43002C3C02001FD2 -:101EC0003442FF800062182400C230240080A82120 -:101ED000AFA3001400A2F0240E0006C7AFA60010A6 -:101EE0003C0208008C4200E02410FF80036088213F -:101EF00002A2102100501024AF4200243C0208002E -:101F00008C4200E002A210213042007F03421821DF -:101F10003C02000A00629021924200D29363008446 -:101F2000305700FF306300FF2402000110620034CC -:101F30000360202124020002146200360000000029 -:101F40000E0012AE024028219223008392220083C9 -:101F50003063007F3042007F000210C00003194050 -:101F6000006218213C0208008C4200DC02A2102111 -:101F70000043382100F01024AF4200289225007859 -:101F80009224008330E2007F034218213C02000CBF -:101F900014850007006280212402FFFFA24200F1A5 -:101FA0002402FFFFA64200F20A0007BF2402FFFF3F -:101FB00096020020A24200F196020022A64200F200 -:101FC0008E020024AE4200F492220083A24200F06E -:101FD0008E4200C8AE4200FC8E4200C4AE4200F801 -:101FE0008E220050AE4201008E4200CCAE4201046F -:101FF000922200853042003F0A00081A3442004015 -:102000000E0012D102402821922200850A00081AEF -:102010003042003F936200852403FFDF3042003FDF -:10202000A36200859362008500431024A3620085AB -:102030009363008393620078307400FF304200FFA6 -:1020400010540036240AFF803C0C000C3283007FC1 -:10205000000310C000031940006218213C02080070 -:102060008C4200DC268800013109007F02A2102189 -:102070000043382130E2007F0342182100EA102497 -:10208000AF420028006C80218E020024028A1824AE -:10209000006A5826AE02000C8E020024310800FFB0 -:1020A000AE02001096020014960300208E07001C5A -:1020B0003042FFFF3063FFFF8E06001800431023FD -:1020C00000021100000227C30040282100C4302371 -:1020D00000E2102B00C2302300E53823AE07001CBD -:1020E000AE06001896020020A602001496020022F6 -:1020F000A602001692220079304200FF1054000719 -:102100000000000051370001316800FF9222007882 -:10211000304200FF1448FFCD0100A021922200832D -:10212000A22200798E2200500A00087AAE220070A6 -:10213000A22200858E22004C2405FF80AE42010CB5 -:102140009222008534420020A2220085924200D1D2 -:102150003C0308008C6300DC305400FF3C020800A4 -:102160008C4200E400143140001420C002A3182166 -:1021700000C4202102A21021006438210046102151 -:102180000045182400E52824AF450028AF43002C63 -:102190003042007F924400D030E3007F0342282188 -:1021A000034318213C02000C006280213C02000E17 -:1021B000309600FF00A298211296002A000000002D -:1021C0008E02000C02002021026028211040002510 -:1021D000261000280E0006E2000000009262000DAA -:1021E00026830001307400FF3042007FA262000DA0 -:1021F0002404FF801697FFF0267300203C0208009D -:102200008C4200DC0000A02102A210210044102416 -:10221000AF4200283C0208008C4200E43C03080066 -:102220008C6300DC02A2102100441024AF42002C79 -:102230003C0208008C4200E402A318213063007FB6 -:1022400002A210213042007F0342202103431821C3 -:102250003C02000C006280213C02000E0A00083C97 -:10226000008298218E4200D8AE2200508E4200D8C3 -:10227000AE22007092250083924600D19223008303 -:10228000924400D12402FF8000A228243063007F02 -:10229000308400FF00A628250064182A1060000280 -:1022A00030A500FF38A50080A2250083A225007973 -:1022B0000E0006D5000000009222007E02A0202120 -:1022C000A222007A8E2300743C027FFF3442FFFF7B -:1022D000006218240E000703AE2300748FA20010C2 -:1022E000AF5E00248FBF003CAF4200288FBE003895 -:1022F0008FA200148FB700348FB600308FB5002C3A -:102300008FB400288FB300248FB200208FB1001C3F -:102310008FB0001827BD004003E00008AF42002C3A -:1023200090A2000024420001A0A200003C0308008B -:102330008C6300F4304200FF1443000F0080302112 -:10234000A0A000003C0208008C4200E48F8400340E -:10235000008220213082007F034218213C02000CC1 -:10236000006218212402FF8000822024ACC30000F8 -:1023700003E00008AF4400288C82000024420020C3 -:1023800003E00008AC82000094C200003C08080092 -:10239000950800CA30E7FFFF0080482101021021A4 -:1023A000A4C2000094C200003042FFFF00E2102BE4 -:1023B00054400001A4C7000094A200003C030800A0 -:1023C0008C6300CC24420001A4A2000094A200006F -:1023D0003042FFFF544300078F8600280107102B6F -:1023E000A4A000005440000101003821A4C700004F -:1023F0008F8600288CC4001CAF44003C94A20000CF -:102400008F43003C3042FFFF000210C000621821E1 -:10241000AF43003C8F42003C008220231880000420 -:10242000000000008CC200180A0008DB24420001F2 -:102430008CC20018AF4200383C02005034420010F9 -:10244000AF4200300000000000000000000000006B -:102450008F420000304200201040FFFD00000000CD -:102460008F420404AD2200048F420400AD2200001C -:102470003C020020AF42003003E0000800000000F2 -:1024800027BDFFE0AFB20018AFB10014AFB000102D -:10249000AFBF001C94C2000000C080213C120800A5 -:1024A000965200C624420001A602000096030000D6 -:1024B00094E2000000E03021144300058FB10030A9 -:1024C0000E0008B0024038210A00090D000000008B -:1024D0008C8300048C8200042442004004610007C5 -:1024E000AC8200048C820004044000040000000060 -:1024F0008C82000024420001AC82000096020000A1 -:102500003042FFFF50520001A6000000962200005A -:1025100024420001A62200008F820028962300009A -:1025200094420016144300048FBF001C24020001D3 -:10253000A62200008FBF001C8FB200188FB10014BC -:102540008FB0001003E0000827BD00208F8900280D -:1025500027BDFFE0AFBF00188D22002827480400E8 -:1025600030E700FFAF4200388D22002CAF880030EA -:10257000AF42003C3C020005AF42003000000000CA -:10258000000000000000000000000000000000004B -:10259000000000008C82000C8C82000CAD02000058 -:1025A0008C820010AD0200048C820018AD0200087D -:1025B0008C82001CAD02000C8CA20014AD02001035 -:1025C0008C820020AD02001490820005304200FF92 -:1025D00000021200AD0200188CA20018AD02001C0F -:1025E0008CA2000CAD0200208CA20010AD020024D1 -:1025F0008CA2001CAD0200288CA20020AD02002C91 -:10260000AD060030AD000034978300263402FFFF92 -:1026100014620002006020213404FFFF10E000116A -:10262000AD040038952300369524003624020001BD -:102630003063FFFF000318C2006918219065004055 -:10264000308400070082100400451025A06200407D -:102650008F820028944200563042FFFF0A0009741E -:10266000AD02003C9523003695240036240200017B -:102670003063FFFF000318C2006918219065004015 -:102680003084000700821004000210270045102447 -:10269000A0620040AD00003C00000000000000000F -:1026A000000000003C02000634420040AF4200300F -:1026B0000000000000000000000000008F42000049 -:1026C000304200101040FFFD8F860028AF88003098 -:1026D00024C2005624C7003C24C4002824C500326C -:1026E00024C600360E0008EEAFA200108FBF0018FF -:1026F00003E0000827BD00208F8300243C0608006B -:102700008CC600E88F82003430633FFF00031980DD -:1027100000461021004310212403FF803046007F33 -:1027200000431024AF420028034618213C02000C4D -:102730000062302190C2000D30A500FF000038215A -:1027400034420010A0C2000D8F8900288F8A002417 -:1027500095230036000A138230480003240200014A -:10276000A4C3000E1102000B290200021040000554 -:10277000240200021100000C240300010A0009B821 -:102780000000182111020006000000000A0009B82C -:10279000000018218CC2002C0A0009B82443000153 -:1027A0008CC20014244300018CC200180043102B7B -:1027B00050400009240700012402002714A200034E -:1027C000000000000A0009C4240700019522003E11 -:1027D00024420001A522003E000A13823043000378 -:1027E0002C620002104000090080282114600004BF -:1027F0000000000094C200360A0009D43046FFFFF2 -:102800008CC600380A0009D400802821000030213D -:102810003C04080024844DD80A000921000000006F -:10282000274901008D22000C95230006012020215C -:10283000000216023046 |