diff options
-rw-r--r-- | firmware/x300/x300/x300_init.c | 3 | ||||
-rw-r--r-- | firmware/x300/x300/x300_main.c | 15 | ||||
-rw-r--r-- | fpga/usrp3/top/x300/bus_int.v | 12 | ||||
-rw-r--r-- | fpga/usrp3/top/x300/capture_ddrlvds.v | 28 | ||||
-rwxr-xr-x | fpga/usrp3/top/x300/coregen/bootram.coe | 6616 | ||||
-rw-r--r-- | fpga/usrp3/top/x300/coregen/ten_gig_eth_pcs_pma/example_design/ten_gig_eth_pcs_pma_x300_top.v | 56 | ||||
-rw-r--r-- | fpga/usrp3/top/x300/x300.v | 52 | ||||
-rw-r--r-- | fpga/usrp3/top/x300/x300_core.v | 79 | ||||
-rw-r--r-- | host/CMakeLists.txt | 4 | ||||
-rw-r--r-- | host/cmake/Modules/UHDPackage.cmake | 4 | ||||
-rw-r--r-- | host/lib/usrp/b200/b200_impl.cpp | 1 | ||||
-rw-r--r-- | host/lib/usrp/gps_ctrl.cpp | 1 |
12 files changed, 3448 insertions, 3423 deletions
diff --git a/firmware/x300/x300/x300_init.c b/firmware/x300/x300/x300_init.c index 978168b09..66fb120f3 100644 --- a/firmware/x300/x300/x300_init.c +++ b/firmware/x300/x300/x300_init.c @@ -76,8 +76,7 @@ static void init_network(void) printf("PKT RAM0 BASE 0x%x\n", (&pkt_config)->base); u3_net_stack_init(&pkt_config); - //FIXME: Uncomment when feature is required - //link_state_route_proto_init(); + link_state_route_proto_init(); //read everything from eeprom static const uint8_t eeprom_cmd[2] = {0, 0}; //the command is 16 bits of address offset diff --git a/firmware/x300/x300/x300_main.c b/firmware/x300/x300/x300_main.c index 92368ec9c..809f181ba 100644 --- a/firmware/x300/x300/x300_main.c +++ b/firmware/x300/x300/x300_main.c @@ -372,22 +372,26 @@ static void handle_uarts(void) **********************************************************************/ static void update_forwarding(const uint8_t e) { - /* FIXME: This code is broken. + /* FIXME: This code is broken. * It blindly enables forwarding without regard to whether or not * packets can be forwarded. If one of the Ethernet interfaces is not * connected, data backs up until the first interface becomes unresponsive. - * Uncomment and fix when topologies requiring forwarding are supported. * + * And for more fun, we had to re-enable forwarding of packets that were not + * addressed to this device's MAC address to work around an issue that was + * causing sequence errors. + */ //update forwarding rules uint32_t forward = 0; if (!link_state_route_proto_causes_cycle_cached(e, (e+1)%2)) { - forward |= (1 << 0); //forward bcast + //FIXME: Uncomment when forwarding of broadcasts is properly handled + //forward |= (1 << 0); //forward bcast forward |= (1 << 1); //forward not mac dest } const uint32_t eth_base = (e == 0)? SR_ETHINT0 : SR_ETHINT1; wb_poke32(SR_ADDR(SET0_BASE, eth_base + 8 + 4), forward); - */ + } static void handle_link_state(void) @@ -445,8 +449,7 @@ int main(void) static const uint32_t tick_delta = CPU_CLOCK/1000; if (ticks_passed > tick_delta) { - //FIXME: Uncomment when feature is required - //handle_link_state(); //deal with router table update + handle_link_state(); //deal with router table update handle_claim(); //deal with the host claim register update_leds(); //run the link and activity leds garp(); //send periodic garps diff --git a/fpga/usrp3/top/x300/bus_int.v b/fpga/usrp3/top/x300/bus_int.v index 17c708f66..aa5998bd3 100644 --- a/fpga/usrp3/top/x300/bus_int.v +++ b/fpga/usrp3/top/x300/bus_int.v @@ -43,8 +43,8 @@ module bus_int inout SFPP1_RS0, inout SFPP1_RS1, // - input [3:0] clock_status, - output [5:0] clock_control, + input [4:0] clock_status, + output [6:0] clock_control, // ETH0 output [63:0] eth0_tx_tdata, output [3:0] eth0_tx_tuser, output eth0_tx_tlast, output eth0_tx_tvalid, input eth0_tx_tready, input [63:0] eth0_rx_tdata, input [3:0] eth0_rx_tuser, input eth0_rx_tlast, input eth0_rx_tvalid, output eth0_rx_tready, @@ -141,7 +141,7 @@ module bus_int localparam RB_BIST = 8'd128; - localparam COMPAT_MAJOR = 16'h0003; + localparam COMPAT_MAJOR = 16'h0004; localparam COMPAT_MINOR = 16'h0000; wire [31:0] set_data; @@ -295,8 +295,8 @@ module bus_int .strobe(set_stb), .addr(set_addr), .in(set_data), .out(sw_rst)); - setting_reg #(.my_addr(SR_CLOCK_CTRL), .awidth(SR_AWIDTH), .width(6), - .at_reset(6'b100000) //bit 5 high means GPSDO on by default + setting_reg #(.my_addr(SR_CLOCK_CTRL), .awidth(SR_AWIDTH), .width(7), + .at_reset(7'b1000000) //bit 6 high means GPSDO on by default ) set_clk_ctrl (.clk(clk), .rst(reset), .strobe(set_stb), .addr(set_addr), .in(set_data), @@ -341,7 +341,7 @@ module bus_int RB_COUNTER: rb_data = counter; RB_SPI_RDY: rb_data = {31'b0, spi_ready}; RB_SPI_DATA: rb_data = rb_spi_data; - RB_CLK_STATUS: rb_data = {28'b0, clock_status}; + RB_CLK_STATUS: rb_data = {27'b0, clock_status}; // SFPP Interface pins. RB_SFPP_STATUS0: rb_data = {26'b0,SFPP0_ModAbs_chgd,SFPP0_TxFault_chgd,SFPP0_RxLOS_chgd, SFPP0_ModAbs_reg2,SFPP0_TxFault_reg2,SFPP0_RxLOS_reg2}; diff --git a/fpga/usrp3/top/x300/capture_ddrlvds.v b/fpga/usrp3/top/x300/capture_ddrlvds.v index c33f78339..193caf6e1 100644 --- a/fpga/usrp3/top/x300/capture_ddrlvds.v +++ b/fpga/usrp3/top/x300/capture_ddrlvds.v @@ -7,7 +7,7 @@ module capture_ddrlvds #(parameter WIDTH=7, - parameter B250=0) + parameter X300=0) (input clk, input reset, input ssclk_p, @@ -20,15 +20,15 @@ module capture_ddrlvds wire ssclk; wire [(2*WIDTH)-1:0] out_pre1; wire ssclk_bufio1, ssclk_bufio2, ssclk_bufr, ssclk_bufmr; - - IBUFGDS #(.DIFF_TERM("TRUE")) + + IBUFGDS #(.DIFF_TERM("TRUE")) clkbuf (.O(ssclk), .I(ssclk_p), .IB(ssclk_n)); BUFMR clkbufmr ( .I(ssclk), .O(ssclk_bufmr) ); - + BUFIO clkbufio1 ( .I(ssclk_bufmr), .O(ssclk_bufio1) @@ -37,22 +37,22 @@ module capture_ddrlvds .I(ssclk_bufmr), .O(ssclk_bufio2) ); - - BUFR + + BUFR #(.SIM_DEVICE("7SERIES"), .BUFR_DIVIDE("BYPASS")) clkbufr ( .I(ssclk_bufmr), .O(ssclk_bufr) ); - + genvar i; - + generate for(i = 0; i < WIDTH; i = i + 1) begin : gen_lvds_pins - if ((i == 10) && (B250 == 1)) begin + if ((i == 10) && (X300 == 1)) begin IBUFDS #(.DIFF_TERM("FALSE")) ibufds (.O(ddr_dat[i]), .I(in_p[i]), .IB(in_n[i]) ); IDDR #(.DDR_CLK_EDGE("SAME_EDGE_PIPELINED")) iddr @@ -68,12 +68,12 @@ module capture_ddrlvds end endgenerate - - + + reg rd_en; wire full, empty, almost_empty; - - + + input_sample_fifo input_sample_fifo_i ( .rst(reset), // input rst @@ -88,7 +88,7 @@ module capture_ddrlvds .almost_empty(almost_empty) // output almost_empty ); - + always @(posedge clk) begin if (reset) rd_en <= 0; diff --git a/fpga/usrp3/top/x300/coregen/bootram.coe b/fpga/usrp3/top/x300/coregen/bootram.coe index 98796a4c6..c9045183a 100755 --- a/fpga/usrp3/top/x300/coregen/bootram.coe +++ b/fpga/usrp3/top/x300/coregen/bootram.coe @@ -2,15 +2,15 @@ memory_initialization_radix=16; memory_initialization_vector= 0b0b0b0b, 82700b0b, -8186f40c, +81978c0c, 3a0b0b80, -eef50400, +ff8c0400, 00000000, 00000000, 00000000, 80088408, 88080b0b, -80efc02d, +80ffd72d, 880c840c, 800c0400, 00000000, @@ -161,8 +161,8 @@ c4040000, 00000000, 00000000, 71fc0608, -0b0b8186, -e0738306, +0b0b8196, +f8738306, 10100508, 060b0b0b, 88aa0400, @@ -170,16 +170,16 @@ e0738306, 00000000, 80088408, 88087575, -0b0b80e7, -dd2d5050, +0b0b80f6, +b12d5050, 80085688, 0c840c80, 0c510400, 00000000, 80088408, 88087575, -0b0b80e9, -8f2d5050, +0b0b80f7, +e32d5050, 80085688, 0c840c80, 0c510400, @@ -209,7 +209,7 @@ dd2d5050, 00000000, 00000000, 810b0b0b, -8186f00c, +8197880c, 51040000, 00000000, 00000000, @@ -257,7 +257,7 @@ dd2d5050, 00000000, 00000000, 82813f80, -e8e13f04, +f8f83f04, 10101010, 10101010, 10101010, @@ -280,56 +280,56 @@ fc060c51, 0a100a53, 72ed3851, 51535104, -8186f008, +81978808, 802ea438, -8186f408, +81978c08, 822ebd38, 8380800b, -0b0b818e, -e80c82a0, -800b818e, -ec0c8290, -800b818e, -f00c04f8, +0b0b819f, +800c82a0, +800b819f, +840c8290, +800b819f, +880c04f8, 808080a4, 0b0b0b81, -8ee80cf8, +9f800cf8, 80808280, -0b818eec, +0b819f84, 0cf88080, 84800b81, -8ef00c04, +9f880c04, 80c0a880, 8c0b0b0b, -818ee80c, +819f800c, 80c0a880, -940b818e, -ec0c0b0b, -80f1940b, -818ef00c, +940b819f, +840c0b0b, +8181ac0b, +819f880c, 04ff3d0d, -818ef433, +819f8c33, 5170a738, -8186fc08, +81979408, 70085252, 70802e94, 38841281, -86fc0c70, -2d8186fc, +97940c70, +2d819794, 08700852, 5270ee38, -810b818e, -f434833d, +810b819f, +8c34833d, 0d040480, 3d0d0b0b, -818ee408, +819efc08, 802e8e38, 0b0b0b0b, 800b802e, 09810685, 38823d0d, 040b0b81, -8ee4510b, +9efc510b, 0b0bf5d4, 3f823d0d, 0404f93d, @@ -354,855 +354,939 @@ b1387218, 73833877, 5170800c, 893d0d04, -ff3d0d02, -93053352, -83f28051, -97863f83, -3d0d04e2, -3d0d8bef, -5283fa80, -5196e93f, +04e23d0d, 8bef5283, -f2805196, -df3f8b88, -528051a1, -8d3f81af, -5280f19c, -51a18e3f, -80d3b993, -c05283fc, -80519785, -3f80d3b9, -93c05283, -fe805196, -f83f80d3, +fa805198, +c43f8bef, +5283f280, +5198ba3f, +8b885280, +51a2e93f, +81af5281, +81b451a2, +ea3f80d3, b993c052, -83f88051, -96eb3f81, -0b82c084, -0c82c090, -08558a56, -74812e83, -38815675, -5280f1c8, -51a0ca3f, -82c09408, -558a5674, -812e8338, -81567552, -80f1e051, -a0b33fbf, -fc538280, -8052818e, -f851a1ca, -3f818ef8, -085280f1, -f851a099, -3f818ef8, -51a68e3f, -8d3d5b80, -cc538187, -80527a51, -80dffe3f, -825480f1, -985380d0, +83fc8051, +98e03f80, +d3b993c0, 5283fe80, -5197c03f, -80cc547a, -5380d052, -83fe8051, -96983f82, +5198d33f, +80d3b993, +c05283f8, +805198c6, +3f810b82, +c0840c82, c0900855, -82577483, -38745782, -c0940855, -835c7483, -38815c86, -53818788, -52a03dff, -bc0551fd, -9d3f8008, -56865381, -879052a0, -3dc40551, -fd8c3f80, -08588453, -76822b81, -87ac1153, -701cac11, -535855fc, -f53f8008, -5a845381, -879c1552, -9c1751fc, -e53f8008, -5984537b, -822b8187, -ac115370, -1cac1153, -5855fcce, -3f80085b, -84538187, -9c15529c, -1751fcbe, -3f800879, -557a5476, -53578051, -a4eb3f84, -16338517, -3371882b, -07831833, -70902b72, -07821a33, -70982b72, -0782c1c0, -0c7a3381, -1c337188, -2b0782c1, -c40c7f08, -82c1c80c, -535d5252, -565c800b, -82c1d00c, -9e800b82, -c1d40c76, -547a5377, -528151a4, -9c3f8418, -33851933, +8a567481, +2e833881, +56755281, +81e051a2, +a63f82c0, +9408558a, +5674812e, +83388156, +75528181, +f851a28f, +3fbffc53, +82808052, +819f9051, +a3a63f81, +9f900852, +81829051, +a1f53f81, +9f9051a7, +f03f80e7, +813f8d3d, +5b80cc53, +81979852, +7a5180ee, +e03f8254, +8181b053, +80d05283, +fe805199, +973f80cc, +547a5380, +d05283fe, +805197ef, +3f82c090, +08558257, +74833874, +5782c094, +0855835c, +74833881, +5c865381, +97a052a0, +3dffbc05, +51fdab3f, +80085686, +538197a8, +52a03dc4, +0551fd9a, +3f800858, +84537682, +2b8197c4, +1153701c, +ac115358, +55fd833f, +80085a84, +538197b4, +15529c17, +51fcf33f, +80085984, +537b822b, +8197c411, +53701cac, +11535855, +fcdc3f80, +085b8453, +8197b415, +529c1751, +fccc3f80, +0879557a, +54765357, +8051a6c9, +3f841633, +85173371, +882b0783, +18337090, +2b720782, +1a337098, +2b720782, +c1c00c7a, +33811c33, 71882b07, -831a3370, -902b7207, -821c3370, -982b7207, -82c2800c, -7c33811e, -3371882b, -0782c284, -0c600882, -c2880c55, -5d525956, -5c800b82, -c2900c9e, -800b82c2, -940c800b, -82c0840c, -80e45180, -c7de3f82, -c0900855, -74812e09, -81068638, -8051b4f9, -3f82c094, +82c1c40c, +7f0882c1, +c80c535d, +5252565c, +800b82c1, +d00c9e80, +0b82c1d4, +0c76547a, +53775281, +51a5fa3f, +84183385, +19337188, +2b07831a, +3370902b, +7207821c, +3370982b, +720782c2, +800c7c33, +811e3371, +882b0782, +c2840c60, +0882c288, +0c555d52, +59565c80, +0b82c290, +0c9e800b, +82c2940c, +800b82c0, +840c80e4, +5180c9c7, +3f82c090, 08557481, 2e098106, -86387451, -b4e73f80, -5580e939, -7451a1c9, -3f800851, -80d4fe3f, -80085374, -5280f28c, -519cee3f, -7451a19c, -3f800851, -80d58c3f, -80085374, -5280f2a0, -519cd63f, -7451a3a8, -3f800851, -80d4f43f, -80085374, -5280f2b4, -519cbe3f, -7451a3a5, -3f800851, -80d4dc3f, -80085374, -5280f2c8, -519ca63f, -81157081, -ff065155, -b28a3f80, -087524ff, -8f38a03d, -0d04f53d, -0d7e6002, -8805b705, -3371545b, -5b54a0dd, -3f800858, -a8557880, -2e8338b8, -5573902a, +86388051, +b6e23f82, +c0940855, +74812e09, +81068638, +7451b6d0, +3f805580, +e9397451, +a3a53f80, +085180d6, +e73f8008, +53745281, +82a4519e, +c63f7451, +a2f83f80, +085180d6, +f53f8008, +53745281, +82b8519e, +ae3f7451, +a5873f80, +085180d6, +dd3f8008, +53745281, +82cc519e, +963f7451, +a5843f80, +085180d6, +c53f8008, +53745281, +82e0519d, +fe3f8115, 7081ff06, -70557554, -80f2dc53, -51579bdd, -3f7851a0, -a03f7482, -2b82c080, -11800833, -80088105, -3371882b, -07720c82, -c0841380, -08820533, -80088305, -3371982b, -71902b07, -80088405, -3370882b, -72078008, -85053371, -07760c52, -82c08818, -615a5553, -5a415252, -5d57559f, -bb3f8008, -08760c82, -c08c1502, -840580c6, -0522710c, -5482c090, -1577710c, -5482c094, -157a0871, -0c5682c0, -98150284, -0580c205, -22793371, -902b7188, -2b07811c, -33710774, +5155b3f3, +3f800875, +24ff8f38, +a03d0d04, +f53d0d7e, +60028805, +b7053371, +545b5b54, +a2b93f80, +0858a855, +78802e83, +38b85573, +902a7081, +ff067055, +75548182, +f4535157, +9db53f78, +51a1fc3f, +74822b82, +c0801180, +08338008, +81053371, +882b0772, +0c82c084, +13800882, +05338008, +83053371, +982b7190, +2b078008, +84053370, +882b7207, +80088505, +33710776, 0c5282c0, -9c18821c, -33831d33, -71982b71, -902b0784, -1f337088, -2b720760, -85053371, -07760c52, -55555540, -58595556, -8d3d0d04, -fb3d0d7c, -5675802e, -9d388416, -08028405, -ae052256, -028405aa, -05225579, -5452029f, -053351fd, -e53f873d, -0d04f23d, -0d655a79, -802e81b2, -388c3d5b, -90537952, -7a5180d9, -d43f668f, -2688387b, -82075c80, -f4397908, -832a7081, -06515776, -802eac38, -881a0870, -942a7081, -06515858, -76802e98, -38828080, -54805390, -3dfc0552, -77bfffff, -065180c4, -d63f8439, -77085f79, -08822a70, -81065157, -76802ead, -38881a08, -70942a70, -81068c1d, -085c5158, -5876802e, -95388280, -80548053, -785277bf, +8818615a, +55535a41, +52525d57, +55a1973f, +80080876, +0c82c08c, +15028405, +80c60522, +710c5482, +c0901577, +710c5482, +c094157a, +08710c56, +82c09815, +02840580, +c2052279, +3371902b, +71882b07, +811c3371, +07740c52, +82c09c18, +821c3383, +1d337198, +2b71902b, +07841f33, +70882b72, +07608505, +33710776, +0c525555, +55405859, +55568d3d, +0d04fb3d, +0d7c5675, +802e9d38, +84160802, +8405ae05, +22560284, +05aa0522, +55795452, +029f0533, +51fde53f, +873d0d04, +f23d0d65, +5a79802e, +81b2388c, +3d5b9053, +79527a51, +80e8b63f, +668f2688, +387b8207, +5c80f439, +7908832a, +70810651, +5776802e, +ac38881a, +0870942a, +70810651, +58587680, +2e983882, +80805480, +53903dfc, +055277bf, ffff0651, -80c3b73f, -84397878, -0c790881, -06577680, -2e9c3890, -567a5502, -80ce0522, -540280d2, -05225361, -520280c3, -053351a6, -a53f903d, -0d048c08, -028c0cf0, -3d0d8c08, -9c050802, -84058c08, -f8050c8c, -08ec050c, -800b8c08, -fc050c8c, -08ec0508, -802e86d3, -388c08a0, -05088f26, -8b38820b, -8c08fc05, -0c868839, -8c08ec05, -08087082, +80c6bf3f, +84397708, +5f790882, 2a708106, -518c08d4, -050c8c08, -d8050c8c, -08d40508, -802e9138, -80c78a3f, -80088106, -8c08dc05, -0c85c539, -8c08d805, -08832a70, -8106518c, -08d4050c, -8c08d405, -08802e88, -3880c997, -3f85b839, -8c08d805, -08862a70, +51577680, +2ead3888, +1a087094, +2a708106, +8c1d085c, +51585876, +802e9538, +82808054, +80537852, +77bfffff, +065180c5, +a03f8439, +78780c79, +08810657, +76802e9c, +3890567a, +550280ce, +05225402, +80d20522, +53615202, +80c30533, +51a88e3f, +903d0d04, +8c08028c, +0cf03d0d, +8c089c05, +08028405, +8c08f805, +0c8c08ec, +050c800b, +8c08fc05, +0c8c08ec, +0508802e, +86d3388c, +08a00508, +8f268b38, +820b8c08, +fc050c86, +88398c08, +ec050808, +70822a70, 8106518c, 08d4050c, -8c08d405, -08802e88, -3880cb94, -3f859839, 8c08d805, -08872a70, -8106518c, -08d4050c, -8c08d405, -08802e9c, -3880cb89, -3f800881, -ff068c08, -d4050c8c, -08d40508, -822e84e7, -3884d839, -8c08ec05, -08840508, -5180c8dc, -3f800881, -068c08dc, -050c8c08, -dc050880, -2e883881, -0b8c08dc, +0c8c08d4, +0508802e, +913880c8, +f33f8008, +81068c08, +dc050c85, +c5398c08, +d8050883, +2a708106, +518c08d4, 050c8c08, -ec050808, -842a7081, -06518c08, -d4050c8c, -08d40508, -802e9838, -8c08dc05, -08802e8f, -3880c8bc, -3f800881, -ff068c08, -dc050c8c, -08ec0508, -8c050870, -9f067030, -72852a71, -9f2a058c, -08e8050c, +d4050880, +2e883880, +cb803f85, +b8398c08, +d8050886, +2a708106, 518c08d4, 050c8c08, -d8050c80, -708c08e0, +d4050880, +2e883880, +ccfd3f85, +98398c08, +d8050887, +2a708106, +518c08d4, 050c8c08, -e4050c8c, -08e40508, -8c08e805, -082781aa, -388c08dc, -05088c08, -e405082e, -819c388c, -08ec0508, -8c05088c, -08e00508, -318c08d8, -050ca00b, -8c08d805, -08278838, -a00b8c08, -d8050c8c, -08d80508, -538c08e0, -0508108c, -08ec0508, -05900552, -8c08ec05, -08880508, -8c08e005, -08051051, -80c2853f, -80088c08, -dc050806, +d4050880, +2e9c3880, +ccf23f80, +0881ff06, +8c08d405, +0c8c08d4, +0508822e, +84e73884, +d8398c08, +ec050884, +05085180, +cac53f80, +0881068c, +08dc050c, 8c08dc05, -0c8c08dc, +08802e88, +38810b8c, +08dc050c, +8c08ec05, +0808842a, +70810651, +8c08d405, +0c8c08d4, 0508802e, -8838810b, +98388c08, +dc050880, +2e8f3880, +caa53f80, +0881ff06, 8c08dc05, -0c8c08e0, -05088c08, -d8050805, +0c8c08ec, +05088c05, +08709f06, +70307285, +2a719f2a, +058c08e8, +050c518c, +08d4050c, +8c08d805, +0c80708c, +08e0050c, 8c08e405, -0881058c, -08e4050c, -8c08e005, 0c8c08e4, 05088c08, e8050827, -89388c08, -dc0508fe, -e6388c08, -ec050808, -852a7081, -06518c08, -d4050c8c, -08d40508, -802e81f8, -38028c08, -ec05088c, -05087010, -860570fc, -06518c08, -d4050c8c, +81aa388c, +08dc0508, +8c08e405, +082e819c, +388c08ec, +05088c05, +088c08e0, +0508318c, 08d8050c, -8c08f405, -0c028c08, -d4050831, -0d873d8c, -08d80508, -5470538c, -08ec0508, -88050810, -528c08f0, -050c80c0, -883f8008, +a00b8c08, +d8050827, +8838a00b, +8c08d805, +0c8c08d8, +0508538c, +08e00508, +108c08ec, +05080590, +05528c08, +ec050888, +05088c08, +e0050805, +105180c3, +ee3f8008, 8c08dc05, 08068c08, dc050c8c, 08dc0508, 802e8838, 810b8c08, -dc050c80, -0b8c08ec, -05088c05, -088c08e8, +dc050c8c, +08e00508, +8c08d805, +08058c08, +e4050881, +058c08e4, 050c8c08, e0050c8c, -08e00508, +08e40508, 8c08e805, -082780ee, -388c08ec, -05089005, -8c08e405, -0c8c08e0, -0508108c, -08f00508, -058c08e4, -05087082, -058c08e4, -050c228c, -08dc0508, -81067222, -538c08dc, +08278938, +8c08dc05, +08fee638, +8c08ec05, +0808852a, +70810651, +8c08d405, +0c8c08d4, +0508802e, +81f83802, +8c08ec05, +088c0508, +70108605, +70fc0651, +8c08d405, +0c8c08d8, 050c8c08, -d4050c8c, -08d8050c, +f4050c02, 8c08d405, -088c08d8, -05082e88, -38800b8c, -08dc050c, -8c08e005, -0881058c, -08e0050c, -8c08e805, -088c08e0, -050826ff, -a0388c08, -f405080d, +08310d87, +3d8c08d8, +05085470, +538c08ec, +05088805, +0810528c, +08f0050c, +80c1f13f, +80088c08, +dc050806, 8c08dc05, -088d388c, -08fc0508, -82078c08, -fc050c8c, +0c8c08dc, +0508802e, +8838810b, +8c08dc05, +0c800b8c, 08ec0508, -0881068c, -08d4050c, +8c05088c, +08e8050c, +8c08e005, +0c8c08e0, +05088c08, +e8050827, +80ee388c, +08ec0508, +90058c08, +e4050c8c, +08e00508, +108c08f0, +0508058c, +08e40508, +7082058c, +08e4050c, +228c08dc, +05088106, +7222538c, +08dc050c, 8c08d405, -08802ea3, -3884568c, -08fc0555, -8c089605, -22548c08, -9a052253, -8c088c05, -08528c08, -8b053351, -9fa43f8c, -08f80508, -0d923d0d, -8c0c04f7, -3d0d6058, -77802eb7, -38770881, -0657768c, -3880f384, -51918e3f, -78840759, -78820759, -615a8418, -08568b3d, -f8055502, -ba052254, -02be0522, -537c5202, -af053351, -9ed83f8b, -3d0d04f6, -3d0d7c7e, -59578070, -56567454, -76527753, -8c3df805, -5180c995, -3f7a8106, -16811656, -56bf7527, -e5387580, -0c8c3d0d, -04e73d0d, -eef93f92, -e2528380, -80519b9b, -3f92b852, -83808151, -9b913f94, -a2528380, -85519b87, -3f9bab52, -83808651, -9afd3f80, -5682c080, -08707731, -51538ad7, -98732783, -e5388187, -cc089811, -08545472, -87387294, -150ca039, -818f8408, -732e8e38, -810b9415, -0c800b81, -8f880c8b, -39818f88, -08810581, -8f880c98, -1408818f, -840c8fd0, -0b818f88, -08278638, -800b9415, -0c800b81, -8f8c0b8d, -3d5a5b59, -7881ff06, -558075a0, -2982c280, -05575787, -54757084, -05570877, -05ff1555, -57738025, -f0387484, -2982c280, -05548756, -73087705, -ff17a016, -56575775, -8025f138, -7481268a, -38745196, -ca3f8008, -17577708, -84190870, -9f2a7210, -07711071, -7c0c7084, -1d0c7171, -5b595252, -5553767a, -082e8738, -73810773, -56567478, -0c758419, -0c767a70, -84055c0c, -81198819, -59598779, -27fef538, -818fac08, -8105818f, -ac0c7a7c, -55517352, -fda13f80, -087d7f56, -52745355, -fd953f80, -75832b81, -8fac08bf, -06565658, -73752783, -38815880, -0b800883, -2b545773, -73278338, -81578051, -b7ee3f80, -0881ff06, -558151b7, -e33f8008, -81ff0681, -87cc0894, -11085654, -5673802e, -83388154, -84537483, -38745375, -802e8538, -72880753, -77802e85, -38729007, -53805577, -752e0981, -06863876, -752e8338, -81557275, -07537680, -2e853872, -a0075373, -802e8538, -72820753, -7282c080, -0c818fb0, -08811181, -8fb00c53, -83d4df73, -27b93880, -0b818fb0, -0c8054a6, -397351b6, -e73f8008, +0c8c08d8, +050c8c08, +d405088c, +08d80508, +2e883880, +0b8c08dc, +050c8c08, +e0050881, +058c08e0, +050c8c08, +e805088c, +08e00508, +26ffa038, +8c08f405, +080d8c08, +dc05088d, +388c08fc, +05088207, +8c08fc05, +0c8c08ec, +05080881, +068c08d4, +050c8c08, +d4050880, +2ea33884, +568c08fc, +05558c08, +96052254, +8c089a05, +22538c08, +8c050852, +8c088b05, +3351a18d, +3f8c08f8, +05080d92, +3d0d8c0c, +04f73d0d, +60587780, +2eb73877, +08810657, +768c3881, +839c5192, +e63f7884, +07597882, +0759615a, +84180856, +8b3df805, +5502ba05, +225402be, +0522537c, +5202af05, +3351a0c1, +3f8b3d0d, +04f63d0d, +7c7e5957, +80705656, +74547652, +77538c3d, +f8055180, +d7f73f7a, +81061681, +165656bf, +7527e538, +75800c8c, +3d0d04e6, +3d0deef5, +3f92d452, +83808051, +9d823f92, +aa528380, +81519cf8, +3f949452, +83808551, +9cee3f9b, +9d528380, +86519ce4, +3f805682, +c0800870, +77315153, +8ad79873, +2785bc38, +805b8197, +e4089d3d, +ffbc0552, +5380ccaa, +3f8008ac, +140c8197, +e4087bb0, +120c5381, +9f9c08ff, +05819f9c, +0c819f9c, +08ff2e09, +810681a3, +388fd00b, +819f9c0c, +80c9e93f, +80548189, +397351bb, +b23f8008, 81ff0653, -72802e93, +72802e92, 387381ff, 06705253, -90e63f80, -08527251, -96813f81, -1454a294, -3f800874, -26d33880, -51b1fb3f, -8151b1f6, -3f82c080, -08569cd9, -3f80c2ac, -3f8187cc, -08818fb4, -0ba0120c, -8191b40b, -a4120c53, -80c00ba8, -140c83fa, -805181ce, -3f800854, -8008ff2e, -80c43881, -93b40881, -057081ff, -06708193, -b40c7183, -2b980652, -56537286, -38728193, -b80c7373, -2b8193b8, -08077081, -93b80c75, -81fc0681, -8fb40555, -740c8187, -cc087588, -120c53ff, -ad398187, -cc085381, -93bc088c, -14082ebf, -388193bc, -0870832b, -980671fc, -068191b4, -05700872, -2a555255, -5383fa80, -51ba3f81, -93bc0881, -057081ff, -06708193, -bc0c8187, -cc085651, -53728c15, -082e0981, -06c33881, -87cc0853, -8c808073, -0cfabe39, -803d0d72, -74710c51, -823d0d04, -fe3d0d74, -84115353, -71085170, -802ef938, -8c137671, -0c51843d, -0d04fe3d, -0d748811, -70085152, -53ff5270, -802e8738, -90137008, -53517180, -0c843d0d, -04fc3d0d, -765380fa, -89805277, -5180c4af, -3f8008ff, -057083ff, +80cc9b3f, +725180d3, +b93f8114, +70810670, +547581ff, +06705457, +545680d5, +c83f8008, +81ff0675, +525480cf, +8d3f7252, +745180d5, +b43f8008, +81ff0653, +73732eb3, +38800b81, +16810653, +75525480, +d59b3f80, +0881ff06, +5372742e, +09810683, +388254a8, +5374802e, +8338b853, +72842982, +c0b00574, +710c5375, +54a5fc3f, +80087426, +feef3881, +97e40898, +11085454, +72873872, +94150ca0, +39819fa0, +08732e8e, +38810b94, +150c800b, +819fa40c, +8b39819f, +a4088105, +819fa40c, +98140881, +9fa00c8f, +d00b819f, +a4082786, +38800b94, +150c800b, +819fa80b, +8e3d5a5b, +597881ff, +06558075, +a02982c2, +80055757, +87547570, +84055708, +7705ff15, +55577380, +25f03874, +842982c2, +80055487, +56730877, +05ff17a0, +16565757, +758025f1, +38748126, +8a387451, +96d53f80, +08175777, +08841908, +709f2a72, +10077110, +717c0c70, +841d0c71, +715b5952, +52555376, +7a082e87, +38738107, +73565674, +780c7584, +190c767a, +7084055c, +0c811988, +19595987, +7927fef5, +38819fc8, +08810581, +9fc80c7b, +7d555173, +52fbca3f, +80087e60, +56527453, +55fbbe3f, +8075832b, +819fc808, +bf065656, +58737527, +83388158, +800b8008, +832b5457, +73732783, +38815780, +51b8803f, +800881ff, +06558151, +b7f53f80, +0881ff06, +8197e408, +94110856, +54567380, +2e833881, +54845374, +83387453, +75802e85, +38728807, +5377802e, +85387290, +07538055, +77752e09, +81068638, +76752e83, +38815572, +75075376, +802e8538, +72a00753, +73802e85, +38728207, +537282c0, +800c819f, +cc088111, +819fcc0c, +5383d4df, +7327b938, +800b819f, +cc0c8054, +a6397351, +b6f93f80, +0881ff06, +5372802e, +93387381, +ff067052, +5390eb3f, +80085272, +51968c3f, +811454a2, +a63f8008, +7426d338, +8051b28d, +3f8151b2, +883f82c0, +8008569c, +eb3f80c2, +be3f8197, +e408819f, +d00ba012, +0c81a1d0, +0ba4120c, +5380c00b, +a8140c83, +fa805181, +ce3f8008, +548008ff, +2e80c438, +81a3d008, +81057081, ff067081, -ff06750c, -70882a84, -160c5154, -81800b88, -140c863d, -0d04fd3d, -0d75787a, -55555281, -5172802e, -81823890, -12087086, -2a708106, -51515170, -f238029b, -05337010, -81078c14, -0c518190, -0b90130c, -90120870, -812a7081, -06515151, -70f23890, -12087087, -2a708106, -70813251, -51515170, -802eb738, -72802eae, -3880e851, -72812e83, -38a05170, -90130c90, -12087081, -2a708106, -51515170, -f2388c12, -08517074, -70810556, -34ff1353, -cf398151, -873980c0, -0b90130c, -70800c85, +a3d00c71, +832b9806, +52565372, +86387281, +a3d40c73, +732b81a3, +d4080770, +81a3d40c, +7581fc06, +819fd005, +55740c81, +97e40875, +88120c53, +ffad3981, +97e40853, +81a3d808, +8c14082e, +bf3881a3, +d8087083, +2b980671, +fc0681a1, +d0057008, +722a5552, +555383fa, +8051ba3f, +81a3d808, +81057081, +ff067081, +a3d80c81, +97e40856, +5153728c, +15082e09, +8106c338, +8197e408, +538c8080, +730cf8e7, +39803d0d, +7274710c, +51823d0d, +04fe3d0d, +74841153, +53710851, +70802ef9, +388c1376, +710c5184, +3d0d04fe, +3d0d7488, +11700851, +5253ff52, +70802e87, +38901370, +08535171, +800c843d, +0d04fc3d, +0d765380, +fa898052, +775180d1, +ba3f8008, +ff057083, +ffff0670, +81ff0675, +0c70882a, +84160c51, +5481800b, +88140c86, 3d0d04fd, 3d0d7578, 7a555552, +81517280, +2e818238, 90120870, 862a7081, 06515151, 70f23802, 9b053370, -108c140c, -5181d051, -72802e84, -38819051, +1081078c, +140c5181, +900b9013, +0c901208, +70812a70, +81065151, +5170f238, +90120870, +872a7081, +06708132, +51515151, +70802eb7, +3872802e, +ae3880e8, +5172812e, +8338a051, 7090130c, 90120870, 812a7081, 06515151, -70f23890, -12087087, +70f2388c, +12085170, +74708105, +5634ff13, +53cf3981, +51873980, +c00b9013, +0c70800c, +853d0d04, +fd3d0d75, +787a5555, +52901208, +70862a70, +81065151, +5170f238, +029b0533, +70108c14, +0c5181d0, +5172802e, +84388190, +51709013, +0c901208, +70812a70, +81065151, +5170f238, +90120870, +872a7081, +06708132, +51515151, +70802e80, +cb387280, +2e80c138, +73338c13, +0c80d051, +72812e83, +38905170, +90130c90, +12087081, 2a708106, -70813251, 51515170, -802e80cb, -3872802e, -80c13873, -338c130c, -80d05172, -812e8338, -90517090, -130c9012, -0870812a, -70810651, -515170f2, -38901208, -70872a70, -81067081, -32515151, -5170802e, -8e388114, -ff145454, -ffbb3981, -51893980, -c00b9013, -0c805170, -800c853d, +f2389012, +0870872a, +70810670, +81325151, +51517080, +2e8e3881, +14ff1454, +54ffbb39, +81518939, +80c00b90, +130c8051, +70800c85, +3d0d04f6, +3d0d7c7e, +60625a5d, +5b568059, +81558539, +747a2955, +74527551, +80ceb43f, +80087a27, +ef387480, +2e80d838, +74527551, +80cea03f, +80087553, +76525480, +ceba3f80, +087a5375, +525680ce, +8a3f8008, +7930707b, +079f2a70, +77802407, +51515455, +72853880, +08ca3876, +8118b016, +55585889, +74258b38, +b714537a, +853880d7, +14537278, +34811959, +ffa43980, +77348c3d, 0d04f63d, 0d7c7e60, 625a5d5b, @@ -1210,17 +1294,17 @@ c00b9013, 55853974, 7a295574, 52755180, -c1a93f80, +cdad3f80, 087a27ef, 3874802e, 80d83874, 52755180, -c1953f80, +cd993f80, 08755376, -525480c1, -af3f8008, +525480cd, +b33f8008, 7a537552, -5680c0ff, +5680cd83, 3f800879, 30707b07, 9f2a7077, @@ -1237,394 +1321,362 @@ ca387681, 811959ff, a4398077, 348c3d0d, -04f63d0d, -7c7e6062, -5a5d5b56, -80598155, -8539747a, -29557452, -755180c0, -a23f8008, -7a27ef38, -74802e80, -d7387452, -755180c0, -8e3f8008, -75537652, -5480c0a8, -3f80087a, -53755256, -bff93f80, -08793070, -7b079f2a, -70778024, -07515154, -55728538, -8008cb38, -768118b0, -16555858, -8974258b, -38b71453, -7a853880, -d7145372, -78348119, -59ffa539, -8077348c, -3d0d04f7, -3d0d7b7d, -7f620290, -05bb0533, -5759565a, -5ab05872, -8338a058, -75707081, -05523371, -59545590, -39807425, -8e38ff14, -77708105, -59335454, -72ef3873, -ff155553, -80732589, -38775279, -51782def, -39753375, -57537280, -2e903872, +04f73d0d, +7b7d7f62, +029005bb, +05335759, +565a5ab0, +58728338, +a0587570, +70810552, +33715954, +55903980, +74258e38, +ff147770, +81055933, +545472ef, +3873ff15, +55538073, +25893877, 52795178, -2d757081, -05573353, -ed398b3d, -0d04ed3d, -0d65676a, -6a707081, -0552335b, -4b5c5f5f, -76802e83, -e93876a5, +2def3975, +33755753, +72802e90, +38725279, +51782d75, +70810557, +3353ed39, +8b3d0d04, +ed3d0d65, +676a6a70, +70810552, +335b4b5c, +5f5f7680, +2e83e938, +76a52e09, +810683d0, +38807071, +43697070, +81055233, +714c5a58, +5d4076b0, 2e098106, -83d03880, -70714369, -70708105, -5233714c, -5a585d40, -76b02e09, -81068c38, -75708105, -57337649, -578140d0, -17567589, -2680da38, -76687d5f, -5c599339, -778a2480, -c3387c8a, -29187b70, -81055d33, -5a5dd019, +8c387570, +81055733, +76495781, +40d01756, +75892680, +da387668, +7d5f5c59, +9339778a, +2480c338, +7c8a2918, +7b708105, +5d335a5d, +d0197081, +ff065858, +897727a4, +38ff9f19, 7081ff06, -58588977, -27a438ff, -9f197081, -ff06ffa9, -1b5a5156, -85762792, -38ffbf19, -7081ff06, -51567585, -268a38c9, -19587780, -25ffb938, -7a487c41, -7881ff06, -577680ec, +ffa91b5a, +51568576, +279238ff, +bf197081, +ff065156, +7585268a, +38c91958, +778025ff, +b9387a48, +7c417881, +ff065776, +80ec2e09, +81068a38, +67703358, +81054881, +5c7680e4, +2e80f238, +7680e424, +a7387680, +d82e81b8, +387680d8, +24903876, +802e82a8, +3876a52e, +82923882, +95397680, +e32e81e8, +38828b39, +7680f52e, +9b387680, +f5248b38, +7680f32e, +81dd3881, +f5397680, +f82e80fc, +3881eb39, +923d841b, +58587b80, +2e8e3877, +5480538a, +5279775b, +5680fe39, +77547b53, +8a527977, +5b568191, +39923d84, +1b58587b, +802ea538, +79777108, +7a5a525b, +56758025, +8c387530, +56ad7834, +0280c505, +57765480, +538a5275, +5180c539, +79777108, +7a5a525b, +56758025, +8c387530, +56ad7834, +0280c505, +5776547b, +538a5275, +5180c139, +923d587b, +802e9e38, +77547680, +d8327030, +70802555, +51569052, +79841b5b, +56750851, +f9e53f9f, +3977547b, +567680d8, 2e098106, -8a386770, +83388156, +75539052, +79841b5b, +56750851, +facc3f95, +3df40555, +7f549639, +79841b83, +1233545b, +56983979, +841b7108, +575b5680, +5460537d, +527e51fb, +ac3f8739, +76527e51, +7d2d6770, 33588105, -48815c76, -80e42e80, -f2387680, -e424a738, -7680d82e, -81b83876, -80d82490, -3876802e, -82a83876, -a52e8292, -38829539, -7680e32e, -81e83882, -8b397680, -f52e9b38, -7680f524, -8b387680, -f32e81dd, -3881f539, -7680f82e, -80fc3881, -eb39923d, -841b5858, -7b802e8e, -38775480, -538a5279, -775b5680, -fe397754, -7b538a52, -79775b56, -81913992, -3d841b58, -587b802e, -a5387977, -71087a5a, -525b5675, -80258c38, -753056ad, -78340280, -c5055776, -5480538a, -52755180, -c5397977, -71087a5a, -525b5675, -80258c38, -753056ad, -78340280, -c5055776, -547b538a, -52755180, -c139923d, -587b802e, -9e387754, -7680d832, -70307080, -25555156, -90527984, -1b5b5675, -0851f9e6, -3f9f3977, -547b5676, -80d82e09, -81068338, -81567553, -90527984, -1b5b5675, -0851facd, -3f953df4, -05557f54, -96397984, -1b831233, -545b5698, -3979841b, -7108575b, -56805460, -537d527e, -51fbac3f, -87397652, -7e517d2d, -67703358, -810548fc, -9339953d, -0d047281, -93c00c71, -8193c40c, -04fb3d0d, -883d7070, -84055208, -57547553, -8193c008, -528193c4, -0851fbd6, -3f873d0d, -04ff3d0d, -73700853, -51029305, -33723470, -08810571, -0c833d0d, -04fc3d0d, -873d8811, -557854ac, -f15351fb, -a93f8052, -873d51d1, -3f863d0d, -04803d0d, -72881108, -7008800c, -5151823d, +48fc9339, +953d0d04, +7281a3dc, +0c7181a3, +e00c04fb, +3d0d883d, +70708405, +52085754, +755381a3, +dc085281, +a3e00851, +fbd63f87, +3d0d04ff, +3d0d7370, +08535102, +93053372, +34700881, +05710c83, +3d0d04fc, +3d0d873d, +88115578, +54aebb53, +51fba93f, +8052873d, +51d13f86, +3d0d0480, +3d0d7288, +11087008, +800c5151, +823d0d04, +ff3d0d73, +88110884, +1208710c, +5351833d, 0d04ff3d, -0d738811, -08841208, -710c5351, +0d738411, +08810a07, +84120c70, +5252dd3f, +7151c83f, +800b8008, +24f63884, +1208fe0a, +0684130c, +7151c53f, 833d0d04, -ff3d0d73, -84110881, -0a078412, -0c705252, -dd3f7151, -c83f800b, -800824f6, -38841208, -fe0a0684, -130c7151, -c53f833d, -0d04f93d, -0d797b70, -58555580, -577b1458, -863d7052, -54ffab3f, -7351ffb8, -3f8c5373, -527451be, -b43f7480, -0c893d0d, -04fd3d0d, -75705254, -fefb3f80, -089f2a77, -8008bfff, -06710c53, -70535372, -802e8438, -73085271, -800c853d, -0d04fe3d, -0d745372, -51fed23f, +f93d0d79, +7b705855, +5580577b, +1458863d, +705254ff, +ab3f7351, +ffb83f8c, +53735274, +5180cbbd, +3f74800c, +893d0d04, +fd3d0d75, +705254fe, +fa3f8008, +9f2a7780, +08bfff06, +710c5370, +53537280, +2e843873, +08527180, +0c853d0d, +04fe3d0d, +74537251, +fed13f80, +089e2a70, +81065152, +71812e09, +8106eb38, +7208800c, +843d0d04, +fc3d0d76, +78841208, +820a07c0, +80067084, +140c7187, +06555754, +5471802e, +84388813, +5372bfff, +06750784, +150c7351, +fe9a3f73, +51fe843f, 80089e2a, 70810651, -5271812e, -098106eb, -38720880, -0c843d0d, -04fc3d0d, -76788412, -08820a07, -c0800670, -84140c71, -87065557, -54547180, -2e843888, -135372bf, -ff067507, -84150c73, -51fe9b3f, -7351fe85, -3f80089e, -2a708106, -515271f0, -38841408, -fd0a0684, -150c7351, -fdfc3f86, -3d0d04fc, -3d0d7678, -7a545555, -80537274, -278f3872, -10157022, -73058115, -555351ee, -3971902a, -5170802e, -8d387183, -ffff0672, -902a0552, -ec397180, -0c863d0d, -04f83d0d, -7a7c0288, -05b30533, -5b595780, -708193d8, +5271f038, +841408fd, +0a068415, +0c7351fd, +fb3f863d, +0d04fc3d, +0d76787a, +54555580, +53727427, +8f387210, +15702273, +05811555, +5351ee39, +71902a51, +70802e8d, +387183ff, +ff067290, +2a0552ec, +3971800c, +863d0d04, +f83d0d7a, +7c028805, +b305335b, +59578070, +81a3f457, +57548453, +74527651, +80c8ca3f, +80089938, +86537752, +731681a4, +f4055180, +c9ab3f78, +81a6b415, +3480cf39, +81148416, +85185856, +549f7427, +cd389f0b, +81a3f008, +27873880, +0b81a3f0, +0c81a3f0, +0870822b, +780881a3, +f4120c71, +10055154, +86537752, +81a4f414, +5180c8e5, +3f81a3f0, +08547881, +a6b41534, +811481a3, +f00c8a3d, +0d04803d, +0d028b05, +33708429, +81a6d405, +800c5182, +3d0d04fe, +3d0d0293, +05337084, +29711005, +81a6e405, +800c5284, +3d0d04fa, +3d0d7857, +80547381, +ff067052, +55c43f84, +53800852, +765180c7, +943f8008, +8a387451, +c63f8008, +54b83981, +14548374, +27d83880, +7081a3f4, 57575484, 53745276, -51bbc23f, -80089838, -86537752, -73168194, -d80551bc, -a43f7881, -96981534, -80ce3981, -14841685, -18585654, -9f7427cf, -389f0b81, -93d40827, -8738800b, -8193d40c, -8193d408, -70822b78, -088193d8, -120c7110, -05515486, -53775281, -94d81451, -bbdf3f81, -93d40854, -78819698, -15348114, -8193d40c, -8a3d0d04, -803d0d02, -8b053370, -84298196, -b805800c, -51823d0d, -04fe3d0d, -02930533, -70842971, -10058196, -c805800c, -52843d0d, -04fa3d0d, -78578054, -7381ff06, -705255c4, -3f845380, -08527651, -ba8f3f80, -088a3874, -51c73f80, -0854b739, -81145483, -7427d938, -80708193, -d8575754, -84537452, -7651b9e9, +5180c6ed, 3f80088a, 38731681, -94d80554, +a4f40554, 91398114, 84168518, 5856549f, -7427dd38, +7427dc38, 80547380, 0c883d0d, 04ff3d0d, -8193d008, +81a3ec08, 52718726, a838028f, 05335170, -8197f013, +81a88c13, 34029305, 33517081, -97f81334, +a8941334, 71842981, -98800576, +a89c0576, 710c5181, -128193d0, +1281a3ec, 0c833d0d, 04fe3d0d, -748193c8, -0cba9f53, +7481a3e4, +0cbbfa53, 80528851, -ffb73fbc, -ab538352, +ffb73fbe, +86538352, 8351ffad, 3f843d0d, 04fa3d0d, @@ -1633,56 +1685,57 @@ ab538352, 54865379, 52731074, 84290581, -96c80551, -b9c33f7a, -70088196, -b8170c54, -7b700881, -96e0170c, -54800b81, -9780160c, -883d0d04, -803d0d02, -8b053370, -84298196, -e005800c, -51823d0d, -04fd3d0d, -02970533, -705252fd, -bb3f8008, -08725254, -d73f7182, -2b800808, -09750781, -96f0120c, -8196f005, -800c853d, -0d04fb3d, -0d777957, -55805473, -81ff0651, -c43f8453, -74528008, -51b7d63f, +a6e40551, +80c6c63f, +7a700881, +a6d4170c, +547b7008, +81a6fc17, +0c54800b, +81a79c16, +0c883d0d, +04803d0d, +028b0533, +70842981, +a6fc0580, +0c51823d, +0d04fd3d, +0d029705, +33705252, +fdb83f80, +08087252, +54d73f71, +822b8008, +08097507, +81a78c12, +0c81a78c, +05800c85, +3d0d04fb, +3d0d7779, +57558054, +7381ff06, +51c43f84, +53745280, +085180c4, +d83f8008, +802ea438, +81145483, +7427e138, +7451fd97, +3f800854, 8008802e, -a3388114, -54837427, -e2387451, -fd9b3f80, -08548008, -802e9938, -86538008, -527551b8, -a43f8b39, -865381ff, -527551b9, -b13f8154, +9b388653, +80085275, +5180c5a5, +3f8c3986, +5381ff52, +755180c7, +f43f8154, 73800c87, 3d0d04ff, 3d0d028f, 05337084, -29819780, +2981a79c, 05700880, 0c525283, 3d0d0480, @@ -1690,15 +1743,15 @@ b13f8154, 33515170, 83268f38, 70842981, -97800570, +a79c0570, 08810571, 0c51823d, 0d04f73d, 0d7b7d60, 6373555b, 5b5b55d3, -3f8193c8, -0851f9be, +3f81a3e4, +0851f9b5, 3f800b80, 08831c82, 2a555854, @@ -1735,1510 +1788,1926 @@ ff145454, 84291753, 80730c78, 1a185281, -93c80851, -f8cb3f8b, +a3e40851, +f8c23f8b, 3d0d04ec, 3d0d0280, db053358, 778b3d34, 865381ff, 52963dd6, -0551b7a6, -3f7751fa, -d43f8670, -54800853, -973ddc05, -5257b5f9, -3f908602, -8405b605, -23810b90, -3d239080, -028405ba, -05237691, -3d348402, -8405bd05, -34810284, -05be0523, -7751fa99, -3f765380, -0852963d, -ec0551b5, -c03f7751, -f9f23f84, +055180c5, +e83f7751, +facd3f86, +70548008, +53973ddc, +05525780, +c2f73f90, +86028405, +b6052381, +0b903d23, +90800284, +05ba0523, +76913d34, +84028405, +bd053481, +028405be, +05237751, +fa913f76, 53800852, -963df205, -51b5ae3f, +963dec05, +5180c2bd, +3f7751f9, +e93f8453, +80085296, +3df20551, +80c2aa3f, 76538052, 963df605, -51b6bb3f, -67700846, -57805680, -55805480, -53b05296, -3dd00551, -fdb43f96, -3d0d04fe, -3d0d8193, -cc085372, -8f26a338, -72108197, -90050284, -05920522, -53517171, -23728429, -8197b005, -76710c51, -81138193, -cc0c843d, -0d04e73d, -0da13d08, -a33d08a5, -3d08028c, -0580ef05, -339d3d70, -5774565c, -5c5c5d5b, -fbd03f80, -0881ff06, -57768b38, -80f3ac51, -f4a73f81, -ee39788e, -3d348653, -77529b3d, -ce0551b4, -903f7851, -f8d73f86, -53800852, -9b3dd405, -51b3fe3f, -90800284, -0580c205, +5180c4f9, +3f677008, +46578056, +80558054, +8053b052, +963dd005, +51fdaf3f, +963d0d04, +fe3d0d81, +a3e80853, +728f26a3, +38721081, +a7ac0502, +84059205, +22535171, +71237284, +2981a7cc, +0576710c, +51811381, +a3e80c84, +3d0d04e7, +3d0da13d, +08a33d08, +a53d0802, +8c0580ef, +05339d3d, +70577456, +5c5c5c5d, +5bfbc83f, +800881ff, +0657768b, +388183c4, +51f4983f, +81f03978, +8e3d3486, +5377529b, +3dce0551, +80c18a3f, +7851f8cb, +3f865380, +08529b3d, +d4055180, +c0f73f90, +80028405, +80c20523, +818a800b, +933d239c, +1a577602, +840580c6, +0523800b, +943d2381, +80800284, +0580ca05, +2380c081, +0b953d23, +80028405, +80ce0523, +7851f7ea, +3f800808, +457a0846, +80538a52, +9b3ddc05, +51f68f3f, +80080957, +76028405, +80ce0523, +0280f305, +33577698, +3d340280, +f7053357, +76028405, +80d90534, +80028405, +80da0523, +0280fa05, +22577699, +3d230280, +fe052257, +76028405, +80de0523, +80538452, +9b3df005, +51f5bf3f, +80085379, +812a527b, +51f5b33f, +80080957, +76028405, +80da0523, +80568055, +79547b53, +b0529b3d, +c80551fa, +d53f9b3d, +0d04f93d, +0d7f587e, +577a5602, +b6052255, +02b20522, +54805380, +5202a705, +3351fdbb, +3f893d0d, +04e83d0d, +6ba13d08, +02880580, +eb05339b, +3d705673, +555b5b5b, +5bf9843f, +800881ff, +0657768b, +388183fc, +51f1d43f, +81b83978, +8d3d3486, +5377529a, +3dce0551, +bec73f78, +51f6883f, +86538008, +529a3dd4, +0551beb5, +3f908002, +8405be05, 23818a80, -0b933d23, +0b923d23, 9c1a5776, 02840580, -c6052380, -0b943d23, +c2052380, +0b933d23, 81808002, -840580ca, +840580c6, 052380c0, -810b953d, +910b943d, 23800284, -0580ce05, -237851f7, -f73f8008, -08457a08, -4680538a, -529b3ddc, -0551f69f, +0580ca05, +237851f5, +a93f8008, +08447a08, +4580538a, +529a3ddc, +0551f3ce, 3f800809, 57760284, -0580ce05, -230280f3, -05335776, -983d3402, -80f70533, -57760284, -0580d905, -34800284, -0580da05, -230280fa, +0580ca05, +230280f2, 05225776, -993d2302, -80fe0522, -57760284, -0580de05, -23805384, -529b3df0, -0551f5cf, -3f800853, -79812a52, -7b51f5c3, -3f800809, +973d2302, +80f60522, 57760284, -0580da05, -23805680, -5579547b, -53b0529b, -3dc80551, -fadc3f9b, -3d0d04f9, -3d0d7f58, -7e577a56, -02b60522, -5502b205, -22548053, -805202a7, -053351fd, -bd3f893d, -0d04e83d, -0d6ba13d, -08028805, -80eb0533, -9b3d7056, -73555b5b, -5b5bf98e, -3f800881, -ff065776, -8b3880f3, -e451f1e5, -3f81b839, -788d3d34, -86537752, -9a3dce05, -51b1ce3f, -7851f695, -3f865380, -08529a3d, -d40551b1, -bc3f9080, -028405be, -0523818a, -800b923d, -239c1a57, -76028405, -80c20523, -800b933d, -23818080, -02840580, -c6052380, -c0910b94, -3d238002, -840580ca, -05237851, -f5b63f80, -0808447a, -08458053, -8a529a3d, -dc0551f3, -de3f8008, -09577602, -840580ca, -05230280, -f2052257, -76973d23, -0280f605, -22577602, -840580d6, -0523881a, -5776983d, -23800284, -0580da05, -23805680, -5579546e, -53b0529a, -3dc80551, -f8d03f9a, -3d0d04f2, -3d0d6502, -840580c3, -05339412, -89133353, -5f5f5877, -912e0981, -0680d238, -800b8193, -cc085b59, -787a2780, -c4388197, -b00b8197, -905d5b7b, -7082055d, -227d2240, -58777f2e, -0981069e, -387d51f4, -8f3f8057, -8056821d, -22557754, -80085361, -527d517a, -0858772d, -8c398119, -841c5c59, -797926c7, -38903d0d, -04df3d0d, -8044a33d, -c4055281, -93c80851, -f0f33f80, -085d8008, -802e8584, -38800851, -f7993f94, -1d921e22, -5f5a7d90, -862e0981, -0682fa38, -7c337a22, -595b7781, +0580d605, +23881a57, +76983d23, +80028405, +80da0523, +80568055, +79546e53, +b0529a3d, +c80551f8, +c93f9a3d, +0d04f23d, +0d650284, +0580c305, +33941289, +1333535f, +5f587791, 2e098106, -84d63882, -1a225877, -90802e09, -810684c8, -38841a22, -58778c84, +80d23880, +0b81a3e8, +085b5978, +7a2780c4, +3881a7cc, +0b81a7ac, +5d5b7b70, +82055d22, +7d224058, +777f2e09, +81069e38, +7d51f482, +3f805780, +56821d22, +55775480, +08536152, +7d517a08, +58772d8c, +39811984, +1c5c5979, +7926c738, +903d0d04, +df3d0d80, +44a33dc4, +055281a3, +e40851f0, +e33f8008, +5d800880, +2e858438, +800851f7, +923f941d, +921e225f, +5a7d9086, 2e098106, -84ba3886, -1a225877, -822e0981, -06a43893, -3d598453, -a21d5278, -51aeba3f, -a13d5886, -539c1d52, -7751aead, -3f7a5377, -527851f1, -d03f861a, -22587781, +82fa387c, +337a2259, +5b77812e, +09810684, +d638821a, +22587790, +802e0981, +0684c838, +841a2258, +778c842e, +09810684, +ba38861a, +22587782, 2e098106, -83fe387a, -51f2c93f, -ac1d5f84, -53800852, -7e51ad91, -3f80085c, -800883e4, -387a51f2, -c43f8008, -587a963d, -349c1d59, -86537852, -a33dce05, -51ade23f, -7a51f2a9, -3f865380, -0852a33d, -d40551ad, -d03f7d02, -840580e2, -05237922, -9b3d2382, -1a220284, -0580e605, -23841a33, -9c3d3485, -1a330284, -0580e905, -34820284, -0580ea05, -23865377, -52a33de4, -0551ad95, -3f847054, -7f53a43d, -ea055258, -ad873f86, +a438933d, +598453a2, +1d527851, +bbb33fa1, +3d588653, +9c1d5277, +51bba63f, +7a537752, +7851f1c0, +3f861a22, +5877812e, +09810683, +fe387a51, +f2bc3fac, +1d5f8453, +8008527e, +51ba8a3f, +80085c80, +0883e438, +7a51f2b7, +3f800858, +7a963d34, +9c1d5986, 537852a3, -3dee0551, -acfb3f77, -53a21d52, -a33df405, -51acee3f, -7b567b55, -7b547b53, -b052a33d, -c80551f5, -853f82c0, -397f51f1, -8b3f7884, -298197b0, -0561f805, +3dce0551, +badb3f7a, +51f29c3f, +86538008, +52a33dd4, +0551bac9, +3f7d0284, +0580e205, +2379229b, +3d23821a, +22028405, +80e60523, +841a339c, +3d34851a, +33028405, +80e90534, +82028405, +80ea0523, +86537752, +a33de405, +51ba8e3f, +8470547f, +53a43dea, +055258ba, +803f8653, +7852a33d, +ee0551b9, +f43f7753, +a21d52a3, +3df40551, +b9e73f7b, +567b557b, +547b53b0, +52a33dc8, +0551f4fe, +3f82c039, +7f51f0fe, +3f788429, +81a7cc05, +61f80558, +881c5782, +1c22567b, +22558008, +54625360, +52700851, +58772d81, +bd397c51, +f0d43f77, +842981a8, +9c05f81d, 58881c57, -821c2256, -7b225580, -08546253, -60527008, -5158772d, -81bd397c, -51f0e13f, -77842981, -988005f8, -1d58881c, -57861c22, -56841c22, -55800854, -7e537d52, -70085158, -772d81ec, -397d9080, -2e098106, -81e238a8, -1d7a2270, -8c2a5a5a, -5b77842e, +861c2256, +841c2255, +8008547e, +537d5270, +08515877, +2d81ec39, +7d90802e, 09810681, -cf387888, -2a708f06, -51587785, -2e098106, -81be3886, -1a2280ff, -ff065978, -81b2387c, -33538c1d, -52a01d70, -5242eee9, -3f891a33, -5877912e, -098106bf, -387c3382, -1b22ec05, -8193cc08, -5e424080, -7c279e38, -821b2281, -9790405e, -7e708205, -40225877, -7e2efeb1, -38811959, -7b7926ec, -38821b22, -537a2252, -80f49851, -eaf73f89, -1a335877, -812e0981, -0680cd38, -7c338c1b, -821c22ec, -055e5f5d, -800b8193, -d0085b58, -777a27aa, -387a3359, -8197f018, -33407860, +e238a81d, +7a22708c, +2a5a5a5b, +77842e09, +810681cf, +3878882a, +708f0651, +5877852e, +09810681, +be38861a, +2280ffff, +06597881, +b2387c33, +538c1d52, +a01d7052, +42eed93f, +891a3358, +77912e09, +8106bf38, +7c33821b, +22ec0581, +a3e8085e, +4240807c, +279e3882, +1b2281a7, +ac405e7e, +70820540, +2258777e, +2efeb138, +8119597b, +7926ec38, +821b2253, +7a225281, +84b051ea, +e63f891a, +33587781, 2e098106, -9138811b, -338197f8, -1933415f, -7e602efd, -fe388118, -58797826, -db387a33, -5280f4c0, -51ea9e3f, -8193c808, -51eb8d3f, -a33d0d04, -820b800c, -04fd3d0d, -76548453, -83808002, -84059705, -33525270, -802e8738, -855383a0, -80527284, -2982c080, -0570087a, -9f065551, -5170802e, -80c13873, -94130c77, -9f067074, -852b0770, -a0800798, -150c5254, -810b9c13, -0c9c1208, -5170812e, -f8387285, +80cd387c, +338c1b82, +1c22ec05, +5e5f5d80, +0b81a3ec, +085b5877, +7a27aa38, +7a335981, +a88c1833, +4078602e, +09810691, +38811b33, +81a89419, +33415f7e, +602efdfe, +38811858, +797826db, +387a3352, +8184d851, +ea8d3f81, +a3e40851, +eafc3fa3, +3d0d0482, +0b800c04, +fd3d0d76, +54845383, +80800284, +05970533, +52527080, +2e873885, +5383a080, +52728429, +82c08005, +70087a9f, +06555151, +70802e80, +c1387394, +130c779f, +06707485, +2b0770a0, +80079815, +0c525481, +0b9c130c, +9c120851, +70812ef8, +3872852b, +740770b8, +80079814, +0c51810b, +9c130c9c, +12085170, +812ef838, +9c397285, 2b740770, -b8800798, +88800798, 140c5181, 0b9c130c, 9c120851, 70812ef8, -389c3972, -852b7407, -70888007, -98140c51, -810b9c13, -0c9c1208, -5170812e, -f8389012, -08800c85, -3d0d04f7, -3d0d7b02, -8405b305, -33585802, -b705338b, -3d348154, -8b3dfc05, -53765277, -51e0a43f, -800881ff, -0655ff56, -74802e9e, -3881548b, -3df80553, +38901208, +800c853d, +0d04f73d, +0d7b0284, +05b30533, +585802b7, +05338b3d, +3481548b, +3dfc0553, 76527751, -def03f80, +e0923f80, 0881ff06, -5574802e, -8538893d, -33567580, -0c8b3d0d, -04f73d0d, -7b5a8380, -80567980, -2e853883, -a0805680, -f4e051e8, -8c3f8176, -0c7981ff, -0680f588, -5259e7fd, -3f845481, -53805278, -51fde63f, -80088280, -80075884, -56838080, -5778802e, -87388556, -83a08057, -75842982, -c0800570, -08515675, -802eb438, -800b9418, -0ca1810b, -98180c81, -0b9c180c, -9c170856, -75812ef8, -38779018, -0ca9810b, -98180c81, -0b9c180c, -9c170856, -75812ef8, -38993977, -90180c91, -800b9818, -0c810b9c, -180c9c17, -08567581, -2ef83877, -8f2a5675, -81065675, -802e9338, +55ff5674, +802e9e38, +81548b3d, +f8055376, +527751de, +de3f8008, +81ff0655, +74802e85, +38893d33, +5675800c, +8b3d0d04, +f73d0d7b, +5a838080, +5679802e, +853883a0, +80568184, +f851e7fb, +3f81760c, +7981ff06, +8185a052, +59e7ec3f, 84548153, 80527851, -fcdb3f80, -088f2a56, -e63982c0, -a0567980, -2e853882, -c0a45675, -08708406, -70822a57, -58708206, -70812a56, -58810653, -795280f5, -b051e6b5, -3f8b3d0d, -04fa3d0d, -787a7c80, -f5f05459, -5754e6a1, -3f755280, -f5fc51e6, -983f80f6, -8051e691, -3f73862e, -83df3873, -86269b38, -73812e81, -91388174, -26ad3873, -842e81ff, -3873852e, -82d1388a, -9b397388, -2e85f538, -88742684, -9f387398, -2e888838, -7383ffff, -2e89b638, -89fe3980, -f68451e5, -c83f7652, -80f5fc51, -e5bf3f80, -f68051e5, -b83f8f55, -81752b77, -06547380, -2eb03874, -8f26ab38, -74842981, -83d40554, -73080480, -f6905197, -3980f698, -51913980, -f6a4518b, -3980f6b4, -51853980, -f6cc51e4, -fc3fff15, -55748025, -ffbe3888, -cd3980f6, -dc51e4e9, -3f765280, -f5fc51e4, -e03f80f6, -8051e4d9, +fde63f80, +08828080, +07588456, +83808057, +78802e87, +38855683, +a0805775, +842982c0, +80057008, +51567580, +2eb43880, +0b94180c, +a1810b98, +180c810b, +9c180c9c, +17085675, +812ef838, +7790180c, +a9810b98, +180c810b, +9c180c9c, +17085675, +812ef838, +99397790, +180c9180, +0b98180c, +810b9c18, +0c9c1708, +5675812e, +f838778f, +2a567581, +06567580, +2e933884, +54815380, +527851fc, +db3f8008, +8f2a56e6, +3982c0a0, +5679802e, +853882c0, +a4567508, +70840670, +822a5758, +70820670, +812a5658, +81065379, +528185c8, +51e6a43f, +8b3d0d04, +fa3d0d78, +7a7c8186, +88545957, +54e6903f, +75528186, +9451e687, +3f818698, +51e6803f, +73862e83, +df387386, +269b3873, +812e8191, +38817426, +ad387384, +2e81ff38, +73852e82, +d1388a9b, +3973882e, +85f53888, +7426849f, +3873982e, +88883873, +83ffff2e, +89b63889, +fe398186, +9c51e5b7, +3f765281, +869451e5, +ae3f8186, +9851e5a7, 3f8f5581, 752b7706, 5473802e, -b6387482, -2ea03874, -82248838, -74812e9c, -38b93974, -872e0981, -06b13880, -f6e851e4, -ac3f8655, -d23980f6, -f8519839, -80f78451, -e49b3f80, -55c13974, -822e0981, -068d3880, -f79851e4, -883f8155, -ffad39ff, -15557480, -25ffa438, -87d43980, -f7a851e3, -f03f7652, -80f5fc51, -e3e73f80, -f68051e3, -e03f8f55, -81752b77, -06547380, -2ea03874, -802e9438, -807524a0, -38748f24, -9b3880f7, -b851e3bd, -3f923980, -f7cc5183, -bd397488, -3880f7e0, -5183b339, -ff155574, -8025c538, -86fc3980, -f7f851e3, -983f7652, -80f5fc51, -e38f3f80, -f68051e3, -883f8f55, -81752b77, -06547380, -2e80c238, -748726bd, -38748429, -81849405, -54730804, -80f89051, -a93980f8, -a451a339, -80f8a851, -9d3980f8, -b0519739, -80f8b851, -913980f8, -c0518b39, -80f8c851, -853980f8, -d451e2b9, +b038748f, +26ab3874, +84298193, +ec055473, +08048186, +a8519739, +8186b051, +91398186, +bc518b39, +8186cc51, +85398186, +e451e4eb, 3fff1555, 748025ff, -ab38868a, -3980f8ec, -51e2a63f, -765280f5, -fc51e29d, -3f80f680, -51e2963f, +be3888cd, +398186f4, +51e4d83f, +76528186, +9451e4cf, +3f818698, +51e4c83f, 8f558175, 2b770654, -73802ebc, -38748e2e, -a038748e, +73802eb6, +3874822e, +a0387482, 24883874, -8d2ea138, -ab39748f, +812e9c38, +b9397487, +2e098106, +b1388187, +8051e49b, +3f8655d2, +39818790, +51983981, +879c51e4, +8a3f8055, +c1397482, 2e098106, -a33880f9, -8851e1e9, -3f8e55d2, -3980f99c, -51e1de3f, -8d55c739, -80f9b051, -e1d33f8c, -55ffbb39, +8d388187, +b051e3f7, +3f8155ff, +ad39ff15, +55748025, +ffa43887, +d4398187, +c051e3df, +3f765281, +869451e3, +d63f8186, +9851e3cf, +3f8f5581, +752b7706, +5473802e, +a0387480, +2e943880, +7524a038, +748f249b, +388187d0, +51e3ac3f, +92398187, +e45183bd, +39748838, +8187f851, +83b339ff, +15557480, +25c53886, +fc398188, +9051e387, +3f765281, +869451e2, +fe3f8186, +9851e2f7, +3f8f5581, +752b7706, +5473802e, +80c23874, +8726bd38, +74842981, +94ac0554, +73080481, +88a851a9, +398188bc, +51a33981, +88c0519d, +398188c8, +51973981, +88d05191, +398188d8, +518b3981, +88e05185, +398188ec, +51e2a83f, ff155574, -8025ffb2, -38859f39, -80f9c851, -e1bb3f76, -5280f5fc, -51e1b23f, -80f68051, -e1ab3f75, -812e0981, -0680f038, -768f0654, -738f2684, -f5387384, -298184b4, -05547308, -0480f9d4, -51818f39, -80f9e051, -81883980, -f9ec5181, -813980f9, -fc5180fa, -3980fa88, -5180f339, -80fa9451, -80ec3980, -faa45180, -e53980fa, -b05180de, -3980fac0, -5180d739, -80facc51, -80d03980, -fad85180, -c93980fa, -e45180c2, -3980faf4, -51bc3975, -832e0981, -06848738, -76830654, -73812ea0, -38817426, -a1387382, -2e903873, -832e0981, -0683eb38, -80fb8451, -913980fb, -94518b39, -80fba451, -853980fb, -b451dff5, -3f83cf39, -80fbc451, -dfeb3f76, -5280f5fc, -51dfe23f, -80f68051, -dfdb3f8f, +8025ffab, +38868a39, +81898451, +e2953f76, +52818694, +51e28c3f, +81869851, +e2853f8f, 5581752b, 77065473, -802e81ef, -38748f26, -81e93874, -84298184, -f4055473, -0804768e, -2a813270, -81065154, -73802e81, -ce3880fb, -d05181c4, -3975812e, -09810681, -be3880fb, -e45181b4, -3975812e, -09810681, -ae3880fb, -fc5181a4, -3980fc98, -51819d39, -80fcac51, -81963975, -812e0981, -06819038, -80fcc051, -81863975, -812e0981, -06818038, -80fce051, -80f63975, -812e0981, -0680f038, -80fac051, -80e63975, -812e0981, -0680e038, -80facc51, -80d63975, -812e0981, -0680d038, -80fad851, -80c63975, -812e0981, -0680c038, -80fae451, -b7397581, +802ebc38, +748e2ea0, +38748e24, +8838748d, +2ea138ab, +39748f2e, +098106a3, +388189a0, +51e1d83f, +8e55d239, +8189b451, +e1cd3f8d, +55c73981, +89c851e1, +c23f8c55, +ffbb39ff, +15557480, +25ffb238, +859f3981, +89e051e1, +aa3f7652, +81869451, +e1a13f81, +869851e1, +9a3f7581, 2e098106, -b23880fc, -f451a939, -75812e09, -8106a438, -80fd8051, -9b397581, +80f03876, +8f065473, +8f2684f5, +38738429, +8194cc05, +54730804, +8189ec51, +818f3981, +89f85181, +8839818a, +84518181, +39818a94, +5180fa39, +818aa051, +80f33981, +8aac5180, +ec39818a, +bc5180e5, +39818ac8, +5180de39, +818ad851, +80d73981, +8ae45180, +d039818a, +f05180c9, +39818afc, +5180c239, +818b8c51, +bc397583, 2e098106, -963880fd, -8c518d39, -75812e09, -81068838, -80f6d051, -dddf3fff, -15557480, -25fdfe38, -81b03980, -fd9851dd, -cc3f7652, -80f5fc51, -ddc33f80, -f68051dd, -bc3f8f55, +84873876, +83065473, +812ea038, +817426a1, +3873822e, +90387383, +2e098106, +83eb3881, +8b9c5191, +39818bac, +518b3981, +8bbc5185, +39818bcc, +51dfe43f, +83cf3981, +8bdc51df, +da3f7652, +81869451, +dfd13f81, +869851df, +ca3f8f55, 81752b77, 06547380, -2eba3874, -8c2680fd, -38748429, -8185b405, -54730804, -80fda851, -9d3980fd, -b8519739, -80fdd851, -913980fd, -e8518b39, -80fdf851, -853980fe, -8851dcf9, -3f80ca39, -74812eb2, -38748124, -88387480, -2eb438b9, -3974822e, -95387483, +2e81ef38, +748f2681, +e9387484, +2981958c, +05547308, +04768e2a, +81327081, +06515473, +802e81ce, +38818be8, +5181c439, +75812e09, +810681be, +38818bfc, +5181b439, +75812e09, +810681ae, +38818c94, +5181a439, +818cb051, +819d3981, +8cc45181, +96397581, 2e098106, -ac3880fe, -9851dcd1, -3f8255ff, -933980fe, -ac51dcc5, -3f8155ff, -873980fe, -c051dcb9, -3f7355fe, -fb3980fe, -d451fcb6, -39ff1555, -748025fe, -eb3880fe, -e85180c7, -39765280, -feec51dc, -943f769e, -80067088, -2a545476, -83e08006, -708c2a53, -5480ff88, -51dbfa3f, -768e0670, -812a5354, -80ff9851, -dbeb3f76, -81065473, -802e8838, -80ffa451, -dbdb3f81, -828c51db, -d43fa139, -80ffc051, -dbcb3f73, -5280f5fc, -51dbc23f, -80ffd851, -dbbb3f76, -5280f288, -51dbb23f, -883d0d04, -e53d0d6e, -02840580, -f7053358, -58a45381, -85e8529d, -3dd80551, -9b8f3f89, -3d55a853, -81868c52, -74519b81, -3f81828c, -51dafe3f, -74568955, -77548153, -75085276, -51f0e23f, -80084c6b, -53815275, -70840557, -0851f4ad, -3fff1555, -748025dc, -38933d56, -88557754, -83537508, -527651f0, -b83f8008, -4c6b5383, -52757084, -05570851, -f4833fff, -15557480, -25dc3881, -828c51da, -a43f9d3d, -0d04f93d, -0d795882, -c0a05577, -802e8538, -82c0a455, -74087083, +81903881, +8cd85181, +86397581, +2e098106, +81803881, +8cf85180, +f6397581, +2e098106, +80f03881, +8ad85180, +e6397581, +2e098106, +80e03881, +8ae45180, +d6397581, +2e098106, +80d03881, +8af05180, +c6397581, +2e098106, +80c03881, +8afc51b7, +3975812e, +098106b2, +38818d8c, +51a93975, +812e0981, +06a43881, +8d98519b, +3975812e, +09810696, +38818da4, +518d3975, +812e0981, +06883881, +86e851dd, +ce3fff15, +55748025, +fdfe3881, +b039818d, +b051ddbb, +3f765281, +869451dd, +b23f8186, +9851ddab, +3f8f5581, +752b7706, +5473802e, +ba38748c, +2680fd38, +74842981, +95cc0554, +73080481, +8dc0519d, +39818dd0, +51973981, +8df05191, +39818e80, +518b3981, +8e905185, +39818ea0, +51dce83f, +80ca3974, +812eb238, +74812488, +3874802e, +b438b939, +74822e95, +3874832e, +098106ac, +38818eb0, +51dcc03f, +8255ff93, +39818ec4, +51dcb43f, +8155ff87, +39818ed8, +51dca83f, +7355fefb, +39818eec, +51fcb639, +ff155574, +8025feeb, +38818f80, +5180c739, +7652818f, +8451dc83, +3f769e80, +0670882a, +54547683, +e0800670, +8c2a5354, +818fa051, +dbe93f76, +8e067081, +2a535481, +8fb051db, +da3f7681, +06547380, +2e883881, +8fbc51db, +ca3f8192, +a451dbc3, +3fa13981, +8fd851db, +ba3f7352, +81869451, +dbb13f81, +8ff051db, +aa3f7652, +8182a051, +dba13f88, +3d0d04e5, +3d0d6e02, +840580f7, +05335858, +a4538196, +80529d3d, +d80551a8, +883f893d, +55a85381, +96a45274, +51a7fa3f, +8192a451, +daed3f74, +56895577, +54815375, +08527651, +f0e23f80, +084c6b53, +81527570, +84055708, +51f4ad3f, +ff155574, +8025dc38, +933d5688, +55775483, +53750852, +7651f0b8, +3f80084c, +6b538352, +75708405, +570851f4, +833fff15, +55748025, +dc388192, +a451da93, +3f9d3d0d, +04f93d0d, +795882c0, +a0557780, +2e853882, +c0a45574, +0870832a, +70810651, +56567480, +2e8e3875, +81065377, +52819080, +51d9e03f, +75842a70, +81065155, +74802e92, +38758206, +70812a54, +55775281, +90a851d9, +c23f7585, 2a708106, -51565674, -802e8e38, -75810653, -775280ff, -e851d9f1, -3f75842a, +56577480, +2e923875, +84067082, +2a545577, +528190d4, +51d9a43f, +75b80655, +74802e80, +c6387587, +065574bf, +3882c090, +5577802e, +853882c0, +94557408, +5574812e, +098106a7, +387751f0, +e33f8452, +8051fdd3, +3f80e451, +83a93f84, +528051fd, +c63f80e4, +51839c3f, +84528051, +fdb93f76, +81065574, +802e82bd, +3875822a, 70810651, 5574802e, -92387582, -0670812a, -54557752, -81809051, -d9d33f75, -852a7081, -06565774, -802e9238, -75840670, -822a5455, -77528180, -bc51d9b5, -3f75b806, +8d387752, +8190fc51, +d8b53f82, +a4397752, +8191b851, +d8a93f83, +fc805677, +802e8538, +83f88056, +815182d7, +3f835380, +d0527551, +efa83f80, +0b800824, +81e43880, +08810655, +7481cb38, +8008842a, +70810651, 5574802e, -80c63875, -87065574, -bf3882c0, -90557780, -2e853882, -c0945574, -08557481, -2e098106, -a7387751, -f0e33f84, -528051fd, -d33f80e4, -5183a93f, -84528051, -fdc63f80, -e451839c, -3f845280, -51fdb93f, -76810655, -74802e82, -bd387582, -2a708106, -51557480, -2e8d3877, -528180e4, -51d8c63f, -82a43977, -528181a0, -51d8ba3f, -83fc8056, -77802e85, -3883f880, -56815182, -d73f8353, -80d05275, -51efa83f, -800b8008, -2481e438, -80088106, -557481cb, -38800884, +88388191, +f85181d6, +39800885, 2a708106, 51557480, 2e883881, -81e05181, -d6398008, -852a7081, +92905181, +c1398008, +862a7081, +06515574, +802e8838, +8192a851, +81ac3986, +5380d052, +7551eece, +3f800b80, +0824818a, +38800881, +06557480, +2e883881, +92c05181, +89398008, +812a7081, 06515574, 802e8838, -8181f851, -81c13980, -08862a70, +8192e051, +80f43980, +08832a70, 81065155, 74802e88, -38818290, -5181ac39, -865380d0, +38819380, +5180df39, +885380d0, 527551ee, -ce3f800b, -80082481, -8a388008, -81065574, -802e8838, -8182a851, -81893980, -08812a70, +813f800b, +800824be, +38800882, +2a813270, 81065155, -74802e88, -388182c8, -5180f439, -8008832a, -70810651, -5574802e, -88388182, -e85180df, -39885380, -d0527551, -ee813f80, -0b800824, -be388008, -822a8132, -70810651, -5574bc38, -8a5380d0, -527551ed, -e23f800b, -8008249f, -38800887, -2a708106, -51557480, -2e9d3892, +74bc388a, 5380d052, -7551edc3, -3f800880, -25873881, -8388518b, -398183a8, -51853981, -83b851d6, -a03f8198, -a0183356, -84548153, -81527781, -ff067052, -57ebfe3f, -8008822a, +7551ede2, +3f800b80, +08249f38, +8008872a, 70810651, -55748198, -a0193475, -93387480, -2e8e3876, -51daa13f, -80085276, -51dfbc3f, -893d0d04, -803d0d72, -8198a011, -33800c51, -823d0d04, -fd3d0d75, -54805372, -74259b38, +5574802e, +9d389253, +80d05275, +51edc33f, +80088025, +87388193, +a0518b39, +8193c051, +85398193, +d051d68f, +3f81a8bc, +18335684, +54815381, +527781ff, +06705257, +ebfe3f80, +08822a70, +81065155, +7481a8bc, +19347593, +3874802e, +8e387651, +da943f80, +08527651, +dfb53f89, +3d0d0480, +3d0d7281, +a8bc1133, +800c5182, +3d0d04fd, +3d0d7554, +80537274, +259b3882, +c0800852, 82c08008, -5282c080, -08707331, -51518ad7, -977127f1, -38811353, -e239853d, -0d04fd3d, -0d780284, -059f0533, -77bfffff, -06555254, -70802e86, -3872880a, -07537282, -0a075380, -0b83f68c, -0870842a, -70810651, -51525270, -722e9d38, -81125273, -72278538, -80519d39, -83f68c08, -70842a70, -81065151, -5170e538, -7683f680, -0c7283f6, -840c8151, -70800c85, -3d0d04fc, -3d0d777a, -028805a3, -053379bf, -ffff0656, -53565470, +70733151, +518ad797, +7127f138, +811353e2, +39853d0d, +04fd3d0d, +78028405, +9f053377, +bfffff06, +55525470, 802e8638, 72880a07, -5372840a, +5372820a, 0753800b, 83f68c08, 70842a70, 81065151, 52527072, -2e993881, -12527175, -26b73883, +2e9d3881, +12527372, +27853880, +519d3983, f68c0870, 842a7081, 06515151, -70e93873, -802e8438, -80740c72, -83f6840c, -800b83f6, -8c087081, -06515252, -70722e99, -38811252, -74722785, -3880519a, -3983f68c, +70e53876, +83f6800c, +7283f684, +0c815170, +800c853d, +0d04fc3d, +0d777a02, +8805a305, +3379bfff, +ff065653, +56547080, +2e863872, +880a0753, +72840a07, +53800b83, +f68c0870, +842a7081, +06515152, +5270722e, +99388112, +52717526, +b73883f6, +8c087084, +2a708106, +51515170, +e9387380, +2e843880, +740c7283, +f6840c80, +0b83f68c, 08708106, -515170e9, -3873802e, -873883f6, -8808740c, -81517080, -0c863d0d, -04f63d0d, -7d7f5a5a, -817d9fff, -ff069880, -80075957, -80567579, -27af3875, -16558280, -80548153, -8c3dfc05, -52741851, -feb93f80, -0881ff06, -7a165657, -02aa0522, -75238116, -56757927, -843876d3, -3876800c, -8c3d0d04, +51525270, +722e9938, +81125274, +72278538, +80519a39, +83f68c08, +70810651, +5170e938, +73802e87, +3883f688, +08740c81, +5170800c, +863d0d04, f63d0d7d, -7f713070, -73078025, -7073a026, -07515157, -595a8056, -74762e09, -810681ee, -38828080, -54815381, -aa528888, -51fd833f, -800881ff, -06568280, -80548153, -80d55288, -8051fcee, -3f800876, -06567580, -2eb13882, -80805481, -53a55298, -808051fc, -d53f8008, -81ff0656, -75802e97, -38828080, -548153ff, -18529880, -8051fcba, -3f800881, -ff06567c, -9fffff06, -98808007, -59805776, -7827a838, -75802e9e, -3876177a, -11702251, -57558280, -80548153, -75527419, -51fc873f, -800881ff, -06568117, -57d53975, -802e9638, +7f5a5a81, +7d9fffff, +06988080, +07595780, +56757927, +af387516, +55828080, +5481538c, +3dfc0552, +741851fe, +b93f8008, +81ff067a, +16565702, +aa052275, +23811656, +75792784, +3876d338, +76800c8c, +3d0d04f6, +3d0d7d7f, +71307073, +07802570, +73a02607, +51515759, +5a805674, +762e0981, +0681ee38, 82808054, -8153a952, -98808051, -fbe83f80, +815381aa, +52888851, +fd833f80, 0881ff06, -56771855, -82808054, -81538c3d, -fc055274, -19fe0551, -fcb13f80, -08760656, -75802e9e, -38817a16, -028805aa, -0522fe12, -22707232, -872a7075, -06515152, -59565674, -c4387580, -0c8c3d0d, -04f73d0d, -82808054, -80538199, -d45281c0, -51fbf03f, +56828080, +54815380, +d5528880, +51fcee3f, +80087606, +5675802e, +b1388280, +80548153, +a5529880, +8051fcd5, +3f800881, +ff065675, +802e9738, 82808054, -80538199, -d05281e0, -51fbe03f, -81588280, -80548053, -98819152, -81c051fa, -e93f8008, -78065776, -802e8338, -77578280, -80548053, -fdf5b6fd, -ef528480, -51facb3f, +8153ff18, +52988080, +51fcba3f, 800881ff, -06770657, -76802e83, -38775782, -80805477, -5381acf8, -52848451, -faac3f80, +06567c9f, +ffff0698, +80800759, +80577678, +27a83875, +802e9e38, +76177a11, +70225157, +55828080, +54815375, +52741951, +fc873f80, +0881ff06, +56811757, +d5397580, +2e963882, +80805481, +53a95298, +808051fb, +e83f8008, +81ff0656, +77185582, +80805481, +538c3dfc, +05527419, +fe0551fc, +b13f8008, +76065675, +802e9e38, +817a1602, +8805aa05, +22fe1222, +70723287, +2a707506, +51515259, +565674c4, +3875800c, +8c3d0d04, +f73d0d82, +80805480, +5381b9c8, +5281c051, +fbf03f82, +80805480, +5381b9c4, +5281e051, +fbe03f81, +58828080, +54805398, +81915281, +c051fae9, +3f800878, +06577680, +2e833877, +57828080, +548053fd, +f5b6fdef, +52848051, +facb3f80, 0881ff06, 77065776, 802e8338, -77578a3d, -59828080, -54775378, -528051fa, -f23f8008, +77578280, +80547753, +81acf852, +848451fa, +ac3f8008, +81ff0677, +06577680, +2e833877, +578a3d59, +82808054, +77537852, +8051faf2, +3f800881, +ff067706, +5776802e, +83387757, +82808054, +77537952, +848651f9, +f03f8008, 81ff0677, 06577680, 2e833877, 57828080, -54775379, -52848651, -f9f03f80, +54805378, +52848051, +fab83f80, 0881ff06, 77065776, 802e8338, -77578280, +775779fd, +f5b6fdef, +32703070, +72077009, +709f2c7c, +065c5151, +57558280, 80548053, -78528480, -51fab83f, +78528484, +51fa833f, 800881ff, 06770657, 76802e83, -38775779, -fdf5b6fd, -ef327030, -70720770, -09709f2c, -7c065c51, -51575582, -80805480, -53785284, -8451fa83, -3f800881, -ff067706, -5776802e, -83388157, -77810658, -7987d6c1, -acf82e83, -38805880, -5576802e, -88387780, -2e833881, -557481ff, -06800c8b, -3d0d04fd, -3d0d8280, +38815777, +81065879, +87d6c1ac, +f82e8338, +80588055, +76802e88, +3877802e, +83388155, +7481ff06, +800c8b3d, +0d04fd3d, +0d828080, +54805381, +b9c80852, +81c051f8, +d43f8280, 80548053, -8199d408, -5281c051, -f8d43f82, -80805480, -538199d0, -085281e0, -51f8c33f, -853d0d04, -fc3d0d76, -912b5582, -80805480, -53745281, -e051f8aa, -3f800881, -ff06800c, -863d0d04, -fa3d0d82, -80805481, -5381aa52, -888851f8, -8d3f8008, -81ff0655, -74802e81, -b0388280, +81b9c408, +5281e051, +f8c33f85, +3d0d04fc, +3d0d7691, +2b558280, +80548053, +745281e0, +51f8aa3f, +800881ff, +06800c86, +3d0d04fa, +3d0d8280, 80548153, -80d55288, -8051f7f2, +81aa5288, +8851f88d, 3f800881, ff065574, -802e8195, +802e81b0, 38828080, -54815381, -80528888, -51f7d73f, +54815380, +d5528880, +51f7f23f, 800881ff, 06557480, -2e80fa38, +2e819538, 82808054, -815381aa, +81538180, 52888851, -f7bc3f80, +f7d73f80, 0881ff06, 5574802e, -80df3882, +80fa3882, 80805481, -5380d552, -888051f7, -a13f8008, +5381aa52, +888851f7, +bc3f8008, 81ff0655, 74802e80, -c4388280, +df388280, 80548153, -b0529880, -8051f786, +80d55288, +8051f7a1, 3f800881, ff065574, -802eaa38, -82808054, -8153883d, -fc055298, -808051f7, -ce3f8008, -81ff0602, -84059a05, -22575575, -83ffff2e, -098106d3, -3874800c, -883d0d04, -fd3d0d82, -80805480, -53815280, -d851f6ba, -3f853d0d, -04fa3d0d, -82808054, -8053883d, -fc055280, -d851f787, +802e80c4, +38828080, +548153b0, +52988080, +51f7863f, +800881ff, +06557480, +2eaa3882, +80805481, +53883dfc, +05529880, +8051f7ce, 3f800881, -06558356, -74802e86, -38029b05, -33567580, -0c883d0d, -04fe3d0d, -800b83f6, -8c087084, -2a708106, -51515252, -70722ea2, -388199d8, -08538112, -52727227, -85388051, -9f3983f6, -8c087084, +ff060284, +059a0522, +57557583, +ffff2e09, +8106d338, +74800c88, +3d0d04fd, +3d0d8280, +80548053, +815280d8, +51f6ba3f, +853d0d04, +fa3d0d82, +80805480, +53883dfc, +055280d8, +51f7873f, +80088106, +55835674, +802e8638, +029b0533, +5675800c, +883d0d04, +fe3d0d80, +0b83f68c, +0870842a, +70810651, +51525270, +722ea238, +81b9cc08, +53811252, +72722785, +3880519f, +3983f68c, +0870842a, +70810651, +515170e5, +387483f6, +800c810a, +0b83f684, +0c815170, +800c843d, +0d04fe3d, +0d7483f6, +8c087081, 2a708106, -51515170, -e5387483, -f6800c81, -0a0b83f6, -840c8151, -70800c84, -3d0d04fe, -3d0d7483, -f68c0870, -812a7081, -06515152, -5370802e, -80e43880, -e1a10b81, -99ec0c83, -f6800881, -99e40c83, -f6840870, -bfffff06, -8199e00c, -709c2a70, -81065152, -52708199, -e834719d, +51515253, +70802e80, +e43880e2, +fc0b81b9, +e00c83f6, +800881b9, +d80c83f6, +840870bf, +ffff0681, +b9d40c70, +9c2a7081, +06515252, +7081b9dc, +34719d2a, +70810651, +5170802e, +8938810b, +81b9d034, +9b39719e, 2a708106, 51517080, -2e893881, -0b8199dc, -349b3971, -9e2a7081, -06515170, -802e8938, -820b8199, -dc348639, -708199dc, -348199dc, -730c8151, -84397073, -0c70800c, -843d0d04, -fb3d0d87, -3dfc0551, -fef13f80, -0881ff06, -5372802e, -80c53875, -8c113354, -5572bc38, -74335372, -822e0981, -068e3884, -15088816, -08710c54, -8153a639, -72812e09, -81069c38, -84150870, -08515382, -80805272, -51901508, -53722d80, -0881ff06, -53833980, -5372800c, -873d0d04, -f93d0d79, -7b575780, -70565474, -802e8a38, -751451ba, -71348114, -54751475, -18703370, -842a545a, -54528186, -b4113372, -34811476, -1174338f, -06535354, -8186b411, -33723481, -14811656, -54857527, -c2387514, -51807134, -75800c89, +2e893882, +0b81b9d0, +34863970, +81b9d034, +81b9d073, +0c815184, +3970730c, +70800c84, +3d0d04fb, +3d0d873d, +fc0551fe, +f13f8008, +81ff0653, +72802e80, +c538758c, +11335455, +72bc3874, +33537282, +2e098106, +8e388415, +08881608, +710c5481, +53a63972, +812e0981, +069c3884, +15087008, +51538280, +80527251, +90150853, +722d8008, +81ff0653, +83398053, +72800c87, 3d0d04f9, 3d0d797b, -83123358, -82123357, -81123356, -71335581, -86c45470, -535957c8, -bc3f7780, -0c893d0d, -04fe3d0d, -8198a408, -81058306, -708198a4, -0c701011, -70882981, -98a80554, -51537451, -fee23f84, +57578070, +56547480, +2e8a3875, +1451ba71, +34811454, +75147518, +70337084, +2a545a54, +528196cc, +11337234, +81147611, +74338f06, +53535481, +96cc1133, +72348114, +81165654, +857527c2, +38751451, +80713475, +800c893d, +0d04f93d, +0d797b83, +12335882, +12335781, +12335671, +33558196, +dc547053, +5957c8ab, +3f77800c, +893d0d04, +fe3d0d81, +a8c00881, +05830670, +81a8c00c, +70101170, +882981a8, +c4055451, +537451fe, +e23f843d, +0d04fe3d, +0d81a9a4, +08810583, +067081a9, +a40c7090, +2981a9a8, +05535374, +51ff973f, +843d0d04, +ff3d0d81, +a9e82281, +05517081, +a9e82383, 3d0d04fe, -3d0d8199, -88088105, -83067081, -99880c70, -90298199, -8c055353, -7451ff97, -3f843d0d, +3d0d7451, +80528811, +08802e9b, +3881a9e8, +22821222, +71713170, +83ffff06, +51515253, +70822683, +38815271, +81ff0680, +0c843d0d, +04ff3d0d, +7375982b, +70982c51, +53510296, +05227123, +81a9e822, +82122371, +84123476, +70088813, +0c52833d, +0d04f53d, +0d7d7f63, +62982b70, +982c0294, +0580c205, +225f515e, +5e595980, +57767827, +80de3878, +567551fe, +fe3f8008, +81ff0655, +74802eb6, +38881608, +7c082e09, +8106b538, +84163355, +7a752e09, +8106a938, +75225580, +5779752e, +8e387975, +31902b55, +76752483, +38815776, +5574802e, +b6387b54, +79537a52, +7551a739, +81178c17, +57577777, +26ffa638, +77101870, +8429f405, +54557852, +8c195193, +c53f7b54, +79537a52, +7851febd, +3f815776, +800c8d3d, +0d04803d, +0d725181, +80710c81, +b1b00b80, +0c823d0d, +04fe3d0d, +7481b1b0, +525380ff, +52700873, +082e0981, +06893880, +710c800b, +84120cff, +12881252, +52718025, +e438843d, +0d04f63d, +0d02b305, +3370525b, +cbb83f80, +58805780, +085681a9, +ec228111, +5a5a7881, +a9ec2379, +83ffff06, +55848054, +80538f52, +7a51cfd7, +3f8c3d0d, +04f33d0d, +7f616365, +73127033, +5b595e5f, +5d5e7580, +dc388175, +347581b1, +b40b81b1, +b05a5a5a, +7d822b1c, +7808881a, +5a565674, +76082e09, +8106ad38, +8056757b, +27a6387b, +57767084, +05580855, +7479082e, +0981068c, +387a547c, +537b5275, +51ffa63f, +8116567a, +7626de38, +811a881a, +5a5a80ff, +7a27ffb4, +388f3d0d, +04fed43d, +0d81af3d, +085d8070, +81b1b00b, +b13d5f5b, +5c577808, +5574802e, +b3388419, +08802eac, +38805675, +77279a38, +74af3d5b, +58797084, +055b0855, +74782e94, +38811656, +767626ed, +3878087c, +7084055e, +0c811757, +811b881a, +5a5b80ff, +7b27ffba, +38805675, +77279238, +8e3d5875, +18558075, +34811656, +767626f3, +38805675, +7727ae38, +ae3d5877, +70840559, +0855747d, +082e0981, +06933876, +5481ae3d, +fb801154, +fc800552, +7551fded, +3f811656, +767626d7, +38805675, +7727b538, +81b03d08, +7008903d, +b13d5c5c, +59557870, +84055a08, +5574782e, +09810690, +38751a70, +33515574, +802e8538, +81558b39, +81165676, +7626db38, +80557480, +0c81ae3d, +0d04fb3d, +0d029f05, +33568055, +b0397575, +2ea83875, +822b81b9, +b0057511, +7681ff06, +535153c5, +cd3f8008, +765254c5, +c53f7352, +800851fd, +e03f8008, +73348115, +55d6fc3f, +80087526, +c938873d, +0d04ef3d, +0d650284, +0580cf05, +33028805, +80d20522, +88137059, +71587298, +2b70982c, +585d4042, +425e80c0, +5281abb0, +51fa8f3f, +800881ff, +06597880, +2e82bb38, +81abb85c, +bf0b81ab, +b05b5b88, +1a08802e, +9e3881a9, +e822821b, +22717131, +7083ffff, +06515b43, +5f827927, +86387b51, +fb8b3fff, +1b8c1b8c, +1e5e5b5b, +7a8025cf, +387c51fa, +f83f8070, +5a5f9a39, +7881ff06, +51c49f3f, +881e0880, +08082e09, +81068338, +815f8119, +59d5d43f, +80087926, +df38805c, +7d087c2e, +80d9388c, +1e5b7e80, +2e883884, +1e087c26, +bd38800b, +81b1b05a, +5a78088c, +387c0879, +0c7a0884, +1a0ca739, +811a881a, +5a5a80ff, +7a27e638, +87f85381, +b1b05281, +b1b8518d, +a53f7c08, +81b1b00c, +7a0881b1, +b40c811c, +841c5c5c, +7d087c26, +ffac3881, +a9f80bfc, +115b5b80, +5d8f5c7c, +842981a9, +f0055988, +1908881f, +082ebc38, +7851f7bb, +3f800881, +ff065978, +802eac38, +793351e8, +ea3f8008, +81ff0659, +78802e9b, +387d0884, +298c0558, +7d577a56, +7f558481, +5480538f, +52793351, +c9cd3fff, +1c831e8c, +1c8c1e5e, +5c5e5c7b, +8025ffa3, +386051fc, +c53f933d, +0d04f53d, +0d620284, +05b70533, +02880580, +c2052202, +8c0580c6, +05225d5b, +5d5b7884, +802e8938, +7884812e, +98389f39, +63587a57, +7e567955, +78548053, +90527b51, +c8f53f8a, +397a5379, +527b51fc, +c13f8d3d, +0d04fdf7, +3d0d0288, +af05335a, +805981c2, +398b3d55, +88805380, +5274518c, +f43f7881, +ff0651c1, +c13f8008, +085d8075, +0c805c80, +56ad3978, +762ea538, +74088429, +158c1177, +81ff0653, +76088105, +770c5154, +c1983f80, +0808740c, +84150881, +0584160c, +811656d2, +ce3f8008, +7626cc38, +800b81a9, +f0575874, +08822b90, +11555773, +87ff26b9, +387551f5, +9e3f8008, +81ff0654, +73802e9d, +38841633, +5478742e, +09810691, +3874178c, +05881708, +710c5474, +08810575, +0c81188c, +1757588f, +7827ffbb, +38745381, +a9ec2281, +11555573, +81a9ec23, +7483ffff, +06527951, +faf03f81, +1959d1db, +3f800879, +26feb638, +828b3d0d, +04fa3d0d, +02a30533, +028405ae, +05225757, +7584802e, +098106a9, +38795502, +b2052254, +76982b70, +982c5456, +905281a9, +f051f4ea, +3f800881, +ff065675, +802e8638, +7651fde2, +3f883d0d, +04ff3d0d, +028f0533, +70842981, +b9b00502, +88059305, +33710570, +33800c51, +5252833d, +0d04fa3d, +0d80f0a2, +5380528f, +51c0a63f, +80f2cd53, +80529051, +c09b3f80, +0b81b9b0, +57578055, +74165481, +74348115, +55837527, +f3388117, +84175757, +837727e6, +38883d0d, 048c0802, 8c0cf53d, 0d8c0894, @@ -3513,114 +3982,163 @@ f0125271, 0cfc1252, 718326ed, 387054ff, -8339fc3d, -0d767971, -028c059f, -05335755, -53558372, -278a3874, -83065170, -802ea238, +8339fa3d, +0d787a7c, +72727257, +57575956, +56747627, +b2387615, +51757127, +aa387077, +17ff1454, +555371ff, +2e9638ff, +14ff1454, +54723374, +34ff1252, +71ff2e09, +8106ec38, +75800c88, +3d0d0476, +8f269738, ff125271, -ff2e9338, -73737081, -055534ff, -125271ff, -2e098106, -ef387480, -0c863d0d, -04747488, -2b750770, -71902b07, -5154518f, -7227a538, -72717084, +ff2eed38, +72708105, +54337470, +81055634, +eb397476, +07830651, +70e23875, +75545172, +70840554, +08717084, 05530c72, +70840554, +08717084, +05530c72, +70840554, +08717084, +05530c72, +70840554, +08717084, +05530cf0, +1252718f, +26c93883, +72279538, +72708405, +54087170, +8405530c, +fc125271, +8326ed38, +7054ff88, +39fc3d0d, +76797102, +8c059f05, +33575553, +55837227, +8a387483, +06517080, +2ea238ff, +125271ff, +2e933873, +73708105, +5534ff12, +5271ff2e, +098106ef, +3874800c, +863d0d04, +7474882b, +75077071, +902b0751, +54518f72, +27a53872, 71708405, 530c7271, 70840553, 0c727170, 8405530c, -f0125271, -8f26dd38, -83722790, -38727170, -8405530c, -fc125271, -8326f238, -7053ff90, -39fd3d0d, -800b8186, -f4085454, -72812e9d, -38738199, -cc0cff99, -d33fff98, -ef3f8187, -d0528151, -ffad823f, -800851a3, -3f728199, -cc0cff99, -b73fff98, -d33f8187, -d0528151, -fface63f, -80085187, -3f00ff39, -00ff39f7, -3d0d7b81, -87d40882, -c811085a, -545a7780, -2e80da38, -81881884, -1908ff05, -81712b59, -55598074, -2480ea38, -807424b5, -3873822b, -78118805, -56568180, -19087706, -5372802e, -b6387816, -70085353, -79517408, +72717084, +05530cf0, +1252718f, +26dd3883, +72279038, +72717084, +05530cfc, +12527183, +26f23870, +53ff9039, +fd3d0d80, +0b81978c, +08545472, +812e9d38, +7381b9c0, +0cff89bc, +3fff88d8, +3f8197e8, +528151ff, +9cdd3f80, +0851a33f, +7281b9c0, +0cff89a0, +3fff88bc, +3f8197e8, +528151ff, +9cc13f80, +0851873f, +00ff3900, +ff39f73d, +0d7b8197, +ec0882c8, +11085a54, +5a77802e, +80da3881, +88188419, +08ff0581, +712b5955, +59807424, +80ea3880, +7424b538, +73822b78, +11880556, +56818019, +08770653, +72802eb6, +38781670, +08535379, +51740853, +722dff14, +fc17fc17, +79812c5a, +57575473, +8025d638, +77085877, +ffad3881, +97ec0853, +bc1308a5, +387951ff, +833f7408, 53722dff, 14fc17fc, 1779812c, 5a575754, -738025d6, -38770858, -77ffad38, -8187d408, -53bc1308, -a5387951, -ff833f74, -0853722d, -ff14fc17, -fc177981, -2c5a5757, -54738025, -ffa838d1, -398057ff, -93397251, -bc130853, -722d7951, -fed73fff, -3d0d818e, -d80bfc05, +738025ff, +a838d139, +8057ff93, +397251bc, +13085372, +2d7951fe, +d73fff3d, +0d819ef0, +0bfc0570, +08525270, +ff2e9138, +702dfc12, 70085252, -70ff2e91, -38702dfc, -12700852, -5270ff2e, -098106f1, -38833d0d, -0404ff98, -bc3f0400, +70ff2e09, +8106f138, +833d0d04, +04ff88a5, +3f040000, 00000040, 00000000, 58333030, @@ -4213,75 +4731,75 @@ bc3f0400, 46502b20, 74797065, 2e0a0000, -000023cf, -000023d6, -000023c9, -000023c9, -000023c9, -000023c9, -000023d6, -000023d6, -000023d6, -000023d6, -000023d6, -000023c3, -000023d6, -000023d6, -000023bd, -000023b7, -00002512, -0000250c, -00002506, -00002500, -000024fa, -000024f4, -000024ee, -000024e8, -00002619, -0000282e, -0000282e, -0000282e, -00002612, -0000260b, -00002604, -000025fd, -000025f6, -000025ef, -000025e8, +000024aa, +000024b1, +000024a4, +000024a4, +000024a4, +000024a4, +000024b1, +000024b1, +000024b1, +000024b1, +000024b1, +0000249e, +000024b1, +000024b1, +00002498, +00002492, +000025ed, +000025e7, 000025e1, -000025da, -000025d3, -000025cc, -000025c5, -00002764, -00002756, -00002748, -0000273a, -0000272b, -0000271b, -0000270b, -000026fb, -000026eb, -000026db, -000026d4, -000026cd, -000026bd, -000026ad, -00002773, -00002696, -000027d2, -000027cc, +000025db, +000025d5, +000025cf, +000025c9, +000025c3, +000026f4, +00002909, +00002909, +00002909, +000026ed, +000026e6, +000026df, +000026d8, +000026d1, +000026ca, +000026c3, +000026bc, +000026b5, +000026ae, +000026a7, +000026a0, +0000283f, +00002831, +00002823, +00002815, +00002806, +000027f6, +000027e6, +000027d6, 000027c6, -000027c0, -00002825, -00002825, -00002825, -00002825, -00002825, -00002825, -00002825, -000027ba, -000027b4, +000027b6, +000027af, +000027a8, +00002798, +00002788, +0000284e, +00002771, +000028ad, +000028a7, +000028a1, +0000289b, +00002900, +00002900, +00002900, +00002900, +00002900, +00002900, +00002900, +00002895, +0000288f, 00000000, 00000001, 00000004, @@ -4319,7 +4837,7 @@ ffffff00, 00000000, 00000000, 00000000, -00004760, +00004f78, 00000000, 00000000, 0050c285, @@ -4340,12 +4858,12 @@ c0a82802, 00000000, 00000000, 00006000, -00004350, -000043d8, +00004b68, +00004bf0, 00000000, -00004640, -0000469c, -000046f8, +00004e58, +00004eb4, +00004f10, 00000000, 00000000, 00000000, @@ -4355,7 +4873,7 @@ c0a82802, 00000000, 00000000, 00000000, -0000435c, +00004b74, 00000000, 00000000, 00000000, @@ -7673,522 +8191,4 @@ ffffffff, 00000000, 00000000, 00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, -00000000, 00000000;
\ No newline at end of file diff --git a/fpga/usrp3/top/x300/coregen/ten_gig_eth_pcs_pma/example_design/ten_gig_eth_pcs_pma_x300_top.v b/fpga/usrp3/top/x300/coregen/ten_gig_eth_pcs_pma/example_design/ten_gig_eth_pcs_pma_x300_top.v index bf430b9ea..446fb035b 100644 --- a/fpga/usrp3/top/x300/coregen/ten_gig_eth_pcs_pma/example_design/ten_gig_eth_pcs_pma_x300_top.v +++ b/fpga/usrp3/top/x300/coregen/ten_gig_eth_pcs_pma/example_design/ten_gig_eth_pcs_pma_x300_top.v @@ -4,13 +4,13 @@ //----------------------------------------------------------------------------- // File : ten_gig_eth_pcs_pma_example_design.v //----------------------------------------------------------------------------- -// Description: This file is a wrapper for the 10GBASE-R core; it contains all +// Description: This file is a wrapper for the 10GBASE-R core; it contains all // of the clock buffers required for implementing the block level //----------------------------------------------------------------------------- // (c) Copyright 2009 - 2012 Xilinx, Inc. All rights reserved. // // This file contains confidential and proprietary information -// of Xilinx, Inc. and is protected under U.S. and +// of Xilinx, Inc. and is protected under U.S. and // international copyright and other intellectual property // laws. // @@ -62,7 +62,7 @@ module ten_gig_eth_pcs_pma_x300_top // input refclk_p, // input refclk_n, input refclk156, - input refclk156_buf, + input refclk156_buf, output clk156, input reset, input [63 : 0] xgmii_txd, @@ -87,37 +87,37 @@ module ten_gig_eth_pcs_pma_x300_top // Signal declarations wire clk156; - + // Sync the global reset to the relevant clocks reg core_reset_tx; reg core_reset_rx; reg txreset322; reg rxreset322; reg dclk_reset; - + reg core_reset_tx_tmp; reg core_reset_rx_tmp; reg txreset322_tmp; reg rxreset322_tmp; reg dclk_reset_tmp; - + (* KEEP = "true" *) wire txclk322; wire rxclk322; wire dclk; - + wire tx_resetdone_int; wire rx_resetdone_int; reg [63:0] xgmii_txd_reg; reg [7:0] xgmii_txc_reg; wire [63:0] xgmii_rxd_int; wire [7:0] xgmii_rxc_int; - + wire mdio_out_int; wire mdio_tri_int; assign resetdone = tx_resetdone_int && rx_resetdone_int; - + //synthesis attribute async_reg of core_reset_tx_tmp is "true"; //synthesis attribute async_reg of core_reset_tx is "true"; //synthesis attribute async_reg of core_reset_rx_tmp is "true"; @@ -135,19 +135,19 @@ module ten_gig_eth_pcs_pma_x300_top begin // Hold core in reset until everything else is ready... // IJB. Per AR# 53443 changed these lines: -// core_reset_tx_tmp <= (!(tx_resetdone_int) || reset || +// core_reset_tx_tmp <= (!(tx_resetdone_int) || reset || // tx_fault || !(signal_detect) ); core_reset_tx_tmp <= (!(tx_resetdone_int) || reset); - + core_reset_tx <= core_reset_tx_tmp; -// core_reset_rx_tmp <= (!(rx_resetdone_int) || reset || +// core_reset_rx_tmp <= (!(rx_resetdone_int) || reset || // tx_fault || !(signal_detect) ); core_reset_rx_tmp <= (!(rx_resetdone_int) || reset || !(signal_detect)); - + core_reset_rx <= core_reset_rx_tmp; end - end - + end + //synthesis attribute async_reg of txreset322_tmp is "true"; //synthesis attribute async_reg of txreset322 is "true"; always @(posedge reset or posedge txclk322) @@ -163,7 +163,7 @@ module ten_gig_eth_pcs_pma_x300_top txreset322 <= txreset322_tmp; end end - + //synthesis attribute async_reg of rxreset322_tmp is "true"; //synthesis attribute async_reg of rxreset322 is "true"; always @(posedge reset or posedge rxclk322) @@ -179,7 +179,7 @@ module ten_gig_eth_pcs_pma_x300_top rxreset322 <= rxreset322_tmp; end end - + //synthesis attribute async_reg of dclk_reset_tmp is "true"; //synthesis attribute async_reg of dclk_reset is "true"; always @(posedge reset or posedge dclk) @@ -194,28 +194,28 @@ module ten_gig_eth_pcs_pma_x300_top dclk_reset_tmp <= core_reset_rx; dclk_reset <= dclk_reset_tmp; end - end - + end + // Add a pipeline to the xmgii_tx inputs, to aid timing closure always @(posedge clk156) begin - xgmii_txd_reg <= xgmii_txd; - xgmii_txc_reg <= xgmii_txc; + xgmii_txd_reg <= xgmii_txd; + xgmii_txc_reg <= xgmii_txc; end // Add a pipeline to the xmgii_rx outputs, to aid timing closure always @(posedge clk156) begin - xgmii_rxd <= xgmii_rxd_int; - xgmii_rxc <= xgmii_rxc_int; + xgmii_rxd <= xgmii_rxd_int; + xgmii_rxc <= xgmii_rxc_int; end // Add a pipeline to the mdio outputs, to aid timing closure // This is safe because the mdio clock is running so slowly always @(posedge clk156) begin - mdio_out <= mdio_out_int; - mdio_tri <= mdio_tri_int; + mdio_out <= mdio_out_int; + mdio_tri <= mdio_tri_int; end // Instantiate the 10GBASE-R Block Level @@ -256,10 +256,10 @@ module ten_gig_eth_pcs_pma_x300_top .signal_detect(signal_detect), .tx_fault(tx_fault), .tx_disable(tx_disable)); - + // assign core_clk156_out = clk156; - - // Not needed in B250 + + // Not needed in X300 /* -----\/----- EXCLUDED -----\/----- ODDR #(.DDR_CLK_EDGE("SAME_EDGE")) rx_clk_ddr( diff --git a/fpga/usrp3/top/x300/x300.v b/fpga/usrp3/top/x300/x300.v index aa77d1bc7..10409c607 100644 --- a/fpga/usrp3/top/x300/x300.v +++ b/fpga/usrp3/top/x300/x300.v @@ -314,13 +314,13 @@ module x300 ////////////////////////////////////////////////////////////////////// // CPRI Clock output -- this is the dirty recovered clock from the MGT // This goes to the LMK04816 which locks to it and cleans it up - // We get the clean versions back as CPRI_CLK (for the CPRI MGT) + // We get the clean versions back as CPRI_CLK (for the CPRI MGT) // and FPGA_CLK (for our main rfclk) ////////////////////////////////////////////////////////////////////// wire cpri_clk_out = 1'b0; // FIXME - connect to CPRI clock recovery when implemented OBUFDS OBUFDS_cpri (.I(cpri_clk_out), .O(CPRI_CLK_OUT_P), .OB(CPRI_CLK_OUT_N)); - + ///////////////////////////////////////////////////////////////////// // // power-on-reset logic. @@ -365,7 +365,7 @@ module x300 // after programming the AD9610. // //////////////////////////////////////////////////////////////////// - + reset_sync radio_reset_sync ( .clk(radio_clk), @@ -381,8 +381,40 @@ module x300 ); //////////////////////////////////////////////////////////////////// + // PPS + // Support for internal, external, and GPSDO PPS inputs + // Every attempt to minimize propagation between the external PPS + // input and outputs to support daisy-chaining the signal. + //////////////////////////////////////////////////////////////////// + + // Generate an internal PPS signal with a 25% duty cycle + reg [31:0] pps_count; + wire int_pps = (pps_count < 32'd2500000); + always @(posedge ref_clk_10mhz) begin + if (pps_count >= 32'd9999999) + pps_count <= 32'b0; + else + pps_count <= pps_count + 1'b1; + end + + // PPS MUX - selects internal, external, or gpsdo PPS + reg pps; + wire [1:0] pps_select; + wire pps_out_enb; + always @(*) begin + case(pps_select) + 2'b00 : pps = EXT_PPS_IN; + 2'b01 : pps = 1'b0; + 2'b10 : pps = int_pps; + 2'b11 : pps = GPS_PPS_OUT; + default: pps = 1'b0; + endcase + end + + // PPS out and LED + assign EXT_PPS_OUT = pps & pps_out_enb; + assign LED_PPS = ~pps; // active low LED driver - assign LED_PPS = ~(GPS_PPS_OUT | EXT_PPS_IN); assign LED_GPSLOCK = ~GPS_LOCK_OK; assign LED_REFLOCK = ~LMK_Lock; assign {LED_RX1_RX,LED_TXRX1_TX,LED_TXRX1_RX} = ~led0; // active low LED driver @@ -451,7 +483,7 @@ module x300 // Analog diff pairs on I side of ADC are inverted for layout reasons, but data diff pairs are all swapped as well // so I gets a double negative, and is unchanged. Q must be inverted. - capture_ddrlvds #(.WIDTH(14),.B250(1)) cap_db0 + capture_ddrlvds #(.WIDTH(14),.X300(1)) cap_db0 (.clk(radio_clk), .reset(radio_rst), .ssclk_p(DB0_ADC_DCLK_P), .ssclk_n(DB0_ADC_DCLK_N), .in_p({{DB0_ADC_DA6_P, DB0_ADC_DA5_P, DB0_ADC_DA4_P, DB0_ADC_DA3_P, DB0_ADC_DA2_P, DB0_ADC_DA1_P, DB0_ADC_DA0_P}, {DB0_ADC_DB6_P, DB0_ADC_DB5_P, DB0_ADC_DB4_P, DB0_ADC_DB3_P, DB0_ADC_DB2_P, DB0_ADC_DB1_P, DB0_ADC_DB0_P}}), @@ -461,7 +493,7 @@ module x300 .out({rx0_i,rx0_q_inv})); assign rx0[31:0] = { rx0_i, 2'b00, ~rx0_q_inv, 2'b00 }; - capture_ddrlvds #(.WIDTH(14),.B250(1)) cap_db1 + capture_ddrlvds #(.WIDTH(14),.X300(1)) cap_db1 (.clk(radio_clk), .reset(radio_rst), .ssclk_p(DB1_ADC_DCLK_P), .ssclk_n(DB1_ADC_DCLK_N), .in_p({{DB1_ADC_DA6_P, DB1_ADC_DA5_P, DB1_ADC_DA4_P, DB1_ADC_DA3_P, DB1_ADC_DA2_P, DB1_ADC_DA1_P, DB1_ADC_DA0_P}, {DB1_ADC_DB6_P, DB1_ADC_DB5_P, DB1_ADC_DB4_P, DB1_ADC_DB3_P, DB1_ADC_DB2_P, DB1_ADC_DB1_P, DB1_ADC_DB0_P}}), @@ -470,7 +502,7 @@ module x300 {DB1_ADC_DB6_N, DB1_ADC_DB5_N, DB1_ADC_DB4_N, DB1_ADC_DB3_N, DB1_ADC_DB2_N, DB1_ADC_DB1_N, DB1_ADC_DB0_N}}), .out({rx1_i,rx1_q_inv})); assign rx1[31:0] = { rx1_i, 2'b00, ~rx1_q_inv, 2'b00 }; - + ///////////////////////////////////////////////////////////////////// // // DAC Interface for AD9146 @@ -1756,7 +1788,7 @@ module x300 /////////////////////////////////////////////////////////////////////////////////// // - // B250 Core + // X300 Core // /////////////////////////////////////////////////////////////////////////////////// x300_core x300_core @@ -1836,10 +1868,10 @@ module x300 .gmii_txd1(gmii_txd1), .gmii_tx_en1(gmii_tx_en1), .gmii_tx_er1(gmii_tx_er1), .gmii_rxd1(gmii_rxd1), .gmii_rx_dv1(gmii_rx_dv1), .gmii_rx_er1(gmii_rx_er1), `endif // !`ifdef + // Time + .pps(pps),.pps_select(pps_select), .pps_out_enb(pps_out_enb), // GPS Signals - .gps_pps(GPS_PPS_OUT), .ext_pps(EXT_PPS_IN), .gps_txd(GPS_SER_IN), .gps_rxd(GPS_SER_OUT), - .pps_out(EXT_PPS_OUT), // Debug UART .debug_rxd(debug_rxd), .debug_txd(debug_txd), // Misc. diff --git a/fpga/usrp3/top/x300/x300_core.v b/fpga/usrp3/top/x300/x300_core.v index c783d34ee..4c632b95d 100644 --- a/fpga/usrp3/top/x300/x300_core.v +++ b/fpga/usrp3/top/x300/x300_core.v @@ -104,9 +104,9 @@ module x300_core `endif // !`ifdef // Time - input gps_pps, - input ext_pps, - output reg pps_out, + input pps, + output [1:0] pps_select, + output pps_out_enb, output gps_txd, input gps_rxd, // Debug UART @@ -369,31 +369,20 @@ module x300_core ///////////////////////////////////////////////////////////////////////////////// - // PPS synchronization and generation logic + // PPS synchronization logic ///////////////////////////////////////////////////////////////////////////////// - //PPS input signals will be flopped in via the 10MHz reference clock. //Its assumed that the radio clock, which is derived from the 10MHz, //will be able to flop this captured PPS signal without metastability. //And that the relation of the radio clock to this ref clock will be //consistent enough across multiple units to use for this purpose. - reg [1:0] ext_pps_del, gps_pps_del; - always @(posedge ext_ref_clk) ext_pps_del[1:0] <= {ext_pps_del[0], ext_pps}; - always @(posedge ext_ref_clk) gps_pps_del[1:0] <= {gps_pps_del[0], gps_pps}; - - //Generate a PPS signal disciplined by the input reference PPS. - //The PPS signal is 25% duty cycle, and generated by the rising edge. - reg pps_int; - wire pps_out_enb, pps_select; - reg [31:0] pps_count; - wire pps_duty_high = (pps_count < 32'd2500000); - wire pps_edge = pps_select? (ext_pps_del == 2'b01) : (gps_pps_del == 2'b01); + reg [1:0] pps_del; + always @(posedge ext_ref_clk) pps_del[1:0] <= {pps_del[0], pps}; + + //PPS detection - toggle pps_detect on each PPS rising edge. + reg pps_detect; always @(posedge ext_ref_clk) begin - if (pps_edge) pps_count <= 32'd3; //delay = sampling + detection + flopping out - else if (pps_count == 32'd9999999) pps_count <= 32'b0; - else pps_count <= pps_count + 1'b1; - pps_out <= pps_duty_high? pps_out_enb : 1'b0; - pps_int <= pps_duty_high? 1'b1 : 1'b0; + if (pps_del == 2'b01) pps_detect <= ~pps_detect; end ///////////////////////////////////////////////////////////////////////////////// @@ -415,8 +404,8 @@ module x300_core .SFPP1_ModAbs(SFPP1_ModAbs),.SFPP1_TxFault(SFPP1_TxFault),.SFPP1_RxLOS(SFPP1_RxLOS), .SFPP1_RS0(SFPP1_RS0), .SFPP1_RS1(SFPP1_RS1), //clocky locky misc - .clock_status({LMK_Holdover, LMK_Lock, LMK_Status}), - .clock_control({clock_misc_opt[1:0], pps_out_enb, pps_select, clock_ref_sel[1:0]}), + .clock_status({pps_detect, LMK_Holdover, LMK_Lock, LMK_Status}), + .clock_control({clock_misc_opt[1:0], pps_out_enb, pps_select[1:0], clock_ref_sel[1:0]}), // Eth0 .eth0_tx_tdata(eth0_tx_tdata), .eth0_tx_tuser(eth0_tx_tuser), .eth0_tx_tlast(eth0_tx_tlast), .eth0_tx_tvalid(eth0_tx_tvalid), .eth0_tx_tready(eth0_tx_tready), @@ -557,7 +546,7 @@ module x300_core .tx_tvalid_bo(r0_tx_tvalid_bo), .tx_tready_bo(r0_tx_tready_bo), .tx_tdata_bi(r0_tx_tdata_bi), .tx_tlast_bi(r0_tx_tlast_bi), .tx_tvalid_bi(r0_tx_tvalid_bi), .tx_tready_bi(r0_tx_tready_bi), - .pps(pps_int), .sync_dacs(sync_dacs_radio0) + .pps(pps_del[1]), .sync_dacs(sync_dacs_radio0) ); always @(posedge radio_clk) @@ -590,7 +579,7 @@ module x300_core .tx_tvalid_bo(r1_tx_tvalid_bo), .tx_tready_bo(r1_tx_tready_bo), .tx_tdata_bi(r1_tx_tdata_bi), .tx_tlast_bi(r1_tx_tlast_bi), .tx_tvalid_bi(r1_tx_tvalid_bi), .tx_tready_bi(r1_tx_tready_bi), - .pps(pps_int), .sync_dacs(sync_dacs_radio1) + .pps(pps_del[1]), .sync_dacs(sync_dacs_radio1) ); always @(posedge radio_clk) @@ -987,7 +976,7 @@ module x300_core // .debug() ); - + axi_dram_fifo #(.BASE('h2000000), .SIZE(24), @@ -1107,15 +1096,15 @@ module x300_core // Alternate smaller internal SRAM based FIFO's for Tx when DRAM not compiled into FPGA. // Short FIFO's added for ease of timing closure since large FIFO's spread all over die. // - wire [63:0] r0_tx_tdata_bos; wire r0_tx_tlast_bos, r0_tx_tvalid_bos, r0_tx_tready_bos; + wire [63:0] r0_tx_tdata_bos; wire r0_tx_tlast_bos, r0_tx_tvalid_bos, r0_tx_tready_bos; wire [63:0] r0_tx_tdata_0; wire r0_tx_tlast_0, r0_tx_tvalid_0, r0_tx_tready_0; - wire [63:0] r0_tx_tdata_0s; wire r0_tx_tlast_0s, r0_tx_tvalid_0s, r0_tx_tready_0s; + wire [63:0] r0_tx_tdata_0s; wire r0_tx_tlast_0s, r0_tx_tvalid_0s, r0_tx_tready_0s; wire [63:0] r0_tx_tdata_1; wire r0_tx_tlast_1, r0_tx_tvalid_1, r0_tx_tready_1; - wire [63:0] r0_tx_tdata_1s; wire r0_tx_tlast_1s, r0_tx_tvalid_1s, r0_tx_tready_1s; + wire [63:0] r0_tx_tdata_1s; wire r0_tx_tlast_1s, r0_tx_tvalid_1s, r0_tx_tready_1s; wire [63:0] r0_tx_tdata_2; wire r0_tx_tlast_2, r0_tx_tvalid_2, r0_tx_tready_2; wire [63:0] r0_tx_tdata_2s; wire r0_tx_tlast_2s, r0_tx_tvalid_2s, r0_tx_tready_2s; wire [63:0] r0_tx_tdata_bis; wire r0_tx_tlast_bis, r0_tx_tvalid_bis, r0_tx_tready_bis; - + axi_fifo_short #(.WIDTH(65)) tx_fifo0_bos ( .clk(bus_clk), .reset(bus_rst), .clear(1'b0), @@ -1137,7 +1126,7 @@ module x300_core .o_tdata({r0_tx_tlast_0s,r0_tx_tdata_0s}), .o_tvalid(r0_tx_tvalid_0s), .o_tready(r0_tx_tready_0s), .space(), .occupied() ); - + axi_fifo #(.WIDTH(65), .SIZE(`SRAM_FIFO_SIZE-2)) tx_fifo0_1 (.clk(bus_clk), .reset(bus_rst), .clear(1'b0), .i_tdata({r0_tx_tlast_0s,r0_tx_tdata_0s}), .i_tvalid(r0_tx_tvalid_0s), .i_tready(r0_tx_tready_0s), @@ -1151,13 +1140,13 @@ module x300_core .o_tdata({r0_tx_tlast_1s,r0_tx_tdata_1s}), .o_tvalid(r0_tx_tvalid_1s), .o_tready(r0_tx_tready_1s), .space(), .occupied() ); - + axi_fifo #(.WIDTH(65), .SIZE(`SRAM_FIFO_SIZE-2)) tx_fifo0_2 (.clk(bus_clk), .reset(bus_rst), .clear(1'b0), .i_tdata({r0_tx_tlast_1s,r0_tx_tdata_1s}), .i_tvalid(r0_tx_tvalid_1s), .i_tready(r0_tx_tready_1s), .o_tdata({r0_tx_tlast_2,r0_tx_tdata_2}), .o_tvalid(r0_tx_tvalid_2), .o_tready(r0_tx_tready_2), .space(), .occupied()); - + axi_fifo_short #(.WIDTH(65)) tx_fifo0_2s ( .clk(bus_clk), .reset(bus_rst), .clear(1'b0), @@ -1165,13 +1154,13 @@ module x300_core .o_tdata({r0_tx_tlast_2s,r0_tx_tdata_2s}), .o_tvalid(r0_tx_tvalid_2s), .o_tready(r0_tx_tready_2s), .space(), .occupied() ); - + axi_fifo #(.WIDTH(65), .SIZE(`SRAM_FIFO_SIZE-2)) tx_fifo0_3 (.clk(bus_clk), .reset(bus_rst), .clear(1'b0), .i_tdata({r0_tx_tlast_2s,r0_tx_tdata_2s}), .i_tvalid(r0_tx_tvalid_2s), .i_tready(r0_tx_tready_2s), .o_tdata({r0_tx_tlast_bis,r0_tx_tdata_bis}), .o_tvalid(r0_tx_tvalid_bis), .o_tready(r0_tx_tready_bis), .space(), .occupied()); - + axi_fifo_short #(.WIDTH(65)) tx_fifo0_bis ( .clk(bus_clk), .reset(bus_rst), .clear(1'b0), @@ -1180,15 +1169,15 @@ module x300_core .space(), .occupied() ); - wire [63:0] r1_tx_tdata_bos; wire r1_tx_tlast_bos, r1_tx_tvalid_bos, r1_tx_tready_bos; + wire [63:0] r1_tx_tdata_bos; wire r1_tx_tlast_bos, r1_tx_tvalid_bos, r1_tx_tready_bos; wire [63:0] r1_tx_tdata_0; wire r1_tx_tlast_0, r1_tx_tvalid_0, r1_tx_tready_0; - wire [63:0] r1_tx_tdata_0s; wire r1_tx_tlast_0s, r1_tx_tvalid_0s, r1_tx_tready_0s; + wire [63:0] r1_tx_tdata_0s; wire r1_tx_tlast_0s, r1_tx_tvalid_0s, r1_tx_tready_0s; wire [63:0] r1_tx_tdata_1; wire r1_tx_tlast_1, r1_tx_tvalid_1, r1_tx_tready_1; - wire [63:0] r1_tx_tdata_1s; wire r1_tx_tlast_1s, r1_tx_tvalid_1s, r1_tx_tready_1s; + wire [63:0] r1_tx_tdata_1s; wire r1_tx_tlast_1s, r1_tx_tvalid_1s, r1_tx_tready_1s; wire [63:0] r1_tx_tdata_2; wire r1_tx_tlast_2, r1_tx_tvalid_2, r1_tx_tready_2; wire [63:0] r1_tx_tdata_2s; wire r1_tx_tlast_2s, r1_tx_tvalid_2s, r1_tx_tready_2s; wire [63:0] r1_tx_tdata_bis; wire r1_tx_tlast_bis, r1_tx_tvalid_bis, r1_tx_tready_bis; - + axi_fifo_short #(.WIDTH(65)) tx_fifo1_bos ( .clk(bus_clk), .reset(bus_rst), .clear(1'b0), @@ -1210,7 +1199,7 @@ module x300_core .o_tdata({r1_tx_tlast_0s,r1_tx_tdata_0s}), .o_tvalid(r1_tx_tvalid_0s), .o_tready(r1_tx_tready_0s), .space(), .occupied() ); - + axi_fifo #(.WIDTH(65), .SIZE(`SRAM_FIFO_SIZE-2)) tx_fifo1_1 (.clk(bus_clk), .reset(bus_rst), .clear(1'b0), .i_tdata({r1_tx_tlast_0s,r1_tx_tdata_0s}), .i_tvalid(r1_tx_tvalid_0s), .i_tready(r1_tx_tready_0s), @@ -1224,13 +1213,13 @@ module x300_core .o_tdata({r1_tx_tlast_1s,r1_tx_tdata_1s}), .o_tvalid(r1_tx_tvalid_1s), .o_tready(r1_tx_tready_1s), .space(), .occupied() ); - + axi_fifo #(.WIDTH(65), .SIZE(`SRAM_FIFO_SIZE-2)) tx_fifo1_2 (.clk(bus_clk), .reset(bus_rst), .clear(1'b0), .i_tdata({r1_tx_tlast_1s,r1_tx_tdata_1s}), .i_tvalid(r1_tx_tvalid_1s), .i_tready(r1_tx_tready_1s), .o_tdata({r1_tx_tlast_2,r1_tx_tdata_2}), .o_tvalid(r1_tx_tvalid_2), .o_tready(r1_tx_tready_2), .space(), .occupied()); - + axi_fifo_short #(.WIDTH(65)) tx_fifo1_2s ( .clk(bus_clk), .reset(bus_rst), .clear(1'b0), @@ -1238,13 +1227,13 @@ module x300_core .o_tdata({r1_tx_tlast_2s,r1_tx_tdata_2s}), .o_tvalid(r1_tx_tvalid_2s), .o_tready(r1_tx_tready_2s), .space(), .occupied() ); - + axi_fifo #(.WIDTH(65), .SIZE(`SRAM_FIFO_SIZE-2)) tx_fifo1_3 (.clk(bus_clk), .reset(bus_rst), .clear(1'b0), .i_tdata({r1_tx_tlast_2s,r1_tx_tdata_2s}), .i_tvalid(r1_tx_tvalid_2s), .i_tready(r1_tx_tready_2s), .o_tdata({r1_tx_tlast_bis,r1_tx_tdata_bis}), .o_tvalid(r1_tx_tvalid_bis), .o_tready(r1_tx_tready_bis), .space(), .occupied()); - + axi_fifo_short #(.WIDTH(65)) tx_fifo1_bis ( .clk(bus_clk), .reset(bus_rst), .clear(1'b0), @@ -1254,7 +1243,7 @@ module x300_core ); - + `endif // `ifndef NO_DRAM_FIFOS // diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 28ad6b968..45d0cd940 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -210,8 +210,8 @@ UHD_INSTALL(FILES # Images download directory for utils/uhd_images_downloader.py ######################################################################## -SET(UHD_IMAGES_MD5SUM "596a2476126bb5fd792ec685d88f8365") -SET(UHD_IMAGES_DOWNLOAD_SRC "http://files.ettus.com/binaries/maint_images/archive/uhd-images_003.007.000-release.zip") +SET(UHD_IMAGES_MD5SUM "00784ebb5243b0abb15db305f557e230") +SET(UHD_IMAGES_DOWNLOAD_SRC "http://files.ettus.com/binaries/maint_images/archive/uhd-images_003.007.000-48-ge1c32905.zip") ######################################################################## # Register top level components diff --git a/host/cmake/Modules/UHDPackage.cmake b/host/cmake/Modules/UHDPackage.cmake index 4aea557c8..a98a52fc7 100644 --- a/host/cmake/Modules/UHDPackage.cmake +++ b/host/cmake/Modules/UHDPackage.cmake @@ -200,5 +200,7 @@ IF(MSVC) ENDIF(MSVC) ######################################################################## -SET(CPACK_SET_DESTDIR "ON") +IF(NOT ${CPACK_GENERATOR} STREQUAL NSIS) + SET(CPACK_SET_DESTDIR "ON") +ENDIF(NOT ${CPACK_GENERATOR} STREQUAL NSIS) INCLUDE(CPack) #include after setting vars diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index 66df1f3bc..a7f9b11bd 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -32,6 +32,7 @@ #include <boost/functional/hash.hpp> #include <cstdio> #include <ctime> +#include <cmath> using namespace uhd; using namespace uhd::usrp; diff --git a/host/lib/usrp/gps_ctrl.cpp b/host/lib/usrp/gps_ctrl.cpp index c0d44abd5..6f5c75dec 100644 --- a/host/lib/usrp/gps_ctrl.cpp +++ b/host/lib/usrp/gps_ctrl.cpp @@ -30,7 +30,6 @@ #include "boost/tuple/tuple.hpp" #include "boost/foreach.hpp" -#include <boost/container/vector.hpp> using namespace uhd; using namespace boost::gregorian; |