Final Update
diff --git a/README.md b/README.md index 20f083b..5568387 100644 --- a/README.md +++ b/README.md
@@ -12,12 +12,11 @@ limitations under the License. SPDX-License-Identifier: Apache-2.0 -# BrqRV EB1 RISC-V Core 1.0 from MERL +# RAM Generator from MERL -This repository contains the BrqRV EB1 Core design RTL. BrqRV EB1 Is A Machine-Mode (M-Mode) Only, 32-Bit Cpu Small Core Which Supports Risc-V’s Integer (I), Compressed Instruction (C), Multiplication And Division (M), And Instruction-Fetch Fence, And Csr Extensions. The Core Contains A 4-Stage, Scalar, In-Order Pipeline +This repository contains the memories generated by our RAM Generator using sky130 sram as a base model for testing purpose. -## Block Diagram - + ## Directory Structure @@ -26,15 +25,18 @@ │ ├── dv # Design Verification │ ├── gl # Gate Level Netlis - # The BrqRV_EB1 Source Code is avaialable here + # The Memories Source Code is avaialable here ├── verlog # User verilog Directory │ ├── rtl # RTL | ├── user_project_wrapper.v # User Project Wrapper source file | ├── user_proj_example.v # User Project Example source file - | ├── Brqrv_EB1 # BrqRV_EB1 folder - | ├── Brqrv_EB1.v # BrqRV_EB1 source file - | ├── sky130_sram_1kbyte_1rw1r_32x256_8.v # 1KB sram + | ├── rams # Rams folder + | ├── ram_256x32_2r1w # Ram 256x32 2r1w folder + | ├── ram_generated_256x32_2r1w.v # RAM 2r1w source file + | ├── ram_generated_256x32_1rw.v # RAM 1rw source file + | ├── sky130_sram_1kbyte_1rw1r_32x256_8.v # 1KB sram + | ├── utils.vh # utils header file # The Design Verification Testbench is available here @@ -71,8 +73,7 @@ 1. Set the GCC_PATH environment variable. 2. Set the PDK_PATH environment variable. -3. Copy the given program hex file into uart.hex. 4. run the make commad for RTL simulation 5. run the SIM=GL make command for netlist simulation -Note: Dont forget to add 00000FFF instruction in the end of the uart.hex to stop the uart transmission if you are using your own codes. +
diff --git a/info.yaml b/info.yaml index 87a7136..9dd088d 100644 --- a/info.yaml +++ b/info.yaml
@@ -1,18 +1,18 @@ --- project: - description: "A Small SoC for Google sponsored Open MPW shuttles for SKY130." + description: "Testing." foundry: "SkyWater" git_url: "https://github.com/HamzaShabbir517/caravel_BrqRV_EB1.git" organization: "Micro Electronics Research Lab (MERL)" organization_url: "https://merledupk.org/" owner: "Micro Electronics Research Lab (MERL)" process: "SKY130" - project_name: "BrqRV EB1" + project_name: "Ram Generator" project_id: "00000001" tags: - "Open MPW" - - "BrqRV EB1" - category: "Processor" + - "RAM Generator" + category: "Memory" top_level_netlist: "caravel/verilog/gl/caravel.v" user_level_netlist: "verilog/gl/user_project_wrapper.v" version: "1.00"
diff --git a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v deleted file mode 100644 index f5dd676..0000000 --- a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v +++ /dev/null
@@ -1,23083 +0,0 @@ -// SPDX-FileCopyrightText: 2020 Efabless Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// SPDX-License-Identifier: Apache-2.0 - - -module eb1_brqrv_wrapper ( -`ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif - clk, - rst_l, - dbg_rst_l, - rst_vec, - nmi_int, - nmi_vec, - jtag_id, - uart_rx, - trace_rv_i_insn_ip, - trace_rv_i_address_ip, - trace_rv_i_valid_ip, - trace_rv_i_exception_ip, - trace_rv_i_ecause_ip, - trace_rv_i_interrupt_ip, - trace_rv_i_tval_ip, - lsu_axi_awvalid, - lsu_axi_awready, - lsu_axi_awid, - lsu_axi_awaddr, - lsu_axi_awregion, - lsu_axi_awlen, - lsu_axi_awsize, - lsu_axi_awburst, - lsu_axi_awlock, - lsu_axi_awcache, - lsu_axi_awprot, - lsu_axi_awqos, - lsu_axi_wvalid, - lsu_axi_wready, - lsu_axi_wdata, - lsu_axi_wstrb, - lsu_axi_wlast, - lsu_axi_bvalid, - lsu_axi_bready, - lsu_axi_bresp, - lsu_axi_bid, - lsu_axi_arvalid, - lsu_axi_arready, - lsu_axi_arid, - lsu_axi_araddr, - lsu_axi_arregion, - lsu_axi_arlen, - lsu_axi_arsize, - lsu_axi_arburst, - lsu_axi_arlock, - lsu_axi_arcache, - lsu_axi_arprot, - lsu_axi_arqos, - lsu_axi_rvalid, - lsu_axi_rready, - lsu_axi_rid, - lsu_axi_rdata, - lsu_axi_rresp, - lsu_axi_rlast, - ifu_axi_awvalid, - ifu_axi_awready, - ifu_axi_awid, - ifu_axi_awaddr, - ifu_axi_awregion, - ifu_axi_awlen, - ifu_axi_awsize, - ifu_axi_awburst, - ifu_axi_awlock, - ifu_axi_awcache, - ifu_axi_awprot, - ifu_axi_awqos, - ifu_axi_wvalid, - ifu_axi_wready, - ifu_axi_wdata, - ifu_axi_wstrb, - ifu_axi_wlast, - ifu_axi_bvalid, - ifu_axi_bready, - ifu_axi_bresp, - ifu_axi_bid, - ifu_axi_arvalid, - ifu_axi_arready, - ifu_axi_arid, - ifu_axi_araddr, - ifu_axi_arregion, - ifu_axi_arlen, - ifu_axi_arsize, - ifu_axi_arburst, - ifu_axi_arlock, - ifu_axi_arcache, - ifu_axi_arprot, - ifu_axi_arqos, - ifu_axi_rvalid, - ifu_axi_rready, - ifu_axi_rid, - ifu_axi_rdata, - ifu_axi_rresp, - ifu_axi_rlast, - sb_axi_awvalid, - sb_axi_awready, - sb_axi_awid, - sb_axi_awaddr, - sb_axi_awregion, - sb_axi_awlen, - sb_axi_awsize, - sb_axi_awburst, - sb_axi_awlock, - sb_axi_awcache, - sb_axi_awprot, - sb_axi_awqos, - sb_axi_wvalid, - sb_axi_wready, - sb_axi_wdata, - sb_axi_wstrb, - sb_axi_wlast, - sb_axi_bvalid, - sb_axi_bready, - sb_axi_bresp, - sb_axi_bid, - sb_axi_arvalid, - sb_axi_arready, - sb_axi_arid, - sb_axi_araddr, - sb_axi_arregion, - sb_axi_arlen, - sb_axi_arsize, - sb_axi_arburst, - sb_axi_arlock, - sb_axi_arcache, - sb_axi_arprot, - sb_axi_arqos, - sb_axi_rvalid, - sb_axi_rready, - sb_axi_rid, - sb_axi_rdata, - sb_axi_rresp, - sb_axi_rlast, - dma_axi_awvalid, - dma_axi_awready, - dma_axi_awid, - dma_axi_awaddr, - dma_axi_awsize, - dma_axi_awprot, - dma_axi_awlen, - dma_axi_awburst, - dma_axi_wvalid, - dma_axi_wready, - dma_axi_wdata, - dma_axi_wstrb, - dma_axi_wlast, - dma_axi_bvalid, - dma_axi_bready, - dma_axi_bresp, - dma_axi_bid, - dma_axi_arvalid, - dma_axi_arready, - dma_axi_arid, - dma_axi_araddr, - dma_axi_arsize, - dma_axi_arprot, - dma_axi_arlen, - dma_axi_arburst, - dma_axi_rvalid, - dma_axi_rready, - dma_axi_rid, - dma_axi_rdata, - dma_axi_rresp, - dma_axi_rlast, - lsu_bus_clk_en, - ifu_bus_clk_en, - dbg_bus_clk_en, - dma_bus_clk_en, - dccm_ext_in_pkt, - iccm_ext_in_pkt, - ic_data_ext_in_pkt, - ic_tag_ext_in_pkt, - timer_int, - soft_int, - extintsrc_req, - dec_tlu_perfcnt0, - dec_tlu_perfcnt1, - dec_tlu_perfcnt2, - dec_tlu_perfcnt3, - jtag_tck, - jtag_tms, - jtag_tdi, - jtag_trst_n, - jtag_tdo, - core_id, - mpc_debug_halt_req, - mpc_debug_run_req, - mpc_reset_run_req, - mpc_debug_halt_ack, - mpc_debug_run_ack, - debug_brkpt_status, - i_cpu_halt_req, - o_cpu_halt_ack, - o_cpu_halt_status, - o_debug_mode_status, - i_cpu_run_req, - o_cpu_run_ack, - scan_mode, - mbist_mode, - CLKS_PER_BIT -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; -`ifdef USE_POWER_PINS - inout wire vccd1; - inout wire vssd1; -`endif - input wire clk; - input wire rst_l; - input wire dbg_rst_l; - input wire [31:1] rst_vec; - input wire nmi_int; - input wire [31:1] nmi_vec; - input wire [31:1] jtag_id; - input uart_rx; - output wire [31:0] trace_rv_i_insn_ip; - output wire [31:0] trace_rv_i_address_ip; - output wire trace_rv_i_valid_ip; - output wire trace_rv_i_exception_ip; - output wire [4:0] trace_rv_i_ecause_ip; - output wire trace_rv_i_interrupt_ip; - output wire [31:0] trace_rv_i_tval_ip; - output wire lsu_axi_awvalid; - input wire lsu_axi_awready; - output wire [pt[181-:8] - 1:0] lsu_axi_awid; - output wire [31:0] lsu_axi_awaddr; - output wire [3:0] lsu_axi_awregion; - output wire [7:0] lsu_axi_awlen; - output wire [2:0] lsu_axi_awsize; - output wire [1:0] lsu_axi_awburst; - output wire lsu_axi_awlock; - output wire [3:0] lsu_axi_awcache; - output wire [2:0] lsu_axi_awprot; - output wire [3:0] lsu_axi_awqos; - output wire lsu_axi_wvalid; - input wire lsu_axi_wready; - output wire [63:0] lsu_axi_wdata; - output wire [7:0] lsu_axi_wstrb; - output wire lsu_axi_wlast; - input wire lsu_axi_bvalid; - output wire lsu_axi_bready; - input wire [1:0] lsu_axi_bresp; - input wire [pt[181-:8] - 1:0] lsu_axi_bid; - output wire lsu_axi_arvalid; - input wire lsu_axi_arready; - output wire [pt[181-:8] - 1:0] lsu_axi_arid; - output wire [31:0] lsu_axi_araddr; - output wire [3:0] lsu_axi_arregion; - output wire [7:0] lsu_axi_arlen; - output wire [2:0] lsu_axi_arsize; - output wire [1:0] lsu_axi_arburst; - output wire lsu_axi_arlock; - output wire [3:0] lsu_axi_arcache; - output wire [2:0] lsu_axi_arprot; - output wire [3:0] lsu_axi_arqos; - input wire lsu_axi_rvalid; - output wire lsu_axi_rready; - input wire [pt[181-:8] - 1:0] lsu_axi_rid; - input wire [63:0] lsu_axi_rdata; - input wire [1:0] lsu_axi_rresp; - input wire lsu_axi_rlast; - output wire ifu_axi_awvalid; - input wire ifu_axi_awready; - output wire [pt[826-:8] - 1:0] ifu_axi_awid; - output wire [31:0] ifu_axi_awaddr; - output wire [3:0] ifu_axi_awregion; - output wire [7:0] ifu_axi_awlen; - output wire [2:0] ifu_axi_awsize; - output wire [1:0] ifu_axi_awburst; - output wire ifu_axi_awlock; - output wire [3:0] ifu_axi_awcache; - output wire [2:0] ifu_axi_awprot; - output wire [3:0] ifu_axi_awqos; - output wire ifu_axi_wvalid; - input wire ifu_axi_wready; - output wire [63:0] ifu_axi_wdata; - output wire [7:0] ifu_axi_wstrb; - output wire ifu_axi_wlast; - input wire ifu_axi_bvalid; - output wire ifu_axi_bready; - input wire [1:0] ifu_axi_bresp; - input wire [pt[826-:8] - 1:0] ifu_axi_bid; - output wire ifu_axi_arvalid; - input wire ifu_axi_arready; - output wire [pt[826-:8] - 1:0] ifu_axi_arid; - output wire [31:0] ifu_axi_araddr; - output wire [3:0] ifu_axi_arregion; - output wire [7:0] ifu_axi_arlen; - output wire [2:0] ifu_axi_arsize; - output wire [1:0] ifu_axi_arburst; - output wire ifu_axi_arlock; - output wire [3:0] ifu_axi_arcache; - output wire [2:0] ifu_axi_arprot; - output wire [3:0] ifu_axi_arqos; - input wire ifu_axi_rvalid; - output wire ifu_axi_rready; - input wire [pt[826-:8] - 1:0] ifu_axi_rid; - input wire [63:0] ifu_axi_rdata; - input wire [1:0] ifu_axi_rresp; - input wire ifu_axi_rlast; - output wire sb_axi_awvalid; - input wire sb_axi_awready; - output wire [pt[12-:8] - 1:0] sb_axi_awid; - output wire [31:0] sb_axi_awaddr; - output wire [3:0] sb_axi_awregion; - output wire [7:0] sb_axi_awlen; - output wire [2:0] sb_axi_awsize; - output wire [1:0] sb_axi_awburst; - output wire sb_axi_awlock; - output wire [3:0] sb_axi_awcache; - output wire [2:0] sb_axi_awprot; - output wire [3:0] sb_axi_awqos; - output wire sb_axi_wvalid; - input wire sb_axi_wready; - output wire [63:0] sb_axi_wdata; - output wire [7:0] sb_axi_wstrb; - output wire sb_axi_wlast; - input wire sb_axi_bvalid; - output wire sb_axi_bready; - input wire [1:0] sb_axi_bresp; - input wire [pt[12-:8] - 1:0] sb_axi_bid; - output wire sb_axi_arvalid; - input wire sb_axi_arready; - output wire [pt[12-:8] - 1:0] sb_axi_arid; - output wire [31:0] sb_axi_araddr; - output wire [3:0] sb_axi_arregion; - output wire [7:0] sb_axi_arlen; - output wire [2:0] sb_axi_arsize; - output wire [1:0] sb_axi_arburst; - output wire sb_axi_arlock; - output wire [3:0] sb_axi_arcache; - output wire [2:0] sb_axi_arprot; - output wire [3:0] sb_axi_arqos; - input wire sb_axi_rvalid; - output wire sb_axi_rready; - input wire [pt[12-:8] - 1:0] sb_axi_rid; - input wire [63:0] sb_axi_rdata; - input wire [1:0] sb_axi_rresp; - input wire sb_axi_rlast; - input wire dma_axi_awvalid; - output wire dma_axi_awready; - input wire [pt[1235-:8] - 1:0] dma_axi_awid; - input wire [31:0] dma_axi_awaddr; - input wire [2:0] dma_axi_awsize; - input wire [2:0] dma_axi_awprot; - input wire [7:0] dma_axi_awlen; - input wire [1:0] dma_axi_awburst; - input wire dma_axi_wvalid; - output wire dma_axi_wready; - input wire [63:0] dma_axi_wdata; - input wire [7:0] dma_axi_wstrb; - input wire dma_axi_wlast; - output wire dma_axi_bvalid; - input wire dma_axi_bready; - output wire [1:0] dma_axi_bresp; - output wire [pt[1235-:8] - 1:0] dma_axi_bid; - input wire dma_axi_arvalid; - output wire dma_axi_arready; - input wire [pt[1235-:8] - 1:0] dma_axi_arid; - input wire [31:0] dma_axi_araddr; - input wire [2:0] dma_axi_arsize; - input wire [2:0] dma_axi_arprot; - input wire [7:0] dma_axi_arlen; - input wire [1:0] dma_axi_arburst; - output wire dma_axi_rvalid; - input wire dma_axi_rready; - output wire [pt[1235-:8] - 1:0] dma_axi_rid; - output wire [63:0] dma_axi_rdata; - output wire [1:0] dma_axi_rresp; - output wire dma_axi_rlast; - input wire lsu_bus_clk_en; - input wire ifu_bus_clk_en; - input wire dbg_bus_clk_en; - input wire dma_bus_clk_en; - input wire [(pt[1342-:9] * 12) - 1:0] dccm_ext_in_pkt; - input wire [(pt[909-:9] * 12) - 1:0] iccm_ext_in_pkt; - input wire [((pt[1060-:7] * pt[1189-:7]) * 12) - 1:0] ic_data_ext_in_pkt; - input wire [(pt[1060-:7] * 12) - 1:0] ic_tag_ext_in_pkt; - input wire timer_int; - input wire soft_int; - input wire [pt[56-:12]:1] extintsrc_req; - output wire dec_tlu_perfcnt0; - output wire dec_tlu_perfcnt1; - output wire dec_tlu_perfcnt2; - output wire dec_tlu_perfcnt3; - input wire jtag_tck; - input wire jtag_tms; - input wire jtag_tdi; - input wire jtag_trst_n; - output wire jtag_tdo; - input wire [31:4] core_id; - input wire mpc_debug_halt_req; - input wire mpc_debug_run_req; - input wire mpc_reset_run_req; - output wire mpc_debug_halt_ack; - output wire mpc_debug_run_ack; - output wire debug_brkpt_status; - input wire i_cpu_halt_req; - output wire o_cpu_halt_ack; - output wire o_cpu_halt_status; - output wire o_debug_mode_status; - input wire i_cpu_run_req; - output wire o_cpu_run_ack; - input wire scan_mode; - input wire mbist_mode; - input [15:0] CLKS_PER_BIT; - wire active_l2clk; - wire free_l2clk; - wire dccm_wren; - wire dccm_rden; - wire [pt[1398-:9] - 1:0] dccm_wr_addr_lo; - wire [pt[1398-:9] - 1:0] dccm_wr_addr_hi; - wire [pt[1398-:9] - 1:0] dccm_rd_addr_lo; - wire [pt[1398-:9] - 1:0] dccm_rd_addr_hi; - wire [pt[1360-:10] - 1:0] dccm_wr_data_lo; - wire [pt[1360-:10] - 1:0] dccm_wr_data_hi; - wire [pt[1360-:10] - 1:0] dccm_rd_data_lo; - wire [pt[1360-:10] - 1:0] dccm_rd_data_hi; - wire [31:1] ic_rw_addr; - wire [pt[1060-:7] - 1:0] ic_wr_en; - wire ic_rd_en; - wire [pt[1060-:7] - 1:0] ic_tag_valid; - wire [pt[1060-:7] - 1:0] ic_rd_hit; - wire ic_tag_perr; - wire [pt[1104-:9]:3] ic_debug_addr; - wire ic_debug_rd_en; - wire ic_debug_wr_en; - wire ic_debug_tag_array; - wire [pt[1060-:7] - 1:0] ic_debug_way; - wire [25:0] ictag_debug_rd_data; - wire [(pt[1189-:7] * 71) - 1:0] ic_wr_data; - wire [63:0] ic_rd_data; - wire [70:0] ic_debug_rd_data; - wire [70:0] ic_debug_wr_data; - wire [pt[1189-:7] - 1:0] ic_eccerr; - wire [pt[1189-:7] - 1:0] ic_parerr; - wire [63:0] ic_premux_data; - wire ic_sel_premux_data; - wire [pt[936-:9] - 1:1] iccm_rw_addr; - wire iccm_wren; - wire iccm_rden; - wire [2:0] iccm_wr_size; - wire [77:0] iccm_wr_data; - wire iccm_buf_correct_ecc; - wire iccm_correction_state; - wire [63:0] iccm_rd_data; - wire [77:0] iccm_rd_data_ecc; - wire core_rst; - wire core_rst_l; - wire jtag_tdoEn; - wire dccm_clk_override; - wire icm_clk_override; - wire dec_tlu_core_ecc_disable; - wire [31:0] haddr; - wire [2:0] hburst; - wire hmastlock; - wire [3:0] hprot; - wire [2:0] hsize; - wire [1:0] htrans; - wire hwrite; - wire [63:0] hrdata; - wire hready; - wire hresp; - wire [31:0] lsu_haddr; - wire [2:0] lsu_hburst; - wire lsu_hmastlock; - wire [3:0] lsu_hprot; - wire [2:0] lsu_hsize; - wire [1:0] lsu_htrans; - wire lsu_hwrite; - wire [63:0] lsu_hwdata; - wire [63:0] lsu_hrdata; - wire lsu_hready; - wire lsu_hresp; - wire [31:0] sb_haddr; - wire [2:0] sb_hburst; - wire sb_hmastlock; - wire [3:0] sb_hprot; - wire [2:0] sb_hsize; - wire [1:0] sb_htrans; - wire sb_hwrite; - wire [63:0] sb_hwdata; - wire [63:0] sb_hrdata; - wire sb_hready; - wire sb_hresp; - wire dma_hsel; - wire [31:0] dma_haddr; - wire [2:0] dma_hburst; - wire dma_hmastlock; - wire [3:0] dma_hprot; - wire [2:0] dma_hsize; - wire [1:0] dma_htrans; - wire dma_hwrite; - wire [63:0] dma_hwdata; - wire dma_hreadyin; - wire [63:0] dma_hrdata; - wire dma_hreadyout; - wire dma_hresp; - assign hrdata[63:0] = {64 {1'sb0}}; - assign hready = 1'b0; - assign hresp = 1'b0; - assign lsu_hrdata[63:0] = {64 {1'sb0}}; - assign lsu_hready = 1'b0; - assign lsu_hresp = 1'b0; - assign sb_hrdata[63:0] = {64 {1'sb0}}; - assign sb_hready = 1'b0; - assign sb_hresp = 1'b0; - assign dma_hsel = 1'b0; - assign dma_haddr[31:0] = {32 {1'sb0}}; - assign dma_hburst[2:0] = {3 {1'sb0}}; - assign dma_hmastlock = 1'b0; - assign dma_hprot[3:0] = {4 {1'sb0}}; - assign dma_hsize[2:0] = {3 {1'sb0}}; - assign dma_htrans[1:0] = {2 {1'sb0}}; - assign dma_hwrite = 1'b0; - assign dma_hwdata[63:0] = {64 {1'sb0}}; - assign dma_hreadyin = 1'b0; - wire dmi_reg_en; - wire [6:0] dmi_reg_addr; - wire dmi_reg_wr_en; - wire [31:0] dmi_reg_wdata; - wire [31:0] dmi_reg_rdata; - wire rx_dv_i; - wire [7:0] rx_byte_i; - wire iccm_instr_we; - wire [13:0] iccm_instr_addr; - wire [31:0] iccm_instr_wdata; - eb1_brqrv #(.pt(pt)) brqrv( - .clk(clk), - .rst_l(core_rst), - .dbg_rst_l(dbg_rst_l), - .rst_vec(rst_vec), - .nmi_int(nmi_int), - .nmi_vec(nmi_vec), - .core_rst_l(core_rst_l), - .active_l2clk(active_l2clk), - .free_l2clk(free_l2clk), - .trace_rv_i_insn_ip(trace_rv_i_insn_ip), - .trace_rv_i_address_ip(trace_rv_i_address_ip), - .trace_rv_i_valid_ip(trace_rv_i_valid_ip), - .trace_rv_i_exception_ip(trace_rv_i_exception_ip), - .trace_rv_i_ecause_ip(trace_rv_i_ecause_ip), - .trace_rv_i_interrupt_ip(trace_rv_i_interrupt_ip), - .trace_rv_i_tval_ip(trace_rv_i_tval_ip), - .dccm_clk_override(dccm_clk_override), - .icm_clk_override(icm_clk_override), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .i_cpu_halt_req(i_cpu_halt_req), - .i_cpu_run_req(i_cpu_run_req), - .o_cpu_halt_ack(o_cpu_halt_ack), - .o_cpu_halt_status(o_cpu_halt_status), - .o_cpu_run_ack(o_cpu_run_ack), - .o_debug_mode_status(o_debug_mode_status), - .core_id(core_id), - .mpc_debug_halt_req(mpc_debug_halt_req), - .mpc_debug_run_req(mpc_debug_run_req), - .mpc_reset_run_req(mpc_reset_run_req), - .mpc_debug_halt_ack(mpc_debug_halt_ack), - .mpc_debug_run_ack(mpc_debug_run_ack), - .debug_brkpt_status(debug_brkpt_status), - .dec_tlu_perfcnt0(dec_tlu_perfcnt0), - .dec_tlu_perfcnt1(dec_tlu_perfcnt1), - .dec_tlu_perfcnt2(dec_tlu_perfcnt2), - .dec_tlu_perfcnt3(dec_tlu_perfcnt3), - .dccm_wren(dccm_wren), - .dccm_rden(dccm_rden), - .dccm_wr_addr_lo(dccm_wr_addr_lo), - .dccm_wr_addr_hi(dccm_wr_addr_hi), - .dccm_rd_addr_lo(dccm_rd_addr_lo), - .dccm_rd_addr_hi(dccm_rd_addr_hi), - .dccm_wr_data_lo(dccm_wr_data_lo), - .dccm_wr_data_hi(dccm_wr_data_hi), - .dccm_rd_data_lo(dccm_rd_data_lo), - .dccm_rd_data_hi(dccm_rd_data_hi), - .iccm_rw_addr(iccm_rw_addr), - .iccm_wren(iccm_wren), - .iccm_rden(iccm_rden), - .iccm_wr_size(iccm_wr_size), - .iccm_wr_data(iccm_wr_data), - .iccm_buf_correct_ecc(iccm_buf_correct_ecc), - .iccm_correction_state(iccm_correction_state), - .iccm_rd_data(iccm_rd_data), - .iccm_rd_data_ecc(iccm_rd_data_ecc), - .ic_rw_addr(ic_rw_addr), - .ic_tag_valid(ic_tag_valid), - .ic_wr_en(ic_wr_en), - .ic_rd_en(ic_rd_en), - .ic_wr_data(ic_wr_data), - .ic_rd_data(ic_rd_data), - .ic_debug_rd_data(ic_debug_rd_data), - .ictag_debug_rd_data(ictag_debug_rd_data), - .ic_debug_wr_data(ic_debug_wr_data), - .ic_eccerr(ic_eccerr), - .ic_parerr(ic_parerr), - .ic_premux_data(ic_premux_data), - .ic_sel_premux_data(ic_sel_premux_data), - .ic_debug_addr(ic_debug_addr), - .ic_debug_rd_en(ic_debug_rd_en), - .ic_debug_wr_en(ic_debug_wr_en), - .ic_debug_tag_array(ic_debug_tag_array), - .ic_debug_way(ic_debug_way), - .ic_rd_hit(ic_rd_hit), - .ic_tag_perr(ic_tag_perr), - .lsu_axi_awvalid(lsu_axi_awvalid), - .lsu_axi_awready(lsu_axi_awready), - .lsu_axi_awid(lsu_axi_awid), - .lsu_axi_awaddr(lsu_axi_awaddr), - .lsu_axi_awregion(lsu_axi_awregion), - .lsu_axi_awlen(lsu_axi_awlen), - .lsu_axi_awsize(lsu_axi_awsize), - .lsu_axi_awburst(lsu_axi_awburst), - .lsu_axi_awlock(lsu_axi_awlock), - .lsu_axi_awcache(lsu_axi_awcache), - .lsu_axi_awprot(lsu_axi_awprot), - .lsu_axi_awqos(lsu_axi_awqos), - .lsu_axi_wvalid(lsu_axi_wvalid), - .lsu_axi_wready(lsu_axi_wready), - .lsu_axi_wdata(lsu_axi_wdata), - .lsu_axi_wstrb(lsu_axi_wstrb), - .lsu_axi_wlast(lsu_axi_wlast), - .lsu_axi_bvalid(lsu_axi_bvalid), - .lsu_axi_bready(lsu_axi_bready), - .lsu_axi_bresp(lsu_axi_bresp), - .lsu_axi_bid(lsu_axi_bid), - .lsu_axi_arvalid(lsu_axi_arvalid), - .lsu_axi_arready(lsu_axi_arready), - .lsu_axi_arid(lsu_axi_arid), - .lsu_axi_araddr(lsu_axi_araddr), - .lsu_axi_arregion(lsu_axi_arregion), - .lsu_axi_arlen(lsu_axi_arlen), - .lsu_axi_arsize(lsu_axi_arsize), - .lsu_axi_arburst(lsu_axi_arburst), - .lsu_axi_arlock(lsu_axi_arlock), - .lsu_axi_arcache(lsu_axi_arcache), - .lsu_axi_arprot(lsu_axi_arprot), - .lsu_axi_arqos(lsu_axi_arqos), - .lsu_axi_rvalid(lsu_axi_rvalid), - .lsu_axi_rready(lsu_axi_rready), - .lsu_axi_rid(lsu_axi_rid), - .lsu_axi_rdata(lsu_axi_rdata), - .lsu_axi_rresp(lsu_axi_rresp), - .lsu_axi_rlast(lsu_axi_rlast), - .ifu_axi_awvalid(ifu_axi_awvalid), - .ifu_axi_awready(ifu_axi_awready), - .ifu_axi_awid(ifu_axi_awid), - .ifu_axi_awaddr(ifu_axi_awaddr), - .ifu_axi_awregion(ifu_axi_awregion), - .ifu_axi_awlen(ifu_axi_awlen), - .ifu_axi_awsize(ifu_axi_awsize), - .ifu_axi_awburst(ifu_axi_awburst), - .ifu_axi_awlock(ifu_axi_awlock), - .ifu_axi_awcache(ifu_axi_awcache), - .ifu_axi_awprot(ifu_axi_awprot), - .ifu_axi_awqos(ifu_axi_awqos), - .ifu_axi_wvalid(ifu_axi_wvalid), - .ifu_axi_wready(ifu_axi_wready), - .ifu_axi_wdata(ifu_axi_wdata), - .ifu_axi_wstrb(ifu_axi_wstrb), - .ifu_axi_wlast(ifu_axi_wlast), - .ifu_axi_bvalid(ifu_axi_bvalid), - .ifu_axi_bready(ifu_axi_bready), - .ifu_axi_bresp(ifu_axi_bresp), - .ifu_axi_bid(ifu_axi_bid), - .ifu_axi_arvalid(ifu_axi_arvalid), - .ifu_axi_arready(ifu_axi_arready), - .ifu_axi_arid(ifu_axi_arid), - .ifu_axi_araddr(ifu_axi_araddr), - .ifu_axi_arregion(ifu_axi_arregion), - .ifu_axi_arlen(ifu_axi_arlen), - .ifu_axi_arsize(ifu_axi_arsize), - .ifu_axi_arburst(ifu_axi_arburst), - .ifu_axi_arlock(ifu_axi_arlock), - .ifu_axi_arcache(ifu_axi_arcache), - .ifu_axi_arprot(ifu_axi_arprot), - .ifu_axi_arqos(ifu_axi_arqos), - .ifu_axi_rvalid(ifu_axi_rvalid), - .ifu_axi_rready(ifu_axi_rready), - .ifu_axi_rid(ifu_axi_rid), - .ifu_axi_rdata(ifu_axi_rdata), - .ifu_axi_rresp(ifu_axi_rresp), - .ifu_axi_rlast(ifu_axi_rlast), - .sb_axi_awvalid(sb_axi_awvalid), - .sb_axi_awready(sb_axi_awready), - .sb_axi_awid(sb_axi_awid), - .sb_axi_awaddr(sb_axi_awaddr), - .sb_axi_awregion(sb_axi_awregion), - .sb_axi_awlen(sb_axi_awlen), - .sb_axi_awsize(sb_axi_awsize), - .sb_axi_awburst(sb_axi_awburst), - .sb_axi_awlock(sb_axi_awlock), - .sb_axi_awcache(sb_axi_awcache), - .sb_axi_awprot(sb_axi_awprot), - .sb_axi_awqos(sb_axi_awqos), - .sb_axi_wvalid(sb_axi_wvalid), - .sb_axi_wready(sb_axi_wready), - .sb_axi_wdata(sb_axi_wdata), - .sb_axi_wstrb(sb_axi_wstrb), - .sb_axi_wlast(sb_axi_wlast), - .sb_axi_bvalid(sb_axi_bvalid), - .sb_axi_bready(sb_axi_bready), - .sb_axi_bresp(sb_axi_bresp), - .sb_axi_bid(sb_axi_bid), - .sb_axi_arvalid(sb_axi_arvalid), - .sb_axi_arready(sb_axi_arready), - .sb_axi_arid(sb_axi_arid), - .sb_axi_araddr(sb_axi_araddr), - .sb_axi_arregion(sb_axi_arregion), - .sb_axi_arlen(sb_axi_arlen), - .sb_axi_arsize(sb_axi_arsize), - .sb_axi_arburst(sb_axi_arburst), - .sb_axi_arlock(sb_axi_arlock), - .sb_axi_arcache(sb_axi_arcache), - .sb_axi_arprot(sb_axi_arprot), - .sb_axi_arqos(sb_axi_arqos), - .sb_axi_rvalid(sb_axi_rvalid), - .sb_axi_rready(sb_axi_rready), - .sb_axi_rid(sb_axi_rid), - .sb_axi_rdata(sb_axi_rdata), - .sb_axi_rresp(sb_axi_rresp), - .sb_axi_rlast(sb_axi_rlast), - .dma_axi_awvalid(dma_axi_awvalid), - .dma_axi_awready(dma_axi_awready), - .dma_axi_awid(dma_axi_awid), - .dma_axi_awaddr(dma_axi_awaddr), - .dma_axi_awsize(dma_axi_awsize), - .dma_axi_awprot(dma_axi_awprot), - .dma_axi_awlen(dma_axi_awlen), - .dma_axi_awburst(dma_axi_awburst), - .dma_axi_wvalid(dma_axi_wvalid), - .dma_axi_wready(dma_axi_wready), - .dma_axi_wdata(dma_axi_wdata), - .dma_axi_wstrb(dma_axi_wstrb), - .dma_axi_wlast(dma_axi_wlast), - .dma_axi_bvalid(dma_axi_bvalid), - .dma_axi_bready(dma_axi_bready), - .dma_axi_bresp(dma_axi_bresp), - .dma_axi_bid(dma_axi_bid), - .dma_axi_arvalid(dma_axi_arvalid), - .dma_axi_arready(dma_axi_arready), - .dma_axi_arid(dma_axi_arid), - .dma_axi_araddr(dma_axi_araddr), - .dma_axi_arsize(dma_axi_arsize), - .dma_axi_arprot(dma_axi_arprot), - .dma_axi_arlen(dma_axi_arlen), - .dma_axi_arburst(dma_axi_arburst), - .dma_axi_rvalid(dma_axi_rvalid), - .dma_axi_rready(dma_axi_rready), - .dma_axi_rid(dma_axi_rid), - .dma_axi_rdata(dma_axi_rdata), - .dma_axi_rresp(dma_axi_rresp), - .dma_axi_rlast(dma_axi_rlast), - .haddr(haddr), - .hburst(hburst), - .hmastlock(hmastlock), - .hprot(hprot), - .hsize(hsize), - .htrans(htrans), - .hwrite(hwrite), - .hrdata(hrdata), - .hready(hready), - .hresp(hresp), - .lsu_haddr(lsu_haddr), - .lsu_hburst(lsu_hburst), - .lsu_hmastlock(lsu_hmastlock), - .lsu_hprot(lsu_hprot), - .lsu_hsize(lsu_hsize), - .lsu_htrans(lsu_htrans), - .lsu_hwrite(lsu_hwrite), - .lsu_hwdata(lsu_hwdata), - .lsu_hrdata(lsu_hrdata), - .lsu_hready(lsu_hready), - .lsu_hresp(lsu_hresp), - .sb_haddr(sb_haddr), - .sb_hburst(sb_hburst), - .sb_hmastlock(sb_hmastlock), - .sb_hprot(sb_hprot), - .sb_hsize(sb_hsize), - .sb_htrans(sb_htrans), - .sb_hwrite(sb_hwrite), - .sb_hwdata(sb_hwdata), - .sb_hrdata(sb_hrdata), - .sb_hready(sb_hready), - .sb_hresp(sb_hresp), - .dma_hsel(dma_hsel), - .dma_haddr(dma_haddr), - .dma_hburst(dma_hburst), - .dma_hmastlock(dma_hmastlock), - .dma_hprot(dma_hprot), - .dma_hsize(dma_hsize), - .dma_htrans(dma_htrans), - .dma_hwrite(dma_hwrite), - .dma_hwdata(dma_hwdata), - .dma_hreadyin(dma_hreadyin), - .dma_hrdata(dma_hrdata), - .dma_hreadyout(dma_hreadyout), - .dma_hresp(dma_hresp), - .lsu_bus_clk_en(lsu_bus_clk_en), - .ifu_bus_clk_en(ifu_bus_clk_en), - .dbg_bus_clk_en(dbg_bus_clk_en), - .dma_bus_clk_en(dma_bus_clk_en), - .dmi_reg_en(dmi_reg_en), - .dmi_reg_addr(dmi_reg_addr), - .dmi_reg_wr_en(dmi_reg_wr_en), - .dmi_reg_wdata(dmi_reg_wdata), - .dmi_reg_rdata(dmi_reg_rdata), - .extintsrc_req(extintsrc_req), - .timer_int(timer_int), - .soft_int(soft_int), - .scan_mode(scan_mode) - ); - eb1_mem #(.pt(pt)) mem( - .clk(active_l2clk), - .rst_l(rst_l), - .iccm_rw_addr((core_rst ? iccm_rw_addr : iccm_instr_addr[10:0])), - .iccm_wren((core_rst ? iccm_wren : iccm_instr_we)), - .iccm_wr_data((core_rst ? iccm_wr_data : {7'h00, iccm_instr_wdata, 7'h00, iccm_instr_wdata})), - .iccm_wr_size((core_rst ? iccm_wr_size : 3'b010)), - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .dccm_clk_override(dccm_clk_override), - .icm_clk_override(icm_clk_override), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .dccm_wren(dccm_wren), - .dccm_rden(dccm_rden), - .dccm_wr_addr_lo(dccm_wr_addr_lo), - .dccm_wr_addr_hi(dccm_wr_addr_hi), - .dccm_rd_addr_lo(dccm_rd_addr_lo), - .dccm_rd_addr_hi(dccm_rd_addr_hi), - .dccm_wr_data_lo(dccm_wr_data_lo), - .dccm_wr_data_hi(dccm_wr_data_hi), - .dccm_rd_data_lo(dccm_rd_data_lo), - .dccm_rd_data_hi(dccm_rd_data_hi), - .dccm_ext_in_pkt(dccm_ext_in_pkt), - .iccm_ext_in_pkt(iccm_ext_in_pkt), - .iccm_buf_correct_ecc(iccm_buf_correct_ecc), - .iccm_correction_state(iccm_correction_state), - .iccm_rden(iccm_rden), - .iccm_rd_data(iccm_rd_data), - .iccm_rd_data_ecc(iccm_rd_data_ecc), - .ic_rw_addr(ic_rw_addr), - .ic_tag_valid(ic_tag_valid), - .ic_wr_en(ic_wr_en), - .ic_rd_en(ic_rd_en), - .ic_premux_data(ic_premux_data), - .ic_sel_premux_data(ic_sel_premux_data), - .ic_data_ext_in_pkt(ic_data_ext_in_pkt), - .ic_tag_ext_in_pkt(ic_tag_ext_in_pkt), - .ic_wr_data(ic_wr_data), - .ic_debug_wr_data(ic_debug_wr_data), - .ic_debug_rd_data(ic_debug_rd_data), - .ic_debug_addr(ic_debug_addr), - .ic_debug_rd_en(ic_debug_rd_en), - .ic_debug_wr_en(ic_debug_wr_en), - .ic_debug_tag_array(ic_debug_tag_array), - .ic_debug_way(ic_debug_way), - .ic_rd_data(ic_rd_data), - .ictag_debug_rd_data(ictag_debug_rd_data), - .ic_eccerr(ic_eccerr), - .ic_parerr(ic_parerr), - .ic_rd_hit(ic_rd_hit), - .ic_tag_perr(ic_tag_perr), - .scan_mode(scan_mode) - ); - eb1_iccm_controller iccm_controller( - .clk_i(clk), - .rst_ni(rst_l), - .rx_dv_i(rx_dv_i), - .rx_byte_i(rx_byte_i), - .we_o(iccm_instr_we), - .addr_o(iccm_instr_addr), - .wdata_o(iccm_instr_wdata), - .reset_o(core_rst) - ); - - always @(iccm_instr_we) begin - $display("Instruction = %h", iccm_instr_wdata); - end - - eb1_uart_rx_prog uart_rx_m( - .i_Clock(clk), - .rst_ni(rst_l), - .i_Rx_Serial(uart_rx), - .CLKS_PER_BIT(CLKS_PER_BIT), - .o_Rx_DV(rx_dv_i), - .o_Rx_Byte(rx_byte_i) - ); - dmi_wrapper dmi_wrapper( - .trst_n(jtag_trst_n), - .tck(jtag_tck), - .tms(jtag_tms), - .tdi(jtag_tdi), - .tdo(jtag_tdo), - .tdoEnable(), - .core_rst_n(dbg_rst_l), - .core_clk(clk), - .jtag_id(jtag_id), - .rd_data(dmi_reg_rdata), - .reg_wr_data(dmi_reg_wdata), - .reg_wr_addr(dmi_reg_addr), - .reg_en(dmi_reg_en), - .reg_wr_en(dmi_reg_wr_en), - .dmi_hard_reset() - ); -endmodule -module eb1_brqrv ( - clk, - rst_l, - dbg_rst_l, - rst_vec, - nmi_int, - nmi_vec, - core_rst_l, - active_l2clk, - free_l2clk, - trace_rv_i_insn_ip, - trace_rv_i_address_ip, - trace_rv_i_valid_ip, - trace_rv_i_exception_ip, - trace_rv_i_ecause_ip, - trace_rv_i_interrupt_ip, - trace_rv_i_tval_ip, - dccm_clk_override, - icm_clk_override, - dec_tlu_core_ecc_disable, - i_cpu_halt_req, - i_cpu_run_req, - o_cpu_halt_ack, - o_cpu_halt_status, - o_cpu_run_ack, - o_debug_mode_status, - core_id, - mpc_debug_halt_req, - mpc_debug_run_req, - mpc_reset_run_req, - mpc_debug_halt_ack, - mpc_debug_run_ack, - debug_brkpt_status, - dec_tlu_perfcnt0, - dec_tlu_perfcnt1, - dec_tlu_perfcnt2, - dec_tlu_perfcnt3, - dccm_wren, - dccm_rden, - dccm_wr_addr_lo, - dccm_wr_addr_hi, - dccm_rd_addr_lo, - dccm_rd_addr_hi, - dccm_wr_data_lo, - dccm_wr_data_hi, - dccm_rd_data_lo, - dccm_rd_data_hi, - iccm_rw_addr, - iccm_wren, - iccm_rden, - iccm_wr_size, - iccm_wr_data, - iccm_buf_correct_ecc, - iccm_correction_state, - iccm_rd_data, - iccm_rd_data_ecc, - ic_rw_addr, - ic_tag_valid, - ic_wr_en, - ic_rd_en, - ic_wr_data, - ic_rd_data, - ic_debug_rd_data, - ictag_debug_rd_data, - ic_debug_wr_data, - ic_eccerr, - ic_parerr, - ic_premux_data, - ic_sel_premux_data, - ic_debug_addr, - ic_debug_rd_en, - ic_debug_wr_en, - ic_debug_tag_array, - ic_debug_way, - ic_rd_hit, - ic_tag_perr, - lsu_axi_awvalid, - lsu_axi_awready, - lsu_axi_awid, - lsu_axi_awaddr, - lsu_axi_awregion, - lsu_axi_awlen, - lsu_axi_awsize, - lsu_axi_awburst, - lsu_axi_awlock, - lsu_axi_awcache, - lsu_axi_awprot, - lsu_axi_awqos, - lsu_axi_wvalid, - lsu_axi_wready, - lsu_axi_wdata, - lsu_axi_wstrb, - lsu_axi_wlast, - lsu_axi_bvalid, - lsu_axi_bready, - lsu_axi_bresp, - lsu_axi_bid, - lsu_axi_arvalid, - lsu_axi_arready, - lsu_axi_arid, - lsu_axi_araddr, - lsu_axi_arregion, - lsu_axi_arlen, - lsu_axi_arsize, - lsu_axi_arburst, - lsu_axi_arlock, - lsu_axi_arcache, - lsu_axi_arprot, - lsu_axi_arqos, - lsu_axi_rvalid, - lsu_axi_rready, - lsu_axi_rid, - lsu_axi_rdata, - lsu_axi_rresp, - lsu_axi_rlast, - ifu_axi_awvalid, - ifu_axi_awready, - ifu_axi_awid, - ifu_axi_awaddr, - ifu_axi_awregion, - ifu_axi_awlen, - ifu_axi_awsize, - ifu_axi_awburst, - ifu_axi_awlock, - ifu_axi_awcache, - ifu_axi_awprot, - ifu_axi_awqos, - ifu_axi_wvalid, - ifu_axi_wready, - ifu_axi_wdata, - ifu_axi_wstrb, - ifu_axi_wlast, - ifu_axi_bvalid, - ifu_axi_bready, - ifu_axi_bresp, - ifu_axi_bid, - ifu_axi_arvalid, - ifu_axi_arready, - ifu_axi_arid, - ifu_axi_araddr, - ifu_axi_arregion, - ifu_axi_arlen, - ifu_axi_arsize, - ifu_axi_arburst, - ifu_axi_arlock, - ifu_axi_arcache, - ifu_axi_arprot, - ifu_axi_arqos, - ifu_axi_rvalid, - ifu_axi_rready, - ifu_axi_rid, - ifu_axi_rdata, - ifu_axi_rresp, - ifu_axi_rlast, - sb_axi_awvalid, - sb_axi_awready, - sb_axi_awid, - sb_axi_awaddr, - sb_axi_awregion, - sb_axi_awlen, - sb_axi_awsize, - sb_axi_awburst, - sb_axi_awlock, - sb_axi_awcache, - sb_axi_awprot, - sb_axi_awqos, - sb_axi_wvalid, - sb_axi_wready, - sb_axi_wdata, - sb_axi_wstrb, - sb_axi_wlast, - sb_axi_bvalid, - sb_axi_bready, - sb_axi_bresp, - sb_axi_bid, - sb_axi_arvalid, - sb_axi_arready, - sb_axi_arid, - sb_axi_araddr, - sb_axi_arregion, - sb_axi_arlen, - sb_axi_arsize, - sb_axi_arburst, - sb_axi_arlock, - sb_axi_arcache, - sb_axi_arprot, - sb_axi_arqos, - sb_axi_rvalid, - sb_axi_rready, - sb_axi_rid, - sb_axi_rdata, - sb_axi_rresp, - sb_axi_rlast, - dma_axi_awvalid, - dma_axi_awready, - dma_axi_awid, - dma_axi_awaddr, - dma_axi_awsize, - dma_axi_awprot, - dma_axi_awlen, - dma_axi_awburst, - dma_axi_wvalid, - dma_axi_wready, - dma_axi_wdata, - dma_axi_wstrb, - dma_axi_wlast, - dma_axi_bvalid, - dma_axi_bready, - dma_axi_bresp, - dma_axi_bid, - dma_axi_arvalid, - dma_axi_arready, - dma_axi_arid, - dma_axi_araddr, - dma_axi_arsize, - dma_axi_arprot, - dma_axi_arlen, - dma_axi_arburst, - dma_axi_rvalid, - dma_axi_rready, - dma_axi_rid, - dma_axi_rdata, - dma_axi_rresp, - dma_axi_rlast, - haddr, - hburst, - hmastlock, - hprot, - hsize, - htrans, - hwrite, - hrdata, - hready, - hresp, - lsu_haddr, - lsu_hburst, - lsu_hmastlock, - lsu_hprot, - lsu_hsize, - lsu_htrans, - lsu_hwrite, - lsu_hwdata, - lsu_hrdata, - lsu_hready, - lsu_hresp, - sb_haddr, - sb_hburst, - sb_hmastlock, - sb_hprot, - sb_hsize, - sb_htrans, - sb_hwrite, - sb_hwdata, - sb_hrdata, - sb_hready, - sb_hresp, - dma_hsel, - dma_haddr, - dma_hburst, - dma_hmastlock, - dma_hprot, - dma_hsize, - dma_htrans, - dma_hwrite, - dma_hwdata, - dma_hreadyin, - dma_hrdata, - dma_hreadyout, - dma_hresp, - lsu_bus_clk_en, - ifu_bus_clk_en, - dbg_bus_clk_en, - dma_bus_clk_en, - dmi_reg_en, - dmi_reg_addr, - dmi_reg_wr_en, - dmi_reg_wdata, - dmi_reg_rdata, - extintsrc_req, - timer_int, - soft_int, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire dbg_rst_l; - input wire [31:1] rst_vec; - input wire nmi_int; - input wire [31:1] nmi_vec; - output wire core_rst_l; - output wire active_l2clk; - output wire free_l2clk; - output wire [31:0] trace_rv_i_insn_ip; - output wire [31:0] trace_rv_i_address_ip; - output wire trace_rv_i_valid_ip; - output wire trace_rv_i_exception_ip; - output wire [4:0] trace_rv_i_ecause_ip; - output wire trace_rv_i_interrupt_ip; - output wire [31:0] trace_rv_i_tval_ip; - output wire dccm_clk_override; - output wire icm_clk_override; - output wire dec_tlu_core_ecc_disable; - input wire i_cpu_halt_req; - input wire i_cpu_run_req; - output wire o_cpu_halt_ack; - output wire o_cpu_halt_status; - output wire o_cpu_run_ack; - output wire o_debug_mode_status; - input wire [31:4] core_id; - input wire mpc_debug_halt_req; - input wire mpc_debug_run_req; - input wire mpc_reset_run_req; - output wire mpc_debug_halt_ack; - output wire mpc_debug_run_ack; - output wire debug_brkpt_status; - output wire dec_tlu_perfcnt0; - output wire dec_tlu_perfcnt1; - output wire dec_tlu_perfcnt2; - output wire dec_tlu_perfcnt3; - output wire dccm_wren; - output wire dccm_rden; - output wire [pt[1398-:9] - 1:0] dccm_wr_addr_lo; - output wire [pt[1398-:9] - 1:0] dccm_wr_addr_hi; - output wire [pt[1398-:9] - 1:0] dccm_rd_addr_lo; - output wire [pt[1398-:9] - 1:0] dccm_rd_addr_hi; - output wire [pt[1360-:10] - 1:0] dccm_wr_data_lo; - output wire [pt[1360-:10] - 1:0] dccm_wr_data_hi; - input wire [pt[1360-:10] - 1:0] dccm_rd_data_lo; - input wire [pt[1360-:10] - 1:0] dccm_rd_data_hi; - output wire [pt[936-:9] - 1:1] iccm_rw_addr; - output wire iccm_wren; - output wire iccm_rden; - output wire [2:0] iccm_wr_size; - output wire [77:0] iccm_wr_data; - output wire iccm_buf_correct_ecc; - output wire iccm_correction_state; - input wire [63:0] iccm_rd_data; - input wire [77:0] iccm_rd_data_ecc; - output wire [31:1] ic_rw_addr; - output wire [pt[1060-:7] - 1:0] ic_tag_valid; - output wire [pt[1060-:7] - 1:0] ic_wr_en; - output wire ic_rd_en; - output wire [(pt[1189-:7] * 71) - 1:0] ic_wr_data; - input wire [63:0] ic_rd_data; - input wire [70:0] ic_debug_rd_data; - input wire [25:0] ictag_debug_rd_data; - output wire [70:0] ic_debug_wr_data; - input wire [pt[1189-:7] - 1:0] ic_eccerr; - input wire [pt[1189-:7] - 1:0] ic_parerr; - output wire [63:0] ic_premux_data; - output wire ic_sel_premux_data; - output wire [pt[1104-:9]:3] ic_debug_addr; - output wire ic_debug_rd_en; - output wire ic_debug_wr_en; - output wire ic_debug_tag_array; - output wire [pt[1060-:7] - 1:0] ic_debug_way; - input wire [pt[1060-:7] - 1:0] ic_rd_hit; - input wire ic_tag_perr; - output wire lsu_axi_awvalid; - input wire lsu_axi_awready; - output wire [pt[181-:8] - 1:0] lsu_axi_awid; - output wire [31:0] lsu_axi_awaddr; - output wire [3:0] lsu_axi_awregion; - output wire [7:0] lsu_axi_awlen; - output wire [2:0] lsu_axi_awsize; - output wire [1:0] lsu_axi_awburst; - output wire lsu_axi_awlock; - output wire [3:0] lsu_axi_awcache; - output wire [2:0] lsu_axi_awprot; - output wire [3:0] lsu_axi_awqos; - output wire lsu_axi_wvalid; - input wire lsu_axi_wready; - output wire [63:0] lsu_axi_wdata; - output wire [7:0] lsu_axi_wstrb; - output wire lsu_axi_wlast; - input wire lsu_axi_bvalid; - output wire lsu_axi_bready; - input wire [1:0] lsu_axi_bresp; - input wire [pt[181-:8] - 1:0] lsu_axi_bid; - output wire lsu_axi_arvalid; - input wire lsu_axi_arready; - output wire [pt[181-:8] - 1:0] lsu_axi_arid; - output wire [31:0] lsu_axi_araddr; - output wire [3:0] lsu_axi_arregion; - output wire [7:0] lsu_axi_arlen; - output wire [2:0] lsu_axi_arsize; - output wire [1:0] lsu_axi_arburst; - output wire lsu_axi_arlock; - output wire [3:0] lsu_axi_arcache; - output wire [2:0] lsu_axi_arprot; - output wire [3:0] lsu_axi_arqos; - input wire lsu_axi_rvalid; - output wire lsu_axi_rready; - input wire [pt[181-:8] - 1:0] lsu_axi_rid; - input wire [63:0] lsu_axi_rdata; - input wire [1:0] lsu_axi_rresp; - input wire lsu_axi_rlast; - output wire ifu_axi_awvalid; - input wire ifu_axi_awready; - output wire [pt[826-:8] - 1:0] ifu_axi_awid; - output wire [31:0] ifu_axi_awaddr; - output wire [3:0] ifu_axi_awregion; - output wire [7:0] ifu_axi_awlen; - output wire [2:0] ifu_axi_awsize; - output wire [1:0] ifu_axi_awburst; - output wire ifu_axi_awlock; - output wire [3:0] ifu_axi_awcache; - output wire [2:0] ifu_axi_awprot; - output wire [3:0] ifu_axi_awqos; - output wire ifu_axi_wvalid; - input wire ifu_axi_wready; - output wire [63:0] ifu_axi_wdata; - output wire [7:0] ifu_axi_wstrb; - output wire ifu_axi_wlast; - input wire ifu_axi_bvalid; - output wire ifu_axi_bready; - input wire [1:0] ifu_axi_bresp; - input wire [pt[826-:8] - 1:0] ifu_axi_bid; - output wire ifu_axi_arvalid; - input wire ifu_axi_arready; - output wire [pt[826-:8] - 1:0] ifu_axi_arid; - output wire [31:0] ifu_axi_araddr; - output wire [3:0] ifu_axi_arregion; - output wire [7:0] ifu_axi_arlen; - output wire [2:0] ifu_axi_arsize; - output wire [1:0] ifu_axi_arburst; - output wire ifu_axi_arlock; - output wire [3:0] ifu_axi_arcache; - output wire [2:0] ifu_axi_arprot; - output wire [3:0] ifu_axi_arqos; - input wire ifu_axi_rvalid; - output wire ifu_axi_rready; - input wire [pt[826-:8] - 1:0] ifu_axi_rid; - input wire [63:0] ifu_axi_rdata; - input wire [1:0] ifu_axi_rresp; - input wire ifu_axi_rlast; - output wire sb_axi_awvalid; - input wire sb_axi_awready; - output wire [pt[12-:8] - 1:0] sb_axi_awid; - output wire [31:0] sb_axi_awaddr; - output wire [3:0] sb_axi_awregion; - output wire [7:0] sb_axi_awlen; - output wire [2:0] sb_axi_awsize; - output wire [1:0] sb_axi_awburst; - output wire sb_axi_awlock; - output wire [3:0] sb_axi_awcache; - output wire [2:0] sb_axi_awprot; - output wire [3:0] sb_axi_awqos; - output wire sb_axi_wvalid; - input wire sb_axi_wready; - output wire [63:0] sb_axi_wdata; - output wire [7:0] sb_axi_wstrb; - output wire sb_axi_wlast; - input wire sb_axi_bvalid; - output wire sb_axi_bready; - input wire [1:0] sb_axi_bresp; - input wire [pt[12-:8] - 1:0] sb_axi_bid; - output wire sb_axi_arvalid; - input wire sb_axi_arready; - output wire [pt[12-:8] - 1:0] sb_axi_arid; - output wire [31:0] sb_axi_araddr; - output wire [3:0] sb_axi_arregion; - output wire [7:0] sb_axi_arlen; - output wire [2:0] sb_axi_arsize; - output wire [1:0] sb_axi_arburst; - output wire sb_axi_arlock; - output wire [3:0] sb_axi_arcache; - output wire [2:0] sb_axi_arprot; - output wire [3:0] sb_axi_arqos; - input wire sb_axi_rvalid; - output wire sb_axi_rready; - input wire [pt[12-:8] - 1:0] sb_axi_rid; - input wire [63:0] sb_axi_rdata; - input wire [1:0] sb_axi_rresp; - input wire sb_axi_rlast; - input wire dma_axi_awvalid; - output wire dma_axi_awready; - input wire [pt[1235-:8] - 1:0] dma_axi_awid; - input wire [31:0] dma_axi_awaddr; - input wire [2:0] dma_axi_awsize; - input wire [2:0] dma_axi_awprot; - input wire [7:0] dma_axi_awlen; - input wire [1:0] dma_axi_awburst; - input wire dma_axi_wvalid; - output wire dma_axi_wready; - input wire [63:0] dma_axi_wdata; - input wire [7:0] dma_axi_wstrb; - input wire dma_axi_wlast; - output wire dma_axi_bvalid; - input wire dma_axi_bready; - output wire [1:0] dma_axi_bresp; - output wire [pt[1235-:8] - 1:0] dma_axi_bid; - input wire dma_axi_arvalid; - output wire dma_axi_arready; - input wire [pt[1235-:8] - 1:0] dma_axi_arid; - input wire [31:0] dma_axi_araddr; - input wire [2:0] dma_axi_arsize; - input wire [2:0] dma_axi_arprot; - input wire [7:0] dma_axi_arlen; - input wire [1:0] dma_axi_arburst; - output wire dma_axi_rvalid; - input wire dma_axi_rready; - output wire [pt[1235-:8] - 1:0] dma_axi_rid; - output wire [63:0] dma_axi_rdata; - output wire [1:0] dma_axi_rresp; - output wire dma_axi_rlast; - output wire [31:0] haddr; - output wire [2:0] hburst; - output wire hmastlock; - output wire [3:0] hprot; - output wire [2:0] hsize; - output wire [1:0] htrans; - output wire hwrite; - input wire [63:0] hrdata; - input wire hready; - input wire hresp; - output wire [31:0] lsu_haddr; - output wire [2:0] lsu_hburst; - output wire lsu_hmastlock; - output wire [3:0] lsu_hprot; - output wire [2:0] lsu_hsize; - output wire [1:0] lsu_htrans; - output wire lsu_hwrite; - output wire [63:0] lsu_hwdata; - input wire [63:0] lsu_hrdata; - input wire lsu_hready; - input wire lsu_hresp; - output wire [31:0] sb_haddr; - output wire [2:0] sb_hburst; - output wire sb_hmastlock; - output wire [3:0] sb_hprot; - output wire [2:0] sb_hsize; - output wire [1:0] sb_htrans; - output wire sb_hwrite; - output wire [63:0] sb_hwdata; - input wire [63:0] sb_hrdata; - input wire sb_hready; - input wire sb_hresp; - input wire dma_hsel; - input wire [31:0] dma_haddr; - input wire [2:0] dma_hburst; - input wire dma_hmastlock; - input wire [3:0] dma_hprot; - input wire [2:0] dma_hsize; - input wire [1:0] dma_htrans; - input wire dma_hwrite; - input wire [63:0] dma_hwdata; - input wire dma_hreadyin; - output wire [63:0] dma_hrdata; - output wire dma_hreadyout; - output wire dma_hresp; - input wire lsu_bus_clk_en; - input wire ifu_bus_clk_en; - input wire dbg_bus_clk_en; - input wire dma_bus_clk_en; - input wire dmi_reg_en; - input wire [6:0] dmi_reg_addr; - input wire dmi_reg_wr_en; - input wire [31:0] dmi_reg_wdata; - output wire [31:0] dmi_reg_rdata; - input wire [pt[56-:12]:1] extintsrc_req; - input wire timer_int; - input wire soft_int; - input wire scan_mode; - wire [63:0] hwdata_nc; - wire ifu_pmu_instr_aligned; - wire ifu_ic_error_start; - wire ifu_iccm_rd_ecc_single_err; - wire lsu_axi_awready_ahb; - wire lsu_axi_wready_ahb; - wire lsu_axi_bvalid_ahb; - wire lsu_axi_bready_ahb; - wire [1:0] lsu_axi_bresp_ahb; - wire [pt[181-:8] - 1:0] lsu_axi_bid_ahb; - wire lsu_axi_arready_ahb; - wire lsu_axi_rvalid_ahb; - wire [pt[181-:8] - 1:0] lsu_axi_rid_ahb; - wire [63:0] lsu_axi_rdata_ahb; - wire [1:0] lsu_axi_rresp_ahb; - wire lsu_axi_rlast_ahb; - wire lsu_axi_awready_int; - wire lsu_axi_wready_int; - wire lsu_axi_bvalid_int; - wire lsu_axi_bready_int; - wire [1:0] lsu_axi_bresp_int; - wire [pt[181-:8] - 1:0] lsu_axi_bid_int; - wire lsu_axi_arready_int; - wire lsu_axi_rvalid_int; - wire [pt[181-:8] - 1:0] lsu_axi_rid_int; - wire [63:0] lsu_axi_rdata_int; - wire [1:0] lsu_axi_rresp_int; - wire lsu_axi_rlast_int; - wire ifu_axi_awready_ahb; - wire ifu_axi_wready_ahb; - wire ifu_axi_bvalid_ahb; - wire ifu_axi_bready_ahb; - wire [1:0] ifu_axi_bresp_ahb; - wire [pt[826-:8] - 1:0] ifu_axi_bid_ahb; - wire ifu_axi_arready_ahb; - wire ifu_axi_rvalid_ahb; - wire [pt[826-:8] - 1:0] ifu_axi_rid_ahb; - wire [63:0] ifu_axi_rdata_ahb; - wire [1:0] ifu_axi_rresp_ahb; - wire ifu_axi_rlast_ahb; - wire ifu_axi_awready_int; - wire ifu_axi_wready_int; - wire ifu_axi_bvalid_int; - wire ifu_axi_bready_int; - wire [1:0] ifu_axi_bresp_int; - wire [pt[826-:8] - 1:0] ifu_axi_bid_int; - wire ifu_axi_arready_int; - wire ifu_axi_rvalid_int; - wire [pt[826-:8] - 1:0] ifu_axi_rid_int; - wire [63:0] ifu_axi_rdata_int; - wire [1:0] ifu_axi_rresp_int; - wire ifu_axi_rlast_int; - wire sb_axi_awready_ahb; - wire sb_axi_wready_ahb; - wire sb_axi_bvalid_ahb; - wire sb_axi_bready_ahb; - wire [1:0] sb_axi_bresp_ahb; - wire [pt[12-:8] - 1:0] sb_axi_bid_ahb; - wire sb_axi_arready_ahb; - wire sb_axi_rvalid_ahb; - wire [pt[12-:8] - 1:0] sb_axi_rid_ahb; - wire [63:0] sb_axi_rdata_ahb; - wire [1:0] sb_axi_rresp_ahb; - wire sb_axi_rlast_ahb; - wire sb_axi_awready_int; - wire sb_axi_wready_int; - wire sb_axi_bvalid_int; - wire sb_axi_bready_int; - wire [1:0] sb_axi_bresp_int; - wire [pt[12-:8] - 1:0] sb_axi_bid_int; - wire sb_axi_arready_int; - wire sb_axi_rvalid_int; - wire [pt[12-:8] - 1:0] sb_axi_rid_int; - wire [63:0] sb_axi_rdata_int; - wire [1:0] sb_axi_rresp_int; - wire sb_axi_rlast_int; - wire dma_axi_awvalid_ahb; - wire [pt[1235-:8] - 1:0] dma_axi_awid_ahb; - wire [31:0] dma_axi_awaddr_ahb; - wire [2:0] dma_axi_awsize_ahb; - wire [2:0] dma_axi_awprot_ahb; - wire [7:0] dma_axi_awlen_ahb; - wire [1:0] dma_axi_awburst_ahb; - wire dma_axi_wvalid_ahb; - wire [63:0] dma_axi_wdata_ahb; - wire [7:0] dma_axi_wstrb_ahb; - wire dma_axi_wlast_ahb; - wire dma_axi_bready_ahb; - wire dma_axi_arvalid_ahb; - wire [pt[1235-:8] - 1:0] dma_axi_arid_ahb; - wire [31:0] dma_axi_araddr_ahb; - wire [2:0] dma_axi_arsize_ahb; - wire [2:0] dma_axi_arprot_ahb; - wire [7:0] dma_axi_arlen_ahb; - wire [1:0] dma_axi_arburst_ahb; - wire dma_axi_rready_ahb; - wire dma_axi_awvalid_int; - wire [pt[1235-:8] - 1:0] dma_axi_awid_int; - wire [31:0] dma_axi_awaddr_int; - wire [2:0] dma_axi_awsize_int; - wire [2:0] dma_axi_awprot_int; - wire [7:0] dma_axi_awlen_int; - wire [1:0] dma_axi_awburst_int; - wire dma_axi_wvalid_int; - wire [63:0] dma_axi_wdata_int; - wire [7:0] dma_axi_wstrb_int; - wire dma_axi_wlast_int; - wire dma_axi_bready_int; - wire dma_axi_arvalid_int; - wire [pt[1235-:8] - 1:0] dma_axi_arid_int; - wire [31:0] dma_axi_araddr_int; - wire [2:0] dma_axi_arsize_int; - wire [2:0] dma_axi_arprot_int; - wire [7:0] dma_axi_arlen_int; - wire [1:0] dma_axi_arburst_int; - wire dma_axi_rready_int; - wire [70:0] ifu_ic_debug_rd_data; - wire ifu_ic_debug_rd_data_valid; - wire [89:0] dec_tlu_ic_diag_pkt; - wire dec_i0_rs1_en_d; - wire dec_i0_rs2_en_d; - wire [31:0] gpr_i0_rs1_d; - wire [31:0] gpr_i0_rs2_d; - wire [31:0] dec_i0_result_r; - wire [31:0] exu_i0_result_x; - wire [31:1] exu_i0_pc_x; - wire [31:1] exu_npc_r; - wire [43:0] i0_ap; - wire [151:0] trigger_pkt_any; - wire [3:0] lsu_trigger_match_m; - wire [31:0] dec_i0_immed_d; - wire [12:1] dec_i0_br_immed_d; - wire dec_i0_select_pc_d; - wire [31:1] dec_i0_pc_d; - wire [3:0] dec_i0_rs1_bypass_en_d; - wire [3:0] dec_i0_rs2_bypass_en_d; - wire dec_i0_alu_decode_d; - wire dec_i0_branch_d; - wire ifu_miss_state_idle; - wire dec_tlu_flush_noredir_r; - wire dec_tlu_flush_leak_one_r; - wire dec_tlu_flush_err_r; - wire ifu_i0_valid; - wire [31:0] ifu_i0_instr; - wire [31:1] ifu_i0_pc; - wire exu_flush_final; - wire [31:1] exu_flush_path_final; - wire [31:0] exu_lsu_rs1_d; - wire [31:0] exu_lsu_rs2_d; - wire [13:0] lsu_p; - wire dec_qual_lsu_d; - wire dec_lsu_valid_raw_d; - wire [11:0] dec_lsu_offset_d; - wire [31:0] lsu_result_m; - wire [31:0] lsu_result_corr_r; - wire lsu_single_ecc_error_incr; - wire [39:0] lsu_error_pkt_r; - wire lsu_imprecise_error_load_any; - wire lsu_imprecise_error_store_any; - wire [31:0] lsu_imprecise_error_addr_any; - wire lsu_load_stall_any; - wire lsu_store_stall_any; - wire lsu_idle_any; - wire lsu_active; - wire [31:1] lsu_fir_addr; - wire [1:0] lsu_fir_error; - wire lsu_nonblock_load_valid_m; - wire [pt[164-:7] - 1:0] lsu_nonblock_load_tag_m; - wire lsu_nonblock_load_inv_r; - wire [pt[164-:7] - 1:0] lsu_nonblock_load_inv_tag_r; - wire lsu_nonblock_load_data_valid; - wire [pt[164-:7] - 1:0] lsu_nonblock_load_data_tag; - wire [31:0] lsu_nonblock_load_data; - wire dec_csr_ren_d; - wire [31:0] dec_csr_rddata_d; - wire [31:0] exu_csr_rs1_x; - wire dec_tlu_i0_commit_cmt; - wire dec_tlu_flush_lower_r; - wire dec_tlu_flush_lower_wb; - wire dec_tlu_i0_kill_writeb_r; - wire dec_tlu_fence_i_r; - wire [31:1] dec_tlu_flush_path_r; - wire [31:0] dec_tlu_mrac_ff; - wire ifu_i0_pc4; - wire [19:0] mul_p; - wire [2:0] div_p; - wire dec_div_cancel; - wire [31:0] exu_div_result; - wire exu_div_wren; - wire dec_i0_decode_d; - wire [31:1] pred_correct_npc_x; - wire [6:0] dec_tlu_br0_r_pkt; - wire [55:0] exu_mp_pkt; - wire [pt[2236-:8] - 1:0] exu_mp_eghr; - wire [pt[2236-:8] - 1:0] exu_mp_fghr; - wire [pt[2172-:9]:pt[2163-:6]] exu_mp_index; - wire [pt[2139-:9] - 1:0] exu_mp_btag; - wire [pt[2236-:8] - 1:0] exu_i0_br_fghr_r; - wire [1:0] exu_i0_br_hist_r; - wire exu_i0_br_error_r; - wire exu_i0_br_start_error_r; - wire exu_i0_br_valid_r; - wire exu_i0_br_mp_r; - wire exu_i0_br_middle_r; - wire exu_i0_br_way_r; - wire [pt[2172-:9]:pt[2163-:6]] exu_i0_br_index_r; - wire dma_dccm_req; - wire dma_iccm_req; - wire [2:0] dma_mem_tag; - wire [31:0] dma_mem_addr; - wire [2:0] dma_mem_sz; - wire dma_mem_write; - wire [63:0] dma_mem_wdata; - wire dccm_dma_rvalid; - wire dccm_dma_ecc_error; - wire [2:0] dccm_dma_rtag; - wire [63:0] dccm_dma_rdata; - wire iccm_dma_rvalid; - wire iccm_dma_ecc_error; - wire [2:0] iccm_dma_rtag; - wire [63:0] iccm_dma_rdata; - wire dma_dccm_stall_any; - wire dma_iccm_stall_any; - wire dccm_ready; - wire iccm_ready; - wire dma_pmu_dccm_read; - wire dma_pmu_dccm_write; - wire dma_pmu_any_read; - wire dma_pmu_any_write; - wire ifu_i0_icaf; - wire [1:0] ifu_i0_icaf_type; - wire ifu_i0_icaf_second; - wire ifu_i0_dbecc; - wire iccm_dma_sb_error; - wire [50:0] i0_brp; - wire [pt[2172-:9]:pt[2163-:6]] ifu_i0_bp_index; - wire [pt[2236-:8] - 1:0] ifu_i0_bp_fghr; - wire [pt[2139-:9] - 1:0] ifu_i0_bp_btag; - wire [$clog2(pt[2061-:14]) - 1:0] ifu_i0_fa_index; - wire [$clog2(pt[2061-:14]) - 1:0] dec_fa_error_index; - wire [55:0] dec_i0_predict_p_d; - wire [pt[2236-:8] - 1:0] i0_predict_fghr_d; - wire [pt[2172-:9]:pt[2163-:6]] i0_predict_index_d; - wire [pt[2139-:9] - 1:0] i0_predict_btag_d; - wire picm_wren; - wire picm_rden; - wire picm_mken; - wire [31:0] picm_rdaddr; - wire [31:0] picm_wraddr; - wire [31:0] picm_wr_data; - wire [31:0] picm_rd_data; - wire dec_tlu_external_ldfwd_disable; - wire dec_tlu_bpred_disable; - wire dec_tlu_wb_coalescing_disable; - wire dec_tlu_sideeffect_posted_disable; - wire [2:0] dec_tlu_dma_qos_prty; - wire dec_tlu_misc_clk_override; - wire dec_tlu_ifu_clk_override; - wire dec_tlu_lsu_clk_override; - wire dec_tlu_bus_clk_override; - wire dec_tlu_pic_clk_override; - wire dec_tlu_dccm_clk_override; - wire dec_tlu_icm_clk_override; - wire dec_tlu_picio_clk_override; - assign dccm_clk_override = dec_tlu_dccm_clk_override; - assign icm_clk_override = dec_tlu_icm_clk_override; - wire [31:0] dbg_cmd_addr; - wire [31:0] dbg_cmd_wrdata; - wire dbg_cmd_valid; - wire dbg_cmd_write; - wire [1:0] dbg_cmd_type; - wire [1:0] dbg_cmd_size; - wire dbg_halt_req; - wire dbg_resume_req; - wire dbg_core_rst_l; - wire core_dbg_cmd_done; - wire core_dbg_cmd_fail; - wire [31:0] core_dbg_rddata; - wire dma_dbg_cmd_done; - wire dma_dbg_cmd_fail; - wire [31:0] dma_dbg_rddata; - wire dbg_dma_bubble; - wire dma_dbg_ready; - wire [31:0] dec_dbg_rddata; - wire dec_dbg_cmd_done; - wire dec_dbg_cmd_fail; - wire dec_tlu_mpc_halted_only; - wire dec_tlu_dbg_halted; - wire dec_tlu_resume_ack; - wire dec_tlu_debug_mode; - wire dec_debug_wdata_rs1_d; - wire dec_tlu_force_halt; - wire [1:0] dec_data_en; - wire [1:0] dec_ctl_en; - wire exu_pmu_i0_br_misp; - wire exu_pmu_i0_br_ataken; - wire exu_pmu_i0_pc4; - wire lsu_pmu_load_external_m; - wire lsu_pmu_store_external_m; - wire lsu_pmu_misaligned_m; - wire lsu_pmu_bus_trxn; - wire lsu_pmu_bus_misaligned; - wire lsu_pmu_bus_error; - wire lsu_pmu_bus_busy; - wire ifu_pmu_fetch_stall; - wire ifu_pmu_ic_miss; - wire ifu_pmu_ic_hit; - wire ifu_pmu_bus_error; - wire ifu_pmu_bus_busy; - wire ifu_pmu_bus_trxn; - wire active_state; - wire free_clk; - wire active_clk; - wire dec_pause_state_cg; - wire lsu_nonblock_load_data_error; - wire [15:0] ifu_i0_cinst; - wire [31:2] dec_tlu_meihap; - wire dec_extint_stall; - wire [103:0] trace_rv_trace_pkt; - wire lsu_fastint_stall_any; - wire [7:0] pic_claimid; - wire [3:0] pic_pl; - wire [3:0] dec_tlu_meicurpl; - wire [3:0] dec_tlu_meipt; - wire mexintpend; - wire mhwakeup; - wire dma_active; - wire pause_state; - wire halt_state; - wire dec_tlu_core_empty; - assign pause_state = (dec_pause_state_cg & ~(dma_active | lsu_active)) & dec_tlu_core_empty; - assign halt_state = o_cpu_halt_status & ~(dma_active | lsu_active); - assign active_state = ((~(halt_state | pause_state) | dec_tlu_flush_lower_r) | dec_tlu_flush_lower_wb) | dec_tlu_misc_clk_override; - rvoclkhdr free_cg2( - .clk(clk), - .en(1'b1), - .l1clk(free_l2clk), - .scan_mode(scan_mode) - ); - rvoclkhdr active_cg2( - .clk(clk), - .en(active_state), - .l1clk(active_l2clk), - .scan_mode(scan_mode) - ); - rvoclkhdr free_cg1( - .clk(free_l2clk), - .en(1'b1), - .l1clk(free_clk), - .scan_mode(scan_mode) - ); - rvoclkhdr active_cg1( - .clk(active_l2clk), - .en(1'b1), - .l1clk(active_clk), - .scan_mode(scan_mode) - ); - assign core_dbg_cmd_done = dma_dbg_cmd_done | dec_dbg_cmd_done; - assign core_dbg_cmd_fail = dma_dbg_cmd_fail | dec_dbg_cmd_fail; - assign core_dbg_rddata[31:0] = (dma_dbg_cmd_done ? dma_dbg_rddata[31:0] : dec_dbg_rddata[31:0]); - eb1_dbg #(.pt(pt)) dbg( - .rst_l(core_rst_l), - .clk(free_l2clk), - .clk_override(dec_tlu_misc_clk_override), - .sb_axi_awready(sb_axi_awready_int), - .sb_axi_wready(sb_axi_wready_int), - .sb_axi_bvalid(sb_axi_bvalid_int), - .sb_axi_bresp(sb_axi_bresp_int[1:0]), - .sb_axi_arready(sb_axi_arready_int), - .sb_axi_rvalid(sb_axi_rvalid_int), - .sb_axi_rdata(sb_axi_rdata_int[63:0]), - .sb_axi_rresp(sb_axi_rresp_int[1:0]), - .dbg_cmd_addr(dbg_cmd_addr), - .dbg_cmd_wrdata(dbg_cmd_wrdata), - .dbg_cmd_valid(dbg_cmd_valid), - .dbg_cmd_write(dbg_cmd_write), - .dbg_cmd_type(dbg_cmd_type), - .dbg_cmd_size(dbg_cmd_size), - .dbg_core_rst_l(dbg_core_rst_l), - .core_dbg_rddata(core_dbg_rddata), - .core_dbg_cmd_done(core_dbg_cmd_done), - .core_dbg_cmd_fail(core_dbg_cmd_fail), - .dbg_dma_bubble(dbg_dma_bubble), - .dma_dbg_ready(dma_dbg_ready), - .dbg_halt_req(dbg_halt_req), - .dbg_resume_req(dbg_resume_req), - .dec_tlu_debug_mode(dec_tlu_debug_mode), - .dec_tlu_dbg_halted(dec_tlu_dbg_halted), - .dec_tlu_mpc_halted_only(dec_tlu_mpc_halted_only), - .dec_tlu_resume_ack(dec_tlu_resume_ack), - .dmi_reg_en(dmi_reg_en), - .dmi_reg_addr(dmi_reg_addr), - .dmi_reg_wr_en(dmi_reg_wr_en), - .dmi_reg_wdata(dmi_reg_wdata), - .dmi_reg_rdata(dmi_reg_rdata), - .sb_axi_awvalid(sb_axi_awvalid), - .sb_axi_awid(sb_axi_awid), - .sb_axi_awaddr(sb_axi_awaddr), - .sb_axi_awregion(sb_axi_awregion), - .sb_axi_awlen(sb_axi_awlen), - .sb_axi_awsize(sb_axi_awsize), - .sb_axi_awburst(sb_axi_awburst), - .sb_axi_awlock(sb_axi_awlock), - .sb_axi_awcache(sb_axi_awcache), - .sb_axi_awprot(sb_axi_awprot), - .sb_axi_awqos(sb_axi_awqos), - .sb_axi_wvalid(sb_axi_wvalid), - .sb_axi_wdata(sb_axi_wdata), - .sb_axi_wstrb(sb_axi_wstrb), - .sb_axi_wlast(sb_axi_wlast), - .sb_axi_bready(sb_axi_bready), - .sb_axi_arvalid(sb_axi_arvalid), - .sb_axi_arid(sb_axi_arid), - .sb_axi_araddr(sb_axi_araddr), - .sb_axi_arregion(sb_axi_arregion), - .sb_axi_arlen(sb_axi_arlen), - .sb_axi_arsize(sb_axi_arsize), - .sb_axi_arburst(sb_axi_arburst), - .sb_axi_arlock(sb_axi_arlock), - .sb_axi_arcache(sb_axi_arcache), - .sb_axi_arprot(sb_axi_arprot), - .sb_axi_arqos(sb_axi_arqos), - .sb_axi_rready(sb_axi_rready), - .dbg_bus_clk_en(dbg_bus_clk_en), - .dbg_rst_l(dbg_rst_l), - .scan_mode(scan_mode) - ); - assign core_rst_l = rst_l & (dbg_core_rst_l | scan_mode); - eb1_ifu #(.pt(pt)) ifu( - .clk(active_l2clk), - .rst_l(core_rst_l), - .dec_tlu_flush_err_wb(dec_tlu_flush_err_r), - .dec_tlu_flush_noredir_wb(dec_tlu_flush_noredir_r), - .dec_tlu_fence_i_wb(dec_tlu_fence_i_r), - .dec_tlu_flush_leak_one_wb(dec_tlu_flush_leak_one_r), - .dec_tlu_flush_lower_wb(dec_tlu_flush_lower_r), - .ifu_axi_arready(ifu_axi_arready_int), - .ifu_axi_rvalid(ifu_axi_rvalid_int), - .ifu_axi_rid(ifu_axi_rid_int[pt[826-:8] - 1:0]), - .ifu_axi_rdata(ifu_axi_rdata_int[63:0]), - .ifu_axi_rresp(ifu_axi_rresp_int[1:0]), - .exu_flush_final(exu_flush_final), - .free_l2clk(free_l2clk), - .active_clk(active_clk), - .dec_i0_decode_d(dec_i0_decode_d), - .dec_tlu_i0_commit_cmt(dec_tlu_i0_commit_cmt), - .exu_flush_path_final(exu_flush_path_final), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .dec_tlu_bpred_disable(dec_tlu_bpred_disable), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .dec_tlu_force_halt(dec_tlu_force_halt), - .ifu_axi_awvalid(ifu_axi_awvalid), - .ifu_axi_awid(ifu_axi_awid), - .ifu_axi_awaddr(ifu_axi_awaddr), - .ifu_axi_awregion(ifu_axi_awregion), - .ifu_axi_awlen(ifu_axi_awlen), - .ifu_axi_awsize(ifu_axi_awsize), - .ifu_axi_awburst(ifu_axi_awburst), - .ifu_axi_awlock(ifu_axi_awlock), - .ifu_axi_awcache(ifu_axi_awcache), - .ifu_axi_awprot(ifu_axi_awprot), - .ifu_axi_awqos(ifu_axi_awqos), - .ifu_axi_wvalid(ifu_axi_wvalid), - .ifu_axi_wdata(ifu_axi_wdata), - .ifu_axi_wstrb(ifu_axi_wstrb), - .ifu_axi_wlast(ifu_axi_wlast), - .ifu_axi_bready(ifu_axi_bready), - .ifu_axi_arvalid(ifu_axi_arvalid), - .ifu_axi_arid(ifu_axi_arid), - .ifu_axi_araddr(ifu_axi_araddr), - .ifu_axi_arregion(ifu_axi_arregion), - .ifu_axi_arlen(ifu_axi_arlen), - .ifu_axi_arsize(ifu_axi_arsize), - .ifu_axi_arburst(ifu_axi_arburst), - .ifu_axi_arlock(ifu_axi_arlock), - .ifu_axi_arcache(ifu_axi_arcache), - .ifu_axi_arprot(ifu_axi_arprot), - .ifu_axi_arqos(ifu_axi_arqos), - .ifu_axi_rready(ifu_axi_rready), - .ifu_bus_clk_en(ifu_bus_clk_en), - .dma_iccm_req(dma_iccm_req), - .dma_mem_addr(dma_mem_addr), - .dma_mem_sz(dma_mem_sz), - .dma_mem_write(dma_mem_write), - .dma_mem_wdata(dma_mem_wdata), - .dma_mem_tag(dma_mem_tag), - .dma_iccm_stall_any(dma_iccm_stall_any), - .iccm_dma_ecc_error(iccm_dma_ecc_error), - .iccm_dma_rvalid(iccm_dma_rvalid), - .iccm_dma_rdata(iccm_dma_rdata), - .iccm_dma_rtag(iccm_dma_rtag), - .iccm_ready(iccm_ready), - .ifu_pmu_instr_aligned(ifu_pmu_instr_aligned), - .ifu_pmu_fetch_stall(ifu_pmu_fetch_stall), - .ifu_ic_error_start(ifu_ic_error_start), - .ic_rw_addr(ic_rw_addr), - .ic_wr_en(ic_wr_en), - .ic_rd_en(ic_rd_en), - .ic_wr_data(ic_wr_data), - .ic_rd_data(ic_rd_data), - .ic_debug_rd_data(ic_debug_rd_data), - .ictag_debug_rd_data(ictag_debug_rd_data), - .ic_debug_wr_data(ic_debug_wr_data), - .ifu_ic_debug_rd_data(ifu_ic_debug_rd_data), - .ic_eccerr(ic_eccerr), - .ic_parerr(ic_parerr), - .ic_premux_data(ic_premux_data), - .ic_sel_premux_data(ic_sel_premux_data), - .ic_debug_addr(ic_debug_addr), - .ic_debug_rd_en(ic_debug_rd_en), - .ic_debug_wr_en(ic_debug_wr_en), - .ic_debug_tag_array(ic_debug_tag_array), - .ic_debug_way(ic_debug_way), - .ic_tag_valid(ic_tag_valid), - .ic_rd_hit(ic_rd_hit), - .ic_tag_perr(ic_tag_perr), - .iccm_rw_addr(iccm_rw_addr), - .iccm_wren(iccm_wren), - .iccm_rden(iccm_rden), - .iccm_wr_data(iccm_wr_data), - .iccm_wr_size(iccm_wr_size), - .iccm_rd_data(iccm_rd_data), - .iccm_rd_data_ecc(iccm_rd_data_ecc), - .ifu_iccm_rd_ecc_single_err(ifu_iccm_rd_ecc_single_err), - .ifu_pmu_ic_miss(ifu_pmu_ic_miss), - .ifu_pmu_ic_hit(ifu_pmu_ic_hit), - .ifu_pmu_bus_error(ifu_pmu_bus_error), - .ifu_pmu_bus_busy(ifu_pmu_bus_busy), - .ifu_pmu_bus_trxn(ifu_pmu_bus_trxn), - .ifu_i0_icaf(ifu_i0_icaf), - .ifu_i0_icaf_type(ifu_i0_icaf_type), - .ifu_i0_valid(ifu_i0_valid), - .ifu_i0_icaf_second(ifu_i0_icaf_second), - .ifu_i0_dbecc(ifu_i0_dbecc), - .iccm_dma_sb_error(iccm_dma_sb_error), - .ifu_i0_instr(ifu_i0_instr), - .ifu_i0_pc(ifu_i0_pc), - .ifu_i0_pc4(ifu_i0_pc4), - .ifu_miss_state_idle(ifu_miss_state_idle), - .i0_brp(i0_brp), - .ifu_i0_bp_index(ifu_i0_bp_index), - .ifu_i0_bp_fghr(ifu_i0_bp_fghr), - .ifu_i0_bp_btag(ifu_i0_bp_btag), - .ifu_i0_fa_index(ifu_i0_fa_index), - .exu_mp_pkt(exu_mp_pkt), - .exu_mp_eghr(exu_mp_eghr), - .exu_mp_fghr(exu_mp_fghr), - .exu_mp_index(exu_mp_index), - .exu_mp_btag(exu_mp_btag), - .dec_tlu_br0_r_pkt(dec_tlu_br0_r_pkt), - .exu_i0_br_fghr_r(exu_i0_br_fghr_r), - .exu_i0_br_index_r(exu_i0_br_index_r), - .dec_fa_error_index(dec_fa_error_index), - .ifu_i0_cinst(ifu_i0_cinst), - .dec_tlu_ic_diag_pkt(dec_tlu_ic_diag_pkt), - .ifu_ic_debug_rd_data_valid(ifu_ic_debug_rd_data_valid), - .iccm_buf_correct_ecc(iccm_buf_correct_ecc), - .iccm_correction_state(iccm_correction_state), - .scan_mode(scan_mode) - ); - eb1_dec #(.pt(pt)) dec( - .clk(active_l2clk), - .dbg_cmd_wrdata(dbg_cmd_wrdata[1:0]), - .rst_l(core_rst_l), - .i_cpu_halt_req(i_cpu_halt_req), - .i_cpu_run_req(i_cpu_run_req), - .active_clk(active_clk), - .free_clk(free_clk), - .free_l2clk(free_l2clk), - .lsu_fastint_stall_any(lsu_fastint_stall_any), - .dec_extint_stall(dec_extint_stall), - .dec_i0_decode_d(dec_i0_decode_d), - .dec_pause_state_cg(dec_pause_state_cg), - .dec_tlu_core_empty(dec_tlu_core_empty), - .rst_vec(rst_vec), - .nmi_int(nmi_int), - .nmi_vec(nmi_vec), - .o_cpu_halt_status(o_cpu_halt_status), - .o_cpu_halt_ack(o_cpu_halt_ack), - .o_cpu_run_ack(o_cpu_run_ack), - .o_debug_mode_status(o_debug_mode_status), - .core_id(core_id), - .mpc_debug_halt_req(mpc_debug_halt_req), - .mpc_debug_run_req(mpc_debug_run_req), - .mpc_reset_run_req(mpc_reset_run_req), - .mpc_debug_halt_ack(mpc_debug_halt_ack), - .mpc_debug_run_ack(mpc_debug_run_ack), - .debug_brkpt_status(debug_brkpt_status), - .exu_pmu_i0_br_misp(exu_pmu_i0_br_misp), - .exu_pmu_i0_br_ataken(exu_pmu_i0_br_ataken), - .exu_pmu_i0_pc4(exu_pmu_i0_pc4), - .lsu_nonblock_load_valid_m(lsu_nonblock_load_valid_m), - .lsu_nonblock_load_tag_m(lsu_nonblock_load_tag_m), - .lsu_nonblock_load_inv_r(lsu_nonblock_load_inv_r), - .lsu_nonblock_load_inv_tag_r(lsu_nonblock_load_inv_tag_r), - .lsu_nonblock_load_data_valid(lsu_nonblock_load_data_valid), - .lsu_nonblock_load_data_error(lsu_nonblock_load_data_error), - .lsu_nonblock_load_data_tag(lsu_nonblock_load_data_tag), - .lsu_nonblock_load_data(lsu_nonblock_load_data), - .lsu_pmu_bus_trxn(lsu_pmu_bus_trxn), - .lsu_pmu_bus_misaligned(lsu_pmu_bus_misaligned), - .lsu_pmu_bus_error(lsu_pmu_bus_error), - .lsu_pmu_bus_busy(lsu_pmu_bus_busy), - .lsu_pmu_misaligned_m(lsu_pmu_misaligned_m), - .lsu_pmu_load_external_m(lsu_pmu_load_external_m), - .lsu_pmu_store_external_m(lsu_pmu_store_external_m), - .dma_pmu_dccm_read(dma_pmu_dccm_read), - .dma_pmu_dccm_write(dma_pmu_dccm_write), - .dma_pmu_any_read(dma_pmu_any_read), - .dma_pmu_any_write(dma_pmu_any_write), - .lsu_fir_addr(lsu_fir_addr), - .lsu_fir_error(lsu_fir_error), - .ifu_pmu_instr_aligned(ifu_pmu_instr_aligned), - .ifu_pmu_fetch_stall(ifu_pmu_fetch_stall), - .ifu_pmu_ic_miss(ifu_pmu_ic_miss), - .ifu_pmu_ic_hit(ifu_pmu_ic_hit), - .ifu_pmu_bus_error(ifu_pmu_bus_error), - .ifu_pmu_bus_busy(ifu_pmu_bus_busy), - .ifu_pmu_bus_trxn(ifu_pmu_bus_trxn), - .ifu_ic_error_start(ifu_ic_error_start), - .ifu_iccm_rd_ecc_single_err(ifu_iccm_rd_ecc_single_err), - .lsu_trigger_match_m(lsu_trigger_match_m), - .dbg_cmd_valid(dbg_cmd_valid), - .dbg_cmd_write(dbg_cmd_write), - .dbg_cmd_type(dbg_cmd_type), - .dbg_cmd_addr(dbg_cmd_addr), - .ifu_i0_icaf(ifu_i0_icaf), - .ifu_i0_icaf_type(ifu_i0_icaf_type), - .ifu_i0_icaf_second(ifu_i0_icaf_second), - .ifu_i0_dbecc(ifu_i0_dbecc), - .lsu_idle_any(lsu_idle_any), - .i0_brp(i0_brp), - .ifu_i0_bp_index(ifu_i0_bp_index), - .ifu_i0_bp_fghr(ifu_i0_bp_fghr), - .ifu_i0_bp_btag(ifu_i0_bp_btag), - .ifu_i0_fa_index(ifu_i0_fa_index), - .lsu_error_pkt_r(lsu_error_pkt_r), - .lsu_single_ecc_error_incr(lsu_single_ecc_error_incr), - .lsu_imprecise_error_load_any(lsu_imprecise_error_load_any), - .lsu_imprecise_error_store_any(lsu_imprecise_error_store_any), - .lsu_imprecise_error_addr_any(lsu_imprecise_error_addr_any), - .exu_div_result(exu_div_result), - .exu_div_wren(exu_div_wren), - .exu_csr_rs1_x(exu_csr_rs1_x), - .lsu_result_m(lsu_result_m), - .lsu_result_corr_r(lsu_result_corr_r), - .lsu_load_stall_any(lsu_load_stall_any), - .lsu_store_stall_any(lsu_store_stall_any), - .dma_dccm_stall_any(dma_dccm_stall_any), - .dma_iccm_stall_any(dma_iccm_stall_any), - .iccm_dma_sb_error(iccm_dma_sb_error), - .exu_flush_final(exu_flush_final), - .exu_npc_r(exu_npc_r), - .exu_i0_result_x(exu_i0_result_x), - .ifu_i0_valid(ifu_i0_valid), - .ifu_i0_instr(ifu_i0_instr), - .ifu_i0_pc(ifu_i0_pc), - .ifu_i0_pc4(ifu_i0_pc4), - .exu_i0_pc_x(exu_i0_pc_x), - .mexintpend(mexintpend), - .timer_int(timer_int), - .soft_int(soft_int), - .pic_claimid(pic_claimid), - .pic_pl(pic_pl), - .mhwakeup(mhwakeup), - .dec_tlu_meicurpl(dec_tlu_meicurpl), - .dec_tlu_meipt(dec_tlu_meipt), - .ifu_ic_debug_rd_data(ifu_ic_debug_rd_data), - .ifu_ic_debug_rd_data_valid(ifu_ic_debug_rd_data_valid), - .dec_tlu_ic_diag_pkt(dec_tlu_ic_diag_pkt), - .dbg_halt_req(dbg_halt_req), - .dbg_resume_req(dbg_resume_req), - .ifu_miss_state_idle(ifu_miss_state_idle), - .dec_tlu_dbg_halted(dec_tlu_dbg_halted), - .dec_tlu_debug_mode(dec_tlu_debug_mode), - .dec_tlu_resume_ack(dec_tlu_resume_ack), - .dec_tlu_flush_noredir_r(dec_tlu_flush_noredir_r), - .dec_tlu_mpc_halted_only(dec_tlu_mpc_halted_only), - .dec_tlu_flush_leak_one_r(dec_tlu_flush_leak_one_r), - .dec_tlu_flush_err_r(dec_tlu_flush_err_r), - .dec_tlu_meihap(dec_tlu_meihap), - .dec_debug_wdata_rs1_d(dec_debug_wdata_rs1_d), - .dec_dbg_rddata(dec_dbg_rddata), - .dec_dbg_cmd_done(dec_dbg_cmd_done), - .dec_dbg_cmd_fail(dec_dbg_cmd_fail), - .trigger_pkt_any(trigger_pkt_any), - .dec_tlu_force_halt(dec_tlu_force_halt), - .exu_i0_br_hist_r(exu_i0_br_hist_r), - .exu_i0_br_error_r(exu_i0_br_error_r), - .exu_i0_br_start_error_r(exu_i0_br_start_error_r), - .exu_i0_br_valid_r(exu_i0_br_valid_r), - .exu_i0_br_mp_r(exu_i0_br_mp_r), - .exu_i0_br_middle_r(exu_i0_br_middle_r), - .exu_i0_br_way_r(exu_i0_br_way_r), - .dec_i0_rs1_en_d(dec_i0_rs1_en_d), - .dec_i0_rs2_en_d(dec_i0_rs2_en_d), - .gpr_i0_rs1_d(gpr_i0_rs1_d), - .gpr_i0_rs2_d(gpr_i0_rs2_d), - .dec_i0_immed_d(dec_i0_immed_d), - .dec_i0_br_immed_d(dec_i0_br_immed_d), - .i0_ap(i0_ap), - .dec_i0_alu_decode_d(dec_i0_alu_decode_d), - .dec_i0_branch_d(dec_i0_branch_d), - .dec_i0_select_pc_d(dec_i0_select_pc_d), - .dec_i0_pc_d(dec_i0_pc_d), - .dec_i0_rs1_bypass_en_d(dec_i0_rs1_bypass_en_d), - .dec_i0_rs2_bypass_en_d(dec_i0_rs2_bypass_en_d), - .dec_i0_result_r(dec_i0_result_r), - .lsu_p(lsu_p), - .dec_qual_lsu_d(dec_qual_lsu_d), - .mul_p(mul_p), - .div_p(div_p), - .dec_div_cancel(dec_div_cancel), - .dec_lsu_offset_d(dec_lsu_offset_d), - .dec_csr_ren_d(dec_csr_ren_d), - .dec_csr_rddata_d(dec_csr_rddata_d), - .dec_tlu_flush_lower_r(dec_tlu_flush_lower_r), - .dec_tlu_flush_lower_wb(dec_tlu_flush_lower_wb), - .dec_tlu_flush_path_r(dec_tlu_flush_path_r), - .dec_tlu_i0_kill_writeb_r(dec_tlu_i0_kill_writeb_r), - .dec_tlu_fence_i_r(dec_tlu_fence_i_r), - .pred_correct_npc_x(pred_correct_npc_x), - .dec_tlu_br0_r_pkt(dec_tlu_br0_r_pkt), - .dec_tlu_perfcnt0(dec_tlu_perfcnt0), - .dec_tlu_perfcnt1(dec_tlu_perfcnt1), - .dec_tlu_perfcnt2(dec_tlu_perfcnt2), - .dec_tlu_perfcnt3(dec_tlu_perfcnt3), - .dec_i0_predict_p_d(dec_i0_predict_p_d), - .i0_predict_fghr_d(i0_predict_fghr_d), - .i0_predict_index_d(i0_predict_index_d), - .i0_predict_btag_d(i0_predict_btag_d), - .dec_fa_error_index(dec_fa_error_index), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .dec_data_en(dec_data_en), - .dec_ctl_en(dec_ctl_en), - .ifu_i0_cinst(ifu_i0_cinst), - .trace_rv_trace_pkt(trace_rv_trace_pkt), - .dec_tlu_external_ldfwd_disable(dec_tlu_external_ldfwd_disable), - .dec_tlu_sideeffect_posted_disable(dec_tlu_sideeffect_posted_disable), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .dec_tlu_bpred_disable(dec_tlu_bpred_disable), - .dec_tlu_wb_coalescing_disable(dec_tlu_wb_coalescing_disable), - .dec_tlu_dma_qos_prty(dec_tlu_dma_qos_prty), - .dec_tlu_misc_clk_override(dec_tlu_misc_clk_override), - .dec_tlu_ifu_clk_override(dec_tlu_ifu_clk_override), - .dec_tlu_lsu_clk_override(dec_tlu_lsu_clk_override), - .dec_tlu_bus_clk_override(dec_tlu_bus_clk_override), - .dec_tlu_pic_clk_override(dec_tlu_pic_clk_override), - .dec_tlu_picio_clk_override(dec_tlu_picio_clk_override), - .dec_tlu_dccm_clk_override(dec_tlu_dccm_clk_override), - .dec_tlu_icm_clk_override(dec_tlu_icm_clk_override), - .dec_tlu_i0_commit_cmt(dec_tlu_i0_commit_cmt), - .scan_mode(scan_mode) - ); - eb1_exu #(.pt(pt)) exu( - .clk(active_l2clk), - .rst_l(core_rst_l), - .scan_mode(scan_mode), - .dec_data_en(dec_data_en), - .dec_ctl_en(dec_ctl_en), - .dbg_cmd_wrdata(dbg_cmd_wrdata), - .i0_ap(i0_ap), - .dec_debug_wdata_rs1_d(dec_debug_wdata_rs1_d), - .dec_i0_predict_p_d(dec_i0_predict_p_d), - .i0_predict_fghr_d(i0_predict_fghr_d), - .i0_predict_index_d(i0_predict_index_d), - .i0_predict_btag_d(i0_predict_btag_d), - .lsu_result_m(lsu_result_m), - .lsu_nonblock_load_data(lsu_nonblock_load_data), - .dec_i0_rs1_en_d(dec_i0_rs1_en_d), - .dec_i0_rs2_en_d(dec_i0_rs2_en_d), - .gpr_i0_rs1_d(gpr_i0_rs1_d), - .gpr_i0_rs2_d(gpr_i0_rs2_d), - .dec_i0_immed_d(dec_i0_immed_d), - .dec_i0_result_r(dec_i0_result_r), - .dec_i0_br_immed_d(dec_i0_br_immed_d), - .dec_i0_alu_decode_d(dec_i0_alu_decode_d), - .dec_i0_branch_d(dec_i0_branch_d), - .dec_i0_select_pc_d(dec_i0_select_pc_d), - .dec_i0_pc_d(dec_i0_pc_d), - .dec_i0_rs1_bypass_en_d(dec_i0_rs1_bypass_en_d), - .dec_i0_rs2_bypass_en_d(dec_i0_rs2_bypass_en_d), - .dec_csr_ren_d(dec_csr_ren_d), - .dec_csr_rddata_d(dec_csr_rddata_d), - .dec_qual_lsu_d(dec_qual_lsu_d), - .mul_p(mul_p), - .div_p(div_p), - .dec_div_cancel(dec_div_cancel), - .pred_correct_npc_x(pred_correct_npc_x), - .dec_tlu_flush_lower_r(dec_tlu_flush_lower_r), - .dec_tlu_flush_path_r(dec_tlu_flush_path_r), - .dec_extint_stall(dec_extint_stall), - .dec_tlu_meihap(dec_tlu_meihap), - .exu_lsu_rs1_d(exu_lsu_rs1_d), - .exu_lsu_rs2_d(exu_lsu_rs2_d), - .exu_flush_final(exu_flush_final), - .exu_flush_path_final(exu_flush_path_final), - .exu_i0_result_x(exu_i0_result_x), - .exu_i0_pc_x(exu_i0_pc_x), - .exu_csr_rs1_x(exu_csr_rs1_x), - .exu_npc_r(exu_npc_r), - .exu_i0_br_hist_r(exu_i0_br_hist_r), - .exu_i0_br_error_r(exu_i0_br_error_r), - .exu_i0_br_start_error_r(exu_i0_br_start_error_r), - .exu_i0_br_index_r(exu_i0_br_index_r), - .exu_i0_br_valid_r(exu_i0_br_valid_r), - .exu_i0_br_mp_r(exu_i0_br_mp_r), - .exu_i0_br_middle_r(exu_i0_br_middle_r), - .exu_i0_br_fghr_r(exu_i0_br_fghr_r), - .exu_i0_br_way_r(exu_i0_br_way_r), - .exu_mp_pkt(exu_mp_pkt), - .exu_mp_eghr(exu_mp_eghr), - .exu_mp_fghr(exu_mp_fghr), - .exu_mp_index(exu_mp_index), - .exu_mp_btag(exu_mp_btag), - .exu_pmu_i0_br_misp(exu_pmu_i0_br_misp), - .exu_pmu_i0_br_ataken(exu_pmu_i0_br_ataken), - .exu_pmu_i0_pc4(exu_pmu_i0_pc4), - .exu_div_result(exu_div_result), - .exu_div_wren(exu_div_wren) - ); - eb1_lsu #(.pt(pt)) lsu( - .clk(active_l2clk), - .rst_l(core_rst_l), - .clk_override(dec_tlu_lsu_clk_override), - .dec_tlu_i0_kill_writeb_r(dec_tlu_i0_kill_writeb_r), - .lsu_axi_awready(lsu_axi_awready_int), - .lsu_axi_wready(lsu_axi_wready_int), - .lsu_axi_bvalid(lsu_axi_bvalid_int), - .lsu_axi_bid(lsu_axi_bid_int[pt[181-:8] - 1:0]), - .lsu_axi_bresp(lsu_axi_bresp_int[1:0]), - .lsu_axi_arready(lsu_axi_arready_int), - .lsu_axi_rvalid(lsu_axi_rvalid_int), - .lsu_axi_rid(lsu_axi_rid_int[pt[181-:8] - 1:0]), - .lsu_axi_rdata(lsu_axi_rdata_int[63:0]), - .lsu_axi_rresp(lsu_axi_rresp_int[1:0]), - .lsu_axi_rlast(lsu_axi_rlast_int), - .dec_tlu_flush_lower_r(dec_tlu_flush_lower_r), - .dec_tlu_force_halt(dec_tlu_force_halt), - .dec_tlu_external_ldfwd_disable(dec_tlu_external_ldfwd_disable), - .dec_tlu_wb_coalescing_disable(dec_tlu_wb_coalescing_disable), - .dec_tlu_sideeffect_posted_disable(dec_tlu_sideeffect_posted_disable), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .exu_lsu_rs1_d(exu_lsu_rs1_d), - .exu_lsu_rs2_d(exu_lsu_rs2_d), - .dec_lsu_offset_d(dec_lsu_offset_d), - .lsu_p(lsu_p), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .lsu_result_m(lsu_result_m), - .lsu_result_corr_r(lsu_result_corr_r), - .lsu_load_stall_any(lsu_load_stall_any), - .lsu_store_stall_any(lsu_store_stall_any), - .lsu_fastint_stall_any(lsu_fastint_stall_any), - .lsu_idle_any(lsu_idle_any), - .lsu_active(lsu_active), - .lsu_fir_addr(lsu_fir_addr), - .lsu_fir_error(lsu_fir_error), - .lsu_single_ecc_error_incr(lsu_single_ecc_error_incr), - .lsu_error_pkt_r(lsu_error_pkt_r), - .lsu_imprecise_error_load_any(lsu_imprecise_error_load_any), - .lsu_imprecise_error_store_any(lsu_imprecise_error_store_any), - .lsu_imprecise_error_addr_any(lsu_imprecise_error_addr_any), - .lsu_nonblock_load_valid_m(lsu_nonblock_load_valid_m), - .lsu_nonblock_load_tag_m(lsu_nonblock_load_tag_m), - .lsu_nonblock_load_inv_r(lsu_nonblock_load_inv_r), - .lsu_nonblock_load_inv_tag_r(lsu_nonblock_load_inv_tag_r), - .lsu_nonblock_load_data_valid(lsu_nonblock_load_data_valid), - .lsu_nonblock_load_data_error(lsu_nonblock_load_data_error), - .lsu_nonblock_load_data_tag(lsu_nonblock_load_data_tag), - .lsu_nonblock_load_data(lsu_nonblock_load_data), - .lsu_pmu_load_external_m(lsu_pmu_load_external_m), - .lsu_pmu_store_external_m(lsu_pmu_store_external_m), - .lsu_pmu_misaligned_m(lsu_pmu_misaligned_m), - .lsu_pmu_bus_trxn(lsu_pmu_bus_trxn), - .lsu_pmu_bus_misaligned(lsu_pmu_bus_misaligned), - .lsu_pmu_bus_error(lsu_pmu_bus_error), - .lsu_pmu_bus_busy(lsu_pmu_bus_busy), - .trigger_pkt_any(trigger_pkt_any), - .lsu_trigger_match_m(lsu_trigger_match_m), - .dccm_wren(dccm_wren), - .dccm_rden(dccm_rden), - .dccm_wr_addr_lo(dccm_wr_addr_lo), - .dccm_wr_addr_hi(dccm_wr_addr_hi), - .dccm_rd_addr_lo(dccm_rd_addr_lo), - .dccm_rd_addr_hi(dccm_rd_addr_hi), - .dccm_wr_data_lo(dccm_wr_data_lo), - .dccm_wr_data_hi(dccm_wr_data_hi), - .dccm_rd_data_lo(dccm_rd_data_lo), - .dccm_rd_data_hi(dccm_rd_data_hi), - .picm_wren(picm_wren), - .picm_rden(picm_rden), - .picm_mken(picm_mken), - .picm_rdaddr(picm_rdaddr), - .picm_wraddr(picm_wraddr), - .picm_wr_data(picm_wr_data), - .picm_rd_data(picm_rd_data), - .lsu_axi_awvalid(lsu_axi_awvalid), - .lsu_axi_awid(lsu_axi_awid), - .lsu_axi_awaddr(lsu_axi_awaddr), - .lsu_axi_awregion(lsu_axi_awregion), - .lsu_axi_awlen(lsu_axi_awlen), - .lsu_axi_awsize(lsu_axi_awsize), - .lsu_axi_awburst(lsu_axi_awburst), - .lsu_axi_awlock(lsu_axi_awlock), - .lsu_axi_awcache(lsu_axi_awcache), - .lsu_axi_awprot(lsu_axi_awprot), - .lsu_axi_awqos(lsu_axi_awqos), - .lsu_axi_wvalid(lsu_axi_wvalid), - .lsu_axi_wdata(lsu_axi_wdata), - .lsu_axi_wstrb(lsu_axi_wstrb), - .lsu_axi_wlast(lsu_axi_wlast), - .lsu_axi_bready(lsu_axi_bready), - .lsu_axi_arvalid(lsu_axi_arvalid), - .lsu_axi_arid(lsu_axi_arid), - .lsu_axi_araddr(lsu_axi_araddr), - .lsu_axi_arregion(lsu_axi_arregion), - .lsu_axi_arlen(lsu_axi_arlen), - .lsu_axi_arsize(lsu_axi_arsize), - .lsu_axi_arburst(lsu_axi_arburst), - .lsu_axi_arlock(lsu_axi_arlock), - .lsu_axi_arcache(lsu_axi_arcache), - .lsu_axi_arprot(lsu_axi_arprot), - .lsu_axi_arqos(lsu_axi_arqos), - .lsu_axi_rready(lsu_axi_rready), - .lsu_bus_clk_en(lsu_bus_clk_en), - .dma_dccm_req(dma_dccm_req), - .dma_mem_tag(dma_mem_tag), - .dma_mem_addr(dma_mem_addr), - .dma_mem_sz(dma_mem_sz), - .dma_mem_write(dma_mem_write), - .dma_mem_wdata(dma_mem_wdata), - .dccm_dma_rvalid(dccm_dma_rvalid), - .dccm_dma_ecc_error(dccm_dma_ecc_error), - .dccm_dma_rtag(dccm_dma_rtag), - .dccm_dma_rdata(dccm_dma_rdata), - .dccm_ready(dccm_ready), - .scan_mode(scan_mode), - .active_clk(active_clk) - ); - eb1_pic_ctrl #(.pt(pt)) pic_ctrl_inst( - .clk(free_l2clk), - .clk_override(dec_tlu_pic_clk_override), - .io_clk_override(dec_tlu_picio_clk_override), - .picm_mken(picm_mken), - .extintsrc_req({extintsrc_req[pt[56-:12]:1], 1'b0}), - .pl(pic_pl[3:0]), - .claimid(pic_claimid[7:0]), - .meicurpl(dec_tlu_meicurpl[3:0]), - .meipt(dec_tlu_meipt[3:0]), - .rst_l(core_rst_l), - .free_clk(free_clk), - .picm_rdaddr(picm_rdaddr), - .picm_wraddr(picm_wraddr), - .picm_wr_data(picm_wr_data), - .picm_wren(picm_wren), - .picm_rden(picm_rden), - .mexintpend(mexintpend), - .picm_rd_data(picm_rd_data), - .mhwakeup(mhwakeup), - .scan_mode(scan_mode) - ); - eb1_dma_ctrl #(.pt(pt)) dma_ctrl( - .clk(free_l2clk), - .rst_l(core_rst_l), - .clk_override(dec_tlu_misc_clk_override), - .dma_axi_awvalid(dma_axi_awvalid_int), - .dma_axi_awid(dma_axi_awid_int[pt[1235-:8] - 1:0]), - .dma_axi_awaddr(dma_axi_awaddr_int[31:0]), - .dma_axi_awsize(dma_axi_awsize_int[2:0]), - .dma_axi_wvalid(dma_axi_wvalid_int), - .dma_axi_wdata(dma_axi_wdata_int[63:0]), - .dma_axi_wstrb(dma_axi_wstrb_int[7:0]), - .dma_axi_bready(dma_axi_bready_int), - .dma_axi_arvalid(dma_axi_arvalid_int), - .dma_axi_arid(dma_axi_arid_int[pt[1235-:8] - 1:0]), - .dma_axi_araddr(dma_axi_araddr_int[31:0]), - .dma_axi_arsize(dma_axi_arsize_int[2:0]), - .dma_axi_rready(dma_axi_rready_int), - .free_clk(free_clk), - .dma_bus_clk_en(dma_bus_clk_en), - .scan_mode(scan_mode), - .dbg_cmd_addr(dbg_cmd_addr), - .dbg_cmd_wrdata(dbg_cmd_wrdata), - .dbg_cmd_valid(dbg_cmd_valid), - .dbg_cmd_write(dbg_cmd_write), - .dbg_cmd_type(dbg_cmd_type), - .dbg_cmd_size(dbg_cmd_size), - .dbg_dma_bubble(dbg_dma_bubble), - .dma_dbg_ready(dma_dbg_ready), - .dma_dbg_cmd_done(dma_dbg_cmd_done), - .dma_dbg_cmd_fail(dma_dbg_cmd_fail), - .dma_dbg_rddata(dma_dbg_rddata), - .dma_dccm_req(dma_dccm_req), - .dma_iccm_req(dma_iccm_req), - .dma_mem_tag(dma_mem_tag), - .dma_mem_addr(dma_mem_addr), - .dma_mem_sz(dma_mem_sz), - .dma_mem_write(dma_mem_write), - .dma_mem_wdata(dma_mem_wdata), - .dccm_dma_rvalid(dccm_dma_rvalid), - .dccm_dma_ecc_error(dccm_dma_ecc_error), - .dccm_dma_rtag(dccm_dma_rtag), - .dccm_dma_rdata(dccm_dma_rdata), - .iccm_dma_rvalid(iccm_dma_rvalid), - .iccm_dma_ecc_error(iccm_dma_ecc_error), - .iccm_dma_rtag(iccm_dma_rtag), - .iccm_dma_rdata(iccm_dma_rdata), - .dma_active(dma_active), - .dma_dccm_stall_any(dma_dccm_stall_any), - .dma_iccm_stall_any(dma_iccm_stall_any), - .dccm_ready(dccm_ready), - .iccm_ready(iccm_ready), - .dec_tlu_dma_qos_prty(dec_tlu_dma_qos_prty), - .dma_pmu_dccm_read(dma_pmu_dccm_read), - .dma_pmu_dccm_write(dma_pmu_dccm_write), - .dma_pmu_any_read(dma_pmu_any_read), - .dma_pmu_any_write(dma_pmu_any_write), - .dma_axi_awready(dma_axi_awready), - .dma_axi_wready(dma_axi_wready), - .dma_axi_bvalid(dma_axi_bvalid), - .dma_axi_bresp(dma_axi_bresp), - .dma_axi_bid(dma_axi_bid), - .dma_axi_arready(dma_axi_arready), - .dma_axi_rvalid(dma_axi_rvalid), - .dma_axi_rid(dma_axi_rid), - .dma_axi_rdata(dma_axi_rdata), - .dma_axi_rresp(dma_axi_rresp), - .dma_axi_rlast(dma_axi_rlast) - ); - generate - if (pt[2038] == 1) begin : Gen_AXI_To_AHB - axi4_to_ahb #( - .pt(pt), - .TAG(pt[181-:8]) - ) lsu_axi4_to_ahb( - .clk(free_l2clk), - .free_clk(free_clk), - .rst_l(core_rst_l), - .clk_override(dec_tlu_bus_clk_override), - .bus_clk_en(lsu_bus_clk_en), - .dec_tlu_force_halt(dec_tlu_force_halt), - .axi_awvalid(lsu_axi_awvalid), - .axi_awready(lsu_axi_awready_ahb), - .axi_awid(lsu_axi_awid[pt[181-:8] - 1:0]), - .axi_awaddr(lsu_axi_awaddr[31:0]), - .axi_awsize(lsu_axi_awsize[2:0]), - .axi_awprot(lsu_axi_awprot[2:0]), - .axi_wvalid(lsu_axi_wvalid), - .axi_wready(lsu_axi_wready_ahb), - .axi_wdata(lsu_axi_wdata[63:0]), - .axi_wstrb(lsu_axi_wstrb[7:0]), - .axi_wlast(lsu_axi_wlast), - .axi_bvalid(lsu_axi_bvalid_ahb), - .axi_bready(lsu_axi_bready), - .axi_bresp(lsu_axi_bresp_ahb[1:0]), - .axi_bid(lsu_axi_bid_ahb[pt[181-:8] - 1:0]), - .axi_arvalid(lsu_axi_arvalid), - .axi_arready(lsu_axi_arready_ahb), - .axi_arid(lsu_axi_arid[pt[181-:8] - 1:0]), - .axi_araddr(lsu_axi_araddr[31:0]), - .axi_arsize(lsu_axi_arsize[2:0]), - .axi_arprot(lsu_axi_arprot[2:0]), - .axi_rvalid(lsu_axi_rvalid_ahb), - .axi_rready(lsu_axi_rready), - .axi_rid(lsu_axi_rid_ahb[pt[181-:8] - 1:0]), - .axi_rdata(lsu_axi_rdata_ahb[63:0]), - .axi_rresp(lsu_axi_rresp_ahb[1:0]), - .axi_rlast(lsu_axi_rlast_ahb), - .ahb_haddr(lsu_haddr[31:0]), - .ahb_hburst(lsu_hburst), - .ahb_hmastlock(lsu_hmastlock), - .ahb_hprot(lsu_hprot[3:0]), - .ahb_hsize(lsu_hsize[2:0]), - .ahb_htrans(lsu_htrans[1:0]), - .ahb_hwrite(lsu_hwrite), - .ahb_hwdata(lsu_hwdata[63:0]), - .ahb_hrdata(lsu_hrdata[63:0]), - .ahb_hready(lsu_hready), - .ahb_hresp(lsu_hresp), - .scan_mode(scan_mode) - ); - axi4_to_ahb #( - .pt(pt), - .TAG(pt[826-:8]) - ) ifu_axi4_to_ahb( - .clk(free_l2clk), - .free_clk(free_clk), - .rst_l(core_rst_l), - .clk_override(dec_tlu_bus_clk_override), - .bus_clk_en(ifu_bus_clk_en), - .dec_tlu_force_halt(dec_tlu_force_halt), - .ahb_haddr(haddr[31:0]), - .ahb_hburst(hburst), - .ahb_hmastlock(hmastlock), - .ahb_hprot(hprot[3:0]), - .ahb_hsize(hsize[2:0]), - .ahb_htrans(htrans[1:0]), - .ahb_hwrite(hwrite), - .ahb_hwdata(hwdata_nc[63:0]), - .ahb_hrdata(hrdata[63:0]), - .ahb_hready(hready), - .ahb_hresp(hresp), - .axi_awvalid(ifu_axi_awvalid), - .axi_awready(ifu_axi_awready_ahb), - .axi_awid(ifu_axi_awid[pt[826-:8] - 1:0]), - .axi_awaddr(ifu_axi_awaddr[31:0]), - .axi_awsize(ifu_axi_awsize[2:0]), - .axi_awprot(ifu_axi_awprot[2:0]), - .axi_wvalid(ifu_axi_wvalid), - .axi_wready(ifu_axi_wready_ahb), - .axi_wdata(ifu_axi_wdata[63:0]), - .axi_wstrb(ifu_axi_wstrb[7:0]), - .axi_wlast(ifu_axi_wlast), - .axi_bvalid(ifu_axi_bvalid_ahb), - .axi_bready(1'b1), - .axi_bresp(ifu_axi_bresp_ahb[1:0]), - .axi_bid(ifu_axi_bid_ahb[pt[826-:8] - 1:0]), - .axi_arvalid(ifu_axi_arvalid), - .axi_arready(ifu_axi_arready_ahb), - .axi_arid(ifu_axi_arid[pt[826-:8] - 1:0]), - .axi_araddr(ifu_axi_araddr[31:0]), - .axi_arsize(ifu_axi_arsize[2:0]), - .axi_arprot(ifu_axi_arprot[2:0]), - .axi_rvalid(ifu_axi_rvalid_ahb), - .axi_rready(ifu_axi_rready), - .axi_rid(ifu_axi_rid_ahb[pt[826-:8] - 1:0]), - .axi_rdata(ifu_axi_rdata_ahb[63:0]), - .axi_rresp(ifu_axi_rresp_ahb[1:0]), - .axi_rlast(ifu_axi_rlast_ahb), - .scan_mode(scan_mode) - ); - axi4_to_ahb #( - .pt(pt), - .TAG(pt[12-:8]) - ) sb_axi4_to_ahb( - .clk(free_l2clk), - .free_clk(free_clk), - .rst_l(dbg_rst_l), - .clk_override(dec_tlu_bus_clk_override), - .bus_clk_en(dbg_bus_clk_en), - .dec_tlu_force_halt(1'b0), - .axi_awvalid(sb_axi_awvalid), - .axi_awready(sb_axi_awready_ahb), - .axi_awid(sb_axi_awid[pt[12-:8] - 1:0]), - .axi_awaddr(sb_axi_awaddr[31:0]), - .axi_awsize(sb_axi_awsize[2:0]), - .axi_awprot(sb_axi_awprot[2:0]), - .axi_wvalid(sb_axi_wvalid), - .axi_wready(sb_axi_wready_ahb), - .axi_wdata(sb_axi_wdata[63:0]), - .axi_wstrb(sb_axi_wstrb[7:0]), - .axi_wlast(sb_axi_wlast), - .axi_bvalid(sb_axi_bvalid_ahb), - .axi_bready(sb_axi_bready), - .axi_bresp(sb_axi_bresp_ahb[1:0]), - .axi_bid(sb_axi_bid_ahb[pt[12-:8] - 1:0]), - .axi_arvalid(sb_axi_arvalid), - .axi_arready(sb_axi_arready_ahb), - .axi_arid(sb_axi_arid[pt[12-:8] - 1:0]), - .axi_araddr(sb_axi_araddr[31:0]), - .axi_arsize(sb_axi_arsize[2:0]), - .axi_arprot(sb_axi_arprot[2:0]), - .axi_rvalid(sb_axi_rvalid_ahb), - .axi_rready(sb_axi_rready), - .axi_rid(sb_axi_rid_ahb[pt[12-:8] - 1:0]), - .axi_rdata(sb_axi_rdata_ahb[63:0]), - .axi_rresp(sb_axi_rresp_ahb[1:0]), - .axi_rlast(sb_axi_rlast_ahb), - .ahb_haddr(sb_haddr[31:0]), - .ahb_hburst(sb_hburst), - .ahb_hmastlock(sb_hmastlock), - .ahb_hprot(sb_hprot[3:0]), - .ahb_hsize(sb_hsize[2:0]), - .ahb_htrans(sb_htrans[1:0]), - .ahb_hwrite(sb_hwrite), - .ahb_hwdata(sb_hwdata[63:0]), - .ahb_hrdata(sb_hrdata[63:0]), - .ahb_hready(sb_hready), - .ahb_hresp(sb_hresp), - .scan_mode(scan_mode) - ); - ahb_to_axi4 #( - .pt(pt), - .TAG(pt[1235-:8]) - ) dma_ahb_to_axi4( - .clk(free_l2clk), - .rst_l(core_rst_l), - .clk_override(dec_tlu_bus_clk_override), - .bus_clk_en(dma_bus_clk_en), - .axi_awvalid(dma_axi_awvalid_ahb), - .axi_awready(dma_axi_awready), - .axi_awid(dma_axi_awid_ahb[pt[1235-:8] - 1:0]), - .axi_awaddr(dma_axi_awaddr_ahb[31:0]), - .axi_awsize(dma_axi_awsize_ahb[2:0]), - .axi_awprot(dma_axi_awprot_ahb[2:0]), - .axi_awlen(dma_axi_awlen_ahb[7:0]), - .axi_awburst(dma_axi_awburst_ahb[1:0]), - .axi_wvalid(dma_axi_wvalid_ahb), - .axi_wready(dma_axi_wready), - .axi_wdata(dma_axi_wdata_ahb[63:0]), - .axi_wstrb(dma_axi_wstrb_ahb[7:0]), - .axi_wlast(dma_axi_wlast_ahb), - .axi_bvalid(dma_axi_bvalid), - .axi_bready(dma_axi_bready_ahb), - .axi_bresp(dma_axi_bresp[1:0]), - .axi_bid(dma_axi_bid[pt[1235-:8] - 1:0]), - .axi_arvalid(dma_axi_arvalid_ahb), - .axi_arready(dma_axi_arready), - .axi_arid(dma_axi_arid_ahb[pt[1235-:8] - 1:0]), - .axi_araddr(dma_axi_araddr_ahb[31:0]), - .axi_arsize(dma_axi_arsize_ahb[2:0]), - .axi_arprot(dma_axi_arprot_ahb[2:0]), - .axi_arlen(dma_axi_arlen_ahb[7:0]), - .axi_arburst(dma_axi_arburst_ahb[1:0]), - .axi_rvalid(dma_axi_rvalid), - .axi_rready(dma_axi_rready_ahb), - .axi_rid(dma_axi_rid[pt[1235-:8] - 1:0]), - .axi_rdata(dma_axi_rdata[63:0]), - .axi_rresp(dma_axi_rresp[1:0]), - .ahb_haddr(dma_haddr[31:0]), - .ahb_hburst(dma_hburst), - .ahb_hmastlock(dma_hmastlock), - .ahb_hprot(dma_hprot[3:0]), - .ahb_hsize(dma_hsize[2:0]), - .ahb_htrans(dma_htrans[1:0]), - .ahb_hwrite(dma_hwrite), - .ahb_hwdata(dma_hwdata[63:0]), - .ahb_hrdata(dma_hrdata[63:0]), - .ahb_hreadyout(dma_hreadyout), - .ahb_hresp(dma_hresp), - .ahb_hreadyin(dma_hreadyin), - .ahb_hsel(dma_hsel), - .scan_mode(scan_mode) - ); - end - endgenerate - assign lsu_axi_awready_int = (pt[2038] ? lsu_axi_awready_ahb : lsu_axi_awready); - assign lsu_axi_wready_int = (pt[2038] ? lsu_axi_wready_ahb : lsu_axi_wready); - assign lsu_axi_bvalid_int = (pt[2038] ? lsu_axi_bvalid_ahb : lsu_axi_bvalid); - assign lsu_axi_bready_int = (pt[2038] ? lsu_axi_bready_ahb : lsu_axi_bready); - assign lsu_axi_bresp_int[1:0] = (pt[2038] ? lsu_axi_bresp_ahb[1:0] : lsu_axi_bresp[1:0]); - assign lsu_axi_bid_int[pt[181-:8] - 1:0] = (pt[2038] ? lsu_axi_bid_ahb[pt[181-:8] - 1:0] : lsu_axi_bid[pt[181-:8] - 1:0]); - assign lsu_axi_arready_int = (pt[2038] ? lsu_axi_arready_ahb : lsu_axi_arready); - assign lsu_axi_rvalid_int = (pt[2038] ? lsu_axi_rvalid_ahb : lsu_axi_rvalid); - assign lsu_axi_rid_int[pt[181-:8] - 1:0] = (pt[2038] ? lsu_axi_rid_ahb[pt[181-:8] - 1:0] : lsu_axi_rid[pt[181-:8] - 1:0]); - assign lsu_axi_rdata_int[63:0] = (pt[2038] ? lsu_axi_rdata_ahb[63:0] : lsu_axi_rdata[63:0]); - assign lsu_axi_rresp_int[1:0] = (pt[2038] ? lsu_axi_rresp_ahb[1:0] : lsu_axi_rresp[1:0]); - assign lsu_axi_rlast_int = (pt[2038] ? lsu_axi_rlast_ahb : lsu_axi_rlast); - assign ifu_axi_awready_int = (pt[2038] ? ifu_axi_awready_ahb : ifu_axi_awready); - assign ifu_axi_wready_int = (pt[2038] ? ifu_axi_wready_ahb : ifu_axi_wready); - assign ifu_axi_bvalid_int = (pt[2038] ? ifu_axi_bvalid_ahb : ifu_axi_bvalid); - assign ifu_axi_bready_int = (pt[2038] ? ifu_axi_bready_ahb : ifu_axi_bready); - assign ifu_axi_bresp_int[1:0] = (pt[2038] ? ifu_axi_bresp_ahb[1:0] : ifu_axi_bresp[1:0]); - assign ifu_axi_bid_int[pt[826-:8] - 1:0] = (pt[2038] ? ifu_axi_bid_ahb[pt[826-:8] - 1:0] : ifu_axi_bid[pt[826-:8] - 1:0]); - assign ifu_axi_arready_int = (pt[2038] ? ifu_axi_arready_ahb : ifu_axi_arready); - assign ifu_axi_rvalid_int = (pt[2038] ? ifu_axi_rvalid_ahb : ifu_axi_rvalid); - assign ifu_axi_rid_int[pt[826-:8] - 1:0] = (pt[2038] ? ifu_axi_rid_ahb[pt[826-:8] - 1:0] : ifu_axi_rid[pt[826-:8] - 1:0]); - assign ifu_axi_rdata_int[63:0] = (pt[2038] ? ifu_axi_rdata_ahb[63:0] : ifu_axi_rdata[63:0]); - assign ifu_axi_rresp_int[1:0] = (pt[2038] ? ifu_axi_rresp_ahb[1:0] : ifu_axi_rresp[1:0]); - assign ifu_axi_rlast_int = (pt[2038] ? ifu_axi_rlast_ahb : ifu_axi_rlast); - assign sb_axi_awready_int = (pt[2038] ? sb_axi_awready_ahb : sb_axi_awready); - assign sb_axi_wready_int = (pt[2038] ? sb_axi_wready_ahb : sb_axi_wready); - assign sb_axi_bvalid_int = (pt[2038] ? sb_axi_bvalid_ahb : sb_axi_bvalid); - assign sb_axi_bready_int = (pt[2038] ? sb_axi_bready_ahb : sb_axi_bready); - assign sb_axi_bresp_int[1:0] = (pt[2038] ? sb_axi_bresp_ahb[1:0] : sb_axi_bresp[1:0]); - assign sb_axi_bid_int[pt[12-:8] - 1:0] = (pt[2038] ? sb_axi_bid_ahb[pt[12-:8] - 1:0] : sb_axi_bid[pt[12-:8] - 1:0]); - assign sb_axi_arready_int = (pt[2038] ? sb_axi_arready_ahb : sb_axi_arready); - assign sb_axi_rvalid_int = (pt[2038] ? sb_axi_rvalid_ahb : sb_axi_rvalid); - assign sb_axi_rid_int[pt[12-:8] - 1:0] = (pt[2038] ? sb_axi_rid_ahb[pt[12-:8] - 1:0] : sb_axi_rid[pt[12-:8] - 1:0]); - assign sb_axi_rdata_int[63:0] = (pt[2038] ? sb_axi_rdata_ahb[63:0] : sb_axi_rdata[63:0]); - assign sb_axi_rresp_int[1:0] = (pt[2038] ? sb_axi_rresp_ahb[1:0] : sb_axi_rresp[1:0]); - assign sb_axi_rlast_int = (pt[2038] ? sb_axi_rlast_ahb : sb_axi_rlast); - assign dma_axi_awvalid_int = (pt[2038] ? dma_axi_awvalid_ahb : dma_axi_awvalid); - assign dma_axi_awid_int[pt[1235-:8] - 1:0] = (pt[2038] ? dma_axi_awid_ahb[pt[1235-:8] - 1:0] : dma_axi_awid[pt[1235-:8] - 1:0]); - assign dma_axi_awaddr_int[31:0] = (pt[2038] ? dma_axi_awaddr_ahb[31:0] : dma_axi_awaddr[31:0]); - assign dma_axi_awsize_int[2:0] = (pt[2038] ? dma_axi_awsize_ahb[2:0] : dma_axi_awsize[2:0]); - assign dma_axi_awprot_int[2:0] = (pt[2038] ? dma_axi_awprot_ahb[2:0] : dma_axi_awprot[2:0]); - assign dma_axi_awlen_int[7:0] = (pt[2038] ? dma_axi_awlen_ahb[7:0] : dma_axi_awlen[7:0]); - assign dma_axi_awburst_int[1:0] = (pt[2038] ? dma_axi_awburst_ahb[1:0] : dma_axi_awburst[1:0]); - assign dma_axi_wvalid_int = (pt[2038] ? dma_axi_wvalid_ahb : dma_axi_wvalid); - assign dma_axi_wdata_int[63:0] = (pt[2038] ? dma_axi_wdata_ahb[63:0] : dma_axi_wdata); - assign dma_axi_wstrb_int[7:0] = (pt[2038] ? dma_axi_wstrb_ahb[7:0] : dma_axi_wstrb[7:0]); - assign dma_axi_wlast_int = (pt[2038] ? dma_axi_wlast_ahb : dma_axi_wlast); - assign dma_axi_bready_int = (pt[2038] ? dma_axi_bready_ahb : dma_axi_bready); - assign dma_axi_arvalid_int = (pt[2038] ? dma_axi_arvalid_ahb : dma_axi_arvalid); - assign dma_axi_arid_int[pt[1235-:8] - 1:0] = (pt[2038] ? dma_axi_arid_ahb[pt[1235-:8] - 1:0] : dma_axi_arid[pt[1235-:8] - 1:0]); - assign dma_axi_araddr_int[31:0] = (pt[2038] ? dma_axi_araddr_ahb[31:0] : dma_axi_araddr[31:0]); - assign dma_axi_arsize_int[2:0] = (pt[2038] ? dma_axi_arsize_ahb[2:0] : dma_axi_arsize[2:0]); - assign dma_axi_arprot_int[2:0] = (pt[2038] ? dma_axi_arprot_ahb[2:0] : dma_axi_arprot[2:0]); - assign dma_axi_arlen_int[7:0] = (pt[2038] ? dma_axi_arlen_ahb[7:0] : dma_axi_arlen[7:0]); - assign dma_axi_arburst_int[1:0] = (pt[2038] ? dma_axi_arburst_ahb[1:0] : dma_axi_arburst[1:0]); - assign dma_axi_rready_int = (pt[2038] ? dma_axi_rready_ahb : dma_axi_rready); - assign trace_rv_i_insn_ip[31:0] = trace_rv_trace_pkt[102:71]; - assign trace_rv_i_address_ip[31:0] = trace_rv_trace_pkt[70:39]; - assign trace_rv_i_valid_ip = trace_rv_trace_pkt[103]; - assign trace_rv_i_exception_ip = trace_rv_trace_pkt[38]; - assign trace_rv_i_ecause_ip[4:0] = trace_rv_trace_pkt[37:33]; - assign trace_rv_i_interrupt_ip = trace_rv_trace_pkt[32]; - assign trace_rv_i_tval_ip[31:0] = trace_rv_trace_pkt[31:0]; -endmodule -module dmi_wrapper ( - trst_n, - tck, - tms, - tdi, - tdo, - tdoEnable, - core_rst_n, - core_clk, - jtag_id, - rd_data, - reg_wr_data, - reg_wr_addr, - reg_en, - reg_wr_en, - dmi_hard_reset -); - input trst_n; - input tck; - input tms; - input tdi; - output tdo; - output tdoEnable; - input core_rst_n; - input core_clk; - input [31:1] jtag_id; - input [31:0] rd_data; - output [31:0] reg_wr_data; - output [6:0] reg_wr_addr; - output reg_en; - output reg_wr_en; - output dmi_hard_reset; - wire rd_en; - wire wr_en; - wire dmireset; - rvjtag_tap i_jtag_tap( - .trst(trst_n), - .tck(tck), - .tms(tms), - .tdi(tdi), - .tdo(tdo), - .tdoEnable(tdoEnable), - .wr_data(reg_wr_data), - .wr_addr(reg_wr_addr), - .rd_en(rd_en), - .wr_en(wr_en), - .rd_data(rd_data), - .rd_status(2'b00), - .idle(3'h0), - .dmi_stat(2'b00), - .version(4'h1), - .jtag_id(jtag_id), - .dmi_hard_reset(dmi_hard_reset), - .dmi_reset(dmireset) - ); - dmi_jtag_to_core_sync i_dmi_jtag_to_core_sync( - .wr_en(wr_en), - .rd_en(rd_en), - .rst_n(core_rst_n), - .clk(core_clk), - .reg_en(reg_en), - .reg_wr_en(reg_wr_en) - ); -endmodule -module eb1_uart_rx_prog ( - i_Clock, - rst_ni, - i_Rx_Serial, - CLKS_PER_BIT, - o_Rx_DV, - o_Rx_Byte -); - input i_Clock; - input rst_ni; - input i_Rx_Serial; - input [15:0] CLKS_PER_BIT; - output o_Rx_DV; - output [7:0] o_Rx_Byte; - parameter s_IDLE = 3'b000; - parameter s_RX_START_BIT = 3'b001; - parameter s_RX_DATA_BITS = 3'b010; - parameter s_RX_STOP_BIT = 3'b011; - parameter s_CLEANUP = 3'b100; - reg r_Rx_Data_R; - reg r_Rx_Data; - reg [15:0] r_Clock_Count; - reg [2:0] r_Bit_Index; - reg [7:0] r_Rx_Byte; - reg r_Rx_DV; - reg [2:0] r_SM_Main; - always @(posedge i_Clock) - if (rst_ni == 1'b0) begin - r_Rx_Data_R <= 1'b1; - r_Rx_Data <= 1'b1; - end - else begin - r_Rx_Data_R <= i_Rx_Serial; - r_Rx_Data <= r_Rx_Data_R; - end - always @(posedge i_Clock or negedge rst_ni) - if (rst_ni == 1'b0) begin - r_SM_Main <= s_IDLE; - r_Rx_DV <= 1'b0; - r_Clock_Count <= 16'h0000; - r_Bit_Index <= 3'b000; - r_Rx_Byte <= 8'h00; - end - else - case (r_SM_Main) - s_IDLE: begin - r_Rx_DV <= 1'b0; - r_Clock_Count <= 0; - r_Bit_Index <= 0; - if (r_Rx_Data == 1'b0) - r_SM_Main <= s_RX_START_BIT; - else - r_SM_Main <= s_IDLE; - end - s_RX_START_BIT: - if (r_Clock_Count == ((CLKS_PER_BIT - 1) >> 1)) begin - if (r_Rx_Data == 1'b0) begin - r_Clock_Count <= 0; - r_SM_Main <= s_RX_DATA_BITS; - end - else - r_SM_Main <= s_IDLE; - end - else begin - r_Clock_Count <= r_Clock_Count + 1; - r_SM_Main <= s_RX_START_BIT; - end - s_RX_DATA_BITS: - if (r_Clock_Count < (CLKS_PER_BIT - 1)) begin - r_Clock_Count <= r_Clock_Count + 1; - r_SM_Main <= s_RX_DATA_BITS; - end - else begin - r_Clock_Count <= 0; - r_Rx_Byte[r_Bit_Index] <= r_Rx_Data; - if (r_Bit_Index < 7) begin - r_Bit_Index <= r_Bit_Index + 1; - r_SM_Main <= s_RX_DATA_BITS; - end - else begin - r_Bit_Index <= 0; - r_SM_Main <= s_RX_STOP_BIT; - end - end - s_RX_STOP_BIT: - if (r_Clock_Count < (CLKS_PER_BIT - 1)) begin - r_Clock_Count <= r_Clock_Count + 1; - r_SM_Main <= s_RX_STOP_BIT; - end - else begin - r_Rx_DV <= 1'b1; - r_Clock_Count <= 0; - r_SM_Main <= s_CLEANUP; - end - s_CLEANUP: begin - r_SM_Main <= s_IDLE; - r_Rx_DV <= 1'b0; - end - default: r_SM_Main <= s_IDLE; - endcase - assign o_Rx_DV = r_Rx_DV; - assign o_Rx_Byte = r_Rx_Byte; -endmodule -module eb1_iccm_controller ( - clk_i, - rst_ni, - rx_dv_i, - rx_byte_i, - we_o, - addr_o, - wdata_o, - reset_o -); - input wire clk_i; - input wire rst_ni; - input wire rx_dv_i; - input wire [7:0] rx_byte_i; - output wire we_o; - output wire [13:0] addr_o; - output wire [31:0] wdata_o; - output wire reset_o; - reg [1:0] ctrl_fsm_cs; - reg [1:0] ctrl_fsm_ns; - wire [7:0] rx_byte_d; - reg [7:0] rx_byte_q0; - reg [7:0] rx_byte_q1; - reg [7:0] rx_byte_q2; - reg [7:0] rx_byte_q3; - reg we_q; - reg we_d; - reg [13:0] addr_q; - reg [13:0] addr_d; - reg reset_q; - reg reset_d; - reg [1:0] byte_count; - localparam [1:0] DONE = 3; - localparam [1:0] LOAD = 1; - localparam [1:0] PROG = 2; - localparam [1:0] RESET = 0; - always @(*) begin - we_d = we_q; - addr_d = addr_q; - reset_d = reset_q; - ctrl_fsm_ns = ctrl_fsm_cs; - case (ctrl_fsm_cs) - RESET: begin - we_d = 1'b0; - reset_d = 1'b0; - if (rx_dv_i) - ctrl_fsm_ns = LOAD; - else - ctrl_fsm_ns = RESET; - end - LOAD: - if (((byte_count == 2'b11) && (rx_byte_q2 != 8'h0f)) && (rx_byte_d != 8'hff)) begin - we_d = 1'b1; - ctrl_fsm_ns = PROG; - end - else - ctrl_fsm_ns = DONE; - PROG: begin - we_d = 1'b0; - ctrl_fsm_ns = DONE; - end - DONE: - if (wdata_o == 32'h00000fff) begin - ctrl_fsm_ns = DONE; - reset_d = 1'b1; - end - else if (rx_dv_i) - ctrl_fsm_ns = LOAD; - else - ctrl_fsm_ns = DONE; - default: ctrl_fsm_ns = RESET; - endcase - end - assign rx_byte_d = rx_byte_i; - assign we_o = we_q; - assign addr_o = addr_q; - assign wdata_o = {rx_byte_q0, rx_byte_q1, rx_byte_q2, rx_byte_q3}; - assign reset_o = reset_q; - always @(posedge clk_i or negedge rst_ni) - if (!rst_ni) begin - we_q <= 1'b0; - addr_q <= 14'b00000000000000; - rx_byte_q0 <= 8'b00000000; - rx_byte_q1 <= 8'b00000000; - rx_byte_q2 <= 8'b00000000; - rx_byte_q3 <= 8'b00000000; - reset_q <= 1'b0; - byte_count <= 2'b00; - ctrl_fsm_cs <= RESET; - end - else begin - we_q <= we_d; - if (ctrl_fsm_cs == LOAD) begin - if (byte_count == 2'b00) begin - rx_byte_q0 <= rx_byte_d; - byte_count <= 2'b01; - end - else if (byte_count == 2'b01) begin - rx_byte_q1 <= rx_byte_d; - byte_count <= 2'b10; - end - else if (byte_count == 2'b10) begin - rx_byte_q2 <= rx_byte_d; - byte_count <= 2'b11; - end - else begin - rx_byte_q3 <= rx_byte_d; - byte_count <= 2'b00; - end - addr_q <= addr_d; - end - if (ctrl_fsm_cs == PROG) - addr_q <= addr_d + 2'h2; - reset_q <= reset_d; - ctrl_fsm_cs <= ctrl_fsm_ns; - end -endmodule -module eb1_mem ( -`ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif - clk, - rst_l, - dccm_clk_override, - icm_clk_override, - dec_tlu_core_ecc_disable, - dccm_wren, - dccm_rden, - dccm_wr_addr_lo, - dccm_wr_addr_hi, - dccm_rd_addr_lo, - dccm_rd_addr_hi, - dccm_wr_data_lo, - dccm_wr_data_hi, - dccm_rd_data_lo, - dccm_rd_data_hi, - dccm_ext_in_pkt, - iccm_ext_in_pkt, - iccm_rw_addr, - iccm_buf_correct_ecc, - iccm_correction_state, - iccm_wren, - iccm_rden, - iccm_wr_size, - iccm_wr_data, - iccm_rd_data, - iccm_rd_data_ecc, - ic_rw_addr, - ic_tag_valid, - ic_wr_en, - ic_rd_en, - ic_premux_data, - ic_sel_premux_data, - ic_data_ext_in_pkt, - ic_tag_ext_in_pkt, - ic_wr_data, - ic_debug_wr_data, - ic_debug_rd_data, - ic_debug_addr, - ic_debug_rd_en, - ic_debug_wr_en, - ic_debug_tag_array, - ic_debug_way, - ic_rd_data, - ictag_debug_rd_data, - ic_eccerr, - ic_parerr, - ic_rd_hit, - ic_tag_perr, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; -`ifdef USE_POWER_PINS - inout wire vccd1; - inout wire vssd1; -`endif - input wire clk; - input wire rst_l; - input wire dccm_clk_override; - input wire icm_clk_override; - input wire dec_tlu_core_ecc_disable; - input wire dccm_wren; - input wire dccm_rden; - input wire [pt[1398-:9] - 1:0] dccm_wr_addr_lo; - input wire [pt[1398-:9] - 1:0] dccm_wr_addr_hi; - input wire [pt[1398-:9] - 1:0] dccm_rd_addr_lo; - input wire [pt[1398-:9] - 1:0] dccm_rd_addr_hi; - input wire [pt[1360-:10] - 1:0] dccm_wr_data_lo; - input wire [pt[1360-:10] - 1:0] dccm_wr_data_hi; - output wire [pt[1360-:10] - 1:0] dccm_rd_data_lo; - output wire [pt[1360-:10] - 1:0] dccm_rd_data_hi; - input wire [(pt[1342-:9] * 12) - 1:0] dccm_ext_in_pkt; - input wire [(pt[909-:9] * 12) - 1:0] iccm_ext_in_pkt; - input wire [pt[936-:9] - 1:1] iccm_rw_addr; - input wire iccm_buf_correct_ecc; - input wire iccm_correction_state; - input wire iccm_wren; - input wire iccm_rden; - input wire [2:0] iccm_wr_size; - input wire [77:0] iccm_wr_data; - output wire [63:0] iccm_rd_data; - output wire [77:0] iccm_rd_data_ecc; - input wire [31:1] ic_rw_addr; - input wire [pt[1060-:7] - 1:0] ic_tag_valid; - input wire [pt[1060-:7] - 1:0] ic_wr_en; - input wire ic_rd_en; - input wire [63:0] ic_premux_data; - input wire ic_sel_premux_data; - input wire [((pt[1060-:7] * pt[1189-:7]) * 12) - 1:0] ic_data_ext_in_pkt; - input wire [(pt[1060-:7] * 12) - 1:0] ic_tag_ext_in_pkt; - input wire [(pt[1189-:7] * 71) - 1:0] ic_wr_data; - input wire [70:0] ic_debug_wr_data; - output wire [70:0] ic_debug_rd_data; - input wire [pt[1104-:9]:3] ic_debug_addr; - input wire ic_debug_rd_en; - input wire ic_debug_wr_en; - input wire ic_debug_tag_array; - input wire [pt[1060-:7] - 1:0] ic_debug_way; - output wire [63:0] ic_rd_data; - output wire [25:0] ictag_debug_rd_data; - output wire [pt[1189-:7] - 1:0] ic_eccerr; - output wire [pt[1189-:7] - 1:0] ic_parerr; - output wire [pt[1060-:7] - 1:0] ic_rd_hit; - output wire ic_tag_perr; - input wire scan_mode; - wire active_clk; - rvoclkhdr active_cg( - .en(1'b1), - .l1clk(active_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - generate - if (pt[1365-:5] == 1) begin : Gen_dccm_enable - eb1_lsu_dccm_mem #(.pt(pt)) dccm( - .clk_override(dccm_clk_override), - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk(clk), - .active_clk(active_clk), - .rst_l(rst_l), - .dccm_wren(dccm_wren), - .dccm_rden(dccm_rden), - .dccm_wr_addr_lo(dccm_wr_addr_lo), - .dccm_wr_addr_hi(dccm_wr_addr_hi), - .dccm_rd_addr_lo(dccm_rd_addr_lo), - .dccm_rd_addr_hi(dccm_rd_addr_hi), - .dccm_wr_data_lo(dccm_wr_data_lo), - .dccm_wr_data_hi(dccm_wr_data_hi), - .dccm_ext_in_pkt(dccm_ext_in_pkt), - .dccm_rd_data_lo(dccm_rd_data_lo), - .dccm_rd_data_hi(dccm_rd_data_hi), - .scan_mode(scan_mode) - ); - end - else begin : Gen_dccm_disable - assign dccm_rd_data_lo = {pt[1360-:10] {1'sb0}}; - assign dccm_rd_data_hi = {pt[1360-:10] {1'sb0}}; - end - endgenerate - generate - if (pt[1120-:5]) begin : icache - eb1_ifu_ic_mem #(.pt(pt)) icm( - .clk_override(icm_clk_override), - .* - ); - end - else begin - assign ic_rd_hit[pt[1060-:7] - 1:0] = {pt[1060-:7] {1'sb0}}; - assign ic_tag_perr = 1'b0; - assign ic_rd_data = {64 {1'sb0}}; - assign ictag_debug_rd_data = {26 {1'sb0}}; - end - endgenerate - generate - if (pt[927-:5]) begin : iccm - eb1_ifu_iccm_mem #(.pt(pt)) iccm( - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk(clk), - .active_clk(active_clk), - .rst_l(rst_l), - .iccm_wren(iccm_wren), - .iccm_rden(iccm_rden), - .iccm_buf_correct_ecc(iccm_buf_correct_ecc), - .iccm_correction_state(iccm_correction_state), - .iccm_wr_size(iccm_wr_size), - .iccm_wr_data(iccm_wr_data), - .iccm_ext_in_pkt(iccm_ext_in_pkt), - .iccm_rd_data_ecc(iccm_rd_data_ecc), - .scan_mode(scan_mode), - .clk_override(icm_clk_override), - .iccm_rw_addr(iccm_rw_addr[pt[936-:9] - 1:1]), - .iccm_rd_data(iccm_rd_data[63:0]) - ); - end - else begin - assign iccm_rd_data = {64 {1'sb0}}; - assign iccm_rd_data_ecc = {78 {1'sb0}}; - end - endgenerate -endmodule -module eb1_pic_ctrl ( - clk, - free_clk, - rst_l, - clk_override, - io_clk_override, - extintsrc_req, - picm_rdaddr, - picm_wraddr, - picm_wr_data, - picm_wren, - picm_rden, - picm_mken, - meicurpl, - meipt, - mexintpend, - claimid, - pl, - picm_rd_data, - mhwakeup, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire free_clk; - input wire rst_l; - input wire clk_override; - input wire io_clk_override; - input wire [pt[44-:13] - 1:0] extintsrc_req; - input wire [31:0] picm_rdaddr; - input wire [31:0] picm_wraddr; - input wire [31:0] picm_wr_data; - input wire picm_wren; - input wire picm_rden; - input wire picm_mken; - input wire [3:0] meicurpl; - input wire [3:0] meipt; - output wire mexintpend; - output wire [7:0] claimid; - output wire [3:0] pl; - output wire [31:0] picm_rd_data; - output wire mhwakeup; - input wire scan_mode; - localparam NUM_LEVELS = $clog2(pt[44-:13]); - localparam INTPRIORITY_BASE_ADDR = pt[130-:36]; - localparam INTPEND_BASE_ADDR = pt[130-:36] + 32'h00001000; - localparam INTENABLE_BASE_ADDR = pt[130-:36] + 32'h00002000; - localparam EXT_INTR_PIC_CONFIG = pt[130-:36] + 32'h00003000; - localparam EXT_INTR_GW_CONFIG = pt[130-:36] + 32'h00004000; - localparam EXT_INTR_GW_CLEAR = pt[130-:36] + 32'h00005000; - localparam INTPEND_SIZE = (pt[44-:13] < 32 ? 32 : (pt[44-:13] < 64 ? 64 : (pt[44-:13] < 128 ? 128 : (pt[44-:13] < 256 ? 256 : (pt[44-:13] < 512 ? 512 : 1024))))); - localparam INT_GRPS = INTPEND_SIZE / 32; - localparam INTPRIORITY_BITS = 4; - localparam ID_BITS = 8; - localparam signed [(pt[44-:13] * 32) - 1:0] GW_CONFIG = {pt[44-:13] {32'sd0}}; - localparam INT_ENABLE_GRPS = (pt[44-:13] - 1) / 4; - wire [pt[44-:13] - 1:0] intenable_clk_enable; - wire [INT_ENABLE_GRPS:0] intenable_clk_enable_grp; - wire [INT_ENABLE_GRPS:0] gw_clk; - wire addr_intpend_base_match; - wire raddr_config_pic_match; - wire raddr_intenable_base_match; - wire raddr_intpriority_base_match; - wire raddr_config_gw_base_match; - wire waddr_config_pic_match; - wire waddr_intpriority_base_match; - wire waddr_intenable_base_match; - wire waddr_config_gw_base_match; - wire addr_clear_gw_base_match; - wire mexintpend_in; - wire mhwakeup_in; - wire intpend_reg_read; - wire [31:0] picm_rd_data_in; - reg [31:0] intpend_rd_out; - reg intenable_rd_out; - reg [3:0] intpriority_rd_out; - reg [1:0] gw_config_rd_out; - wire [(pt[44-:13] * 4) - 1:0] intpriority_reg; - wire [(pt[44-:13] * 4) - 1:0] intpriority_reg_inv; - wire [pt[44-:13] - 1:0] intpriority_reg_we; - wire [pt[44-:13] - 1:0] intpriority_reg_re; - wire [(pt[44-:13] * 2) - 1:0] gw_config_reg; - wire [pt[44-:13] - 1:0] intenable_reg; - wire [pt[44-:13] - 1:0] intenable_reg_we; - wire [pt[44-:13] - 1:0] intenable_reg_re; - wire [pt[44-:13] - 1:0] gw_config_reg_we; - wire [pt[44-:13] - 1:0] gw_config_reg_re; - wire [pt[44-:13] - 1:0] gw_clear_reg_we; - wire [INTPEND_SIZE - 1:0] intpend_reg_extended; - wire [(pt[44-:13] * 4) - 1:0] intpend_w_prior_en; - wire [(pt[44-:13] * 8) - 1:0] intpend_id; - wire [3:0] maxint; - wire [3:0] selected_int_priority; - wire [(INT_GRPS * 32) - 1:0] intpend_rd_part_out; - wire config_reg; - wire intpriord; - wire config_reg_we; - wire config_reg_re; - wire config_reg_in; - wire prithresh_reg_write; - wire prithresh_reg_read; - wire intpriority_reg_read; - wire intenable_reg_read; - wire gw_config_reg_read; - wire picm_wren_ff; - wire picm_rden_ff; - wire [31:0] picm_raddr_ff; - wire [31:0] picm_waddr_ff; - wire [31:0] picm_wr_data_ff; - reg [3:0] mask; - wire picm_mken_ff; - wire [7:0] claimid_in; - wire [3:0] pl_in; - wire [3:0] pl_in_q; - wire [pt[44-:13] - 1:0] extintsrc_req_sync; - wire [pt[44-:13] - 1:0] extintsrc_req_gw; - wire picm_bypass_ff; - wire pic_raddr_c1_clken; - wire pic_waddr_c1_clken; - wire pic_data_c1_clken; - wire pic_pri_c1_clken; - wire pic_int_c1_clken; - wire gw_config_c1_clken; - wire pic_raddr_c1_clk; - wire pic_data_c1_clk; - wire pic_pri_c1_clk; - wire pic_int_c1_clk; - wire gw_config_c1_clk; - assign pic_raddr_c1_clken = (picm_mken | picm_rden) | clk_override; - assign pic_data_c1_clken = picm_wren | clk_override; - assign pic_pri_c1_clken = ((waddr_intpriority_base_match & picm_wren_ff) | (raddr_intpriority_base_match & picm_rden_ff)) | clk_override; - assign pic_int_c1_clken = ((waddr_intenable_base_match & picm_wren_ff) | (raddr_intenable_base_match & picm_rden_ff)) | clk_override; - assign gw_config_c1_clken = ((waddr_config_gw_base_match & picm_wren_ff) | (raddr_config_gw_base_match & picm_rden_ff)) | clk_override; - rvoclkhdr pic_addr_c1_cgc( - .en(pic_raddr_c1_clken), - .l1clk(pic_raddr_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr pic_data_c1_cgc( - .en(pic_data_c1_clken), - .l1clk(pic_data_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr pic_pri_c1_cgc( - .en(pic_pri_c1_clken), - .l1clk(pic_pri_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr pic_int_c1_cgc( - .en(pic_int_c1_clken), - .l1clk(pic_int_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr gw_config_c1_cgc( - .en(gw_config_c1_clken), - .l1clk(gw_config_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - assign raddr_intenable_base_match = picm_raddr_ff[31:NUM_LEVELS + 2] == INTENABLE_BASE_ADDR[31:NUM_LEVELS + 2]; - assign raddr_intpriority_base_match = picm_raddr_ff[31:NUM_LEVELS + 2] == INTPRIORITY_BASE_ADDR[31:NUM_LEVELS + 2]; - assign raddr_config_gw_base_match = picm_raddr_ff[31:NUM_LEVELS + 2] == EXT_INTR_GW_CONFIG[31:NUM_LEVELS + 2]; - assign raddr_config_pic_match = picm_raddr_ff[31:0] == EXT_INTR_PIC_CONFIG[31:0]; - assign addr_intpend_base_match = picm_raddr_ff[31:6] == INTPEND_BASE_ADDR[31:6]; - assign waddr_config_pic_match = picm_waddr_ff[31:0] == EXT_INTR_PIC_CONFIG[31:0]; - assign addr_clear_gw_base_match = picm_waddr_ff[31:NUM_LEVELS + 2] == EXT_INTR_GW_CLEAR[31:NUM_LEVELS + 2]; - assign waddr_intpriority_base_match = picm_waddr_ff[31:NUM_LEVELS + 2] == INTPRIORITY_BASE_ADDR[31:NUM_LEVELS + 2]; - assign waddr_intenable_base_match = picm_waddr_ff[31:NUM_LEVELS + 2] == INTENABLE_BASE_ADDR[31:NUM_LEVELS + 2]; - assign waddr_config_gw_base_match = picm_waddr_ff[31:NUM_LEVELS + 2] == EXT_INTR_GW_CONFIG[31:NUM_LEVELS + 2]; - assign picm_bypass_ff = (picm_rden_ff & picm_wren_ff) & (picm_raddr_ff[31:0] == picm_waddr_ff[31:0]); - rvdff #(.WIDTH(32)) picm_radd_flop( - .rst_l(rst_l), - .din(picm_rdaddr), - .dout(picm_raddr_ff), - .clk(pic_raddr_c1_clk) - ); - rvdff #(.WIDTH(32)) picm_wadd_flop( - .rst_l(rst_l), - .din(picm_wraddr), - .dout(picm_waddr_ff), - .clk(pic_data_c1_clk) - ); - rvdff #(.WIDTH(1)) picm_wre_flop( - .rst_l(rst_l), - .din(picm_wren), - .dout(picm_wren_ff), - .clk(free_clk) - ); - rvdff #(.WIDTH(1)) picm_rde_flop( - .rst_l(rst_l), - .din(picm_rden), - .dout(picm_rden_ff), - .clk(free_clk) - ); - rvdff #(.WIDTH(1)) picm_mke_flop( - .rst_l(rst_l), - .din(picm_mken), - .dout(picm_mken_ff), - .clk(free_clk) - ); - rvdff #(.WIDTH(32)) picm_dat_flop( - .rst_l(rst_l), - .din(picm_wr_data[31:0]), - .dout(picm_wr_data_ff[31:0]), - .clk(pic_data_c1_clk) - ); - genvar p; - generate - for (p = 0; p <= INT_ENABLE_GRPS; p = p + 1) begin : IO_CLK_GRP - if (p == INT_ENABLE_GRPS) begin : LAST_GRP - assign intenable_clk_enable_grp[p] = |intenable_clk_enable[pt[44-:13] - 1:p * 4] | io_clk_override; - rvoclkhdr intenable_c1_cgc( - .en(intenable_clk_enable_grp[p]), - .l1clk(gw_clk[p]), - .clk(clk), - .scan_mode(scan_mode) - ); - end - else begin : CLK_GRPS - assign intenable_clk_enable_grp[p] = |intenable_clk_enable[(p * 4) + 3:p * 4] | io_clk_override; - rvoclkhdr intenable_c1_cgc( - .en(intenable_clk_enable_grp[p]), - .l1clk(gw_clk[p]), - .clk(clk), - .scan_mode(scan_mode) - ); - end - end - endgenerate - genvar i; - generate - for (i = 0; i < pt[44-:13]; i = i + 1) begin : SETREG - if (i > 0) begin : NON_ZERO_INT - assign intpriority_reg_we[i] = (waddr_intpriority_base_match & (picm_waddr_ff[NUM_LEVELS + 1:2] == i)) & picm_wren_ff; - assign intpriority_reg_re[i] = (raddr_intpriority_base_match & (picm_raddr_ff[NUM_LEVELS + 1:2] == i)) & picm_rden_ff; - assign intenable_reg_we[i] = (waddr_intenable_base_match & (picm_waddr_ff[NUM_LEVELS + 1:2] == i)) & picm_wren_ff; - assign intenable_reg_re[i] = (raddr_intenable_base_match & (picm_raddr_ff[NUM_LEVELS + 1:2] == i)) & picm_rden_ff; - assign gw_config_reg_we[i] = (waddr_config_gw_base_match & (picm_waddr_ff[NUM_LEVELS + 1:2] == i)) & picm_wren_ff; - assign gw_config_reg_re[i] = (raddr_config_gw_base_match & (picm_raddr_ff[NUM_LEVELS + 1:2] == i)) & picm_rden_ff; - assign gw_clear_reg_we[i] = (addr_clear_gw_base_match & (picm_waddr_ff[NUM_LEVELS + 1:2] == i)) & picm_wren_ff; - rvdffs #(.WIDTH(INTPRIORITY_BITS)) intpriority_ff( - .rst_l(rst_l), - .en(intpriority_reg_we[i]), - .din(picm_wr_data_ff[3:0]), - .dout(intpriority_reg[i * 4+:4]), - .clk(pic_pri_c1_clk) - ); - rvdffs #(.WIDTH(1)) intenable_ff( - .rst_l(rst_l), - .en(intenable_reg_we[i]), - .din(picm_wr_data_ff[0]), - .dout(intenable_reg[i]), - .clk(pic_int_c1_clk) - ); - assign intenable_clk_enable[i] = ((gw_config_reg[(i * 2) + 1] | intenable_reg_we[i]) | intenable_reg[i]) | gw_clear_reg_we[i]; - rvsyncss_fpga #(.WIDTH(1)) sync_inst( - .gw_clk(gw_clk[i / 4]), - .rawclk(clk), - .clken(intenable_clk_enable_grp[i / 4]), - .dout(extintsrc_req_sync[i]), - .din(extintsrc_req[i]), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(2)) gw_config_ff( - .rst_l(rst_l), - .en(gw_config_reg_we[i]), - .din(picm_wr_data_ff[1:0]), - .dout(gw_config_reg[i * 2+:2]), - .clk(gw_config_c1_clk) - ); - eb1_configurable_gw config_gw_inst( - .rst_l(rst_l), - .gw_clk(gw_clk[i / 4]), - .rawclk(clk), - .clken(intenable_clk_enable_grp[i / 4]), - .extintsrc_req_sync(extintsrc_req_sync[i]), - .meigwctrl_polarity(gw_config_reg[i * 2]), - .meigwctrl_type(gw_config_reg[(i * 2) + 1]), - .meigwclr(gw_clear_reg_we[i]), - .extintsrc_req_config(extintsrc_req_gw[i]) - ); - end - else begin : INT_ZERO - assign intpriority_reg_we[i] = 1'b0; - assign intpriority_reg_re[i] = 1'b0; - assign intenable_reg_we[i] = 1'b0; - assign intenable_reg_re[i] = 1'b0; - assign gw_config_reg_we[i] = 1'b0; - assign gw_config_reg_re[i] = 1'b0; - assign gw_clear_reg_we[i] = 1'b0; - assign gw_config_reg[i * 2+:2] = {2 {1'sb0}}; - assign intpriority_reg[i * 4+:4] = {INTPRIORITY_BITS {1'b0}}; - assign intenable_reg[i] = 1'b0; - assign extintsrc_req_gw[i] = 1'b0; - assign extintsrc_req_sync[i] = 1'b0; - assign intenable_clk_enable[i] = 1'b0; - end - assign intpriority_reg_inv[i * 4+:4] = (intpriord ? ~intpriority_reg[i * 4+:4] : intpriority_reg[i * 4+:4]); - assign intpend_w_prior_en[i * 4+:4] = {INTPRIORITY_BITS {extintsrc_req_gw[i] & intenable_reg[i]}} & intpriority_reg_inv[i * 4+:4]; - assign intpend_id[i * 8+:8] = i; - end - endgenerate - assign pl_in[3:0] = selected_int_priority[3:0]; - genvar l; - genvar m; - genvar j; - genvar k; - generate - if (pt[135-:5] == 1) begin : genblock - wire [(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))))) + 1) * 4) + ((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) * 4) - 1) : (((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1)))) + 1) * 4) + ((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) * 4) - 1)):(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) * 4 : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) * 4)] level_intpend_w_prior_en; - wire [(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))))) + 1) * 8) + ((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) * 8) - 1) : (((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1)))) + 1) * 8) + ((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) * 8) - 1)):(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) * 8 : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) * 8)] level_intpend_id; - wire [((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))))) + 1) * 4) + (((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) * 4) - 1) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)))) + 1) * 4) + (((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) * 4) - 1)):((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) * 4 : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) * 4)] levelx_intpend_w_prior_en; - wire [((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))))) + 1) * 8) + (((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) * 8) - 1) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)))) + 1) * 8) + (((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) * 8) - 1)):((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) * 8 : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) * 8)] levelx_intpend_id; - assign level_intpend_w_prior_en[4 * (((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) - (((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2)) - 1) : ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - ((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) - (((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2)) - 1) : ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1)))))+:4 * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))] = {12'b000000000000, intpend_w_prior_en[4 * ((pt[44-:13] - 1) - (pt[44-:13] - 1))+:4 * pt[44-:13]]}; - assign level_intpend_id[8 * (((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) - (((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2)) - 1) : ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - ((((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) - (((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2)) - 1) : ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) : (((((NUM_LEVELS / 2) >= 0 ? 0 : NUM_LEVELS / 2) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1) : (pt[44-:13] + 2) - ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 2 : ((pt[44-:13] + 2) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1))) + ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) - 1)) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1)))))+:8 * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))] = {24'b000000000000000000000000, intpend_id[8 * ((pt[44-:13] - 1) - (pt[44-:13] - 1))+:8 * pt[44-:13]]}; - wire [((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) * 4) - 1 : ((1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2)))) * 4) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) * 4) - 1)):((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? 0 : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) * 4)] l2_intpend_w_prior_en_ff; - wire [((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) * 8) - 1 : ((1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2)))) * 8) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) * 8) - 1)):((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? 0 : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) * 8)] l2_intpend_id_ff; - assign levelx_intpend_w_prior_en[4 * ((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) - ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)) - 1) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - (((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) - ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)) - 1) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)))))+:4 * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))] = {{4 {1'b0}}, l2_intpend_w_prior_en_ff[4 * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2)))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1)) : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2)))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1)))+:4 * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))]}; - assign levelx_intpend_id[8 * ((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) - ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)) - 1) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - (((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) - ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)) - 1) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) : ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - ((NUM_LEVELS / 2) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) - 1)) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)))))+:8 * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))] = {{8 {1'b1}}, l2_intpend_id_ff[8 * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2)))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1)) : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1) - (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2)))) - 1) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? pt[44-:13] / (2 ** (NUM_LEVELS / 2)) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))) - 1)))+:8 * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1 : 1 - (pt[44-:13] / (2 ** (NUM_LEVELS / 2))))]}; - for (l = 0; l < (NUM_LEVELS / 2); l = l + 1) begin : TOP_LEVEL - for (m = 0; m <= (pt[44-:13] / (2 ** (l + 1))); m = m + 1) begin : COMPARE - if (m == (pt[44-:13] / (2 ** (l + 1)))) begin - assign level_intpend_w_prior_en[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m + 1 : (pt[44-:13] + 2) - (m + 1)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m + 1 : (pt[44-:13] + 2) - (m + 1))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 4+:4] = {4 {1'sb0}}; - assign level_intpend_id[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m + 1 : (pt[44-:13] + 2) - (m + 1)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m + 1 : (pt[44-:13] + 2) - (m + 1))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 8+:8] = {8 {1'sb0}}; - end - eb1_cmp_and_mux #( - .ID_BITS(ID_BITS), - .INTPRIORITY_BITS(INTPRIORITY_BITS) - ) cmp_l1( - .a_id(level_intpend_id[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? 2 * m : (pt[44-:13] + 2) - (2 * m)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? 2 * m : (pt[44-:13] + 2) - (2 * m))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 8+:8]), - .a_priority(level_intpend_w_prior_en[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? 2 * m : (pt[44-:13] + 2) - (2 * m)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? 2 * m : (pt[44-:13] + 2) - (2 * m))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 4+:4]), - .b_id(level_intpend_id[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 2) - ((2 * m) + 1)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 2) - ((2 * m) + 1))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 8+:8]), - .b_priority(level_intpend_w_prior_en[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 2) - ((2 * m) + 1)) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l : (NUM_LEVELS / 2) - l) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 2) - ((2 * m) + 1))) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 4+:4]), - .out_id(level_intpend_id[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m : (pt[44-:13] + 2) - m) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m : (pt[44-:13] + 2) - m)) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 8+:8]), - .out_priority(level_intpend_w_prior_en[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m : (pt[44-:13] + 2) - m) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? l + 1 : (NUM_LEVELS / 2) - (l + 1)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? m : (pt[44-:13] + 2) - m)) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 4+:4]) - ); - end - end - for (i = 0; i <= (pt[44-:13] / (2 ** (NUM_LEVELS / 2))); i = i + 1) begin : MIDDLE_FLOPS - rvdff #(.WIDTH(INTPRIORITY_BITS)) leveb1_intpend_prior_reg( - .rst_l(rst_l), - .din(level_intpend_w_prior_en[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - (NUM_LEVELS / 2)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? i : (pt[44-:13] + 2) - i) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - (NUM_LEVELS / 2)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? i : (pt[44-:13] + 2) - i)) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 4+:4]), - .dout(l2_intpend_w_prior_en_ff[((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? i : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) - i) * 4+:4]), - .clk(free_clk) - ); - rvdff #(.WIDTH(ID_BITS)) leveb1_intpend_id_reg( - .rst_l(rst_l), - .din(level_intpend_id[(((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))) >= ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) ? (((NUM_LEVELS / 2) >= 0 ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - (NUM_LEVELS / 2)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? i : (pt[44-:13] + 2) - i) : ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? 0 : pt[44-:13] + 2) : ((pt[44-:13] + 2) >= 0 ? (NUM_LEVELS / 2) * (pt[44-:13] + 3) : (pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2))))) - (((((NUM_LEVELS / 2) >= 0 ? NUM_LEVELS / 2 : (NUM_LEVELS / 2) - (NUM_LEVELS / 2)) * ((pt[44-:13] + 2) >= 0 ? pt[44-:13] + 3 : 1 - (pt[44-:13] + 2))) + ((pt[44-:13] + 2) >= 0 ? i : (pt[44-:13] + 2) - i)) - ((NUM_LEVELS / 2) >= 0 ? ((pt[44-:13] + 2) >= 0 ? (((NUM_LEVELS / 2) + 1) * (pt[44-:13] + 3)) - 1 : (((NUM_LEVELS / 2) + 1) * (1 - (pt[44-:13] + 2))) + (pt[44-:13] + 1)) : ((pt[44-:13] + 2) >= 0 ? ((1 - (NUM_LEVELS / 2)) * (pt[44-:13] + 3)) + (((NUM_LEVELS / 2) * (pt[44-:13] + 3)) - 1) : ((1 - (NUM_LEVELS / 2)) * (1 - (pt[44-:13] + 2))) + (((pt[44-:13] + 2) + ((NUM_LEVELS / 2) * (1 - (pt[44-:13] + 2)))) - 1))))) * 8+:8]), - .dout(l2_intpend_id_ff[((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) >= 0 ? i : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) - i) * 8+:8]), - .clk(free_clk) - ); - end - for (j = NUM_LEVELS / 2; j < NUM_LEVELS; j = j + 1) begin : BOT_LEVELS - for (k = 0; k <= (pt[44-:13] / (2 ** (j + 1))); k = k + 1) begin : COMPARE - if (k == (pt[44-:13] / (2 ** (j + 1)))) begin - assign levelx_intpend_w_prior_en[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (k + 1)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (k + 1))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 4+:4] = {4 {1'sb0}}; - assign levelx_intpend_id[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (k + 1)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (k + 1))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 8+:8] = {8 {1'sb0}}; - end - eb1_cmp_and_mux #( - .ID_BITS(ID_BITS), - .INTPRIORITY_BITS(INTPRIORITY_BITS) - ) cmp_l1( - .a_id(levelx_intpend_id[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 2 * k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (2 * k)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 2 * k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (2 * k))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 8+:8]), - .a_priority(levelx_intpend_w_prior_en[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 2 * k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (2 * k)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 2 * k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - (2 * k))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 4+:4]), - .b_id(levelx_intpend_id[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (2 * k) + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - ((2 * k) + 1)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (2 * k) + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - ((2 * k) + 1))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 8+:8]), - .b_priority(levelx_intpend_w_prior_en[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (2 * k) + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - ((2 * k) + 1)) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j : (NUM_LEVELS / 2) - (j - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (2 * k) + 1 : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - ((2 * k) + 1))) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 4+:4]), - .out_id(levelx_intpend_id[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - k) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - k)) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 8+:8]), - .out_priority(levelx_intpend_w_prior_en[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - k) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? j + 1 : (NUM_LEVELS / 2) - ((j + 1) - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? k : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) - k)) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 4+:4]) - ); - end - end - assign claimid_in[7:0] = levelx_intpend_id[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS : (NUM_LEVELS / 2) - (NUM_LEVELS - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 0 : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS : (NUM_LEVELS / 2) - (NUM_LEVELS - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 0 : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 8+:8]; - assign selected_int_priority[3:0] = levelx_intpend_w_prior_en[((NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))) >= (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) ? ((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS : (NUM_LEVELS / 2) - (NUM_LEVELS - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 0 : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) : (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2) : ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))))) - ((((NUM_LEVELS >= (NUM_LEVELS / 2) ? NUM_LEVELS : (NUM_LEVELS / 2) - (NUM_LEVELS - NUM_LEVELS)) * (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2 : 1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? 0 : (pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)) - (NUM_LEVELS >= (NUM_LEVELS / 2) ? (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + (((NUM_LEVELS / 2) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : (((NUM_LEVELS - (NUM_LEVELS / 2)) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + ((NUM_LEVELS / 2) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1)) : (((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) >= 0 ? ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) + ((NUM_LEVELS * ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 2)) - 1) : ((((NUM_LEVELS / 2) - NUM_LEVELS) + 1) * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1))) + ((((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1) + (NUM_LEVELS * (1 - ((pt[44-:13] / (2 ** (NUM_LEVELS / 2))) + 1)))) - 1))))) * 4+:4]; - end - else begin : genblock - wire [((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))))) + 1) * 4) + (((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) * 4) - 1) : ((((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1)))) + 1) * 4) + (((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) * 4) - 1)):((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) * 4 : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) * 4)] level_intpend_w_prior_en; - wire [((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))))) + 1) * 8) + (((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) * 8) - 1) : ((((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1)))) + 1) * 8) + (((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) * 8) - 1)):((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) * 8 : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) * 8)] level_intpend_id; - assign level_intpend_w_prior_en[4 * ((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) - (((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1)) - 1) : ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - (((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) - (((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1)) - 1) : ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1)))))+:4 * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))] = {{8 {1'b0}}, intpend_w_prior_en[4 * ((pt[44-:13] - 1) - (pt[44-:13] - 1))+:4 * pt[44-:13]]}; - assign level_intpend_id[8 * ((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) - (((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1)) - 1) : ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - (((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) - (((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1)) - 1) : ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) : ((((NUM_LEVELS >= 0 ? 0 : NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1) : (pt[44-:13] + 1) - ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 1 : ((pt[44-:13] + 1) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1))) + ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) - 1)) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1)))))+:8 * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))] = {{16 {1'b1}}, intpend_id[8 * ((pt[44-:13] - 1) - (pt[44-:13] - 1))+:8 * pt[44-:13]]}; - for (l = 0; l < NUM_LEVELS; l = l + 1) begin : LEVEL - for (m = 0; m <= (pt[44-:13] / (2 ** (l + 1))); m = m + 1) begin : COMPARE - if (m == (pt[44-:13] / (2 ** (l + 1)))) begin - assign level_intpend_w_prior_en[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m + 1 : (pt[44-:13] + 1) - (m + 1)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m + 1 : (pt[44-:13] + 1) - (m + 1))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 4+:4] = {4 {1'sb0}}; - assign level_intpend_id[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m + 1 : (pt[44-:13] + 1) - (m + 1)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m + 1 : (pt[44-:13] + 1) - (m + 1))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 8+:8] = {8 {1'sb0}}; - end - eb1_cmp_and_mux #( - .ID_BITS(ID_BITS), - .INTPRIORITY_BITS(INTPRIORITY_BITS) - ) cmp_l1( - .a_id(level_intpend_id[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 2 * m : (pt[44-:13] + 1) - (2 * m)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 2 * m : (pt[44-:13] + 1) - (2 * m))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 8+:8]), - .a_priority(level_intpend_w_prior_en[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 2 * m : (pt[44-:13] + 1) - (2 * m)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 2 * m : (pt[44-:13] + 1) - (2 * m))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 4+:4]), - .b_id(level_intpend_id[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 1) - ((2 * m) + 1)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 1) - ((2 * m) + 1))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 8+:8]), - .b_priority(level_intpend_w_prior_en[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 1) - ((2 * m) + 1)) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l : NUM_LEVELS - l) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? (2 * m) + 1 : (pt[44-:13] + 1) - ((2 * m) + 1))) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 4+:4]), - .out_id(level_intpend_id[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m : (pt[44-:13] + 1) - m) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m : (pt[44-:13] + 1) - m)) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 8+:8]), - .out_priority(level_intpend_w_prior_en[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m : (pt[44-:13] + 1) - m) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? l + 1 : NUM_LEVELS - (l + 1)) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? m : (pt[44-:13] + 1) - m)) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 4+:4]) - ); - end - end - assign claimid_in[7:0] = level_intpend_id[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? NUM_LEVELS : NUM_LEVELS - NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? NUM_LEVELS : NUM_LEVELS - NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1)) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 8+:8]; - assign selected_int_priority[3:0] = level_intpend_w_prior_en[((NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))) >= (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) ? ((NUM_LEVELS >= 0 ? NUM_LEVELS : NUM_LEVELS - NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1) : ((pt[44-:13] + 1) >= 0 ? NUM_LEVELS * (pt[44-:13] + 2) : (pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1))))) - ((((NUM_LEVELS >= 0 ? NUM_LEVELS : NUM_LEVELS - NUM_LEVELS) * ((pt[44-:13] + 1) >= 0 ? pt[44-:13] + 2 : 1 - (pt[44-:13] + 1))) + ((pt[44-:13] + 1) >= 0 ? 0 : pt[44-:13] + 1)) - (NUM_LEVELS >= 0 ? ((pt[44-:13] + 1) >= 0 ? ((NUM_LEVELS + 1) * (pt[44-:13] + 2)) - 1 : ((NUM_LEVELS + 1) * (1 - (pt[44-:13] + 1))) + pt[44-:13]) : ((pt[44-:13] + 1) >= 0 ? ((1 - NUM_LEVELS) * (pt[44-:13] + 2)) + ((NUM_LEVELS * (pt[44-:13] + 2)) - 1) : ((1 - NUM_LEVELS) * (1 - (pt[44-:13] + 1))) + (((pt[44-:13] + 1) + (NUM_LEVELS * (1 - (pt[44-:13] + 1)))) - 1))))) * 4+:4]; - end - endgenerate - assign config_reg_we = waddr_config_pic_match & picm_wren_ff; - assign config_reg_re = raddr_config_pic_match & picm_rden_ff; - assign config_reg_in = picm_wr_data_ff[0]; - rvdffs #(.WIDTH(1)) config_reg_ff( - .rst_l(rst_l), - .clk(free_clk), - .en(config_reg_we), - .din(config_reg_in), - .dout(config_reg) - ); - assign intpriord = config_reg; - assign pl_in_q[3:0] = (intpriord ? ~pl_in : pl_in); - rvdff #(.WIDTH(ID_BITS)) claimid_ff( - .rst_l(rst_l), - .din(claimid_in[7:0]), - .dout(claimid[7:0]), - .clk(free_clk) - ); - rvdff #(.WIDTH(INTPRIORITY_BITS)) pl_ff( - .rst_l(rst_l), - .din(pl_in_q[3:0]), - .dout(pl[3:0]), - .clk(free_clk) - ); - wire [3:0] meipt_inv; - wire [3:0] meicurpl_inv; - assign meipt_inv[3:0] = (intpriord ? ~meipt[3:0] : meipt[3:0]); - assign meicurpl_inv[3:0] = (intpriord ? ~meicurpl[3:0] : meicurpl[3:0]); - assign mexintpend_in = (selected_int_priority[3:0] > meipt_inv[3:0]) & (selected_int_priority[3:0] > meicurpl_inv[3:0]); - rvdff #(.WIDTH(1)) mexintpend_ff( - .rst_l(rst_l), - .clk(free_clk), - .din(mexintpend_in), - .dout(mexintpend) - ); - assign maxint[3:0] = (intpriord ? 0 : 15); - assign mhwakeup_in = pl_in_q[3:0] == maxint; - rvdff #(.WIDTH(1)) wake_up_ff( - .rst_l(rst_l), - .clk(free_clk), - .din(mhwakeup_in), - .dout(mhwakeup) - ); - assign intpend_reg_read = addr_intpend_base_match & picm_rden_ff; - assign intpriority_reg_read = raddr_intpriority_base_match & picm_rden_ff; - assign intenable_reg_read = raddr_intenable_base_match & picm_rden_ff; - assign gw_config_reg_read = raddr_config_gw_base_match & picm_rden_ff; - assign intpend_reg_extended[INTPEND_SIZE - 1:0] = {{INTPEND_SIZE - pt[44-:13] {1'b0}}, extintsrc_req_gw[pt[44-:13] - 1:0]}; - generate - for (i = 0; i < INT_GRPS; i = i + 1) assign intpend_rd_part_out[i * 32+:32] = {32 {intpend_reg_read & (picm_raddr_ff[5:2] == i)}} & intpend_reg_extended[(32 * i) + 31:32 * i]; - endgenerate - always @(*) begin : INTPEND_RD - intpend_rd_out = {32 {1'sb0}}; - begin : sv2v_autoblock_34 - reg signed [31:0] i; - for (i = 0; i < INT_GRPS; i = i + 1) - intpend_rd_out = intpend_rd_out | intpend_rd_part_out[i * 32+:32]; - end - end - always @(*) begin : INTEN_RD - intenable_rd_out = 1'b0; - intpriority_rd_out = {4 {1'sb0}}; - gw_config_rd_out = {2 {1'sb0}}; - begin : sv2v_autoblock_35 - reg signed [31:0] i; - for (i = 0; i < pt[44-:13]; i = i + 1) - begin - if (intenable_reg_re[i]) - intenable_rd_out = intenable_reg[i]; - if (intpriority_reg_re[i]) - intpriority_rd_out = intpriority_reg[i * 4+:4]; - if (gw_config_reg_re[i]) - gw_config_rd_out = gw_config_reg[i * 2+:2]; - end - end - end - assign picm_rd_data_in[31:0] = (((((((({32 {intpend_reg_read}} & intpend_rd_out) | ({32 {intpriority_reg_read}} & {{28 {1'b0}}, intpriority_rd_out})) | ({32 {intenable_reg_read}} & {31'b0000000000000000000000000000000, intenable_rd_out})) | ({32 {gw_config_reg_read}} & {30'b000000000000000000000000000000, gw_config_rd_out})) | ({32 {config_reg_re}} & {31'b0000000000000000000000000000000, config_reg})) | ({32 {picm_mken_ff & mask[3]}} & 32'b00000000000000000000000000000011)) | ({32 {picm_mken_ff & mask[2]}} & 32'b00000000000000000000000000000001)) | ({32 {picm_mken_ff & mask[1]}} & 32'b00000000000000000000000000001111)) | ({32 {picm_mken_ff & mask[0]}} & 32'b00000000000000000000000000000000); - assign picm_rd_data[31:0] = (picm_bypass_ff ? picm_wr_data_ff[31:0] : picm_rd_data_in[31:0]); - wire [14:0] address; - assign address[14:0] = picm_raddr_ff[14:0]; - always @(*) - case (address[14:0]) - 15'b011000000000000: mask[3:0] = 4'b0100; - 15'b100000000000100: mask[3:0] = 4'b1000; - 15'b100000000001000: mask[3:0] = 4'b1000; - 15'b100000000001100: mask[3:0] = 4'b1000; - 15'b100000000010000: mask[3:0] = 4'b1000; - 15'b100000000010100: mask[3:0] = 4'b1000; - 15'b100000000011000: mask[3:0] = 4'b1000; - 15'b100000000011100: mask[3:0] = 4'b1000; - 15'b100000000100000: mask[3:0] = 4'b1000; - 15'b100000000100100: mask[3:0] = 4'b1000; - 15'b100000000101000: mask[3:0] = 4'b1000; - 15'b100000000101100: mask[3:0] = 4'b1000; - 15'b100000000110000: mask[3:0] = 4'b1000; - 15'b100000000110100: mask[3:0] = 4'b1000; - 15'b100000000111000: mask[3:0] = 4'b1000; - 15'b100000000111100: mask[3:0] = 4'b1000; - 15'b100000001000000: mask[3:0] = 4'b1000; - 15'b100000001000100: mask[3:0] = 4'b1000; - 15'b100000001001000: mask[3:0] = 4'b1000; - 15'b100000001001100: mask[3:0] = 4'b1000; - 15'b100000001010000: mask[3:0] = 4'b1000; - 15'b100000001010100: mask[3:0] = 4'b1000; - 15'b100000001011000: mask[3:0] = 4'b1000; - 15'b100000001011100: mask[3:0] = 4'b1000; - 15'b100000001100000: mask[3:0] = 4'b1000; - 15'b100000001100100: mask[3:0] = 4'b1000; - 15'b100000001101000: mask[3:0] = 4'b1000; - 15'b100000001101100: mask[3:0] = 4'b1000; - 15'b100000001110000: mask[3:0] = 4'b1000; - 15'b100000001110100: mask[3:0] = 4'b1000; - 15'b100000001111000: mask[3:0] = 4'b1000; - 15'b100000001111100: mask[3:0] = 4'b1000; - 15'b010000000000100: mask[3:0] = 4'b0100; - 15'b010000000001000: mask[3:0] = 4'b0100; - 15'b010000000001100: mask[3:0] = 4'b0100; - 15'b010000000010000: mask[3:0] = 4'b0100; - 15'b010000000010100: mask[3:0] = 4'b0100; - 15'b010000000011000: mask[3:0] = 4'b0100; - 15'b010000000011100: mask[3:0] = 4'b0100; - 15'b010000000100000: mask[3:0] = 4'b0100; - 15'b010000000100100: mask[3:0] = 4'b0100; - 15'b010000000101000: mask[3:0] = 4'b0100; - 15'b010000000101100: mask[3:0] = 4'b0100; - 15'b010000000110000: mask[3:0] = 4'b0100; - 15'b010000000110100: mask[3:0] = 4'b0100; - 15'b010000000111000: mask[3:0] = 4'b0100; - 15'b010000000111100: mask[3:0] = 4'b0100; - 15'b010000001000000: mask[3:0] = 4'b0100; - 15'b010000001000100: mask[3:0] = 4'b0100; - 15'b010000001001000: mask[3:0] = 4'b0100; - 15'b010000001001100: mask[3:0] = 4'b0100; - 15'b010000001010000: mask[3:0] = 4'b0100; - 15'b010000001010100: mask[3:0] = 4'b0100; - 15'b010000001011000: mask[3:0] = 4'b0100; - 15'b010000001011100: mask[3:0] = 4'b0100; - 15'b010000001100000: mask[3:0] = 4'b0100; - 15'b010000001100100: mask[3:0] = 4'b0100; - 15'b010000001101000: mask[3:0] = 4'b0100; - 15'b010000001101100: mask[3:0] = 4'b0100; - 15'b010000001110000: mask[3:0] = 4'b0100; - 15'b010000001110100: mask[3:0] = 4'b0100; - 15'b010000001111000: mask[3:0] = 4'b0100; - 15'b010000001111100: mask[3:0] = 4'b0100; - 15'b000000000000100: mask[3:0] = 4'b0010; - 15'b000000000001000: mask[3:0] = 4'b0010; - 15'b000000000001100: mask[3:0] = 4'b0010; - 15'b000000000010000: mask[3:0] = 4'b0010; - 15'b000000000010100: mask[3:0] = 4'b0010; - 15'b000000000011000: mask[3:0] = 4'b0010; - 15'b000000000011100: mask[3:0] = 4'b0010; - 15'b000000000100000: mask[3:0] = 4'b0010; - 15'b000000000100100: mask[3:0] = 4'b0010; - 15'b000000000101000: mask[3:0] = 4'b0010; - 15'b000000000101100: mask[3:0] = 4'b0010; - 15'b000000000110000: mask[3:0] = 4'b0010; - 15'b000000000110100: mask[3:0] = 4'b0010; - 15'b000000000111000: mask[3:0] = 4'b0010; - 15'b000000000111100: mask[3:0] = 4'b0010; - 15'b000000001000000: mask[3:0] = 4'b0010; - 15'b000000001000100: mask[3:0] = 4'b0010; - 15'b000000001001000: mask[3:0] = 4'b0010; - 15'b000000001001100: mask[3:0] = 4'b0010; - 15'b000000001010000: mask[3:0] = 4'b0010; - 15'b000000001010100: mask[3:0] = 4'b0010; - 15'b000000001011000: mask[3:0] = 4'b0010; - 15'b000000001011100: mask[3:0] = 4'b0010; - 15'b000000001100000: mask[3:0] = 4'b0010; - 15'b000000001100100: mask[3:0] = 4'b0010; - 15'b000000001101000: mask[3:0] = 4'b0010; - 15'b000000001101100: mask[3:0] = 4'b0010; - 15'b000000001110000: mask[3:0] = 4'b0010; - 15'b000000001110100: mask[3:0] = 4'b0010; - 15'b000000001111000: mask[3:0] = 4'b0010; - 15'b000000001111100: mask[3:0] = 4'b0010; - default: mask[3:0] = 4'b0001; - endcase -endmodule -module eb1_cmp_and_mux ( - a_id, - a_priority, - b_id, - b_priority, - out_id, - out_priority -); - parameter ID_BITS = 8; - parameter INTPRIORITY_BITS = 4; - input wire [ID_BITS - 1:0] a_id; - input wire [INTPRIORITY_BITS - 1:0] a_priority; - input wire [ID_BITS - 1:0] b_id; - input wire [INTPRIORITY_BITS - 1:0] b_priority; - output wire [ID_BITS - 1:0] out_id; - output wire [INTPRIORITY_BITS - 1:0] out_priority; - wire a_is_lt_b; - assign a_is_lt_b = a_priority[INTPRIORITY_BITS - 1:0] < b_priority[INTPRIORITY_BITS - 1:0]; - assign out_id[ID_BITS - 1:0] = (a_is_lt_b ? b_id[ID_BITS - 1:0] : a_id[ID_BITS - 1:0]); - assign out_priority[INTPRIORITY_BITS - 1:0] = (a_is_lt_b ? b_priority[INTPRIORITY_BITS - 1:0] : a_priority[INTPRIORITY_BITS - 1:0]); -endmodule -module eb1_configurable_gw ( - gw_clk, - rawclk, - clken, - rst_l, - extintsrc_req_sync, - meigwctrl_polarity, - meigwctrl_type, - meigwclr, - extintsrc_req_config -); - input wire gw_clk; - input wire rawclk; - input wire clken; - input wire rst_l; - input wire extintsrc_req_sync; - input wire meigwctrl_polarity; - input wire meigwctrl_type; - input wire meigwclr; - output wire extintsrc_req_config; - wire gw_int_pending_in; - wire gw_int_pending; - assign gw_int_pending_in = (extintsrc_req_sync ^ meigwctrl_polarity) | (gw_int_pending & ~meigwclr); - rvdff_fpga #(.WIDTH(1)) int_pend_ff( - .rst_l(rst_l), - .clk(gw_clk), - .rawclk(rawclk), - .clken(clken), - .din(gw_int_pending_in), - .dout(gw_int_pending) - ); - assign extintsrc_req_config = (meigwctrl_type ? (extintsrc_req_sync ^ meigwctrl_polarity) | gw_int_pending : extintsrc_req_sync ^ meigwctrl_polarity); -endmodule -module ahb_to_axi4 ( - clk, - rst_l, - scan_mode, - bus_clk_en, - clk_override, - axi_awvalid, - axi_awready, - axi_awid, - axi_awaddr, - axi_awsize, - axi_awprot, - axi_awlen, - axi_awburst, - axi_wvalid, - axi_wready, - axi_wdata, - axi_wstrb, - axi_wlast, - axi_bvalid, - axi_bready, - axi_bresp, - axi_bid, - axi_arvalid, - axi_arready, - axi_arid, - axi_araddr, - axi_arsize, - axi_arprot, - axi_arlen, - axi_arburst, - axi_rvalid, - axi_rready, - axi_rid, - axi_rdata, - axi_rresp, - ahb_haddr, - ahb_hburst, - ahb_hmastlock, - ahb_hprot, - ahb_hsize, - ahb_htrans, - ahb_hwrite, - ahb_hwdata, - ahb_hsel, - ahb_hreadyin, - ahb_hrdata, - ahb_hreadyout, - ahb_hresp -); - parameter TAG = 1; - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input clk; - input rst_l; - input scan_mode; - input bus_clk_en; - input clk_override; - output wire axi_awvalid; - input wire axi_awready; - output wire [TAG - 1:0] axi_awid; - output wire [31:0] axi_awaddr; - output wire [2:0] axi_awsize; - output wire [2:0] axi_awprot; - output wire [7:0] axi_awlen; - output wire [1:0] axi_awburst; - output wire axi_wvalid; - input wire axi_wready; - output wire [63:0] axi_wdata; - output wire [7:0] axi_wstrb; - output wire axi_wlast; - input wire axi_bvalid; - output wire axi_bready; - input wire [1:0] axi_bresp; - input wire [TAG - 1:0] axi_bid; - output wire axi_arvalid; - input wire axi_arready; - output wire [TAG - 1:0] axi_arid; - output wire [31:0] axi_araddr; - output wire [2:0] axi_arsize; - output wire [2:0] axi_arprot; - output wire [7:0] axi_arlen; - output wire [1:0] axi_arburst; - input wire axi_rvalid; - output wire axi_rready; - input wire [TAG - 1:0] axi_rid; - input wire [63:0] axi_rdata; - input wire [1:0] axi_rresp; - input wire [31:0] ahb_haddr; - input wire [2:0] ahb_hburst; - input wire ahb_hmastlock; - input wire [3:0] ahb_hprot; - input wire [2:0] ahb_hsize; - input wire [1:0] ahb_htrans; - input wire ahb_hwrite; - input wire [63:0] ahb_hwdata; - input wire ahb_hsel; - input wire ahb_hreadyin; - output wire [63:0] ahb_hrdata; - output wire ahb_hreadyout; - output wire ahb_hresp; - wire [7:0] master_wstrb; - wire [1:0] buf_state; - reg [1:0] buf_nxtstate; - reg buf_state_en; - reg buf_read_error_in; - wire buf_read_error; - wire [63:0] buf_rdata; - wire ahb_hready; - wire ahb_hready_q; - wire [1:0] ahb_htrans_in; - wire [1:0] ahb_htrans_q; - wire [2:0] ahb_hsize_q; - wire ahb_hwrite_q; - wire [31:0] ahb_haddr_q; - wire [63:0] ahb_hwdata_q; - wire ahb_hresp_q; - wire ahb_addr_in_dccm; - wire ahb_addr_in_iccm; - wire ahb_addr_in_pic; - wire ahb_addr_in_dccm_region_nc; - wire ahb_addr_in_iccm_region_nc; - wire ahb_addr_in_pic_region_nc; - reg buf_rdata_en; - wire ahb_addr_clk_en; - wire buf_rdata_clk_en; - wire bus_clk; - wire ahb_addr_clk; - wire buf_rdata_clk; - reg cmdbuf_wr_en; - wire cmdbuf_rst; - wire cmdbuf_full; - wire cmdbuf_vld; - wire cmdbuf_write; - wire [1:0] cmdbuf_size; - wire [7:0] cmdbuf_wstrb; - wire [31:0] cmdbuf_addr; - wire [63:0] cmdbuf_wdata; - localparam [1:0] IDLE = 2'b00; - localparam [1:0] PEND = 2'b11; - localparam [1:0] RD = 2'b10; - localparam [1:0] WR = 2'b01; - always @(*) begin - buf_nxtstate = IDLE; - buf_state_en = 1'b0; - buf_rdata_en = 1'b0; - buf_read_error_in = 1'b0; - cmdbuf_wr_en = 1'b0; - case (buf_state) - IDLE: begin - buf_nxtstate = (ahb_hwrite ? WR : RD); - buf_state_en = (ahb_hready & ahb_htrans[1]) & ahb_hsel; - end - WR: begin - buf_nxtstate = ((ahb_hresp | (ahb_htrans[1:0] == 2'b00)) | ~ahb_hsel ? IDLE : (ahb_hwrite ? WR : RD)); - buf_state_en = ~cmdbuf_full | ahb_hresp; - cmdbuf_wr_en = ~cmdbuf_full & ~(ahb_hresp | ((ahb_htrans[1:0] == 2'b01) & ahb_hsel)); - end - RD: begin - buf_nxtstate = (ahb_hresp ? IDLE : PEND); - buf_state_en = ~cmdbuf_full | ahb_hresp; - cmdbuf_wr_en = ~ahb_hresp & ~cmdbuf_full; - end - PEND: begin - buf_nxtstate = IDLE; - buf_state_en = axi_rvalid & ~cmdbuf_write; - buf_rdata_en = buf_state_en; - buf_read_error_in = buf_state_en & |axi_rresp[1:0]; - end - endcase - end - rvdffs_fpga #(.WIDTH(2)) state_reg( - .rst_l(rst_l), - .din(buf_nxtstate), - .dout({buf_state}), - .en(buf_state_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk) - ); - assign master_wstrb[7:0] = ((({8 {ahb_hsize_q[2:0] == 3'b000}} & (8'b00000001 << ahb_haddr_q[2:0])) | ({8 {ahb_hsize_q[2:0] == 3'b001}} & (8'b00000011 << ahb_haddr_q[2:0]))) | ({8 {ahb_hsize_q[2:0] == 3'b010}} & (8'b00001111 << ahb_haddr_q[2:0]))) | ({8 {ahb_hsize_q[2:0] == 3'b011}} & 8'b11111111); - assign ahb_hreadyout = (ahb_hresp ? ahb_hresp_q & ~ahb_hready_q : ((~cmdbuf_full | (buf_state == IDLE)) & ~((buf_state == RD) | (buf_state == PEND))) & ~buf_read_error); - assign ahb_hready = ahb_hreadyout & ahb_hreadyin; - assign ahb_htrans_in[1:0] = {2 {ahb_hsel}} & ahb_htrans[1:0]; - assign ahb_hrdata[63:0] = buf_rdata[63:0]; - assign ahb_hresp = ((((ahb_htrans_q[1:0] != 2'b00) & (buf_state != IDLE)) & ((((~(ahb_addr_in_dccm | ahb_addr_in_iccm) | ((ahb_addr_in_iccm | (ahb_addr_in_dccm & ahb_hwrite_q)) & ~((ahb_hsize_q[1:0] == 2'b10) | (ahb_hsize_q[1:0] == 2'b11)))) | ((ahb_hsize_q[2:0] == 3'h1) & ahb_haddr_q[0])) | ((ahb_hsize_q[2:0] == 3'h2) & |ahb_haddr_q[1:0])) | ((ahb_hsize_q[2:0] == 3'h3) & |ahb_haddr_q[2:0]))) | buf_read_error) | (ahb_hresp_q & ~ahb_hready_q); - rvdff_fpga #(.WIDTH(64)) buf_rdata_ff( - .din(axi_rdata[63:0]), - .dout(buf_rdata[63:0]), - .clk(buf_rdata_clk), - .clken(buf_rdata_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) buf_read_error_ff( - .din(buf_read_error_in), - .dout(buf_read_error), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) hresp_ff( - .din(ahb_hresp), - .dout(ahb_hresp_q), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) hready_ff( - .din(ahb_hready), - .dout(ahb_hready_q), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(2)) htrans_ff( - .din(ahb_htrans_in[1:0]), - .dout(ahb_htrans_q[1:0]), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(3)) hsize_ff( - .din(ahb_hsize[2:0]), - .dout(ahb_hsize_q[2:0]), - .clk(ahb_addr_clk), - .clken(ahb_addr_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) hwrite_ff( - .din(ahb_hwrite), - .dout(ahb_hwrite_q), - .clk(ahb_addr_clk), - .clken(ahb_addr_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(32)) haddr_ff( - .din(ahb_haddr[31:0]), - .dout(ahb_haddr_q[31:0]), - .clk(ahb_addr_clk), - .clken(ahb_addr_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvrangecheck #( - .CCM_SADR(pt[1325-:36]), - .CCM_SIZE(pt[1289-:14]) - ) addr_dccm_rangecheck( - .addr(ahb_haddr_q[31:0]), - .in_range(ahb_addr_in_dccm), - .in_region(ahb_addr_in_dccm_region_nc) - ); - generate - if (pt[927-:5] == 1) begin : GenICCM - rvrangecheck #( - .CCM_SADR(pt[887-:36]), - .CCM_SIZE(pt[851-:14]) - ) addr_iccm_rangecheck( - .addr(ahb_haddr_q[31:0]), - .in_range(ahb_addr_in_iccm), - .in_region(ahb_addr_in_iccm_region_nc) - ); - end - else begin : GenNoICCM - assign ahb_addr_in_iccm = 1'b0; - assign ahb_addr_in_iccm_region_nc = 1'b0; - end - endgenerate - rvrangecheck #( - .CCM_SADR(pt[130-:36]), - .CCM_SIZE(pt[69-:13]) - ) addr_pic_rangecheck( - .addr(ahb_haddr_q[31:0]), - .in_range(ahb_addr_in_pic), - .in_region(ahb_addr_in_pic_region_nc) - ); - assign cmdbuf_rst = (((axi_awvalid & axi_awready) | (axi_arvalid & axi_arready)) & ~cmdbuf_wr_en) | (ahb_hresp & ~cmdbuf_write); - assign cmdbuf_full = cmdbuf_vld & ~((axi_awvalid & axi_awready) | (axi_arvalid & axi_arready)); - rvdffsc_fpga #(.WIDTH(1)) cmdbuf_vldff( - .din(1'b1), - .dout(cmdbuf_vld), - .en(cmdbuf_wr_en), - .clear(cmdbuf_rst), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) cmdbuf_writeff( - .din(ahb_hwrite_q), - .dout(cmdbuf_write), - .en(cmdbuf_wr_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(2)) cmdbuf_sizeff( - .din(ahb_hsize_q[1:0]), - .dout(cmdbuf_size[1:0]), - .en(cmdbuf_wr_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(8)) cmdbuf_wstrbff( - .din(master_wstrb[7:0]), - .dout(cmdbuf_wstrb[7:0]), - .en(cmdbuf_wr_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) cmdbuf_addrff( - .din(ahb_haddr_q[31:0]), - .dout(cmdbuf_addr[31:0]), - .en(cmdbuf_wr_en & bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffe #(.WIDTH(64)) cmdbuf_wdataff( - .din(ahb_hwdata[63:0]), - .dout(cmdbuf_wdata[63:0]), - .en(cmdbuf_wr_en & bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - assign axi_awvalid = cmdbuf_vld & cmdbuf_write; - assign axi_awid[TAG - 1:0] = {TAG {1'sb0}}; - assign axi_awaddr[31:0] = cmdbuf_addr[31:0]; - assign axi_awsize[2:0] = {1'b0, cmdbuf_size[1:0]}; - assign axi_awprot[2:0] = 3'b000; - assign axi_awlen[7:0] = {8 {1'sb0}}; - assign axi_awburst[1:0] = 2'b01; - assign axi_wvalid = cmdbuf_vld & cmdbuf_write; - assign axi_wdata[63:0] = cmdbuf_wdata[63:0]; - assign axi_wstrb[7:0] = cmdbuf_wstrb[7:0]; - assign axi_wlast = 1'b1; - assign axi_bready = 1'b1; - assign axi_arvalid = cmdbuf_vld & ~cmdbuf_write; - assign axi_arid[TAG - 1:0] = {TAG {1'sb0}}; - assign axi_araddr[31:0] = cmdbuf_addr[31:0]; - assign axi_arsize[2:0] = {1'b0, cmdbuf_size[1:0]}; - assign axi_arprot = 3'b000; - assign axi_arlen[7:0] = {8 {1'sb0}}; - assign axi_arburst[1:0] = 2'b01; - assign axi_rready = 1'b1; - assign ahb_addr_clk_en = bus_clk_en & (ahb_hready & ahb_htrans[1]); - assign buf_rdata_clk_en = bus_clk_en & buf_rdata_en; - rvclkhdr bus_cgc( - .en(bus_clk_en), - .l1clk(bus_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr ahb_addr_cgc( - .en(ahb_addr_clk_en), - .l1clk(ahb_addr_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr buf_rdata_cgc( - .en(buf_rdata_clk_en), - .l1clk(buf_rdata_clk), - .clk(clk), - .scan_mode(scan_mode) - ); -endmodule -module dmi_jtag_to_core_sync ( - rd_en, - wr_en, - rst_n, - clk, - reg_en, - reg_wr_en -); - input rd_en; - input wr_en; - input rst_n; - input clk; - output reg_en; - output reg_wr_en; - wire c_rd_en; - wire c_wr_en; - reg [2:0] rden; - reg [2:0] wren; - assign reg_en = c_wr_en | c_rd_en; - assign reg_wr_en = c_wr_en; - always @(posedge clk or negedge rst_n) - if (!rst_n) begin - rden <= {3 {1'sb0}}; - wren <= {3 {1'sb0}}; - end - else begin - rden <= {rden[1:0], rd_en}; - wren <= {wren[1:0], wr_en}; - end - assign c_rd_en = rden[1] & ~rden[2]; - assign c_wr_en = wren[1] & ~wren[2]; -endmodule -module axi4_to_ahb ( - clk, - free_clk, - rst_l, - scan_mode, - bus_clk_en, - clk_override, - dec_tlu_force_halt, - axi_awvalid, - axi_awready, - axi_awid, - axi_awaddr, - axi_awsize, - axi_awprot, - axi_wvalid, - axi_wready, - axi_wdata, - axi_wstrb, - axi_wlast, - axi_bvalid, - axi_bready, - axi_bresp, - axi_bid, - axi_arvalid, - axi_arready, - axi_arid, - axi_araddr, - axi_arsize, - axi_arprot, - axi_rvalid, - axi_rready, - axi_rid, - axi_rdata, - axi_rresp, - axi_rlast, - ahb_haddr, - ahb_hburst, - ahb_hmastlock, - ahb_hprot, - ahb_hsize, - ahb_htrans, - ahb_hwrite, - ahb_hwdata, - ahb_hrdata, - ahb_hready, - ahb_hresp -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - parameter TAG = 1; - input clk; - input free_clk; - input rst_l; - input scan_mode; - input bus_clk_en; - input clk_override; - input dec_tlu_force_halt; - input wire axi_awvalid; - output wire axi_awready; - input wire [TAG - 1:0] axi_awid; - input wire [31:0] axi_awaddr; - input wire [2:0] axi_awsize; - input wire [2:0] axi_awprot; - input wire axi_wvalid; - output wire axi_wready; - input wire [63:0] axi_wdata; - input wire [7:0] axi_wstrb; - input wire axi_wlast; - output wire axi_bvalid; - input wire axi_bready; - output wire [1:0] axi_bresp; - output wire [TAG - 1:0] axi_bid; - input wire axi_arvalid; - output wire axi_arready; - input wire [TAG - 1:0] axi_arid; - input wire [31:0] axi_araddr; - input wire [2:0] axi_arsize; - input wire [2:0] axi_arprot; - output wire axi_rvalid; - input wire axi_rready; - output wire [TAG - 1:0] axi_rid; - output wire [63:0] axi_rdata; - output wire [1:0] axi_rresp; - output wire axi_rlast; - output wire [31:0] ahb_haddr; - output wire [2:0] ahb_hburst; - output wire ahb_hmastlock; - output wire [3:0] ahb_hprot; - output wire [2:0] ahb_hsize; - output reg [1:0] ahb_htrans; - output wire ahb_hwrite; - output wire [63:0] ahb_hwdata; - input wire [63:0] ahb_hrdata; - input wire ahb_hready; - input wire ahb_hresp; - localparam ID = 1; - localparam PRTY = 1; - wire [2:0] buf_state; - reg [2:0] buf_nxtstate; - wire slave_valid; - wire slave_ready; - wire [TAG - 1:0] slave_tag; - wire [63:0] slave_rdata; - wire [3:0] slave_opc; - wire wrbuf_en; - wire wrbuf_data_en; - wire wrbuf_cmd_sent; - wire wrbuf_rst; - wire wrbuf_vld; - wire wrbuf_data_vld; - wire [TAG - 1:0] wrbuf_tag; - wire [2:0] wrbuf_size; - wire [31:0] wrbuf_addr; - wire [63:0] wrbuf_data; - wire [7:0] wrbuf_byteen; - wire master_valid; - reg master_ready; - wire [TAG - 1:0] master_tag; - wire [31:0] master_addr; - wire [63:0] master_wdata; - wire [2:0] master_size; - wire [2:0] master_opc; - wire [7:0] master_byteen; - wire [31:0] buf_addr; - wire [1:0] buf_size; - wire buf_write; - wire [7:0] buf_byteen; - wire buf_aligned; - wire [63:0] buf_data; - wire [TAG - 1:0] buf_tag; - wire buf_rst; - wire [TAG - 1:0] buf_tag_in; - wire [31:0] buf_addr_in; - wire [7:0] buf_byteen_in; - wire [63:0] buf_data_in; - reg buf_write_in; - wire buf_aligned_in; - wire [2:0] buf_size_in; - reg buf_state_en; - reg buf_wr_en; - reg buf_data_wr_en; - reg slvbuf_error_en; - wire wr_cmd_vld; - wire cmd_done_rst; - reg cmd_done; - wire cmd_doneQ; - reg trxn_done; - reg [2:0] buf_cmd_byte_ptr; - wire [2:0] buf_cmd_byte_ptrQ; - wire [2:0] buf_cmd_nxtbyte_ptr; - reg buf_cmd_byte_ptr_en; - wire found; - reg slave_valid_pre; - wire ahb_hready_q; - wire ahb_hresp_q; - wire [1:0] ahb_htrans_q; - wire ahb_hwrite_q; - wire [63:0] ahb_hrdata_q; - wire slvbuf_write; - wire slvbuf_error; - wire [TAG - 1:0] slvbuf_tag; - reg slvbuf_error_in; - reg slvbuf_wr_en; - reg bypass_en; - reg rd_bypass_idle; - wire last_addr_en; - wire [31:0] last_bus_addr; - wire buf_clken; - wire ahbm_data_clken; - wire buf_clk; - wire bus_clk; - wire ahbm_data_clk; - wire dec_tlu_force_halt_bus; - wire dec_tlu_force_halt_bus_ns; - wire dec_tlu_force_halt_bus_q; - function automatic [1:0] get_write_size; - input reg [7:0] byteen; - reg [1:0] size; - begin - size[1:0] = ((2'b11 & {2 {byteen[7:0] == 8'hff}}) | (2'b10 & {2 {(byteen[7:0] == 8'hf0) | (byteen[7:0] == 8'h0f)}})) | (2'b01 & {2 {(((byteen[7:0] == 8'hc0) | (byteen[7:0] == 8'h30)) | (byteen[7:0] == 8'h0c)) | (byteen[7:0] == 8'h03)}}); - get_write_size = size[1:0]; - end - endfunction - function automatic [2:0] get_write_addr; - input reg [7:0] byteen; - reg [2:0] addr; - begin - addr[2:0] = (((3'h0 & {3 {((byteen[7:0] == 8'hff) | (byteen[7:0] == 8'h0f)) | (byteen[7:0] == 8'h03)}}) | (3'h2 & {3 {byteen[7:0] == 8'h0c}})) | (3'h4 & {3 {(byteen[7:0] == 8'hf0) | (byteen[7:0] == 8'h03)}})) | (3'h6 & {3 {byteen[7:0] == 8'hc0}}); - get_write_addr = addr[2:0]; - end - endfunction - function automatic signed [2:0] sv2v_cast_3_signed; - input reg signed [2:0] inp; - sv2v_cast_3_signed = inp; - endfunction - function automatic [2:0] get_nxtbyte_ptr; - input reg [2:0] current_byte_ptr; - input reg [7:0] byteen; - input reg get_next; - reg [2:0] start_ptr; - reg found; - begin - found = 1'b0; - start_ptr[2:0] = (get_next ? current_byte_ptr[2:0] + 3'b001 : current_byte_ptr[2:0]); - begin : sv2v_autoblock_36 - reg signed [31:0] j; - for (j = 0; j < 8; j = j + 1) - if (~found) begin - get_nxtbyte_ptr[2:0] = sv2v_cast_3_signed(j); - found = found | (byteen[j] & (sv2v_cast_3_signed(j) >= start_ptr[2:0])); - end - end - end - endfunction - assign dec_tlu_force_halt_bus = dec_tlu_force_halt | dec_tlu_force_halt_bus_q; - assign dec_tlu_force_halt_bus_ns = ~bus_clk_en & dec_tlu_force_halt_bus; - rvdff #(.WIDTH(1)) force_halt_busff( - .din(dec_tlu_force_halt_bus_ns), - .dout(dec_tlu_force_halt_bus_q), - .clk(free_clk), - .rst_l(rst_l) - ); - assign wrbuf_en = (axi_awvalid & axi_awready) & master_ready; - assign wrbuf_data_en = (axi_wvalid & axi_wready) & master_ready; - assign wrbuf_cmd_sent = (master_valid & master_ready) & (master_opc[2:1] == 2'b01); - assign wrbuf_rst = (wrbuf_cmd_sent & ~wrbuf_en) | dec_tlu_force_halt_bus; - assign axi_awready = ~(wrbuf_vld & ~wrbuf_cmd_sent) & master_ready; - assign axi_wready = ~(wrbuf_data_vld & ~wrbuf_cmd_sent) & master_ready; - assign axi_arready = ~(wrbuf_vld & wrbuf_data_vld) & master_ready; - assign axi_rlast = 1'b1; - assign wr_cmd_vld = wrbuf_vld & wrbuf_data_vld; - assign master_valid = wr_cmd_vld | axi_arvalid; - assign master_tag[TAG - 1:0] = (wr_cmd_vld ? wrbuf_tag[TAG - 1:0] : axi_arid[TAG - 1:0]); - assign master_opc[2:0] = (wr_cmd_vld ? 3'b011 : 3'b000); - assign master_addr[31:0] = (wr_cmd_vld ? wrbuf_addr[31:0] : axi_araddr[31:0]); - assign master_size[2:0] = (wr_cmd_vld ? wrbuf_size[2:0] : axi_arsize[2:0]); - assign master_byteen[7:0] = wrbuf_byteen[7:0]; - assign master_wdata[63:0] = wrbuf_data[63:0]; - assign axi_bvalid = (slave_valid & slave_ready) & slave_opc[3]; - assign axi_bresp[1:0] = (slave_opc[0] ? 2'b10 : (slave_opc[1] ? 2'b11 : 2'b00)); - assign axi_bid[TAG - 1:0] = slave_tag[TAG - 1:0]; - assign axi_rvalid = (slave_valid & slave_ready) & (slave_opc[3:2] == 2'b00); - assign axi_rresp[1:0] = (slave_opc[0] ? 2'b10 : (slave_opc[1] ? 2'b11 : 2'b00)); - assign axi_rid[TAG - 1:0] = slave_tag[TAG - 1:0]; - assign axi_rdata[63:0] = slave_rdata[63:0]; - assign slave_ready = axi_bready & axi_rready; - localparam [2:0] CMD_RD = 3'b001; - localparam [2:0] CMD_WR = 3'b010; - localparam [2:0] DATA_RD = 3'b011; - localparam [2:0] DATA_WR = 3'b100; - localparam [2:0] DONE = 3'b101; - localparam [2:0] IDLE = 3'b000; - localparam [2:0] STREAM_ERR_RD = 3'b111; - localparam [2:0] STREAM_RD = 3'b110; - always @(*) begin - buf_nxtstate = IDLE; - buf_state_en = 1'b0; - buf_wr_en = 1'b0; - buf_data_wr_en = 1'b0; - slvbuf_error_in = 1'b0; - slvbuf_error_en = 1'b0; - buf_write_in = 1'b0; - cmd_done = 1'b0; - trxn_done = 1'b0; - buf_cmd_byte_ptr_en = 1'b0; - buf_cmd_byte_ptr[2:0] = {3 {1'sb0}}; - slave_valid_pre = 1'b0; - master_ready = 1'b0; - ahb_htrans[1:0] = 2'b00; - slvbuf_wr_en = 1'b0; - bypass_en = 1'b0; - rd_bypass_idle = 1'b0; - case (buf_state) - IDLE: begin - master_ready = 1'b1; - buf_write_in = master_opc[2:1] == 2'b01; - buf_nxtstate = (buf_write_in ? CMD_WR : CMD_RD); - buf_state_en = master_valid & master_ready; - buf_wr_en = buf_state_en; - buf_data_wr_en = buf_state_en & (buf_nxtstate == CMD_WR); - buf_cmd_byte_ptr_en = buf_state_en; - buf_cmd_byte_ptr[2:0] = (buf_write_in ? get_nxtbyte_ptr(3'b000, buf_byteen_in[7:0], 1'b0) : master_addr[2:0]); - bypass_en = buf_state_en; - rd_bypass_idle = bypass_en & (buf_nxtstate == CMD_RD); - ahb_htrans[1:0] = {2 {bypass_en}} & 2'b10; - end - CMD_RD: begin - buf_nxtstate = (master_valid & (master_opc[2:0] == 3'b000) ? STREAM_RD : DATA_RD); - buf_state_en = (ahb_hready_q & (ahb_htrans_q[1:0] != 2'b00)) & ~ahb_hwrite_q; - cmd_done = buf_state_en & ~master_valid; - slvbuf_wr_en = buf_state_en; - master_ready = buf_state_en & (buf_nxtstate == STREAM_RD); - buf_wr_en = master_ready; - bypass_en = master_ready & master_valid; - buf_cmd_byte_ptr[2:0] = (bypass_en ? master_addr[2:0] : buf_addr[2:0]); - ahb_htrans[1:0] = 2'b10 & {2 {~buf_state_en | bypass_en}}; - end - STREAM_RD: begin - master_ready = (ahb_hready_q & ~ahb_hresp_q) & ~(master_valid & (master_opc[2:1] == 2'b01)); - buf_wr_en = (master_valid & master_ready) & (master_opc[2:0] == 3'b000); - buf_nxtstate = (ahb_hresp_q ? STREAM_ERR_RD : (buf_wr_en ? STREAM_RD : DATA_RD)); - buf_state_en = ahb_hready_q | ahb_hresp_q; - buf_data_wr_en = buf_state_en; - slvbuf_error_in = ahb_hresp_q; - slvbuf_error_en = buf_state_en; - slave_valid_pre = buf_state_en & ~ahb_hresp_q; - cmd_done = buf_state_en & ~master_valid; - bypass_en = ((master_ready & master_valid) & (buf_nxtstate == STREAM_RD)) & buf_state_en; - buf_cmd_byte_ptr[2:0] = (bypass_en ? master_addr[2:0] : buf_addr[2:0]); - ahb_htrans[1:0] = 2'b10 & {2 {~((buf_nxtstate != STREAM_RD) & buf_state_en)}}; - slvbuf_wr_en = buf_wr_en; - end - STREAM_ERR_RD: begin - buf_nxtstate = DATA_RD; - buf_state_en = (ahb_hready_q & (ahb_htrans_q[1:0] != 2'b00)) & ~ahb_hwrite_q; - slave_valid_pre = buf_state_en; - slvbuf_wr_en = buf_state_en; - buf_cmd_byte_ptr[2:0] = buf_addr[2:0]; - ahb_htrans[1:0] = 2'b10 & {2 {~buf_state_en}}; - end - DATA_RD: begin - buf_nxtstate = DONE; - buf_state_en = ahb_hready_q | ahb_hresp_q; - buf_data_wr_en = buf_state_en; - slvbuf_error_in = ahb_hresp_q; - slvbuf_error_en = buf_state_en; - slvbuf_wr_en = buf_state_en; - end - CMD_WR: begin - buf_nxtstate = DATA_WR; - trxn_done = (ahb_hready_q & ahb_hwrite_q) & (ahb_htrans_q[1:0] != 2'b00); - buf_state_en = trxn_done; - buf_cmd_byte_ptr_en = buf_state_en; - slvbuf_wr_en = buf_state_en; - buf_cmd_byte_ptr = (trxn_done ? get_nxtbyte_ptr(buf_cmd_byte_ptrQ[2:0], buf_byteen[7:0], 1'b1) : buf_cmd_byte_ptrQ); - cmd_done = trxn_done & ((buf_aligned | (buf_cmd_byte_ptrQ == 3'b111)) | (buf_byteen[get_nxtbyte_ptr(buf_cmd_byte_ptrQ[2:0], buf_byteen[7:0], 1'b1)] == 1'b0)); - ahb_htrans[1:0] = {2 {~(cmd_done | cmd_doneQ)}} & 2'b10; - end - DATA_WR: begin - buf_state_en = (cmd_doneQ & ahb_hready_q) | ahb_hresp_q; - master_ready = (buf_state_en & ~ahb_hresp_q) & slave_ready; - buf_nxtstate = (ahb_hresp_q | ~slave_ready ? DONE : (master_valid & master_ready ? (master_opc[2:1] == 2'b01 ? CMD_WR : CMD_RD) : IDLE)); - slvbuf_error_in = ahb_hresp_q; - slvbuf_error_en = buf_state_en; - buf_write_in = master_opc[2:1] == 2'b01; - buf_wr_en = buf_state_en & ((buf_nxtstate == CMD_WR) | (buf_nxtstate == CMD_RD)); - buf_data_wr_en = buf_wr_en; - cmd_done = ahb_hresp_q | ((ahb_hready_q & (ahb_htrans_q[1:0] != 2'b00)) & ((buf_cmd_byte_ptrQ == 3'b111) | (buf_byteen[get_nxtbyte_ptr(buf_cmd_byte_ptrQ[2:0], buf_byteen[7:0], 1'b1)] == 1'b0))); - bypass_en = (buf_state_en & buf_write_in) & (buf_nxtstate == CMD_WR); - ahb_htrans[1:0] = {2 {~(cmd_done | cmd_doneQ) | bypass_en}} & 2'b10; - slave_valid_pre = buf_state_en & (buf_nxtstate != DONE); - trxn_done = (ahb_hready_q & ahb_hwrite_q) & (ahb_htrans_q[1:0] != 2'b00); - buf_cmd_byte_ptr_en = trxn_done | bypass_en; - buf_cmd_byte_ptr = (bypass_en ? get_nxtbyte_ptr(3'b000, buf_byteen_in[7:0], 1'b0) : (trxn_done ? get_nxtbyte_ptr(buf_cmd_byte_ptrQ[2:0], buf_byteen[7:0], 1'b1) : buf_cmd_byte_ptrQ)); - end - DONE: begin - buf_nxtstate = IDLE; - buf_state_en = slave_ready; - slvbuf_error_en = 1'b1; - slave_valid_pre = 1'b1; - end - endcase - end - assign buf_rst = dec_tlu_force_halt_bus; - assign cmd_done_rst = slave_valid_pre; - assign buf_addr_in[31:3] = master_addr[31:3]; - assign buf_addr_in[2:0] = (buf_aligned_in & (master_opc[2:1] == 2'b01) ? get_write_addr(master_byteen[7:0]) : master_addr[2:0]); - assign buf_tag_in[TAG - 1:0] = master_tag[TAG - 1:0]; - assign buf_byteen_in[7:0] = wrbuf_byteen[7:0]; - assign buf_data_in[63:0] = (buf_state == DATA_RD ? ahb_hrdata_q[63:0] : master_wdata[63:0]); - assign buf_size_in[1:0] = ((buf_aligned_in & (master_size[1:0] == 2'b11)) & (master_opc[2:1] == 2'b01) ? get_write_size(master_byteen[7:0]) : master_size[1:0]); - assign buf_aligned_in = ((((master_opc[2:0] == 3'b000) | (master_size[1:0] == 2'b00)) | (master_size[1:0] == 2'b01)) | (master_size[1:0] == 2'b10)) | ((master_size[1:0] == 2'b11) & (((((((master_byteen[7:0] == 8'h03) | (master_byteen[7:0] == 8'h0c)) | (master_byteen[7:0] == 8'h30)) | (master_byteen[7:0] == 8'hc0)) | (master_byteen[7:0] == 8'h0f)) | (master_byteen[7:0] == 8'hf0)) | (master_byteen[7:0] == 8'hff))); - assign ahb_haddr[31:3] = (bypass_en ? master_addr[31:3] : buf_addr[31:3]); - assign ahb_haddr[2:0] = {3 {ahb_htrans == 2'b10}} & buf_cmd_byte_ptr[2:0]; - assign ahb_hsize[2:0] = (bypass_en ? {1'b0, {2 {buf_aligned_in}} & buf_size_in[1:0]} : {1'b0, {2 {buf_aligned}} & buf_size[1:0]}); - assign ahb_hburst[2:0] = 3'b000; - assign ahb_hmastlock = 1'b0; - assign ahb_hprot[3:0] = {3'b001, ~axi_arprot[2]}; - assign ahb_hwrite = (bypass_en ? master_opc[2:1] == 2'b01 : buf_write); - assign ahb_hwdata[63:0] = buf_data[63:0]; - assign slave_valid = slave_valid_pre; - assign slave_opc[3:2] = (slvbuf_write ? 2'b11 : 2'b00); - assign slave_opc[1:0] = {2 {slvbuf_error}} & 2'b10; - assign slave_rdata[63:0] = (slvbuf_error ? {2 {last_bus_addr[31:0]}} : (buf_state == DONE ? buf_data[63:0] : ahb_hrdata_q[63:0])); - assign slave_tag[TAG - 1:0] = slvbuf_tag[TAG - 1:0]; - assign last_addr_en = ((ahb_htrans[1:0] != 2'b00) & ahb_hready) & ahb_hwrite; - rvdffsc_fpga #(.WIDTH(1)) wrbuf_vldff( - .din(1'b1), - .dout(wrbuf_vld), - .en(wrbuf_en), - .clear(wrbuf_rst), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffsc_fpga #(.WIDTH(1)) wrbuf_data_vldff( - .din(1'b1), - .dout(wrbuf_data_vld), - .en(wrbuf_data_en), - .clear(wrbuf_rst), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(TAG)) wrbuf_tagff( - .din(axi_awid[TAG - 1:0]), - .dout(wrbuf_tag[TAG - 1:0]), - .en(wrbuf_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(3)) wrbuf_sizeff( - .din(axi_awsize[2:0]), - .dout(wrbuf_size[2:0]), - .en(wrbuf_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) wrbuf_addrff( - .din(axi_awaddr[31:0]), - .dout(wrbuf_addr[31:0]), - .en(wrbuf_en & bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffe #(.WIDTH(64)) wrbuf_dataff( - .din(axi_wdata[63:0]), - .dout(wrbuf_data[63:0]), - .en(wrbuf_data_en & bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs_fpga #(.WIDTH(8)) wrbuf_byteenff( - .din(axi_wstrb[7:0]), - .dout(wrbuf_byteen[7:0]), - .en(wrbuf_data_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(32)) last_bus_addrff( - .din(ahb_haddr[31:0]), - .dout(last_bus_addr[31:0]), - .en(last_addr_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffsc_fpga #(.WIDTH(3)) buf_state_ff( - .din(buf_nxtstate), - .dout({buf_state}), - .en(buf_state_en), - .clear(buf_rst), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) buf_writeff( - .din(buf_write_in), - .dout(buf_write), - .en(buf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(TAG)) buf_tagff( - .din(buf_tag_in[TAG - 1:0]), - .dout(buf_tag[TAG - 1:0]), - .en(buf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) buf_addrff( - .din(buf_addr_in[31:0]), - .dout(buf_addr[31:0]), - .en(buf_wr_en & bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs_fpga #(.WIDTH(2)) buf_sizeff( - .din(buf_size_in[1:0]), - .dout(buf_size[1:0]), - .en(buf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) buf_alignedff( - .din(buf_aligned_in), - .dout(buf_aligned), - .en(buf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(8)) buf_byteenff( - .din(buf_byteen_in[7:0]), - .dout(buf_byteen[7:0]), - .en(buf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(64)) buf_dataff( - .din(buf_data_in[63:0]), - .dout(buf_data[63:0]), - .en(buf_data_wr_en & bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs_fpga #(.WIDTH(1)) slvbuf_writeff( - .din(buf_write), - .dout(slvbuf_write), - .en(slvbuf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(TAG)) slvbuf_tagff( - .din(buf_tag[TAG - 1:0]), - .dout(slvbuf_tag[TAG - 1:0]), - .en(slvbuf_wr_en), - .clk(buf_clk), - .clken(buf_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) slvbuf_errorff( - .din(slvbuf_error_in), - .dout(slvbuf_error), - .en(slvbuf_error_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffsc_fpga #(.WIDTH(1)) buf_cmd_doneff( - .din(1'b1), - .dout(cmd_doneQ), - .en(cmd_done), - .clear(cmd_done_rst), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(3)) buf_cmd_byte_ptrff( - .din(buf_cmd_byte_ptr[2:0]), - .dout(buf_cmd_byte_ptrQ[2:0]), - .en(buf_cmd_byte_ptr_en), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) hready_ff( - .din(ahb_hready), - .dout(ahb_hready_q), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(2)) htrans_ff( - .din(ahb_htrans[1:0]), - .dout(ahb_htrans_q[1:0]), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) hwrite_ff( - .din(ahb_hwrite), - .dout(ahb_hwrite_q), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) hresp_ff( - .din(ahb_hresp), - .dout(ahb_hresp_q), - .clk(bus_clk), - .clken(bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(64)) hrdata_ff( - .din(ahb_hrdata[63:0]), - .dout(ahb_hrdata_q[63:0]), - .clk(ahbm_data_clk), - .clken(ahbm_data_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - assign buf_clken = bus_clk_en & ((buf_wr_en | slvbuf_wr_en) | clk_override); - assign ahbm_data_clken = bus_clk_en & ((buf_state != IDLE) | clk_override); - rvclkhdr bus_cgc( - .en(bus_clk_en), - .l1clk(bus_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr buf_cgc( - .en(buf_clken), - .l1clk(buf_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr ahbm_data_cgc( - .en(ahbm_data_clken), - .l1clk(ahbm_data_clk), - .clk(clk), - .scan_mode(scan_mode) - ); -endmodule -module eb1_dbg ( - dbg_cmd_addr, - dbg_cmd_wrdata, - dbg_cmd_valid, - dbg_cmd_write, - dbg_cmd_type, - dbg_cmd_size, - dbg_core_rst_l, - core_dbg_rddata, - core_dbg_cmd_done, - core_dbg_cmd_fail, - dbg_dma_bubble, - dma_dbg_ready, - dbg_halt_req, - dbg_resume_req, - dec_tlu_debug_mode, - dec_tlu_dbg_halted, - dec_tlu_mpc_halted_only, - dec_tlu_resume_ack, - dmi_reg_en, - dmi_reg_addr, - dmi_reg_wr_en, - dmi_reg_wdata, - dmi_reg_rdata, - sb_axi_awvalid, - sb_axi_awready, - sb_axi_awid, - sb_axi_awaddr, - sb_axi_awregion, - sb_axi_awlen, - sb_axi_awsize, - sb_axi_awburst, - sb_axi_awlock, - sb_axi_awcache, - sb_axi_awprot, - sb_axi_awqos, - sb_axi_wvalid, - sb_axi_wready, - sb_axi_wdata, - sb_axi_wstrb, - sb_axi_wlast, - sb_axi_bvalid, - sb_axi_bready, - sb_axi_bresp, - sb_axi_arvalid, - sb_axi_arready, - sb_axi_arid, - sb_axi_araddr, - sb_axi_arregion, - sb_axi_arlen, - sb_axi_arsize, - sb_axi_arburst, - sb_axi_arlock, - sb_axi_arcache, - sb_axi_arprot, - sb_axi_arqos, - sb_axi_rvalid, - sb_axi_rready, - sb_axi_rdata, - sb_axi_rresp, - dbg_bus_clk_en, - clk, - rst_l, - dbg_rst_l, - clk_override, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - output wire [31:0] dbg_cmd_addr; - output wire [31:0] dbg_cmd_wrdata; - output wire dbg_cmd_valid; - output wire dbg_cmd_write; - output wire [1:0] dbg_cmd_type; - output wire [1:0] dbg_cmd_size; - output wire dbg_core_rst_l; - input wire [31:0] core_dbg_rddata; - input wire core_dbg_cmd_done; - input wire core_dbg_cmd_fail; - output wire dbg_dma_bubble; - input wire dma_dbg_ready; - output reg dbg_halt_req; - output reg dbg_resume_req; - input wire dec_tlu_debug_mode; - input wire dec_tlu_dbg_halted; - input wire dec_tlu_mpc_halted_only; - input wire dec_tlu_resume_ack; - input wire dmi_reg_en; - input wire [6:0] dmi_reg_addr; - input wire dmi_reg_wr_en; - input wire [31:0] dmi_reg_wdata; - output wire [31:0] dmi_reg_rdata; - output wire sb_axi_awvalid; - input wire sb_axi_awready; - output wire [pt[12-:8] - 1:0] sb_axi_awid; - output wire [31:0] sb_axi_awaddr; - output wire [3:0] sb_axi_awregion; - output wire [7:0] sb_axi_awlen; - output wire [2:0] sb_axi_awsize; - output wire [1:0] sb_axi_awburst; - output wire sb_axi_awlock; - output wire [3:0] sb_axi_awcache; - output wire [2:0] sb_axi_awprot; - output wire [3:0] sb_axi_awqos; - output wire sb_axi_wvalid; - input wire sb_axi_wready; - output wire [63:0] sb_axi_wdata; - output wire [7:0] sb_axi_wstrb; - output wire sb_axi_wlast; - input wire sb_axi_bvalid; - output wire sb_axi_bready; - input wire [1:0] sb_axi_bresp; - output wire sb_axi_arvalid; - input wire sb_axi_arready; - output wire [pt[12-:8] - 1:0] sb_axi_arid; - output wire [31:0] sb_axi_araddr; - output wire [3:0] sb_axi_arregion; - output wire [7:0] sb_axi_arlen; - output wire [2:0] sb_axi_arsize; - output wire [1:0] sb_axi_arburst; - output wire sb_axi_arlock; - output wire [3:0] sb_axi_arcache; - output wire [2:0] sb_axi_arprot; - output wire [3:0] sb_axi_arqos; - input wire sb_axi_rvalid; - output wire sb_axi_rready; - input wire [63:0] sb_axi_rdata; - input wire [1:0] sb_axi_rresp; - input wire dbg_bus_clk_en; - input wire clk; - input wire rst_l; - input wire dbg_rst_l; - input wire clk_override; - input wire scan_mode; - wire [3:0] dbg_state; - reg [3:0] dbg_nxtstate; - reg dbg_state_en; - wire [31:0] dmstatus_reg; - wire [31:0] dmcontrol_reg; - wire [31:0] command_reg; - wire [31:0] abstractcs_reg; - wire [31:0] haltsum0_reg; - wire [31:0] data0_reg; - wire [31:0] data1_reg; - wire [31:0] data0_din; - wire data0_reg_wren; - wire data0_reg_wren0; - wire data0_reg_wren1; - reg data0_reg_wren2; - wire [31:0] data1_din; - wire data1_reg_wren; - wire data1_reg_wren0; - wire data1_reg_wren1; - reg abstractcs_busy_wren; - reg abstractcs_busy_din; - wire [2:0] abstractcs_error_din; - wire abstractcs_error_sel0; - wire abstractcs_error_sel1; - wire abstractcs_error_seb1; - wire abstractcs_error_sel3; - wire abstractcs_error_sel4; - wire abstractcs_error_sel5; - wire abstractcs_error_sel6; - reg dbg_sb_bus_error; - wire abstractauto_reg_wren; - wire [1:0] abstractauto_reg; - wire dmstatus_resumeack_wren; - wire dmstatus_resumeack_din; - wire dmstatus_haveresetn_wren; - wire dmstatus_resumeack; - wire dmstatus_unavail; - wire dmstatus_running; - wire dmstatus_halted; - wire dmstatus_havereset; - wire dmstatus_haveresetn; - wire resumereq; - wire dmcontrol_wren; - wire dmcontrol_wren_Q; - wire execute_command_ns; - wire execute_command; - wire command_wren; - wire command_regno_wren; - wire command_transfer_din; - wire command_postexec_din; - wire [31:0] command_din; - wire [3:0] dbg_cmd_addr_incr; - wire [31:0] dbg_cmd_curr_addr; - wire [31:0] dbg_cmd_next_addr; - wire [31:0] dmi_reg_rdata_din; - wire [3:0] sb_state; - reg [3:0] sb_nxtstate; - reg sb_state_en; - wire sbcs_wren; - reg sbcs_sbbusy_wren; - reg sbcs_sbbusy_din; - wire sbcs_sbbusyerror_wren; - wire sbcs_sbbusyerror_din; - reg sbcs_sberror_wren; - reg [2:0] sbcs_sberror_din; - wire sbcs_unaligned; - wire sbcs_illegal_size; - wire [19:15] sbcs_reg_int; - wire sbdata0_reg_wren0; - wire sbdata0_reg_wren1; - wire sbdata0_reg_wren; - wire [31:0] sbdata0_din; - wire sbdata1_reg_wren0; - wire sbdata1_reg_wren1; - wire sbdata1_reg_wren; - wire [31:0] sbdata1_din; - wire sbaddress0_reg_wren0; - reg sbaddress0_reg_wren1; - wire sbaddress0_reg_wren; - wire [31:0] sbaddress0_reg_din; - wire [3:0] sbaddress0_incr; - wire sbreadonaddr_access; - wire sbreadondata_access; - wire sbdata0wr_access; - reg sb_abmem_cmd_done_in; - reg sb_abmem_data_done_in; - reg sb_abmem_cmd_done_en; - reg sb_abmem_data_done_en; - wire sb_abmem_cmd_done; - wire sb_abmem_data_done; - wire [31:0] abmem_addr; - wire abmem_addr_in_dccm_region; - wire abmem_addr_in_iccm_region; - wire abmem_addr_in_pic_region; - wire abmem_addr_core_local; - wire abmem_addr_external; - wire sb_cmd_pending; - wire sb_abmem_cmd_pending; - wire sb_abmem_cmd_write; - wire [2:0] sb_abmem_cmd_size; - wire [31:0] sb_abmem_cmd_addr; - wire [31:0] sb_abmem_cmd_wdata; - wire [2:0] sb_cmd_size; - wire [31:0] sb_cmd_addr; - wire [63:0] sb_cmd_wdata; - wire sb_bus_cmd_read; - wire sb_bus_cmd_write_addr; - wire sb_bus_cmd_write_data; - wire sb_bus_rsp_read; - wire sb_bus_rsp_write; - wire sb_bus_rsp_error; - wire [63:0] sb_bus_rdata; - wire [31:0] sbcs_reg; - wire [31:0] sbaddress0_reg; - wire [31:0] sbdata0_reg; - wire [31:0] sbdata1_reg; - wire sb_abmem_cmd_arvalid; - wire sb_abmem_cmd_awvalid; - wire sb_abmem_cmd_wvalid; - wire sb_abmem_read_pend; - wire sb_cmd_awvalid; - wire sb_cmd_wvalid; - wire sb_cmd_arvalid; - wire sb_read_pend; - wire [31:0] sb_axi_addr; - wire [63:0] sb_axi_wrdata; - wire [2:0] sb_axi_size; - wire dbg_dm_rst_l; - wire dbg_free_clken; - wire dbg_free_clk; - wire sb_free_clken; - wire sb_free_clk; - localparam [3:0] IDLE = 4'h0; - assign dbg_free_clken = (((((((dmi_reg_en | execute_command) | (dbg_state != IDLE)) | dbg_state_en) | dec_tlu_dbg_halted) | dec_tlu_mpc_halted_only) | dec_tlu_debug_mode) | dbg_halt_req) | clk_override; - localparam [3:0] SBIDLE = 4'h0; - assign sb_free_clken = (((dmi_reg_en | execute_command) | sb_state_en) | (sb_state != SBIDLE)) | clk_override; - rvoclkhdr dbg_free_cgc( - .en(dbg_free_clken), - .l1clk(dbg_free_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr sb_free_cgc( - .en(sb_free_clken), - .l1clk(sb_free_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - assign dbg_dm_rst_l = dbg_rst_l & (dmcontrol_reg[0] | scan_mode); - assign dbg_core_rst_l = ~dmcontrol_reg[1] | scan_mode; - assign sbcs_reg[31:29] = 3'b001; - assign sbcs_reg[28:23] = {6 {1'sb0}}; - assign sbcs_reg[19:15] = {sbcs_reg_int[19], ~sbcs_reg_int[18], sbcs_reg_int[17:15]}; - assign sbcs_reg[11:5] = 7'h20; - assign sbcs_reg[4:0] = 5'b01111; - assign sbcs_wren = (((dmi_reg_addr == 7'h38) & dmi_reg_en) & dmi_reg_wr_en) & (sb_state == SBIDLE); - assign sbcs_sbbusyerror_wren = (sbcs_wren & dmi_reg_wdata[22]) | ((sbcs_reg[21] & dmi_reg_en) & (((dmi_reg_wr_en & (dmi_reg_addr == 7'h39)) | (dmi_reg_addr == 7'h3c)) | (dmi_reg_addr == 7'h3d))); - assign sbcs_sbbusyerror_din = ~(sbcs_wren & dmi_reg_wdata[22]); - rvdffs #(.WIDTH(1)) sbcs_sbbusyerror_reg( - .din(sbcs_sbbusyerror_din), - .dout(sbcs_reg[22]), - .en(sbcs_sbbusyerror_wren), - .rst_l(dbg_dm_rst_l), - .clk(sb_free_clk) - ); - rvdffs #(.WIDTH(1)) sbcs_sbbusy_reg( - .din(sbcs_sbbusy_din), - .dout(sbcs_reg[21]), - .en(sbcs_sbbusy_wren), - .rst_l(dbg_dm_rst_l), - .clk(sb_free_clk) - ); - rvdffs #(.WIDTH(1)) sbcs_sbreadonaddr_reg( - .din(dmi_reg_wdata[20]), - .dout(sbcs_reg[20]), - .en(sbcs_wren), - .rst_l(dbg_dm_rst_l), - .clk(sb_free_clk) - ); - rvdffs #(.WIDTH(5)) sbcs_misc_reg( - .din({dmi_reg_wdata[19], ~dmi_reg_wdata[18], dmi_reg_wdata[17:15]}), - .dout(sbcs_reg_int[19:15]), - .en(sbcs_wren), - .rst_l(dbg_dm_rst_l), - .clk(sb_free_clk) - ); - rvdffs #(.WIDTH(3)) sbcs_error_reg( - .din(sbcs_sberror_din[2:0]), - .dout(sbcs_reg[14:12]), - .en(sbcs_sberror_wren), - .rst_l(dbg_dm_rst_l), - .clk(sb_free_clk) - ); - assign sbcs_unaligned = (((sbcs_reg[19:17] == 3'b001) & sbaddress0_reg[0]) | ((sbcs_reg[19:17] == 3'b010) & |sbaddress0_reg[1:0])) | ((sbcs_reg[19:17] == 3'b011) & |sbaddress0_reg[2:0]); - assign sbcs_illegal_size = sbcs_reg[19]; - assign sbaddress0_incr[3:0] = ((({4 {sbcs_reg[19:17] == 3'h0}} & 4'b0001) | ({4 {sbcs_reg[19:17] == 3'h1}} & 4'b0010)) | ({4 {sbcs_reg[19:17] == 3'h2}} & 4'b0100)) | ({4 {sbcs_reg[19:17] == 3'h3}} & 4'b1000); - assign sbdata0_reg_wren0 = (dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h3c); - localparam [3:0] RSP_RD = 4'h7; - assign sbdata0_reg_wren1 = ((sb_state == RSP_RD) & sb_state_en) & ~sbcs_sberror_wren; - assign sbdata0_reg_wren = sbdata0_reg_wren0 | sbdata0_reg_wren1; - assign sbdata1_reg_wren0 = (dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h3d); - assign sbdata1_reg_wren1 = ((sb_state == RSP_RD) & sb_state_en) & ~sbcs_sberror_wren; - assign sbdata1_reg_wren = sbdata1_reg_wren0 | sbdata1_reg_wren1; - assign sbdata0_din[31:0] = ({32 {sbdata0_reg_wren0}} & dmi_reg_wdata[31:0]) | ({32 {sbdata0_reg_wren1}} & sb_bus_rdata[31:0]); - assign sbdata1_din[31:0] = ({32 {sbdata1_reg_wren0}} & dmi_reg_wdata[31:0]) | ({32 {sbdata1_reg_wren1}} & sb_bus_rdata[63:32]); - rvdffe #(.WIDTH(32)) dbg_sbdata0_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(sbdata0_din[31:0]), - .dout(sbdata0_reg[31:0]), - .en(sbdata0_reg_wren), - .rst_l(dbg_dm_rst_l) - ); - rvdffe #(.WIDTH(32)) dbg_sbdata1_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(sbdata1_din[31:0]), - .dout(sbdata1_reg[31:0]), - .en(sbdata1_reg_wren), - .rst_l(dbg_dm_rst_l) - ); - assign sbaddress0_reg_wren0 = (dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h39); - assign sbaddress0_reg_wren = sbaddress0_reg_wren0 | sbaddress0_reg_wren1; - assign sbaddress0_reg_din[31:0] = ({32 {sbaddress0_reg_wren0}} & dmi_reg_wdata[31:0]) | ({32 {sbaddress0_reg_wren1}} & (sbaddress0_reg[31:0] + {28'b0000000000000000000000000000, sbaddress0_incr[3:0]})); - rvdffe #(.WIDTH(32)) dbg_sbaddress0_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(sbaddress0_reg_din[31:0]), - .dout(sbaddress0_reg[31:0]), - .en(sbaddress0_reg_wren), - .rst_l(dbg_dm_rst_l) - ); - assign sbreadonaddr_access = ((dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h39)) & sbcs_reg[20]; - assign sbreadondata_access = ((dmi_reg_en & ~dmi_reg_wr_en) & (dmi_reg_addr == 7'h3c)) & sbcs_reg[15]; - assign sbdata0wr_access = (dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h3c); - assign dmcontrol_wren = ((dmi_reg_addr == 7'h10) & dmi_reg_en) & dmi_reg_wr_en; - assign dmcontrol_reg[29] = 1'b0; - assign dmcontrol_reg[27:2] = {26 {1'sb0}}; - assign resumereq = (dmcontrol_reg[30] & ~dmcontrol_reg[31]) & dmcontrol_wren_Q; - rvdffs #(.WIDTH(4)) dmcontrolff( - .din({dmi_reg_wdata[31:30], dmi_reg_wdata[28], dmi_reg_wdata[1]}), - .dout({dmcontrol_reg[31:30], dmcontrol_reg[28], dmcontrol_reg[1]}), - .en(dmcontrol_wren), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - rvdffs #(.WIDTH(1)) dmcontrol_dmactive_ff( - .din(dmi_reg_wdata[0]), - .dout(dmcontrol_reg[0]), - .en(dmcontrol_wren), - .rst_l(dbg_rst_l), - .clk(dbg_free_clk) - ); - rvdff #(.WIDTH(1)) dmcontrol_wrenff( - .din(dmcontrol_wren), - .dout(dmcontrol_wren_Q), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - assign dmstatus_reg[31:20] = {12 {1'sb0}}; - assign dmstatus_reg[19:18] = {2 {dmstatus_havereset}}; - assign dmstatus_reg[15:14] = {2 {1'sb0}}; - assign dmstatus_reg[7] = 1'b1; - assign dmstatus_reg[6:4] = {3 {1'sb0}}; - assign dmstatus_reg[17:16] = {2 {dmstatus_resumeack}}; - assign dmstatus_reg[13:12] = {2 {dmstatus_unavail}}; - assign dmstatus_reg[11:10] = {2 {dmstatus_running}}; - assign dmstatus_reg[9:8] = {2 {dmstatus_halted}}; - assign dmstatus_reg[3:0] = 4'h2; - localparam [3:0] RESUMING = 4'h9; - assign dmstatus_resumeack_wren = ((dbg_state == RESUMING) & dec_tlu_resume_ack) | ((dmstatus_resumeack & resumereq) & dmstatus_halted); - assign dmstatus_resumeack_din = (dbg_state == RESUMING) & dec_tlu_resume_ack; - assign dmstatus_haveresetn_wren = ((((dmi_reg_addr == 7'h10) & dmi_reg_wdata[28]) & dmi_reg_en) & dmi_reg_wr_en) & dmcontrol_reg[0]; - assign dmstatus_havereset = ~dmstatus_haveresetn; - assign dmstatus_unavail = dmcontrol_reg[1] | ~rst_l; - assign dmstatus_running = ~(dmstatus_unavail | dmstatus_halted); - rvdffs #(.WIDTH(1)) dmstatus_resumeack_reg( - .din(dmstatus_resumeack_din), - .dout(dmstatus_resumeack), - .en(dmstatus_resumeack_wren), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - rvdff #(.WIDTH(1)) dmstatus_halted_reg( - .din(dec_tlu_dbg_halted & ~dec_tlu_mpc_halted_only), - .dout(dmstatus_halted), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - rvdffs #(.WIDTH(1)) dmstatus_haveresetn_reg( - .din(1'b1), - .dout(dmstatus_haveresetn), - .en(dmstatus_haveresetn_wren), - .rst_l(rst_l), - .clk(dbg_free_clk) - ); - assign haltsum0_reg[31:1] = {31 {1'sb0}}; - assign haltsum0_reg[0] = dmstatus_halted; - assign abstractcs_reg[31:13] = {19 {1'sb0}}; - assign abstractcs_reg[11] = 1'b0; - assign abstractcs_reg[7:4] = {4 {1'sb0}}; - assign abstractcs_reg[3:0] = 4'h2; - assign abstractcs_error_sel0 = ((abstractcs_reg[12] & ~(|abstractcs_reg[10:8])) & dmi_reg_en) & ((((dmi_reg_wr_en & ((dmi_reg_addr == 7'h16) | (dmi_reg_addr == 7'h17))) | (dmi_reg_addr == 7'h18)) | (dmi_reg_addr == 7'h04)) | (dmi_reg_addr == 7'h05)); - assign abstractcs_error_sel1 = (execute_command & ~(|abstractcs_reg[10:8])) & (((~((command_reg[31:24] == 8'b00000000) | (command_reg[31:24] == 8'h02)) | (((command_reg[22:20] == 3'b011) | command_reg[22]) & (command_reg[31:24] == 8'h02))) | ((command_reg[22:20] != 3'b010) & ((command_reg[31:24] == 8'h00) & command_reg[17]))) | ((command_reg[31:24] == 8'h00) & command_reg[18])); - assign abstractcs_error_seb1 = ((core_dbg_cmd_done & core_dbg_cmd_fail) | ((execute_command & (command_reg[31:24] == 8'h00)) & (((command_reg[15:12] == 4'h1) & (command_reg[11:5] != 0)) | (command_reg[15:13] != 0)))) & ~(|abstractcs_reg[10:8]); - localparam [3:0] HALTED = 4'h2; - assign abstractcs_error_sel3 = (execute_command & (dbg_state != HALTED)) & ~(|abstractcs_reg[10:8]); - assign abstractcs_error_sel4 = (dbg_sb_bus_error & dbg_bus_clk_en) & ~(|abstractcs_reg[10:8]); - assign abstractcs_error_sel5 = ((execute_command & (command_reg[31:24] == 8'h02)) & ~(|abstractcs_reg[10:8])) & (((command_reg[22:20] == 3'b001) & data1_reg[0]) | ((command_reg[22:20] == 3'b010) & |data1_reg[1:0])); - assign abstractcs_error_sel6 = ((dmi_reg_addr == 7'h16) & dmi_reg_en) & dmi_reg_wr_en; - assign abstractcs_error_din[2:0] = (abstractcs_error_sel0 ? 3'b001 : (abstractcs_error_sel1 ? 3'b010 : (abstractcs_error_seb1 ? 3'b011 : (abstractcs_error_sel3 ? 3'b100 : (abstractcs_error_sel4 ? 3'b101 : (abstractcs_error_sel5 ? 3'b111 : (abstractcs_error_sel6 ? ~dmi_reg_wdata[10:8] & abstractcs_reg[10:8] : abstractcs_reg[10:8]))))))); - rvdffs #(.WIDTH(1)) dmabstractcs_busy_reg( - .din(abstractcs_busy_din), - .dout(abstractcs_reg[12]), - .en(abstractcs_busy_wren), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - rvdff #(.WIDTH(3)) dmabstractcs_error_reg( - .din(abstractcs_error_din[2:0]), - .dout(abstractcs_reg[10:8]), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - assign abstractauto_reg_wren = ((dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h18)) & ~abstractcs_reg[12]; - rvdffs #(.WIDTH(2)) dbg_abstractauto_reg( - .din(dmi_reg_wdata[1:0]), - .dout(abstractauto_reg[1:0]), - .en(abstractauto_reg_wren), - .rst_l(dbg_dm_rst_l), - .clk(dbg_free_clk) - ); - assign execute_command_ns = command_wren | ((dmi_reg_en & ~abstractcs_reg[12]) & (((dmi_reg_addr == 7'h04) & abstractauto_reg[0]) | ((dmi_reg_addr == 7'h05) & abstractauto_reg[1]))); - assign command_wren = ((dmi_reg_addr == 7'h17) & dmi_reg_en) & dmi_reg_wr_en; - localparam [3:0] CMD_DONE = 4'h8; - assign command_regno_wren = command_wren | ((((command_reg[31:24] == 8'h00) & command_reg[19]) & (dbg_state == CMD_DONE)) & ~(|abstractcs_reg[10:8])); - assign command_postexec_din = (dmi_reg_wdata[31:24] == 8'h00) & dmi_reg_wdata[18]; - assign command_transfer_din = (dmi_reg_wdata[31:24] == 8'h00) & dmi_reg_wdata[17]; - assign command_din[31:16] = {dmi_reg_wdata[31:24], 1'b0, dmi_reg_wdata[22:19], command_postexec_din, command_transfer_din, dmi_reg_wdata[16]}; - assign command_din[15:0] = (command_wren ? dmi_reg_wdata[15:0] : dbg_cmd_next_addr[15:0]); - rvdff #(.WIDTH(1)) execute_commandff( - .din(execute_command_ns), - .dout(execute_command), - .clk(dbg_free_clk), - .rst_l(dbg_dm_rst_l) - ); - rvdffe #(.WIDTH(16)) dmcommand_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(command_din[31:16]), - .dout(command_reg[31:16]), - .en(command_wren), - .rst_l(dbg_dm_rst_l) - ); - rvdffe #(.WIDTH(16)) dmcommand_regno_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(command_din[15:0]), - .dout(command_reg[15:0]), - .en(command_regno_wren), - .rst_l(dbg_dm_rst_l) - ); - assign data0_reg_wren0 = (((dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h04)) & (dbg_state == HALTED)) & ~abstractcs_reg[12]; - localparam [3:0] CORE_CMD_WAIT = 4'h4; - assign data0_reg_wren1 = (core_dbg_cmd_done & (dbg_state == CORE_CMD_WAIT)) & ~command_reg[16]; - assign data0_reg_wren = (data0_reg_wren0 | data0_reg_wren1) | data0_reg_wren2; - assign data0_din[31:0] = (({32 {data0_reg_wren0}} & dmi_reg_wdata[31:0]) | ({32 {data0_reg_wren1}} & core_dbg_rddata[31:0])) | ({32 {data0_reg_wren2}} & sb_bus_rdata[31:0]); - rvdffe #(.WIDTH(32)) dbg_data0_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(data0_din[31:0]), - .dout(data0_reg[31:0]), - .en(data0_reg_wren), - .rst_l(dbg_dm_rst_l) - ); - assign data1_reg_wren0 = (((dmi_reg_en & dmi_reg_wr_en) & (dmi_reg_addr == 7'h05)) & (dbg_state == HALTED)) & ~abstractcs_reg[12]; - assign data1_reg_wren1 = (((dbg_state == CMD_DONE) & (command_reg[31:24] == 8'h02)) & command_reg[19]) & ~(|abstractcs_reg[10:8]); - assign data1_reg_wren = data1_reg_wren0 | data1_reg_wren1; - assign data1_din[31:0] = ({32 {data1_reg_wren0}} & dmi_reg_wdata[31:0]) | ({32 {data1_reg_wren1}} & dbg_cmd_next_addr[31:0]); - rvdffe #(.WIDTH(32)) dbg_data1_reg( - .clk(clk), - .scan_mode(scan_mode), - .din(data1_din[31:0]), - .dout(data1_reg[31:0]), - .en(data1_reg_wren), - .rst_l(dbg_dm_rst_l) - ); - rvdffs #(.WIDTH(1)) sb_abmem_cmd_doneff( - .din(sb_abmem_cmd_done_in), - .dout(sb_abmem_cmd_done), - .en(sb_abmem_cmd_done_en), - .clk(dbg_free_clk), - .rst_l(dbg_dm_rst_l) - ); - rvdffs #(.WIDTH(1)) sb_abmem_data_doneff( - .din(sb_abmem_data_done_in), - .dout(sb_abmem_data_done), - .en(sb_abmem_data_done_en), - .clk(dbg_free_clk), - .rst_l(dbg_dm_rst_l) - ); - localparam [3:0] CORE_CMD_START = 4'h3; - localparam [3:0] HALTING = 4'h1; - localparam [3:0] SB_CMD_RESP = 4'h7; - localparam [3:0] SB_CMD_SEND = 4'h6; - localparam [3:0] SB_CMD_START = 4'h5; - always @(*) begin - dbg_nxtstate = IDLE; - dbg_state_en = 1'b0; - abstractcs_busy_wren = 1'b0; - abstractcs_busy_din = 1'b0; - dbg_halt_req = dmcontrol_wren_Q & dmcontrol_reg[31]; - dbg_resume_req = 1'b0; - dbg_sb_bus_error = 1'b0; - data0_reg_wren2 = 1'b0; - sb_abmem_cmd_done_in = 1'b0; - sb_abmem_data_done_in = 1'b0; - sb_abmem_cmd_done_en = 1'b0; - sb_abmem_data_done_en = 1'b0; - case (dbg_state) - IDLE: begin - dbg_nxtstate = (dmstatus_reg[9] | dec_tlu_mpc_halted_only ? HALTED : HALTING); - dbg_state_en = (dmcontrol_reg[31] | dmstatus_reg[9]) | dec_tlu_mpc_halted_only; - dbg_halt_req = dmcontrol_reg[31]; - end - HALTING: begin - dbg_nxtstate = HALTED; - dbg_state_en = dmstatus_reg[9] | dec_tlu_mpc_halted_only; - end - HALTED: begin - dbg_nxtstate = (dmstatus_reg[9] ? (resumereq ? RESUMING : ((command_reg[31:24] == 8'h02) & abmem_addr_external ? SB_CMD_START : CORE_CMD_START)) : (dmcontrol_reg[31] ? HALTING : IDLE)); - dbg_state_en = ((dmstatus_reg[9] & resumereq) | execute_command) | ~(dmstatus_reg[9] | dec_tlu_mpc_halted_only); - abstractcs_busy_wren = dbg_state_en & ((dbg_nxtstate == CORE_CMD_START) | (dbg_nxtstate == SB_CMD_START)); - abstractcs_busy_din = 1'b1; - dbg_resume_req = dbg_state_en & (dbg_nxtstate == RESUMING); - end - CORE_CMD_START: begin - dbg_nxtstate = (|abstractcs_reg[10:8] | ((command_reg[31:24] == 8'h00) & ~command_reg[17]) ? CMD_DONE : CORE_CMD_WAIT); - dbg_state_en = (dbg_cmd_valid | |abstractcs_reg[10:8]) | ((command_reg[31:24] == 8'h00) & ~command_reg[17]); - end - CORE_CMD_WAIT: begin - dbg_nxtstate = CMD_DONE; - dbg_state_en = core_dbg_cmd_done; - end - SB_CMD_START: begin - dbg_nxtstate = (|abstractcs_reg[10:8] ? CMD_DONE : SB_CMD_SEND); - dbg_state_en = (dbg_bus_clk_en & ~sb_cmd_pending) | |abstractcs_reg[10:8]; - end - SB_CMD_SEND: begin - sb_abmem_cmd_done_in = 1'b1; - sb_abmem_data_done_in = 1'b1; - sb_abmem_cmd_done_en = (sb_bus_cmd_read | sb_bus_cmd_write_addr) & dbg_bus_clk_en; - sb_abmem_data_done_en = (sb_bus_cmd_read | sb_bus_cmd_write_data) & dbg_bus_clk_en; - dbg_nxtstate = SB_CMD_RESP; - dbg_state_en = ((sb_abmem_cmd_done | sb_abmem_cmd_done_en) & (sb_abmem_data_done | sb_abmem_data_done_en)) & dbg_bus_clk_en; - end - SB_CMD_RESP: begin - dbg_nxtstate = CMD_DONE; - dbg_state_en = (sb_bus_rsp_read | sb_bus_rsp_write) & dbg_bus_clk_en; - dbg_sb_bus_error = ((sb_bus_rsp_read | sb_bus_rsp_write) & sb_bus_rsp_error) & dbg_bus_clk_en; - data0_reg_wren2 = (dbg_state_en & ~sb_abmem_cmd_write) & ~dbg_sb_bus_error; - end - CMD_DONE: begin - dbg_nxtstate = HALTED; - dbg_state_en = 1'b1; - abstractcs_busy_wren = dbg_state_en; - abstractcs_busy_din = 1'b0; - sb_abmem_cmd_done_in = 1'b0; - sb_abmem_data_done_in = 1'b0; - sb_abmem_cmd_done_en = 1'b1; - sb_abmem_data_done_en = 1'b1; - end - RESUMING: begin - dbg_nxtstate = IDLE; - dbg_state_en = dmstatus_reg[17]; - end - default: begin - dbg_nxtstate = IDLE; - dbg_state_en = 1'b0; - abstractcs_busy_wren = 1'b0; - abstractcs_busy_din = 1'b0; - dbg_halt_req = 1'b0; - dbg_resume_req = 1'b0; - dbg_sb_bus_error = 1'b0; - data0_reg_wren2 = 1'b0; - sb_abmem_cmd_done_in = 1'b0; - sb_abmem_data_done_in = 1'b0; - sb_abmem_cmd_done_en = 1'b0; - sb_abmem_data_done_en = 1'b0; - end - endcase - end - assign dmi_reg_rdata_din[31:0] = ((((((((((({32 {dmi_reg_addr == 7'h04}} & data0_reg[31:0]) | ({32 {dmi_reg_addr == 7'h05}} & data1_reg[31:0])) | ({32 {dmi_reg_addr == 7'h10}} & {2'b00, dmcontrol_reg[29], 1'b0, dmcontrol_reg[27:0]})) | ({32 {dmi_reg_addr == 7'h11}} & dmstatus_reg[31:0])) | ({32 {dmi_reg_addr == 7'h16}} & abstractcs_reg[31:0])) | ({32 {dmi_reg_addr == 7'h17}} & command_reg[31:0])) | ({32 {dmi_reg_addr == 7'h18}} & {30'h00000000, abstractauto_reg[1:0]})) | ({32 {dmi_reg_addr == 7'h40}} & haltsum0_reg[31:0])) | ({32 {dmi_reg_addr == 7'h38}} & sbcs_reg[31:0])) | ({32 {dmi_reg_addr == 7'h39}} & sbaddress0_reg[31:0])) | ({32 {dmi_reg_addr == 7'h3c}} & sbdata0_reg[31:0])) | ({32 {dmi_reg_addr == 7'h3d}} & sbdata1_reg[31:0]); - rvdffs #(.WIDTH(4)) dbg_state_reg( - .din(dbg_nxtstate), - .dout({dbg_state}), - .en(dbg_state_en), - .rst_l(dbg_dm_rst_l & rst_l), - .clk(dbg_free_clk) - ); - rvdffe #(.WIDTH(32)) dmi_rddata_reg( - .din(dmi_reg_rdata_din[31:0]), - .dout(dmi_reg_rdata[31:0]), - .en(dmi_reg_en), - .rst_l(dbg_dm_rst_l), - .clk(clk), - .scan_mode(scan_mode) - ); - assign abmem_addr[31:0] = data1_reg[31:0]; - assign abmem_addr_core_local = (abmem_addr_in_dccm_region | abmem_addr_in_iccm_region) | abmem_addr_in_pic_region; - assign abmem_addr_external = ~abmem_addr_core_local; - assign abmem_addr_in_dccm_region = (abmem_addr[31:28] == pt[1333-:8]) & pt[1365-:5]; - assign abmem_addr_in_iccm_region = (abmem_addr[31:28] == pt[895-:8]) & pt[927-:5]; - assign abmem_addr_in_pic_region = abmem_addr[31:28] == pt[77-:8]; - assign dbg_cmd_addr[31:0] = (command_reg[31:24] == 8'h02 ? data1_reg[31:0] : {20'b00000000000000000000, command_reg[11:0]}); - assign dbg_cmd_wrdata[31:0] = data0_reg[31:0]; - assign dbg_cmd_valid = ((dbg_state == CORE_CMD_START) & ~((|abstractcs_reg[10:8] | ((command_reg[31:24] == 8'h00) & ~command_reg[17])) | ((command_reg[31:24] == 8'h02) & abmem_addr_external))) & dma_dbg_ready; - assign dbg_cmd_write = command_reg[16]; - assign dbg_cmd_type[1:0] = (command_reg[31:24] == 8'h02 ? 2'b10 : {1'b0, command_reg[15:12] == 4'b0000}); - assign dbg_cmd_size[1:0] = command_reg[21:20]; - assign dbg_cmd_addr_incr[3:0] = (command_reg[31:24] == 8'h02 ? 4'h1 << sb_abmem_cmd_size[1:0] : 4'h1); - assign dbg_cmd_curr_addr[31:0] = (command_reg[31:24] == 8'h02 ? data1_reg[31:0] : {16'b0000000000000000, command_reg[15:0]}); - assign dbg_cmd_next_addr[31:0] = dbg_cmd_curr_addr[31:0] + {28'h0000000, dbg_cmd_addr_incr[3:0]}; - assign dbg_dma_bubble = ((dbg_state == CORE_CMD_START) & ~(|abstractcs_reg[10:8])) | (dbg_state == CORE_CMD_WAIT); - localparam [3:0] CMD_RD = 4'h3; - localparam [3:0] CMD_WR = 4'h4; - localparam [3:0] CMD_WR_ADDR = 4'h5; - localparam [3:0] CMD_WR_DATA = 4'h6; - localparam [3:0] RSP_WR = 4'h8; - assign sb_cmd_pending = (((((sb_state == CMD_RD) | (sb_state == CMD_WR)) | (sb_state == CMD_WR_ADDR)) | (sb_state == CMD_WR_DATA)) | (sb_state == RSP_RD)) | (sb_state == RSP_WR); - assign sb_abmem_cmd_pending = ((dbg_state == SB_CMD_START) | (dbg_state == SB_CMD_SEND)) | (dbg_state == SB_CMD_RESP); - localparam [3:0] DONE = 4'h9; - localparam [3:0] WAIT_RD = 4'h1; - localparam [3:0] WAIT_WR = 4'h2; - always @(*) begin - sb_nxtstate = SBIDLE; - sb_state_en = 1'b0; - sbcs_sbbusy_wren = 1'b0; - sbcs_sbbusy_din = 1'b0; - sbcs_sberror_wren = 1'b0; - sbcs_sberror_din[2:0] = 3'b000; - sbaddress0_reg_wren1 = 1'b0; - case (sb_state) - SBIDLE: begin - sb_nxtstate = (sbdata0wr_access ? WAIT_WR : WAIT_RD); - sb_state_en = (((sbdata0wr_access | sbreadondata_access) | sbreadonaddr_access) & ~(|sbcs_reg[14:12])) & ~sbcs_reg[22]; - sbcs_sbbusy_wren = sb_state_en; - sbcs_sbbusy_din = 1'b1; - sbcs_sberror_wren = sbcs_wren & |dmi_reg_wdata[14:12]; - sbcs_sberror_din[2:0] = ~dmi_reg_wdata[14:12] & sbcs_reg[14:12]; - end - WAIT_RD: begin - sb_nxtstate = (sbcs_unaligned | sbcs_illegal_size ? DONE : CMD_RD); - sb_state_en = ((dbg_bus_clk_en & ~sb_abmem_cmd_pending) | sbcs_unaligned) | sbcs_illegal_size; - sbcs_sberror_wren = sbcs_unaligned | sbcs_illegal_size; - sbcs_sberror_din[2:0] = (sbcs_unaligned ? 3'b011 : 3'b100); - end - WAIT_WR: begin - sb_nxtstate = (sbcs_unaligned | sbcs_illegal_size ? DONE : CMD_WR); - sb_state_en = ((dbg_bus_clk_en & ~sb_abmem_cmd_pending) | sbcs_unaligned) | sbcs_illegal_size; - sbcs_sberror_wren = sbcs_unaligned | sbcs_illegal_size; - sbcs_sberror_din[2:0] = (sbcs_unaligned ? 3'b011 : 3'b100); - end - CMD_RD: begin - sb_nxtstate = RSP_RD; - sb_state_en = sb_bus_cmd_read & dbg_bus_clk_en; - end - CMD_WR: begin - sb_nxtstate = (sb_bus_cmd_write_addr & sb_bus_cmd_write_data ? RSP_WR : (sb_bus_cmd_write_data ? CMD_WR_ADDR : CMD_WR_DATA)); - sb_state_en = (sb_bus_cmd_write_addr | sb_bus_cmd_write_data) & dbg_bus_clk_en; - end - CMD_WR_ADDR: begin - sb_nxtstate = RSP_WR; - sb_state_en = sb_bus_cmd_write_addr & dbg_bus_clk_en; - end - CMD_WR_DATA: begin - sb_nxtstate = RSP_WR; - sb_state_en = sb_bus_cmd_write_data & dbg_bus_clk_en; - end - RSP_RD: begin - sb_nxtstate = DONE; - sb_state_en = sb_bus_rsp_read & dbg_bus_clk_en; - sbcs_sberror_wren = sb_state_en & sb_bus_rsp_error; - sbcs_sberror_din[2:0] = 3'b010; - end - RSP_WR: begin - sb_nxtstate = DONE; - sb_state_en = sb_bus_rsp_write & dbg_bus_clk_en; - sbcs_sberror_wren = sb_state_en & sb_bus_rsp_error; - sbcs_sberror_din[2:0] = 3'b010; - end - DONE: begin - sb_nxtstate = SBIDLE; - sb_state_en = 1'b1; - sbcs_sbbusy_wren = 1'b1; - sbcs_sbbusy_din = 1'b0; - sbaddress0_reg_wren1 = sbcs_reg[16] & (sbcs_reg[14:12] == 3'b000); - end - default: begin - sb_nxtstate = SBIDLE; - sb_state_en = 1'b0; - sbcs_sbbusy_wren = 1'b0; - sbcs_sbbusy_din = 1'b0; - sbcs_sberror_wren = 1'b0; - sbcs_sberror_din[2:0] = 3'b000; - sbaddress0_reg_wren1 = 1'b0; - end - endcase - end - rvdffs #(.WIDTH(4)) sb_state_reg( - .din(sb_nxtstate), - .dout({sb_state}), - .en(sb_state_en), - .rst_l(dbg_dm_rst_l), - .clk(sb_free_clk) - ); - assign sb_abmem_cmd_write = command_reg[16]; - assign sb_abmem_cmd_size[2:0] = {1'b0, command_reg[21:20]}; - assign sb_abmem_cmd_addr[31:0] = abmem_addr[31:0]; - assign sb_abmem_cmd_wdata[31:0] = data0_reg[31:0]; - assign sb_cmd_size[2:0] = sbcs_reg[19:17]; - assign sb_cmd_wdata[63:0] = {sbdata1_reg[31:0], sbdata0_reg[31:0]}; - assign sb_cmd_addr[31:0] = sbaddress0_reg[31:0]; - assign sb_abmem_cmd_awvalid = ((dbg_state == SB_CMD_SEND) & sb_abmem_cmd_write) & ~sb_abmem_cmd_done; - assign sb_abmem_cmd_wvalid = ((dbg_state == SB_CMD_SEND) & sb_abmem_cmd_write) & ~sb_abmem_data_done; - assign sb_abmem_cmd_arvalid = (((dbg_state == SB_CMD_SEND) & ~sb_abmem_cmd_write) & ~sb_abmem_cmd_done) & ~sb_abmem_data_done; - assign sb_abmem_read_pend = (dbg_state == SB_CMD_RESP) & ~sb_abmem_cmd_write; - assign sb_cmd_awvalid = (sb_state == CMD_WR) | (sb_state == CMD_WR_ADDR); - assign sb_cmd_wvalid = (sb_state == CMD_WR) | (sb_state == CMD_WR_DATA); - assign sb_cmd_arvalid = sb_state == CMD_RD; - assign sb_read_pend = sb_state == RSP_RD; - assign sb_axi_size[2:0] = (((sb_abmem_cmd_awvalid | sb_abmem_cmd_wvalid) | sb_abmem_cmd_arvalid) | sb_abmem_read_pend ? sb_abmem_cmd_size[2:0] : sb_cmd_size[2:0]); - assign sb_axi_addr[31:0] = (((sb_abmem_cmd_awvalid | sb_abmem_cmd_wvalid) | sb_abmem_cmd_arvalid) | sb_abmem_read_pend ? sb_abmem_cmd_addr[31:0] : sb_cmd_addr[31:0]); - assign sb_axi_wrdata[63:0] = (sb_abmem_cmd_awvalid | sb_abmem_cmd_wvalid ? {2 {sb_abmem_cmd_wdata[31:0]}} : sb_cmd_wdata[63:0]); - assign sb_bus_cmd_read = sb_axi_arvalid & sb_axi_arready; - assign sb_bus_cmd_write_addr = sb_axi_awvalid & sb_axi_awready; - assign sb_bus_cmd_write_data = sb_axi_wvalid & sb_axi_wready; - assign sb_bus_rsp_read = sb_axi_rvalid & sb_axi_rready; - assign sb_bus_rsp_write = sb_axi_bvalid & sb_axi_bready; - assign sb_bus_rsp_error = (sb_bus_rsp_read & |sb_axi_rresp[1:0]) | (sb_bus_rsp_write & |sb_axi_bresp[1:0]); - assign sb_axi_awvalid = sb_abmem_cmd_awvalid | sb_cmd_awvalid; - assign sb_axi_awaddr[31:0] = sb_axi_addr[31:0]; - assign sb_axi_awid[pt[12-:8] - 1:0] = {pt[12-:8] {1'sb0}}; - assign sb_axi_awsize[2:0] = sb_axi_size[2:0]; - assign sb_axi_awprot[2:0] = 3'b001; - assign sb_axi_awcache[3:0] = 4'b1111; - assign sb_axi_awregion[3:0] = sb_axi_addr[31:28]; - assign sb_axi_awlen[7:0] = {8 {1'sb0}}; - assign sb_axi_awburst[1:0] = 2'b01; - assign sb_axi_awqos[3:0] = {4 {1'sb0}}; - assign sb_axi_awlock = 1'b0; - assign sb_axi_wvalid = sb_abmem_cmd_wvalid | sb_cmd_wvalid; - assign sb_axi_wdata[63:0] = ((({64 {sb_axi_size[2:0] == 3'h0}} & {8 {sb_axi_wrdata[7:0]}}) | ({64 {sb_axi_size[2:0] == 3'h1}} & {4 {sb_axi_wrdata[15:0]}})) | ({64 {sb_axi_size[2:0] == 3'h2}} & {2 {sb_axi_wrdata[31:0]}})) | ({64 {sb_axi_size[2:0] == 3'h3}} & {sb_axi_wrdata[63:0]}); - assign sb_axi_wstrb[7:0] = ((({8 {sb_axi_size[2:0] == 3'h0}} & (8'h01 << sb_axi_addr[2:0])) | ({8 {sb_axi_size[2:0] == 3'h1}} & (8'h03 << {sb_axi_addr[2:1], 1'b0}))) | ({8 {sb_axi_size[2:0] == 3'h2}} & (8'h0f << {sb_axi_addr[2], 2'b00}))) | ({8 {sb_axi_size[2:0] == 3'h3}} & 8'hff); - assign sb_axi_wlast = 1'b1; - assign sb_axi_arvalid = sb_abmem_cmd_arvalid | sb_cmd_arvalid; - assign sb_axi_araddr[31:0] = sb_axi_addr[31:0]; - assign sb_axi_arid[pt[12-:8] - 1:0] = {pt[12-:8] {1'sb0}}; - assign sb_axi_arsize[2:0] = sb_axi_size[2:0]; - assign sb_axi_arprot[2:0] = 3'b001; - assign sb_axi_arcache[3:0] = 4'b0000; - assign sb_axi_arregion[3:0] = sb_axi_addr[31:28]; - assign sb_axi_arlen[7:0] = {8 {1'sb0}}; - assign sb_axi_arburst[1:0] = 2'b01; - assign sb_axi_arqos[3:0] = {4 {1'sb0}}; - assign sb_axi_arlock = 1'b0; - assign sb_axi_bready = 1'b1; - assign sb_axi_rready = 1'b1; - assign sb_bus_rdata[63:0] = ((({64 {sb_axi_size == 3'h0}} & ((sb_axi_rdata[63:0] >> (8 * sb_axi_addr[2:0])) & 64'h00000000000000ff)) | ({64 {sb_axi_size == 3'h1}} & ((sb_axi_rdata[63:0] >> (16 * sb_axi_addr[2:1])) & 64'h000000000000ffff))) | ({64 {sb_axi_size == 3'h2}} & ((sb_axi_rdata[63:0] >> (32 * sb_axi_addr[2])) & 64'h00000000ffffffff))) | ({64 {sb_axi_size == 3'h3}} & sb_axi_rdata[63:0]); -endmodule -module eb1_dec ( - clk, - active_clk, - free_clk, - free_l2clk, - lsu_fastint_stall_any, - dec_extint_stall, - dec_i0_decode_d, - dec_pause_state_cg, - dec_tlu_core_empty, - rst_l, - rst_vec, - nmi_int, - nmi_vec, - i_cpu_halt_req, - i_cpu_run_req, - o_cpu_halt_status, - o_cpu_halt_ack, - o_cpu_run_ack, - o_debug_mode_status, - core_id, - mpc_debug_halt_req, - mpc_debug_run_req, - mpc_reset_run_req, - mpc_debug_halt_ack, - mpc_debug_run_ack, - debug_brkpt_status, - exu_pmu_i0_br_misp, - exu_pmu_i0_br_ataken, - exu_pmu_i0_pc4, - lsu_nonblock_load_valid_m, - lsu_nonblock_load_tag_m, - lsu_nonblock_load_inv_r, - lsu_nonblock_load_inv_tag_r, - lsu_nonblock_load_data_valid, - lsu_nonblock_load_data_error, - lsu_nonblock_load_data_tag, - lsu_nonblock_load_data, - lsu_pmu_bus_trxn, - lsu_pmu_bus_misaligned, - lsu_pmu_bus_error, - lsu_pmu_bus_busy, - lsu_pmu_misaligned_m, - lsu_pmu_load_external_m, - lsu_pmu_store_external_m, - dma_pmu_dccm_read, - dma_pmu_dccm_write, - dma_pmu_any_read, - dma_pmu_any_write, - lsu_fir_addr, - lsu_fir_error, - ifu_pmu_instr_aligned, - ifu_pmu_fetch_stall, - ifu_pmu_ic_miss, - ifu_pmu_ic_hit, - ifu_pmu_bus_error, - ifu_pmu_bus_busy, - ifu_pmu_bus_trxn, - ifu_ic_error_start, - ifu_iccm_rd_ecc_single_err, - lsu_trigger_match_m, - dbg_cmd_valid, - dbg_cmd_write, - dbg_cmd_type, - dbg_cmd_addr, - dbg_cmd_wrdata, - ifu_i0_icaf, - ifu_i0_icaf_type, - ifu_i0_icaf_second, - ifu_i0_dbecc, - lsu_idle_any, - i0_brp, - ifu_i0_bp_index, - ifu_i0_bp_fghr, - ifu_i0_bp_btag, - ifu_i0_fa_index, - lsu_error_pkt_r, - lsu_single_ecc_error_incr, - lsu_imprecise_error_load_any, - lsu_imprecise_error_store_any, - lsu_imprecise_error_addr_any, - exu_div_result, - exu_div_wren, - exu_csr_rs1_x, - lsu_result_m, - lsu_result_corr_r, - lsu_load_stall_any, - lsu_store_stall_any, - dma_dccm_stall_any, - dma_iccm_stall_any, - iccm_dma_sb_error, - exu_flush_final, - exu_npc_r, - exu_i0_result_x, - ifu_i0_valid, - ifu_i0_instr, - ifu_i0_pc, - ifu_i0_pc4, - exu_i0_pc_x, - mexintpend, - timer_int, - soft_int, - pic_claimid, - pic_pl, - mhwakeup, - dec_tlu_meicurpl, - dec_tlu_meipt, - ifu_ic_debug_rd_data, - ifu_ic_debug_rd_data_valid, - dec_tlu_ic_diag_pkt, - dbg_halt_req, - dbg_resume_req, - ifu_miss_state_idle, - dec_tlu_dbg_halted, - dec_tlu_debug_mode, - dec_tlu_resume_ack, - dec_tlu_flush_noredir_r, - dec_tlu_mpc_halted_only, - dec_tlu_flush_leak_one_r, - dec_tlu_flush_err_r, - dec_tlu_meihap, - dec_debug_wdata_rs1_d, - dec_dbg_rddata, - dec_dbg_cmd_done, - dec_dbg_cmd_fail, - trigger_pkt_any, - dec_tlu_force_halt, - exu_i0_br_hist_r, - exu_i0_br_error_r, - exu_i0_br_start_error_r, - exu_i0_br_valid_r, - exu_i0_br_mp_r, - exu_i0_br_middle_r, - exu_i0_br_way_r, - dec_i0_rs1_en_d, - dec_i0_rs2_en_d, - gpr_i0_rs1_d, - gpr_i0_rs2_d, - dec_i0_immed_d, - dec_i0_br_immed_d, - i0_ap, - dec_i0_alu_decode_d, - dec_i0_branch_d, - dec_i0_select_pc_d, - dec_i0_pc_d, - dec_i0_rs1_bypass_en_d, - dec_i0_rs2_bypass_en_d, - dec_i0_result_r, - lsu_p, - dec_qual_lsu_d, - mul_p, - div_p, - dec_div_cancel, - dec_lsu_offset_d, - dec_csr_ren_d, - dec_csr_rddata_d, - dec_tlu_flush_lower_r, - dec_tlu_flush_lower_wb, - dec_tlu_flush_path_r, - dec_tlu_i0_kill_writeb_r, - dec_tlu_fence_i_r, - pred_correct_npc_x, - dec_tlu_br0_r_pkt, - dec_tlu_perfcnt0, - dec_tlu_perfcnt1, - dec_tlu_perfcnt2, - dec_tlu_perfcnt3, - dec_i0_predict_p_d, - i0_predict_fghr_d, - i0_predict_index_d, - i0_predict_btag_d, - dec_fa_error_index, - dec_lsu_valid_raw_d, - dec_tlu_mrac_ff, - dec_data_en, - dec_ctl_en, - ifu_i0_cinst, - trace_rv_trace_pkt, - dec_tlu_external_ldfwd_disable, - dec_tlu_sideeffect_posted_disable, - dec_tlu_core_ecc_disable, - dec_tlu_bpred_disable, - dec_tlu_wb_coalescing_disable, - dec_tlu_dma_qos_prty, - dec_tlu_misc_clk_override, - dec_tlu_ifu_clk_override, - dec_tlu_lsu_clk_override, - dec_tlu_bus_clk_override, - dec_tlu_pic_clk_override, - dec_tlu_picio_clk_override, - dec_tlu_dccm_clk_override, - dec_tlu_icm_clk_override, - dec_tlu_i0_commit_cmt, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire active_clk; - input wire free_clk; - input wire free_l2clk; - input wire lsu_fastint_stall_any; - output wire dec_extint_stall; - output wire dec_i0_decode_d; - output wire dec_pause_state_cg; - output wire dec_tlu_core_empty; - input wire rst_l; - input wire [31:1] rst_vec; - input wire nmi_int; - input wire [31:1] nmi_vec; - input wire i_cpu_halt_req; - input wire i_cpu_run_req; - output wire o_cpu_halt_status; - output wire o_cpu_halt_ack; - output wire o_cpu_run_ack; - output wire o_debug_mode_status; - input wire [31:4] core_id; - input wire mpc_debug_halt_req; - input wire mpc_debug_run_req; - input wire mpc_reset_run_req; - output wire mpc_debug_halt_ack; - output wire mpc_debug_run_ack; - output wire debug_brkpt_status; - input wire exu_pmu_i0_br_misp; - input wire exu_pmu_i0_br_ataken; - input wire exu_pmu_i0_pc4; - input wire lsu_nonblock_load_valid_m; - input wire [pt[164-:7] - 1:0] lsu_nonblock_load_tag_m; - input wire lsu_nonblock_load_inv_r; - input wire [pt[164-:7] - 1:0] lsu_nonblock_load_inv_tag_r; - input wire lsu_nonblock_load_data_valid; - input wire lsu_nonblock_load_data_error; - input wire [pt[164-:7] - 1:0] lsu_nonblock_load_data_tag; - input wire [31:0] lsu_nonblock_load_data; - input wire lsu_pmu_bus_trxn; - input wire lsu_pmu_bus_misaligned; - input wire lsu_pmu_bus_error; - input wire lsu_pmu_bus_busy; - input wire lsu_pmu_misaligned_m; - input wire lsu_pmu_load_external_m; - input wire lsu_pmu_store_external_m; - input wire dma_pmu_dccm_read; - input wire dma_pmu_dccm_write; - input wire dma_pmu_any_read; - input wire dma_pmu_any_write; - input wire [31:1] lsu_fir_addr; - input wire [1:0] lsu_fir_error; - input wire ifu_pmu_instr_aligned; - input wire ifu_pmu_fetch_stall; - input wire ifu_pmu_ic_miss; - input wire ifu_pmu_ic_hit; - input wire ifu_pmu_bus_error; - input wire ifu_pmu_bus_busy; - input wire ifu_pmu_bus_trxn; - input wire ifu_ic_error_start; - input wire ifu_iccm_rd_ecc_single_err; - input wire [3:0] lsu_trigger_match_m; - input wire dbg_cmd_valid; - input wire dbg_cmd_write; - input wire [1:0] dbg_cmd_type; - input wire [31:0] dbg_cmd_addr; - input wire [1:0] dbg_cmd_wrdata; - input wire ifu_i0_icaf; - input wire [1:0] ifu_i0_icaf_type; - input wire ifu_i0_icaf_second; - input wire ifu_i0_dbecc; - input wire lsu_idle_any; - input wire [50:0] i0_brp; - input wire [pt[2172-:9]:pt[2163-:6]] ifu_i0_bp_index; - input wire [pt[2236-:8] - 1:0] ifu_i0_bp_fghr; - input wire [pt[2139-:9] - 1:0] ifu_i0_bp_btag; - input wire [$clog2(pt[2061-:14]) - 1:0] ifu_i0_fa_index; - input wire [39:0] lsu_error_pkt_r; - input wire lsu_single_ecc_error_incr; - input wire lsu_imprecise_error_load_any; - input wire lsu_imprecise_error_store_any; - input wire [31:0] lsu_imprecise_error_addr_any; - input wire [31:0] exu_div_result; - input wire exu_div_wren; - input wire [31:0] exu_csr_rs1_x; - input wire [31:0] lsu_result_m; - input wire [31:0] lsu_result_corr_r; - input wire lsu_load_stall_any; - input wire lsu_store_stall_any; - input wire dma_dccm_stall_any; - input wire dma_iccm_stall_any; - input wire iccm_dma_sb_error; - input wire exu_flush_final; - input wire [31:1] exu_npc_r; - input wire [31:0] exu_i0_result_x; - input wire ifu_i0_valid; - input wire [31:0] ifu_i0_instr; - input wire [31:1] ifu_i0_pc; - input wire ifu_i0_pc4; - input wire [31:1] exu_i0_pc_x; - input wire mexintpend; - input wire timer_int; - input wire soft_int; - input wire [7:0] pic_claimid; - input wire [3:0] pic_pl; - input wire mhwakeup; - output wire [3:0] dec_tlu_meicurpl; - output wire [3:0] dec_tlu_meipt; - input wire [70:0] ifu_ic_debug_rd_data; - input wire ifu_ic_debug_rd_data_valid; - output wire [89:0] dec_tlu_ic_diag_pkt; - input wire dbg_halt_req; - input wire dbg_resume_req; - input wire ifu_miss_state_idle; - output wire dec_tlu_dbg_halted; - output wire dec_tlu_debug_mode; - output wire dec_tlu_resume_ack; - output wire dec_tlu_flush_noredir_r; - output wire dec_tlu_mpc_halted_only; - output wire dec_tlu_flush_leak_one_r; - output wire dec_tlu_flush_err_r; - output wire [31:2] dec_tlu_meihap; - output wire dec_debug_wdata_rs1_d; - output wire [31:0] dec_dbg_rddata; - output wire dec_dbg_cmd_done; - output wire dec_dbg_cmd_fail; - output wire [151:0] trigger_pkt_any; - output wire dec_tlu_force_halt; - input wire [1:0] exu_i0_br_hist_r; - input wire exu_i0_br_error_r; - input wire exu_i0_br_start_error_r; - input wire exu_i0_br_valid_r; - input wire exu_i0_br_mp_r; - input wire exu_i0_br_middle_r; - input wire exu_i0_br_way_r; - output wire dec_i0_rs1_en_d; - output wire dec_i0_rs2_en_d; - output wire [31:0] gpr_i0_rs1_d; - output wire [31:0] gpr_i0_rs2_d; - output wire [31:0] dec_i0_immed_d; - output wire [12:1] dec_i0_br_immed_d; - output wire [43:0] i0_ap; - output wire dec_i0_alu_decode_d; - output wire dec_i0_branch_d; - output wire dec_i0_select_pc_d; - output wire [31:1] dec_i0_pc_d; - output wire [3:0] dec_i0_rs1_bypass_en_d; - output wire [3:0] dec_i0_rs2_bypass_en_d; - output wire [31:0] dec_i0_result_r; - output wire [13:0] lsu_p; - output wire dec_qual_lsu_d; - output wire [19:0] mul_p; - output wire [2:0] div_p; - output wire dec_div_cancel; - output wire [11:0] dec_lsu_offset_d; - output wire dec_csr_ren_d; - output wire [31:0] dec_csr_rddata_d; - output wire dec_tlu_flush_lower_r; - output wire dec_tlu_flush_lower_wb; - output wire [31:1] dec_tlu_flush_path_r; - output wire dec_tlu_i0_kill_writeb_r; - output wire dec_tlu_fence_i_r; - output wire [31:1] pred_correct_npc_x; - output wire [6:0] dec_tlu_br0_r_pkt; - output wire dec_tlu_perfcnt0; - output wire dec_tlu_perfcnt1; - output wire dec_tlu_perfcnt2; - output wire dec_tlu_perfcnt3; - output wire [55:0] dec_i0_predict_p_d; - output wire [pt[2236-:8] - 1:0] i0_predict_fghr_d; - output wire [pt[2172-:9]:pt[2163-:6]] i0_predict_index_d; - output wire [pt[2139-:9] - 1:0] i0_predict_btag_d; - output wire [$clog2(pt[2061-:14]) - 1:0] dec_fa_error_index; - output wire dec_lsu_valid_raw_d; - output wire [31:0] dec_tlu_mrac_ff; - output wire [1:0] dec_data_en; - output wire [1:0] dec_ctl_en; - input wire [15:0] ifu_i0_cinst; - output wire [103:0] trace_rv_trace_pkt; - output wire dec_tlu_external_ldfwd_disable; - output wire dec_tlu_sideeffect_posted_disable; - output wire dec_tlu_core_ecc_disable; - output wire dec_tlu_bpred_disable; - output wire dec_tlu_wb_coalescing_disable; - output wire [2:0] dec_tlu_dma_qos_prty; - output wire dec_tlu_misc_clk_override; - output wire dec_tlu_ifu_clk_override; - output wire dec_tlu_lsu_clk_override; - output wire dec_tlu_bus_clk_override; - output wire dec_tlu_pic_clk_override; - output wire dec_tlu_picio_clk_override; - output wire dec_tlu_dccm_clk_override; - output wire dec_tlu_icm_clk_override; - output wire dec_tlu_i0_commit_cmt; - input wire scan_mode; - wire dec_tlu_dec_clk_override; - wire clk_override; - wire dec_ib0_valid_d; - wire dec_pmu_instr_decoded; - wire dec_pmu_decode_stall; - wire dec_pmu_presync_stall; - wire dec_pmu_postsync_stall; - wire dec_tlu_wr_pause_r; - wire [4:0] dec_i0_rs1_d; - wire [4:0] dec_i0_rs2_d; - wire [31:0] dec_i0_instr_d; - wire dec_tlu_trace_disable; - wire dec_tlu_pipelining_disable; - wire [4:0] dec_i0_waddr_r; - wire dec_i0_wen_r; - wire [31:0] dec_i0_wdata_r; - wire dec_csr_wen_r; - wire [11:0] dec_csr_wraddr_r; - wire [31:0] dec_csr_wrdata_r; - wire [11:0] dec_csr_rdaddr_d; - wire dec_csr_legal_d; - wire dec_csr_wen_unq_d; - wire dec_csr_any_unq_d; - wire dec_csr_stall_int_ff; - wire [16:0] dec_tlu_packet_r; - wire dec_i0_pc4_d; - wire dec_tlu_presync_d; - wire dec_tlu_postsync_d; - wire dec_tlu_debug_stall; - wire [31:0] dec_illegal_inst; - wire dec_i0_icaf_d; - wire dec_i0_dbecc_d; - wire dec_i0_icaf_second_d; - wire [3:0] dec_i0_trigger_match_d; - wire dec_debug_fence_d; - wire dec_nonblock_load_wen; - wire [4:0] dec_nonblock_load_waddr; - wire dec_tlu_flush_pause_r; - wire [50:0] dec_i0_brp; - wire [pt[2172-:9]:pt[2163-:6]] dec_i0_bp_index; - wire [pt[2236-:8] - 1:0] dec_i0_bp_fghr; - wire [pt[2139-:9] - 1:0] dec_i0_bp_btag; - wire [$clog2(pt[2061-:14]) - 1:0] dec_i0_bp_fa_index; - wire [31:1] dec_tlu_i0_pc_r; - wire dec_tlu_i0_kill_writeb_wb; - wire dec_tlu_i0_valid_r; - wire dec_pause_state; - wire [1:0] dec_i0_icaf_type_d; - wire dec_tlu_flush_extint; - wire [31:0] dec_i0_inst_wb; - wire [31:1] dec_i0_pc_wb; - wire dec_tlu_i0_valid_wb1; - wire dec_tlu_int_valid_wb1; - wire [4:0] dec_tlu_exc_cause_wb1; - wire [31:0] dec_tlu_mtval_wb1; - wire dec_tlu_i0_exc_valid_wb1; - wire [4:0] div_waddr_wb; - wire dec_div_active; - wire dec_debug_valid_d; - assign clk_override = dec_tlu_dec_clk_override; - assign dec_dbg_rddata[31:0] = dec_i0_wdata_r[31:0]; - eb1_dec_ib_ctl #(.pt(pt)) instbuff( - .dbg_cmd_valid(dbg_cmd_valid), - .dbg_cmd_write(dbg_cmd_write), - .dbg_cmd_type(dbg_cmd_type), - .dbg_cmd_addr(dbg_cmd_addr), - .i0_brp(i0_brp), - .ifu_i0_bp_index(ifu_i0_bp_index), - .ifu_i0_bp_fghr(ifu_i0_bp_fghr), - .ifu_i0_bp_btag(ifu_i0_bp_btag), - .ifu_i0_fa_index(ifu_i0_fa_index), - .ifu_i0_pc4(ifu_i0_pc4), - .ifu_i0_valid(ifu_i0_valid), - .ifu_i0_icaf(ifu_i0_icaf), - .ifu_i0_icaf_type(ifu_i0_icaf_type), - .ifu_i0_icaf_second(ifu_i0_icaf_second), - .ifu_i0_dbecc(ifu_i0_dbecc), - .ifu_i0_instr(ifu_i0_instr), - .ifu_i0_pc(ifu_i0_pc), - .dec_ib0_valid_d(dec_ib0_valid_d), - .dec_debug_valid_d(dec_debug_valid_d), - .dec_i0_instr_d(dec_i0_instr_d), - .dec_i0_pc_d(dec_i0_pc_d), - .dec_i0_pc4_d(dec_i0_pc4_d), - .dec_i0_brp(dec_i0_brp), - .dec_i0_bp_index(dec_i0_bp_index), - .dec_i0_bp_fghr(dec_i0_bp_fghr), - .dec_i0_bp_btag(dec_i0_bp_btag), - .dec_i0_bp_fa_index(dec_i0_bp_fa_index), - .dec_i0_icaf_d(dec_i0_icaf_d), - .dec_i0_icaf_second_d(dec_i0_icaf_second_d), - .dec_i0_icaf_type_d(dec_i0_icaf_type_d), - .dec_i0_dbecc_d(dec_i0_dbecc_d), - .dec_debug_wdata_rs1_d(dec_debug_wdata_rs1_d), - .dec_debug_fence_d(dec_debug_fence_d) - ); - eb1_dec_decode_ctl #(.pt(pt)) decode( - .dec_tlu_trace_disable(dec_tlu_trace_disable), - .dec_debug_valid_d(dec_debug_valid_d), - .dec_tlu_flush_extint(dec_tlu_flush_extint), - .dec_tlu_force_halt(dec_tlu_force_halt), - .dec_extint_stall(dec_extint_stall), - .ifu_i0_cinst(ifu_i0_cinst), - .dec_i0_inst_wb(dec_i0_inst_wb), - .dec_i0_pc_wb(dec_i0_pc_wb), - .lsu_nonblock_load_valid_m(lsu_nonblock_load_valid_m), - .lsu_nonblock_load_tag_m(lsu_nonblock_load_tag_m), - .lsu_nonblock_load_inv_r(lsu_nonblock_load_inv_r), - .lsu_nonblock_load_inv_tag_r(lsu_nonblock_load_inv_tag_r), - .lsu_nonblock_load_data_valid(lsu_nonblock_load_data_valid), - .lsu_nonblock_load_data_error(lsu_nonblock_load_data_error), - .lsu_nonblock_load_data_tag(lsu_nonblock_load_data_tag), - .dec_i0_trigger_match_d(dec_i0_trigger_match_d), - .dec_tlu_wr_pause_r(dec_tlu_wr_pause_r), - .dec_tlu_pipelining_disable(dec_tlu_pipelining_disable), - .lsu_trigger_match_m(lsu_trigger_match_m), - .lsu_pmu_misaligned_m(lsu_pmu_misaligned_m), - .dec_tlu_debug_stall(dec_tlu_debug_stall), - .dec_tlu_flush_leak_one_r(dec_tlu_flush_leak_one_r), - .dec_debug_fence_d(dec_debug_fence_d), - .dbg_cmd_wrdata(dbg_cmd_wrdata), - .dec_i0_icaf_d(dec_i0_icaf_d), - .dec_i0_icaf_second_d(dec_i0_icaf_second_d), - .dec_i0_icaf_type_d(dec_i0_icaf_type_d), - .dec_i0_dbecc_d(dec_i0_dbecc_d), - .dec_i0_brp(dec_i0_brp), - .dec_i0_bp_index(dec_i0_bp_index), - .dec_i0_bp_fghr(dec_i0_bp_fghr), - .dec_i0_bp_btag(dec_i0_bp_btag), - .dec_i0_bp_fa_index(dec_i0_bp_fa_index), - .lsu_idle_any(lsu_idle_any), - .lsu_load_stall_any(lsu_load_stall_any), - .lsu_store_stall_any(lsu_store_stall_any), - .dma_dccm_stall_any(dma_dccm_stall_any), - .exu_div_wren(exu_div_wren), - .dec_tlu_i0_kill_writeb_wb(dec_tlu_i0_kill_writeb_wb), - .dec_tlu_flush_lower_wb(dec_tlu_flush_lower_wb), - .dec_tlu_i0_kill_writeb_r(dec_tlu_i0_kill_writeb_r), - .dec_tlu_flush_lower_r(dec_tlu_flush_lower_r), - .dec_tlu_flush_pause_r(dec_tlu_flush_pause_r), - .dec_tlu_presync_d(dec_tlu_presync_d), - .dec_tlu_postsync_d(dec_tlu_postsync_d), - .dec_i0_pc4_d(dec_i0_pc4_d), - .dec_csr_rddata_d(dec_csr_rddata_d), - .dec_csr_legal_d(dec_csr_legal_d), - .exu_csr_rs1_x(exu_csr_rs1_x), - .lsu_result_m(lsu_result_m), - .lsu_result_corr_r(lsu_result_corr_r), - .exu_flush_final(exu_flush_final), - .exu_i0_pc_x(exu_i0_pc_x), - .dec_i0_instr_d(dec_i0_instr_d), - .dec_ib0_valid_d(dec_ib0_valid_d), - .exu_i0_result_x(exu_i0_result_x), - .clk(clk), - .active_clk(active_clk), - .free_l2clk(free_l2clk), - .clk_override(clk_override), - .rst_l(rst_l), - .dec_i0_rs1_en_d(dec_i0_rs1_en_d), - .dec_i0_rs2_en_d(dec_i0_rs2_en_d), - .dec_i0_rs1_d(dec_i0_rs1_d), - .dec_i0_rs2_d(dec_i0_rs2_d), - .dec_i0_immed_d(dec_i0_immed_d), - .dec_i0_br_immed_d(dec_i0_br_immed_d), - .i0_ap(i0_ap), - .dec_i0_decode_d(dec_i0_decode_d), - .dec_i0_alu_decode_d(dec_i0_alu_decode_d), - .dec_i0_branch_d(dec_i0_branch_d), - .dec_i0_waddr_r(dec_i0_waddr_r), - .dec_i0_wen_r(dec_i0_wen_r), - .dec_i0_wdata_r(dec_i0_wdata_r), - .dec_i0_select_pc_d(dec_i0_select_pc_d), - .dec_i0_rs1_bypass_en_d(dec_i0_rs1_bypass_en_d), - .dec_i0_rs2_bypass_en_d(dec_i0_rs2_bypass_en_d), - .dec_i0_result_r(dec_i0_result_r), - .lsu_p(lsu_p), - .dec_qual_lsu_d(dec_qual_lsu_d), - .mul_p(mul_p), - .div_p(div_p), - .div_waddr_wb(div_waddr_wb), - .dec_div_cancel(dec_div_cancel), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .dec_lsu_offset_d(dec_lsu_offset_d), - .dec_csr_ren_d(dec_csr_ren_d), - .dec_csr_wen_unq_d(dec_csr_wen_unq_d), - .dec_csr_any_unq_d(dec_csr_any_unq_d), - .dec_csr_rdaddr_d(dec_csr_rdaddr_d), - .dec_csr_wen_r(dec_csr_wen_r), - .dec_csr_wraddr_r(dec_csr_wraddr_r), - .dec_csr_wrdata_r(dec_csr_wrdata_r), - .dec_csr_stall_int_ff(dec_csr_stall_int_ff), - .dec_tlu_i0_valid_r(dec_tlu_i0_valid_r), - .dec_tlu_packet_r(dec_tlu_packet_r), - .dec_tlu_i0_pc_r(dec_tlu_i0_pc_r), - .dec_illegal_inst(dec_illegal_inst), - .pred_correct_npc_x(pred_correct_npc_x), - .dec_i0_predict_p_d(dec_i0_predict_p_d), - .i0_predict_fghr_d(i0_predict_fghr_d), - .i0_predict_index_d(i0_predict_index_d), - .i0_predict_btag_d(i0_predict_btag_d), - .dec_fa_error_index(dec_fa_error_index), - .dec_data_en(dec_data_en), - .dec_ctl_en(dec_ctl_en), - .dec_pmu_instr_decoded(dec_pmu_instr_decoded), - .dec_pmu_decode_stall(dec_pmu_decode_stall), - .dec_pmu_presync_stall(dec_pmu_presync_stall), - .dec_pmu_postsync_stall(dec_pmu_postsync_stall), - .dec_nonblock_load_wen(dec_nonblock_load_wen), - .dec_nonblock_load_waddr(dec_nonblock_load_waddr), - .dec_pause_state(dec_pause_state), - .dec_pause_state_cg(dec_pause_state_cg), - .dec_div_active(dec_div_active), - .scan_mode(scan_mode) - ); - eb1_dec_tlu_ctl #(.pt(pt)) tlu( - .clk(clk), - .free_clk(free_clk), - .free_l2clk(free_l2clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .rst_vec(rst_vec), - .nmi_int(nmi_int), - .nmi_vec(nmi_vec), - .i_cpu_halt_req(i_cpu_halt_req), - .i_cpu_run_req(i_cpu_run_req), - .lsu_fastint_stall_any(lsu_fastint_stall_any), - .ifu_pmu_instr_aligned(ifu_pmu_instr_aligned), - .ifu_pmu_fetch_stall(ifu_pmu_fetch_stall), - .ifu_pmu_ic_miss(ifu_pmu_ic_miss), - .ifu_pmu_ic_hit(ifu_pmu_ic_hit), - .ifu_pmu_bus_error(ifu_pmu_bus_error), - .ifu_pmu_bus_busy(ifu_pmu_bus_busy), - .ifu_pmu_bus_trxn(ifu_pmu_bus_trxn), - .dec_pmu_instr_decoded(dec_pmu_instr_decoded), - .dec_pmu_decode_stall(dec_pmu_decode_stall), - .dec_pmu_presync_stall(dec_pmu_presync_stall), - .dec_pmu_postsync_stall(dec_pmu_postsync_stall), - .lsu_store_stall_any(lsu_store_stall_any), - .dma_dccm_stall_any(dma_dccm_stall_any), - .dma_iccm_stall_any(dma_iccm_stall_any), - .exu_pmu_i0_br_misp(exu_pmu_i0_br_misp), - .exu_pmu_i0_br_ataken(exu_pmu_i0_br_ataken), - .exu_pmu_i0_pc4(exu_pmu_i0_pc4), - .lsu_pmu_bus_trxn(lsu_pmu_bus_trxn), - .lsu_pmu_bus_misaligned(lsu_pmu_bus_misaligned), - .lsu_pmu_bus_error(lsu_pmu_bus_error), - .lsu_pmu_bus_busy(lsu_pmu_bus_busy), - .lsu_pmu_load_external_m(lsu_pmu_load_external_m), - .lsu_pmu_store_external_m(lsu_pmu_store_external_m), - .dma_pmu_dccm_read(dma_pmu_dccm_read), - .dma_pmu_dccm_write(dma_pmu_dccm_write), - .dma_pmu_any_read(dma_pmu_any_read), - .dma_pmu_any_write(dma_pmu_any_write), - .lsu_fir_addr(lsu_fir_addr), - .lsu_fir_error(lsu_fir_error), - .iccm_dma_sb_error(iccm_dma_sb_error), - .lsu_error_pkt_r(lsu_error_pkt_r), - .lsu_single_ecc_error_incr(lsu_single_ecc_error_incr), - .dec_pause_state(dec_pause_state), - .lsu_imprecise_error_store_any(lsu_imprecise_error_store_any), - .lsu_imprecise_error_load_any(lsu_imprecise_error_load_any), - .lsu_imprecise_error_addr_any(lsu_imprecise_error_addr_any), - .dec_csr_wen_unq_d(dec_csr_wen_unq_d), - .dec_csr_any_unq_d(dec_csr_any_unq_d), - .dec_csr_rdaddr_d(dec_csr_rdaddr_d), - .dec_csr_wen_r(dec_csr_wen_r), - .dec_csr_wraddr_r(dec_csr_wraddr_r), - .dec_csr_wrdata_r(dec_csr_wrdata_r), - .dec_csr_stall_int_ff(dec_csr_stall_int_ff), - .dec_tlu_i0_valid_r(dec_tlu_i0_valid_r), - .exu_npc_r(exu_npc_r), - .dec_tlu_i0_pc_r(dec_tlu_i0_pc_r), - .dec_tlu_packet_r(dec_tlu_packet_r), - .dec_illegal_inst(dec_illegal_inst), - .dec_i0_decode_d(dec_i0_decode_d), - .exu_i0_br_hist_r(exu_i0_br_hist_r), - .exu_i0_br_error_r(exu_i0_br_error_r), - .exu_i0_br_start_error_r(exu_i0_br_start_error_r), - .exu_i0_br_valid_r(exu_i0_br_valid_r), - .exu_i0_br_mp_r(exu_i0_br_mp_r), - .exu_i0_br_middle_r(exu_i0_br_middle_r), - .exu_i0_br_way_r(exu_i0_br_way_r), - .dec_tlu_core_empty(dec_tlu_core_empty), - .dec_dbg_cmd_done(dec_dbg_cmd_done), - .dec_dbg_cmd_fail(dec_dbg_cmd_fail), - .dec_tlu_dbg_halted(dec_tlu_dbg_halted), - .dec_tlu_debug_mode(dec_tlu_debug_mode), - .dec_tlu_resume_ack(dec_tlu_resume_ack), - .dec_tlu_debug_stall(dec_tlu_debug_stall), - .dec_tlu_flush_noredir_r(dec_tlu_flush_noredir_r), - .dec_tlu_mpc_halted_only(dec_tlu_mpc_halted_only), - .dec_tlu_flush_leak_one_r(dec_tlu_flush_leak_one_r), - .dec_tlu_flush_err_r(dec_tlu_flush_err_r), - .dec_tlu_flush_extint(dec_tlu_flush_extint), - .dec_tlu_meihap(dec_tlu_meihap), - .dbg_halt_req(dbg_halt_req), - .dbg_resume_req(dbg_resume_req), - .ifu_miss_state_idle(ifu_miss_state_idle), - .lsu_idle_any(lsu_idle_any), - .dec_div_active(dec_div_active), - .trigger_pkt_any(trigger_pkt_any), - .ifu_ic_error_start(ifu_ic_error_start), - .ifu_iccm_rd_ecc_single_err(ifu_iccm_rd_ecc_single_err), - .ifu_ic_debug_rd_data(ifu_ic_debug_rd_data), - .ifu_ic_debug_rd_data_valid(ifu_ic_debug_rd_data_valid), - .dec_tlu_ic_diag_pkt(dec_tlu_ic_diag_pkt), - .pic_claimid(pic_claimid), - .pic_pl(pic_pl), - .mhwakeup(mhwakeup), - .mexintpend(mexintpend), - .timer_int(timer_int), - .soft_int(soft_int), - .o_cpu_halt_status(o_cpu_halt_status), - .o_cpu_halt_ack(o_cpu_halt_ack), - .o_cpu_run_ack(o_cpu_run_ack), - .o_debug_mode_status(o_debug_mode_status), - .core_id(core_id), - .mpc_debug_halt_req(mpc_debug_halt_req), - .mpc_debug_run_req(mpc_debug_run_req), - .mpc_reset_run_req(mpc_reset_run_req), - .mpc_debug_halt_ack(mpc_debug_halt_ack), - .mpc_debug_run_ack(mpc_debug_run_ack), - .debug_brkpt_status(debug_brkpt_status), - .dec_tlu_meicurpl(dec_tlu_meicurpl), - .dec_tlu_meipt(dec_tlu_meipt), - .dec_csr_rddata_d(dec_csr_rddata_d), - .dec_csr_legal_d(dec_csr_legal_d), - .dec_tlu_br0_r_pkt(dec_tlu_br0_r_pkt), - .dec_tlu_i0_kill_writeb_wb(dec_tlu_i0_kill_writeb_wb), - .dec_tlu_flush_lower_wb(dec_tlu_flush_lower_wb), - .dec_tlu_i0_commit_cmt(dec_tlu_i0_commit_cmt), - .dec_tlu_i0_kill_writeb_r(dec_tlu_i0_kill_writeb_r), - .dec_tlu_flush_lower_r(dec_tlu_flush_lower_r), - .dec_tlu_flush_path_r(dec_tlu_flush_path_r), - .dec_tlu_fence_i_r(dec_tlu_fence_i_r), - .dec_tlu_wr_pause_r(dec_tlu_wr_pause_r), - .dec_tlu_flush_pause_r(dec_tlu_flush_pause_r), - .dec_tlu_presync_d(dec_tlu_presync_d), - .dec_tlu_postsync_d(dec_tlu_postsync_d), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .dec_tlu_force_halt(dec_tlu_force_halt), - .dec_tlu_perfcnt0(dec_tlu_perfcnt0), - .dec_tlu_perfcnt1(dec_tlu_perfcnt1), - .dec_tlu_perfcnt2(dec_tlu_perfcnt2), - .dec_tlu_perfcnt3(dec_tlu_perfcnt3), - .dec_tlu_i0_exc_valid_wb1(dec_tlu_i0_exc_valid_wb1), - .dec_tlu_i0_valid_wb1(dec_tlu_i0_valid_wb1), - .dec_tlu_int_valid_wb1(dec_tlu_int_valid_wb1), - .dec_tlu_exc_cause_wb1(dec_tlu_exc_cause_wb1), - .dec_tlu_mtval_wb1(dec_tlu_mtval_wb1), - .dec_tlu_external_ldfwd_disable(dec_tlu_external_ldfwd_disable), - .dec_tlu_sideeffect_posted_disable(dec_tlu_sideeffect_posted_disable), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .dec_tlu_bpred_disable(dec_tlu_bpred_disable), - .dec_tlu_wb_coalescing_disable(dec_tlu_wb_coalescing_disable), - .dec_tlu_pipelining_disable(dec_tlu_pipelining_disable), - .dec_tlu_trace_disable(dec_tlu_trace_disable), - .dec_tlu_dma_qos_prty(dec_tlu_dma_qos_prty), - .dec_tlu_misc_clk_override(dec_tlu_misc_clk_override), - .dec_tlu_dec_clk_override(dec_tlu_dec_clk_override), - .dec_tlu_ifu_clk_override(dec_tlu_ifu_clk_override), - .dec_tlu_lsu_clk_override(dec_tlu_lsu_clk_override), - .dec_tlu_bus_clk_override(dec_tlu_bus_clk_override), - .dec_tlu_pic_clk_override(dec_tlu_pic_clk_override), - .dec_tlu_picio_clk_override(dec_tlu_picio_clk_override), - .dec_tlu_dccm_clk_override(dec_tlu_dccm_clk_override), - .dec_tlu_icm_clk_override(dec_tlu_icm_clk_override) - ); - eb1_dec_gpr_ctl #(.pt(pt)) arf( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .raddr0(dec_i0_rs1_d[4:0]), - .raddr1(dec_i0_rs2_d[4:0]), - .wen0(dec_i0_wen_r), - .waddr0(dec_i0_waddr_r[4:0]), - .wd0(dec_i0_wdata_r[31:0]), - .wen1(dec_nonblock_load_wen), - .waddr1(dec_nonblock_load_waddr[4:0]), - .wd1(lsu_nonblock_load_data[31:0]), - .wen2(exu_div_wren), - .waddr2(div_waddr_wb), - .wd2(exu_div_result[31:0]), - .rd0(gpr_i0_rs1_d[31:0]), - .rd1(gpr_i0_rs2_d[31:0]) - ); - eb1_dec_trigger #(.pt(pt)) dec_trigger( - .trigger_pkt_any(trigger_pkt_any), - .dec_i0_pc_d(dec_i0_pc_d), - .dec_i0_trigger_match_d(dec_i0_trigger_match_d) - ); - assign trace_rv_trace_pkt[102-:32] = dec_i0_inst_wb[31:0]; - assign trace_rv_trace_pkt[70-:32] = {dec_i0_pc_wb[31:1], 1'b0}; - assign trace_rv_trace_pkt[103] = (dec_tlu_int_valid_wb1 | dec_tlu_i0_valid_wb1) | dec_tlu_i0_exc_valid_wb1; - assign trace_rv_trace_pkt[38] = dec_tlu_int_valid_wb1 | dec_tlu_i0_exc_valid_wb1; - assign trace_rv_trace_pkt[37-:5] = dec_tlu_exc_cause_wb1[4:0]; - assign trace_rv_trace_pkt[32] = dec_tlu_int_valid_wb1; - assign trace_rv_trace_pkt[31-:32] = dec_tlu_mtval_wb1[31:0]; -endmodule -module eb1_dec_decode_ctl ( - dec_tlu_trace_disable, - dec_debug_valid_d, - dec_tlu_flush_extint, - dec_tlu_force_halt, - dec_extint_stall, - ifu_i0_cinst, - dec_i0_inst_wb, - dec_i0_pc_wb, - lsu_nonblock_load_valid_m, - lsu_nonblock_load_tag_m, - lsu_nonblock_load_inv_r, - lsu_nonblock_load_inv_tag_r, - lsu_nonblock_load_data_valid, - lsu_nonblock_load_data_error, - lsu_nonblock_load_data_tag, - dec_i0_trigger_match_d, - dec_tlu_wr_pause_r, - dec_tlu_pipelining_disable, - lsu_trigger_match_m, - lsu_pmu_misaligned_m, - dec_tlu_debug_stall, - dec_tlu_flush_leak_one_r, - dec_debug_fence_d, - dbg_cmd_wrdata, - dec_i0_icaf_d, - dec_i0_icaf_second_d, - dec_i0_icaf_type_d, - dec_i0_dbecc_d, - dec_i0_brp, - dec_i0_bp_index, - dec_i0_bp_fghr, - dec_i0_bp_btag, - dec_i0_bp_fa_index, - lsu_idle_any, - lsu_load_stall_any, - lsu_store_stall_any, - dma_dccm_stall_any, - exu_div_wren, - dec_tlu_i0_kill_writeb_wb, - dec_tlu_flush_lower_wb, - dec_tlu_i0_kill_writeb_r, - dec_tlu_flush_lower_r, - dec_tlu_flush_pause_r, - dec_tlu_presync_d, - dec_tlu_postsync_d, - dec_i0_pc4_d, - dec_csr_rddata_d, - dec_csr_legal_d, - exu_csr_rs1_x, - lsu_result_m, - lsu_result_corr_r, - exu_flush_final, - exu_i0_pc_x, - dec_i0_instr_d, - dec_ib0_valid_d, - exu_i0_result_x, - clk, - active_clk, - free_l2clk, - clk_override, - rst_l, - dec_i0_rs1_en_d, - dec_i0_rs2_en_d, - dec_i0_rs1_d, - dec_i0_rs2_d, - dec_i0_immed_d, - dec_i0_br_immed_d, - i0_ap, - dec_i0_decode_d, - dec_i0_alu_decode_d, - dec_i0_branch_d, - dec_i0_waddr_r, - dec_i0_wen_r, - dec_i0_wdata_r, - dec_i0_select_pc_d, - dec_i0_rs1_bypass_en_d, - dec_i0_rs2_bypass_en_d, - dec_i0_result_r, - lsu_p, - dec_qual_lsu_d, - mul_p, - div_p, - div_waddr_wb, - dec_div_cancel, - dec_lsu_valid_raw_d, - dec_lsu_offset_d, - dec_csr_ren_d, - dec_csr_wen_unq_d, - dec_csr_any_unq_d, - dec_csr_rdaddr_d, - dec_csr_wen_r, - dec_csr_wraddr_r, - dec_csr_wrdata_r, - dec_csr_stall_int_ff, - dec_tlu_i0_valid_r, - dec_tlu_packet_r, - dec_tlu_i0_pc_r, - dec_illegal_inst, - pred_correct_npc_x, - dec_i0_predict_p_d, - i0_predict_fghr_d, - i0_predict_index_d, - i0_predict_btag_d, - dec_fa_error_index, - dec_data_en, - dec_ctl_en, - dec_pmu_instr_decoded, - dec_pmu_decode_stall, - dec_pmu_presync_stall, - dec_pmu_postsync_stall, - dec_nonblock_load_wen, - dec_nonblock_load_waddr, - dec_pause_state, - dec_pause_state_cg, - dec_div_active, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire dec_tlu_trace_disable; - input wire dec_debug_valid_d; - input wire dec_tlu_flush_extint; - input wire dec_tlu_force_halt; - output wire dec_extint_stall; - input wire [15:0] ifu_i0_cinst; - output wire [31:0] dec_i0_inst_wb; - output wire [31:1] dec_i0_pc_wb; - input wire lsu_nonblock_load_valid_m; - input wire [pt[164-:7] - 1:0] lsu_nonblock_load_tag_m; - input wire lsu_nonblock_load_inv_r; - input wire [pt[164-:7] - 1:0] lsu_nonblock_load_inv_tag_r; - input wire lsu_nonblock_load_data_valid; - input wire lsu_nonblock_load_data_error; - input wire [pt[164-:7] - 1:0] lsu_nonblock_load_data_tag; - input wire [3:0] dec_i0_trigger_match_d; - input wire dec_tlu_wr_pause_r; - input wire dec_tlu_pipelining_disable; - input wire [3:0] lsu_trigger_match_m; - input wire lsu_pmu_misaligned_m; - input wire dec_tlu_debug_stall; - input wire dec_tlu_flush_leak_one_r; - input wire dec_debug_fence_d; - input wire [1:0] dbg_cmd_wrdata; - input wire dec_i0_icaf_d; - input wire dec_i0_icaf_second_d; - input wire [1:0] dec_i0_icaf_type_d; - input wire dec_i0_dbecc_d; - input wire [50:0] dec_i0_brp; - input wire [pt[2172-:9]:pt[2163-:6]] dec_i0_bp_index; - input wire [pt[2236-:8] - 1:0] dec_i0_bp_fghr; - input wire [pt[2139-:9] - 1:0] dec_i0_bp_btag; - input wire [$clog2(pt[2061-:14]) - 1:0] dec_i0_bp_fa_index; - input wire lsu_idle_any; - input wire lsu_load_stall_any; - input wire lsu_store_stall_any; - input wire dma_dccm_stall_any; - input wire exu_div_wren; - input wire dec_tlu_i0_kill_writeb_wb; - input wire dec_tlu_flush_lower_wb; - input wire dec_tlu_i0_kill_writeb_r; - input wire dec_tlu_flush_lower_r; - input wire dec_tlu_flush_pause_r; - input wire dec_tlu_presync_d; - input wire dec_tlu_postsync_d; - input wire dec_i0_pc4_d; - input wire [31:0] dec_csr_rddata_d; - input wire dec_csr_legal_d; - input wire [31:0] exu_csr_rs1_x; - input wire [31:0] lsu_result_m; - input wire [31:0] lsu_result_corr_r; - input wire exu_flush_final; - input wire [31:1] exu_i0_pc_x; - input wire [31:0] dec_i0_instr_d; - input wire dec_ib0_valid_d; - input wire [31:0] exu_i0_result_x; - input wire clk; - input wire active_clk; - input wire free_l2clk; - input wire clk_override; - input wire rst_l; - output wire dec_i0_rs1_en_d; - output wire dec_i0_rs2_en_d; - output wire [4:0] dec_i0_rs1_d; - output wire [4:0] dec_i0_rs2_d; - output wire [31:0] dec_i0_immed_d; - output wire [12:1] dec_i0_br_immed_d; - output wire [43:0] i0_ap; - output wire dec_i0_decode_d; - output wire dec_i0_alu_decode_d; - output wire dec_i0_branch_d; - output wire [4:0] dec_i0_waddr_r; - output wire dec_i0_wen_r; - output wire [31:0] dec_i0_wdata_r; - output wire dec_i0_select_pc_d; - output wire [3:0] dec_i0_rs1_bypass_en_d; - output wire [3:0] dec_i0_rs2_bypass_en_d; - output wire [31:0] dec_i0_result_r; - output reg [13:0] lsu_p; - output wire dec_qual_lsu_d; - output wire [19:0] mul_p; - output wire [2:0] div_p; - output wire [4:0] div_waddr_wb; - output wire dec_div_cancel; - output wire dec_lsu_valid_raw_d; - output wire [11:0] dec_lsu_offset_d; - output wire dec_csr_ren_d; - output wire dec_csr_wen_unq_d; - output wire dec_csr_any_unq_d; - output wire [11:0] dec_csr_rdaddr_d; - output wire dec_csr_wen_r; - output wire [11:0] dec_csr_wraddr_r; - output wire [31:0] dec_csr_wrdata_r; - output wire dec_csr_stall_int_ff; - output dec_tlu_i0_valid_r; - output reg [16:0] dec_tlu_packet_r; - output wire [31:1] dec_tlu_i0_pc_r; - output wire [31:0] dec_illegal_inst; - output wire [31:1] pred_correct_npc_x; - output reg [55:0] dec_i0_predict_p_d; - output wire [pt[2236-:8] - 1:0] i0_predict_fghr_d; - output wire [pt[2172-:9]:pt[2163-:6]] i0_predict_index_d; - output wire [pt[2139-:9] - 1:0] i0_predict_btag_d; - output wire [$clog2(pt[2061-:14]) - 1:0] dec_fa_error_index; - output wire [1:0] dec_data_en; - output wire [1:0] dec_ctl_en; - output wire dec_pmu_instr_decoded; - output wire dec_pmu_decode_stall; - output wire dec_pmu_presync_stall; - output wire dec_pmu_postsync_stall; - output wire dec_nonblock_load_wen; - output reg [4:0] dec_nonblock_load_waddr; - output wire dec_pause_state; - output wire dec_pause_state_cg; - output wire dec_div_active; - input wire scan_mode; - wire [94:0] i0_dp_raw; - reg [94:0] i0_dp; - wire [31:0] i0; - wire i0_valid_d; - wire [31:0] i0_result_r; - wire [2:0] i0_rs1bypass; - wire [2:0] i0_rs2bypass; - wire i0_jalimm20; - wire i0_uiimm20; - wire lsu_decode_d; - wire [31:0] i0_immed_d; - wire i0_presync; - wire i0_postsync; - wire postsync_stall; - wire ps_stall; - wire prior_inflight; - wire prior_inflight_wb; - wire csr_clr_d; - wire csr_set_d; - wire csr_write_d; - wire csr_clr_x; - wire csr_set_x; - wire csr_write_x; - wire csr_imm_x; - wire [31:0] csr_mask_x; - wire [31:0] write_csr_data_x; - wire [31:0] write_csr_data_in; - wire [31:0] write_csr_data; - wire csr_data_wen; - wire [4:0] csrimm_x; - wire [31:0] csr_rddata_x; - wire mul_decode_d; - wire div_decode_d; - wire div_e1_to_r; - wire div_flush; - wire div_active_in; - wire div_active; - wire i0_nonblock_div_stall; - wire i0_div_prior_div_stall; - wire nonblock_div_cancel; - wire i0_legal; - wire shift_illegal; - wire illegal_inst_en; - wire illegal_lockout_in; - wire illegal_lockout; - wire i0_legal_decode_d; - wire i0_exulegal_decode_d; - wire i0_exudecode_d; - wire i0_exublock_d; - wire [12:1] last_br_immed_d; - wire i0_rs1_depend_i0_x; - wire i0_rs1_depend_i0_r; - wire i0_rs2_depend_i0_x; - wire i0_rs2_depend_i0_r; - wire i0_div_decode_d; - wire i0_load_block_d; - wire [1:0] i0_rs1_depth_d; - wire [1:0] i0_rs2_depth_d; - wire i0_load_stall_d; - wire i0_store_stall_d; - wire i0_predict_nt; - wire i0_predict_t; - wire i0_notbr_error; - wire i0_br_toffset_error; - wire i0_ret_error; - wire i0_br_error; - wire i0_br_error_all; - wire [11:0] i0_br_offset; - wire [20:1] i0_pcall_imm; - wire i0_pcall_12b_offset; - wire i0_pcall_raw; - wire i0_pcall_case; - wire i0_pcall; - wire i0_pja_raw; - wire i0_pja_case; - wire i0_pja; - wire i0_pret_case; - wire i0_pret_raw; - wire i0_pret; - wire i0_jal; - wire i0_predict_br; - wire store_data_bypass_d; - wire store_data_bypass_m; - wire [2:0] i0_rs1_class_d; - wire [2:0] i0_rs2_class_d; - wire [2:0] i0_d_c; - wire [2:0] i0_x_c; - wire [2:0] i0_r_c; - wire i0_ap_pc2; - wire i0_ap_pc4; - wire i0_rd_en_d; - wire load_ldst_bypass_d; - wire leak1_i0_stall_in; - wire leak1_i0_stall; - wire leak1_i1_stall_in; - wire leak1_i1_stall; - wire leak1_mode; - wire i0_csr_write_only_d; - wire prior_inflight_x; - wire prior_inflight_eff; - wire any_csr_d; - wire prior_csr_write; - wire [3:0] i0_pipe_en; - wire i0_r_ctl_en; - wire i0_x_ctl_en; - wire i0_wb_ctl_en; - wire i0_x_data_en; - wire i0_r_data_en; - wire i0_wb_data_en; - wire debug_fence_i; - wire debug_fence; - wire i0_csr_write; - wire presync_stall; - wire i0_instr_error; - wire i0_icaf_d; - wire clear_pause; - wire pause_state_in; - wire pause_state; - wire pause_stall; - wire i0_brp_valid; - wire nonblock_load_cancel; - wire lsu_idle; - wire lsu_pmu_misaligned_r; - wire csr_ren_qual_d; - wire csr_read_x; - wire i0_block_d; - wire i0_block_raw_d; - wire ps_stall_in; - wire [31:0] i0_result_x; - wire [23:0] d_d; - wire [23:0] x_d; - wire [23:0] r_d; - wire [23:0] wbd; - reg [23:0] x_d_in; - reg [23:0] r_d_in; - wire [16:0] d_t; - wire [16:0] x_t; - reg [16:0] x_t_in; - reg [16:0] r_t_in; - wire [16:0] r_t; - wire [3:0] lsu_trigger_match_r; - wire [31:1] dec_i0_pc_r; - wire csr_read; - wire csr_write; - wire i0_br_unpred; - wire nonblock_load_valid_m_delay; - wire i0_wen_r; - wire tlu_wr_pause_r1; - wire tlu_wr_pause_r2; - wire flush_final_r; - wire bitmanip_zbb_legal; - wire bitmanip_zbs_legal; - wire bitmanip_zbe_legal; - wire bitmanip_zbc_legal; - wire bitmanip_zbp_legal; - wire bitmanip_zbr_legal; - wire bitmanip_zbf_legal; - wire bitmanip_zba_legal; - wire bitmanip_zbb_zbp_legal; - wire bitmanip_legal; - wire data_gate_en; - wire data_gate_clk; - localparam NBLOAD_SIZE = pt[173-:9]; - function automatic signed [31:0] sv2v_cast_32_signed; - input reg signed [31:0] inp; - sv2v_cast_32_signed = inp; - endfunction - localparam NBLOAD_SIZE_MSB = sv2v_cast_32_signed(pt[173-:9]) - 1; - localparam NBLOAD_TAG_MSB = pt[164-:7] - 1; - wire cam_write; - wire cam_inv_reset; - wire cam_data_reset; - wire [NBLOAD_TAG_MSB:0] cam_write_tag; - wire [NBLOAD_TAG_MSB:0] cam_inv_reset_tag; - wire [NBLOAD_TAG_MSB:0] cam_data_reset_tag; - reg [NBLOAD_SIZE_MSB:0] cam_wen; - wire [NBLOAD_TAG_MSB:0] load_data_tag; - wire [NBLOAD_SIZE_MSB:0] nonblock_load_write; - reg [(NBLOAD_SIZE_MSB >= 0 ? ((NBLOAD_SIZE_MSB + 1) * 10) - 1 : ((1 - NBLOAD_SIZE_MSB) * 10) + ((NBLOAD_SIZE_MSB * 10) - 1)):(NBLOAD_SIZE_MSB >= 0 ? 0 : NBLOAD_SIZE_MSB * 10)] cam; - reg [(NBLOAD_SIZE_MSB >= 0 ? ((NBLOAD_SIZE_MSB + 1) * 10) - 1 : ((1 - NBLOAD_SIZE_MSB) * 10) + ((NBLOAD_SIZE_MSB * 10) - 1)):(NBLOAD_SIZE_MSB >= 0 ? 0 : NBLOAD_SIZE_MSB * 10)] cam_in; - wire [(NBLOAD_SIZE_MSB >= 0 ? ((NBLOAD_SIZE_MSB + 1) * 10) - 1 : ((1 - NBLOAD_SIZE_MSB) * 10) + ((NBLOAD_SIZE_MSB * 10) - 1)):(NBLOAD_SIZE_MSB >= 0 ? 0 : NBLOAD_SIZE_MSB * 10)] cam_raw; - wire [4:0] nonblock_load_rd; - reg i0_nonblock_load_stall; - wire i0_nonblock_boundary_stall; - wire i0_rs1_nonblock_load_bypass_en_d; - wire i0_rs2_nonblock_load_bypass_en_d; - wire i0_load_kill_wen_r; - reg found; - wire [NBLOAD_SIZE_MSB:0] cam_inv_reset_val; - wire [NBLOAD_SIZE_MSB:0] cam_data_reset_val; - wire debug_fence_raw; - wire [31:0] i0_result_r_raw; - wire [31:0] i0_result_corr_r; - wire [12:1] last_br_immed_x; - wire [31:0] i0_inst_d; - wire [31:0] i0_inst_x; - wire [31:0] i0_inst_r; - wire [31:0] i0_inst_wb_in; - wire [31:0] i0_inst_wb; - wire [31:1] i0_pc_wb; - wire i0_wb_en; - wire trace_enable; - wire debug_valid_x; - reg [3:0] i0_itype; - wire [14:0] i0r; - rvdffie #(.WIDTH(8)) misc1ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({leak1_i1_stall_in, leak1_i0_stall_in, dec_tlu_flush_extint, pause_state_in, dec_tlu_wr_pause_r, tlu_wr_pause_r1, illegal_lockout_in, ps_stall_in}), - .dout({leak1_i1_stall, leak1_i0_stall, dec_extint_stall, pause_state, tlu_wr_pause_r1, tlu_wr_pause_r2, illegal_lockout, ps_stall}) - ); - rvdffie #(.WIDTH(8)) misc2ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({lsu_trigger_match_m[3:0], lsu_pmu_misaligned_m, div_active_in, exu_flush_final, dec_debug_valid_d}), - .dout({lsu_trigger_match_r[3:0], lsu_pmu_misaligned_r, div_active, flush_final_r, debug_valid_x}) - ); - generate - if (pt[2130-:5] == 1) begin - assign i0_brp_valid = (dec_i0_brp[50] & ~leak1_mode) & ~i0_icaf_d; - wire [1:1] sv2v_tmp_123E1; - assign sv2v_tmp_123E1 = 1'b0; - always @(*) dec_i0_predict_p_d[55] = sv2v_tmp_123E1; - wire [1:1] sv2v_tmp_D766F; - assign sv2v_tmp_D766F = 1'b0; - always @(*) dec_i0_predict_p_d[54] = sv2v_tmp_D766F; - wire [1:1] sv2v_tmp_EE665; - assign sv2v_tmp_EE665 = 1'b0; - always @(*) dec_i0_predict_p_d[53] = sv2v_tmp_EE665; - wire [1:1] sv2v_tmp_4A5D3; - assign sv2v_tmp_4A5D3 = i0_pcall; - always @(*) dec_i0_predict_p_d[34] = sv2v_tmp_4A5D3; - wire [1:1] sv2v_tmp_C4472; - assign sv2v_tmp_C4472 = i0_pja; - always @(*) dec_i0_predict_p_d[33] = sv2v_tmp_C4472; - wire [1:1] sv2v_tmp_BC36C; - assign sv2v_tmp_BC36C = i0_pret; - always @(*) dec_i0_predict_p_d[31] = sv2v_tmp_BC36C; - wire [31:1] sv2v_tmp_16255; - assign sv2v_tmp_16255 = dec_i0_brp[32:2]; - always @(*) dec_i0_predict_p_d[30:0] = sv2v_tmp_16255; - wire [1:1] sv2v_tmp_CF546; - assign sv2v_tmp_CF546 = dec_i0_pc4_d; - always @(*) dec_i0_predict_p_d[52] = sv2v_tmp_CF546; - wire [2:1] sv2v_tmp_1B1F0; - assign sv2v_tmp_1B1F0 = dec_i0_brp[37:36]; - always @(*) dec_i0_predict_p_d[51:50] = sv2v_tmp_1B1F0; - wire [1:1] sv2v_tmp_3FDDA; - assign sv2v_tmp_3FDDA = i0_brp_valid & i0_legal_decode_d; - always @(*) dec_i0_predict_p_d[37] = sv2v_tmp_3FDDA; - assign i0_notbr_error = i0_brp_valid & ~(((i0_dp_raw[28] | i0_pcall_raw) | i0_pja_raw) | i0_pret_raw); - assign i0_br_toffset_error = ((i0_brp_valid & dec_i0_brp[37]) & (dec_i0_brp[49:38] != i0_br_offset[11:0])) & ~i0_pret_raw; - assign i0_ret_error = i0_brp_valid & (dec_i0_brp[0] ^ i0_pret_raw); - assign i0_br_error = ((dec_i0_brp[35] | i0_notbr_error) | i0_br_toffset_error) | i0_ret_error; - wire [1:1] sv2v_tmp_75A7E; - assign sv2v_tmp_75A7E = (i0_br_error & i0_legal_decode_d) & ~leak1_mode; - always @(*) dec_i0_predict_p_d[36] = sv2v_tmp_75A7E; - wire [1:1] sv2v_tmp_6E7A2; - assign sv2v_tmp_6E7A2 = (dec_i0_brp[34] & i0_legal_decode_d) & ~leak1_mode; - always @(*) dec_i0_predict_p_d[35] = sv2v_tmp_6E7A2; - assign i0_predict_index_d[pt[2172-:9]:pt[2163-:6]] = dec_i0_bp_index; - assign i0_predict_btag_d[pt[2139-:9] - 1:0] = dec_i0_bp_btag[pt[2139-:9] - 1:0]; - assign i0_br_error_all = (i0_br_error | dec_i0_brp[34]) & ~leak1_mode; - wire [12:1] sv2v_tmp_AC6BD; - assign sv2v_tmp_AC6BD = i0_br_offset[11:0]; - always @(*) dec_i0_predict_p_d[49:38] = sv2v_tmp_AC6BD; - assign i0_predict_fghr_d[pt[2236-:8] - 1:0] = dec_i0_bp_fghr[pt[2236-:8] - 1:0]; - wire [1:1] sv2v_tmp_11732; - assign sv2v_tmp_11732 = dec_i0_brp[1]; - always @(*) dec_i0_predict_p_d[32] = sv2v_tmp_11732; - if (pt[2120-:5]) begin - wire btb_error_found; - wire btb_error_found_f; - wire [$clog2(pt[2061-:14]) - 1:0] fa_error_index_ns; - assign btb_error_found = (i0_br_error_all | btb_error_found_f) & ~dec_tlu_flush_lower_r; - assign fa_error_index_ns = (i0_br_error_all & ~btb_error_found_f ? dec_i0_bp_fa_index : dec_fa_error_index); - rvdff #(.WIDTH($clog2(pt[2061-:14]) + 1)) btberrorfa_f( - .rst_l(rst_l), - .clk(active_clk), - .din({btb_error_found, fa_error_index_ns}), - .dout({btb_error_found_f, dec_fa_error_index}) - ); - end - else assign dec_fa_error_index = 'b0; - end - else begin - always @(*) begin - dec_i0_predict_p_d = {56 {1'sb0}}; - dec_i0_predict_p_d[34] = i0_pcall; - dec_i0_predict_p_d[33] = i0_pja; - dec_i0_predict_p_d[31] = i0_pret; - dec_i0_predict_p_d[52] = dec_i0_pc4_d; - end - assign i0_br_error_all = 1'b0; - assign i0_predict_index_d = {(pt[2172-:9] >= pt[2163-:6] ? (pt[2172-:9] - pt[2163-:6]) + 1 : (pt[2163-:6] - pt[2172-:9]) + 1) {1'sb0}}; - assign i0_predict_btag_d = {pt[2139-:9] {1'sb0}}; - assign i0_predict_fghr_d = {pt[2236-:8] {1'sb0}}; - assign i0_brp_valid = 1'b0; - end - endgenerate - assign i0_icaf_d = dec_i0_icaf_d | dec_i0_dbecc_d; - assign i0_instr_error = i0_icaf_d; - always @(*) begin - i0_dp = i0_dp_raw; - if (i0_br_error_all | i0_instr_error) begin - i0_dp = {95 {1'sb0}}; - i0_dp[49] = 1'b1; - i0_dp[48] = 1'b1; - i0_dp[47] = 1'b1; - i0_dp[35] = 1'b1; - i0_dp[0] = 1'b1; - i0_dp[13] = 1'b1; - end - end - assign i0[31:0] = dec_i0_instr_d[31:0]; - assign dec_i0_select_pc_d = i0_dp[42]; - assign i0_predict_br = ((i0_dp[28] | i0_pcall) | i0_pja) | i0_pret; - assign i0_predict_nt = ~(dec_i0_brp[37] & i0_brp_valid) & i0_predict_br; - assign i0_predict_t = (dec_i0_brp[37] & i0_brp_valid) & i0_predict_br; - assign i0_ap[8] = i0_dp[38]; - assign i0_ap[7] = i0_dp[37]; - assign i0_ap[18] = i0_dp[36]; - assign i0_ap[17] = i0_dp[35]; - assign i0_ap[16] = i0_dp[34]; - assign i0_ap[15] = i0_dp[33]; - assign i0_ap[14] = i0_dp[31]; - assign i0_ap[13] = i0_dp[32]; - assign i0_ap[6] = i0_dp[30]; - assign i0_ap[5] = i0_dp[29]; - assign i0_ap[12] = i0_dp[27]; - assign i0_ap[11] = i0_dp[26]; - assign i0_ap[10] = i0_dp[24]; - assign i0_ap[9] = i0_dp[25]; - assign i0_ap[43] = i0_dp[94]; - assign i0_ap[42] = i0_dp[93]; - assign i0_ap[41] = i0_dp[92]; - assign i0_ap[40] = i0_dp[91]; - assign i0_ap[39] = i0_dp[90]; - assign i0_ap[22] = i0_dp[53]; - assign i0_ap[21] = i0_dp[52]; - assign i0_ap[20] = i0_dp[51]; - assign i0_ap[19] = i0_dp[50]; - assign i0_ap[38] = i0_dp[89]; - assign i0_ap[37] = i0_dp[88]; - assign i0_ap[36] = i0_dp[87]; - assign i0_ap[35] = i0_dp[86]; - assign i0_ap[34] = i0_dp[85]; - assign i0_ap[33] = i0_dp[84]; - assign i0_ap[32] = i0_dp[83]; - assign i0_ap[31] = i0_dp[82]; - assign i0_ap[30] = i0_dp[81]; - assign i0_ap[29] = i0_dp[80]; - assign i0_ap[28] = i0_dp[79]; - assign i0_ap[27] = i0_dp[78]; - assign i0_ap[26] = i0_dp[77]; - assign i0_ap[25] = i0_dp[76]; - assign i0_ap[24] = i0_dp[75]; - assign i0_ap[23] = i0_dp[74]; - assign i0_ap[1] = i0_csr_write_only_d; - assign i0_ap[0] = i0_dp[15]; - assign i0_ap[4] = i0_jal; - assign i0_ap_pc2 = ~dec_i0_pc4_d; - assign i0_ap_pc4 = dec_i0_pc4_d; - assign i0_ap[2] = i0_predict_nt; - assign i0_ap[3] = i0_predict_t; - always @(*) begin - found = 0; - cam_wen[NBLOAD_SIZE_MSB:0] = {(NBLOAD_SIZE_MSB >= 0 ? NBLOAD_SIZE_MSB + 1 : 1 - NBLOAD_SIZE_MSB) {1'sb0}}; - begin : sv2v_autoblock_37 - reg signed [31:0] i; - for (i = 0; i < NBLOAD_SIZE; i = i + 1) - if (~found) begin - if (~cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]) begin - cam_wen[i] = cam_write; - found = 1'b1; - end - else - cam_wen[i] = 0; - end - else - cam_wen[i] = 0; - end - end - assign cam_write = lsu_nonblock_load_valid_m; - assign cam_write_tag[NBLOAD_TAG_MSB:0] = lsu_nonblock_load_tag_m[NBLOAD_TAG_MSB:0]; - assign cam_inv_reset = lsu_nonblock_load_inv_r; - assign cam_inv_reset_tag[NBLOAD_TAG_MSB:0] = lsu_nonblock_load_inv_tag_r[NBLOAD_TAG_MSB:0]; - assign cam_data_reset = lsu_nonblock_load_data_valid | lsu_nonblock_load_data_error; - assign cam_data_reset_tag[NBLOAD_TAG_MSB:0] = lsu_nonblock_load_data_tag[NBLOAD_TAG_MSB:0]; - assign nonblock_load_rd[4:0] = (x_d[3] ? x_d[8:4] : 5'b00000); - generate - genvar i; - for (i = 0; i < NBLOAD_SIZE; i = i + 1) begin : cam_array - assign cam_inv_reset_val[i] = (cam_inv_reset & (cam_inv_reset_tag[NBLOAD_TAG_MSB:0] == cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + ((5 + NBLOAD_TAG_MSB) >= 5 ? 5 + NBLOAD_TAG_MSB : ((5 + NBLOAD_TAG_MSB) + ((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))) - 1)-:((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))])) & cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]; - assign cam_data_reset_val[i] = (cam_data_reset & (cam_data_reset_tag[NBLOAD_TAG_MSB:0] == cam_raw[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + ((5 + NBLOAD_TAG_MSB) >= 5 ? 5 + NBLOAD_TAG_MSB : ((5 + NBLOAD_TAG_MSB) + ((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))) - 1)-:((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))])) & cam_raw[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]; - always @(*) begin - cam[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10] = cam_raw[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10]; - if (cam_data_reset_val[i]) - cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9] = 1'b0; - cam_in[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10] = {10 {1'sb0}}; - if (cam_wen[i]) begin - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9] = 1'b1; - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 8] = 1'b0; - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + ((5 + NBLOAD_TAG_MSB) >= 5 ? 5 + NBLOAD_TAG_MSB : ((5 + NBLOAD_TAG_MSB) + ((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))) - 1)-:((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))] = cam_write_tag[NBLOAD_TAG_MSB:0]; - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 4-:5] = nonblock_load_rd[4:0]; - end - else if (cam_inv_reset_val[i] | ((i0_wen_r & (r_d_in[8:4] == cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 4-:5])) & cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 8])) - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9] = 1'b0; - else - cam_in[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10] = cam[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10]; - if ((nonblock_load_valid_m_delay & (lsu_nonblock_load_inv_tag_r[NBLOAD_TAG_MSB:0] == cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + ((5 + NBLOAD_TAG_MSB) >= 5 ? 5 + NBLOAD_TAG_MSB : ((5 + NBLOAD_TAG_MSB) + ((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))) - 1)-:((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))])) & cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]) - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 8] = 1'b1; - if (dec_tlu_force_halt) - cam_in[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9] = 1'b0; - end - rvdffie #(.WIDTH(10)) cam_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(cam_in[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10]), - .dout(cam_raw[(NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10+:10]) - ); - assign nonblock_load_write[i] = (load_data_tag[NBLOAD_TAG_MSB:0] == cam_raw[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + ((5 + NBLOAD_TAG_MSB) >= 5 ? 5 + NBLOAD_TAG_MSB : ((5 + NBLOAD_TAG_MSB) + ((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))) - 1)-:((5 + NBLOAD_TAG_MSB) >= 5 ? (5 + NBLOAD_TAG_MSB) - 4 : 6 - (5 + NBLOAD_TAG_MSB))]) & cam_raw[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]; - end - endgenerate - assign load_data_tag[NBLOAD_TAG_MSB:0] = lsu_nonblock_load_data_tag[NBLOAD_TAG_MSB:0]; - assign nonblock_load_cancel = (r_d_in[8:4] == dec_nonblock_load_waddr[4:0]) & i0_wen_r; - assign dec_nonblock_load_wen = (lsu_nonblock_load_data_valid & |nonblock_load_write[NBLOAD_SIZE_MSB:0]) & ~nonblock_load_cancel; - always @(*) begin - dec_nonblock_load_waddr[4:0] = {5 {1'sb0}}; - i0_nonblock_load_stall = i0_nonblock_boundary_stall; - begin : sv2v_autoblock_38 - reg signed [31:0] i; - for (i = 0; i < NBLOAD_SIZE; i = i + 1) - begin - dec_nonblock_load_waddr[4:0] = dec_nonblock_load_waddr[4:0] | ({5 {nonblock_load_write[i]}} & cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 4-:5]); - i0_nonblock_load_stall = i0_nonblock_load_stall | ((dec_i0_rs1_en_d & cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]) & (cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 4-:5] == i0r[14:10])); - i0_nonblock_load_stall = i0_nonblock_load_stall | ((dec_i0_rs2_en_d & cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 9]) & (cam[((NBLOAD_SIZE_MSB >= 0 ? i : NBLOAD_SIZE_MSB - i) * 10) + 4-:5] == i0r[9:5])); - end - end - end - assign i0_nonblock_boundary_stall = (((nonblock_load_rd[4:0] == i0r[14:10]) & lsu_nonblock_load_valid_m) & dec_i0_rs1_en_d) | (((nonblock_load_rd[4:0] == i0r[9:5]) & lsu_nonblock_load_valid_m) & dec_i0_rs2_en_d); - rvdffs #(.WIDTH(1)) wbnbloaddelayff( - .rst_l(rst_l), - .clk(active_clk), - .en(i0_r_ctl_en), - .din(lsu_nonblock_load_valid_m), - .dout(nonblock_load_valid_m_delay) - ); - assign i0_load_kill_wen_r = nonblock_load_valid_m_delay & r_d[3]; - assign csr_read = csr_ren_qual_d; - assign csr_write = dec_csr_wen_unq_d; - assign i0_br_unpred = i0_dp[23] & ~i0_predict_br; - localparam [3:0] eb1_pkg_ALU = 4'b0100; - localparam [3:0] eb1_pkg_BITMANIPU = 4'b1111; - localparam [3:0] eb1_pkg_CONDBR = 4'b1101; - localparam [3:0] eb1_pkg_CSRREAD = 4'b0101; - localparam [3:0] eb1_pkg_CSRRW = 4'b0111; - localparam [3:0] eb1_pkg_CSRWRITE = 4'b0110; - localparam [3:0] eb1_pkg_EBREAK = 4'b1000; - localparam [3:0] eb1_pkg_ECALL = 4'b1001; - localparam [3:0] eb1_pkg_FENCE = 4'b1010; - localparam [3:0] eb1_pkg_FENCEI = 4'b1011; - localparam [3:0] eb1_pkg_JAL = 4'b1110; - localparam [3:0] eb1_pkg_LOAD = 4'b0010; - localparam [3:0] eb1_pkg_MRET = 4'b1100; - localparam [3:0] eb1_pkg_MUL = 4'b0001; - localparam [3:0] eb1_pkg_NULL = 4'b0000; - localparam [3:0] eb1_pkg_STORE = 4'b0011; - always @(*) begin - i0_itype = eb1_pkg_NULL; - if (i0_legal_decode_d) begin - if (i0_dp[9]) - i0_itype = eb1_pkg_MUL; - if (i0_dp[41]) - i0_itype = eb1_pkg_LOAD; - if (i0_dp[40]) - i0_itype = eb1_pkg_STORE; - if (i0_dp[1]) - i0_itype = eb1_pkg_ALU; - if (((((((i0_dp[78] | i0_dp[73]) | i0_dp[70]) | i0_dp[66]) | i0_dp[63]) | i0_dp[56]) | i0_dp[54]) | i0_dp[50]) - i0_itype = eb1_pkg_BITMANIPU; - if (csr_read & ~csr_write) - i0_itype = eb1_pkg_CSRREAD; - if (~csr_read & csr_write) - i0_itype = eb1_pkg_CSRWRITE; - if (csr_read & csr_write) - i0_itype = eb1_pkg_CSRRW; - if (i0_dp[12]) - i0_itype = eb1_pkg_EBREAK; - if (i0_dp[11]) - i0_itype = eb1_pkg_ECALL; - if (i0_dp[3]) - i0_itype = eb1_pkg_FENCE; - if (i0_dp[2]) - i0_itype = eb1_pkg_FENCEI; - if (i0_dp[10]) - i0_itype = eb1_pkg_MRET; - if (i0_dp[28]) - i0_itype = eb1_pkg_CONDBR; - if (i0_dp[23]) - i0_itype = eb1_pkg_JAL; - end - end - eb1_dec_dec_ctl i0_dec( - .inst(i0[31:0]), - .out(i0_dp_raw) - ); - rvdff #(.WIDTH(1)) lsu_idle_ff( - .rst_l(rst_l), - .clk(active_clk), - .din(lsu_idle_any), - .dout(lsu_idle) - ); - assign leak1_i1_stall_in = dec_tlu_flush_leak_one_r | (leak1_i1_stall & ~dec_tlu_flush_lower_r); - assign leak1_mode = leak1_i1_stall; - assign leak1_i0_stall_in = (dec_i0_decode_d & leak1_i1_stall) | (leak1_i0_stall & ~dec_tlu_flush_lower_r); - assign i0_pcall_imm[20:1] = {i0[31], i0[19:12], i0[20], i0[30:21]}; - assign i0_pcall_12b_offset = (i0_pcall_imm[12] ? i0_pcall_imm[20:13] == 8'hff : i0_pcall_imm[20:13] == 8'h00); - assign i0_pcall_case = (i0_pcall_12b_offset & i0_dp_raw[43]) & ((i0r[4:0] == 5'd1) | (i0r[4:0] == 5'd5)); - assign i0_pja_case = (i0_pcall_12b_offset & i0_dp_raw[43]) & ~((i0r[4:0] == 5'd1) | (i0r[4:0] == 5'd5)); - assign i0_pcall_raw = i0_dp_raw[23] & i0_pcall_case; - assign i0_pcall = i0_dp[23] & i0_pcall_case; - assign i0_pja_raw = i0_dp_raw[23] & i0_pja_case; - assign i0_pja = i0_dp[23] & i0_pja_case; - assign i0_br_offset[11:0] = (i0_pcall_raw | i0_pja_raw ? i0_pcall_imm[12:1] : {i0[31], i0[7], i0[30:25], i0[11:8]}); - assign i0_pret_case = ((i0_dp_raw[23] & i0_dp_raw[46]) & (i0r[4:0] == 5'b00000)) & ((i0r[14:10] == 5'd1) | (i0r[14:10] == 5'd5)); - assign i0_pret_raw = i0_dp_raw[23] & i0_pret_case; - assign i0_pret = i0_dp[23] & i0_pret_case; - assign i0_jal = ((i0_dp[23] & ~i0_pcall_case) & ~i0_pja_case) & ~i0_pret_case; - assign dec_lsu_offset_d[11:0] = ({12 {(~dec_extint_stall & i0_dp[39]) & i0_dp[41]}} & i0[31:20]) | ({12 {(~dec_extint_stall & i0_dp[39]) & i0_dp[40]}} & {i0[31:25], i0[11:7]}); - assign div_p[2] = div_decode_d; - assign div_p[1] = i0_dp[29]; - assign div_p[0] = i0_dp[4]; - assign mul_p[19] = mul_decode_d; - assign mul_p[18] = i0_dp[8]; - assign mul_p[17] = i0_dp[7]; - assign mul_p[16] = i0_dp[6]; - assign mul_p[15] = i0_dp[72]; - assign mul_p[14] = i0_dp[71]; - assign mul_p[13] = i0_dp[69]; - assign mul_p[12] = i0_dp[68]; - assign mul_p[11] = i0_dp[67]; - assign mul_p[10] = i0_dp[80]; - assign mul_p[9] = i0_dp[79]; - assign mul_p[8] = i0_dp[65]; - assign mul_p[7] = i0_dp[64]; - assign mul_p[6] = i0_dp[62]; - assign mul_p[5] = i0_dp[61]; - assign mul_p[4] = i0_dp[60]; - assign mul_p[3] = i0_dp[59]; - assign mul_p[2] = i0_dp[58]; - assign mul_p[1] = i0_dp[57]; - assign mul_p[0] = i0_dp[55]; - always @(*) begin - lsu_p = {14 {1'sb0}}; - if (dec_extint_stall) begin - lsu_p[7] = 1'b1; - lsu_p[9] = 1'b1; - lsu_p[13] = 1'b1; - lsu_p[0] = 1'b1; - end - else begin - lsu_p[0] = lsu_decode_d; - lsu_p[7] = i0_dp[41]; - lsu_p[6] = i0_dp[40]; - lsu_p[11] = i0_dp[22]; - lsu_p[10] = i0_dp[21]; - lsu_p[9] = i0_dp[20]; - lsu_p[12] = i0r[14:10] == 5'd2; - lsu_p[2] = load_ldst_bypass_d; - lsu_p[3] = store_data_bypass_d; - lsu_p[1] = store_data_bypass_m; - lsu_p[5] = i0_dp[29]; - end - end - assign dec_lsu_valid_raw_d = (((i0_valid_d & (i0_dp_raw[41] | i0_dp_raw[40])) & ~dma_dccm_stall_any) & ~i0_block_raw_d) | dec_extint_stall; - assign i0r[14:10] = i0[19:15]; - assign i0r[9:5] = i0[24:20]; - assign i0r[4:0] = i0[11:7]; - assign dec_i0_rs1_en_d = i0_dp[48] & (i0r[14:10] != 5'd0); - assign dec_i0_rs2_en_d = i0_dp[47] & (i0r[9:5] != 5'd0); - assign i0_rd_en_d = i0_dp[45] & (i0r[4:0] != 5'd0); - assign dec_i0_rs1_d[4:0] = i0r[14:10]; - assign dec_i0_rs2_d[4:0] = i0r[9:5]; - assign i0_jalimm20 = i0_dp[23] & i0_dp[43]; - assign i0_uiimm20 = ~i0_dp[23] & i0_dp[43]; - assign dec_csr_ren_d = i0_dp[19] & i0_valid_d; - assign csr_ren_qual_d = i0_dp[19] & i0_legal_decode_d; - assign csr_clr_d = i0_dp[18] & i0_legal_decode_d; - assign csr_set_d = i0_dp[17] & i0_legal_decode_d; - assign csr_write_d = i0_csr_write & i0_legal_decode_d; - assign i0_csr_write_only_d = i0_csr_write & ~i0_dp[19]; - assign dec_csr_wen_unq_d = ((i0_dp[18] | i0_dp[17]) | i0_csr_write) & i0_valid_d; - assign dec_csr_any_unq_d = any_csr_d & i0_valid_d; - assign dec_csr_rdaddr_d[11:0] = {12 {dec_csr_any_unq_d}} & i0[31:20]; - assign dec_csr_wraddr_r[11:0] = {12 {r_d[22] & r_d[0]}} & r_d[20:9]; - assign dec_csr_wen_r = (r_d[22] & r_d[0]) & ~dec_tlu_i0_kill_writeb_r; - assign dec_csr_stall_int_ff = ((((r_d[20:9] == 12'h300) | (r_d[20:9] == 12'h304)) & r_d[22]) & r_d[0]) & ~dec_tlu_i0_kill_writeb_wb; - rvdff #(.WIDTH(5)) csrmiscff( - .rst_l(rst_l), - .clk(active_clk), - .din({csr_ren_qual_d, csr_clr_d, csr_set_d, csr_write_d, i0_dp[15]}), - .dout({csr_read_x, csr_clr_x, csr_set_x, csr_write_x, csr_imm_x}) - ); - rvdffe #(.WIDTH(37)) csr_rddata_x_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_x_data_en & any_csr_d), - .din({i0[19:15], dec_csr_rddata_d[31:0]}), - .dout({csrimm_x[4:0], csr_rddata_x[31:0]}) - ); - assign csr_mask_x[31:0] = ({32 {csr_imm_x}} & {27'b000000000000000000000000000, csrimm_x[4:0]}) | ({32 {~csr_imm_x}} & exu_csr_rs1_x[31:0]); - assign write_csr_data_x[31:0] = (({32 {csr_clr_x}} & (csr_rddata_x[31:0] & ~csr_mask_x[31:0])) | ({32 {csr_set_x}} & (csr_rddata_x[31:0] | csr_mask_x[31:0]))) | ({32 {csr_write_x}} & csr_mask_x[31:0]); - assign clear_pause = (dec_tlu_flush_lower_r & ~dec_tlu_flush_pause_r) | (pause_state & (write_csr_data[31:1] == 31'b0000000000000000000000000000000)); - assign pause_state_in = (dec_tlu_wr_pause_r | pause_state) & ~clear_pause; - assign dec_pause_state = pause_state; - assign dec_pause_state_cg = (pause_state & ~tlu_wr_pause_r1) & ~tlu_wr_pause_r2; - assign csr_data_wen = ((((csr_clr_x | csr_set_x) | csr_write_x) & csr_read_x) | dec_tlu_wr_pause_r) | pause_state; - assign write_csr_data_in[31:0] = (pause_state ? write_csr_data[31:0] - 32'b00000000000000000000000000000001 : (dec_tlu_wr_pause_r ? dec_csr_wrdata_r[31:0] : write_csr_data_x[31:0])); - rvdffe #(.WIDTH(32)) write_csr_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(csr_data_wen), - .din(write_csr_data_in[31:0]), - .dout(write_csr_data[31:0]) - ); - assign pause_stall = pause_state; - assign dec_csr_wrdata_r[31:0] = (r_d[21] & r_d[0] ? i0_result_corr_r[31:0] : write_csr_data[31:0]); - assign dec_i0_immed_d[31:0] = i0_immed_d[31:0]; - assign i0_immed_d[31:0] = (((({32 {i0_dp[46]}} & {{20 {i0[31]}}, i0[31:20]}) | ({32 {i0_dp[44]}} & {27'b000000000000000000000000000, i0[24:20]})) | ({32 {i0_jalimm20}} & {{12 {i0[31]}}, i0[19:12], i0[20], i0[30:21], 1'b0})) | ({32 {i0_uiimm20}} & {i0[31:12], 12'b000000000000})) | ({32 {i0_csr_write_only_d & i0_dp[15]}} & {27'b000000000000000000000000000, i0[19:15]}); - assign dec_i0_br_immed_d[12:1] = (i0_ap[2] & ~i0_dp[23] ? i0_br_offset[11:0] : {10'b0000000000, i0_ap_pc4, i0_ap_pc2}); - assign last_br_immed_d[12:1] = (i0_ap[2] ? {10'b0000000000, i0_ap_pc4, i0_ap_pc2} : i0_br_offset[11:0]); - assign i0_valid_d = dec_ib0_valid_d; - assign i0_load_stall_d = i0_dp[41] & (lsu_load_stall_any | dma_dccm_stall_any); - assign i0_store_stall_d = i0_dp[40] & (lsu_store_stall_any | dma_dccm_stall_any); - assign i0_presync = (((i0_dp[14] | dec_tlu_presync_d) | debug_fence_i) | debug_fence_raw) | dec_tlu_pipelining_disable; - assign i0_postsync = ((i0_dp[13] | dec_tlu_postsync_d) | debug_fence_i) | (i0_csr_write_only_d & (i0[31:20] == 12'h7c2)); - assign debug_fence_i = dec_debug_fence_d & dbg_cmd_wrdata[0]; - assign debug_fence_raw = dec_debug_fence_d & dbg_cmd_wrdata[1]; - assign debug_fence = debug_fence_raw | debug_fence_i; - assign i0_csr_write = i0_dp[16] & ~dec_debug_fence_d; - assign presync_stall = i0_presync & prior_inflight_eff; - assign prior_inflight_eff = (i0_dp[5] ? prior_inflight_x : prior_inflight); - assign i0_div_prior_div_stall = i0_dp[5] & div_active; - assign i0_block_raw_d = (((((((((((i0_dp[19] & prior_csr_write) | dec_extint_stall) | pause_stall) | leak1_i0_stall) | dec_tlu_debug_stall) | postsync_stall) | presync_stall) | ((i0_dp[3] | debug_fence) & ~lsu_idle)) | i0_nonblock_load_stall) | i0_load_block_d) | i0_nonblock_div_stall) | i0_div_prior_div_stall; - assign i0_block_d = (i0_block_raw_d | i0_store_stall_d) | i0_load_stall_d; - assign i0_exublock_d = i0_block_raw_d; - assign prior_csr_write = (x_d[21] | r_d[21]) | wbd[21]; - generate - if (pt[2207-:5] == 1) begin - assign bitmanip_zbb_legal = 1'b1; - end - else assign bitmanip_zbb_legal = ~(i0_dp[78] & ~i0_dp[63]); - endgenerate - generate - if (pt[2177-:5] == 1) begin - assign bitmanip_zbs_legal = 1'b1; - end - else assign bitmanip_zbs_legal = ~i0_dp[73]; - endgenerate - generate - if (pt[2197-:5] == 1) begin - assign bitmanip_zbe_legal = 1'b1; - end - else assign bitmanip_zbe_legal = ~i0_dp[70]; - endgenerate - generate - if (pt[2202-:5] == 1) begin - assign bitmanip_zbc_legal = 1'b1; - end - else assign bitmanip_zbc_legal = ~i0_dp[66]; - endgenerate - generate - if (pt[2187-:5] == 1) begin - assign bitmanip_zbp_legal = 1'b1; - end - else assign bitmanip_zbp_legal = ~(i0_dp[63] & ~i0_dp[78]); - endgenerate - generate - if (pt[2182-:5] == 1) begin - assign bitmanip_zbr_legal = 1'b1; - end - else assign bitmanip_zbr_legal = ~i0_dp[56]; - endgenerate - generate - if (pt[2192-:5] == 1) begin - assign bitmanip_zbf_legal = 1'b1; - end - else assign bitmanip_zbf_legal = ~i0_dp[54]; - endgenerate - generate - if (pt[2212-:5] == 1) begin - assign bitmanip_zba_legal = 1'b1; - end - else assign bitmanip_zba_legal = ~i0_dp[50]; - endgenerate - generate - if ((pt[2207-:5] == 1) | (pt[2187-:5] == 1)) begin - assign bitmanip_zbb_zbp_legal = 1'b1; - end - else assign bitmanip_zbb_zbp_legal = ~(i0_dp[78] & i0_dp[63]); - endgenerate - assign any_csr_d = i0_dp[19] | i0_csr_write; - assign bitmanip_legal = (((((((bitmanip_zbb_legal & bitmanip_zbs_legal) & bitmanip_zbe_legal) & bitmanip_zbc_legal) & bitmanip_zbp_legal) & bitmanip_zbr_legal) & bitmanip_zbf_legal) & bitmanip_zba_legal) & bitmanip_zbb_zbp_legal; - assign i0_legal = (i0_dp[0] & (~any_csr_d | dec_csr_legal_d)) & bitmanip_legal; - assign shift_illegal = dec_i0_decode_d & ~i0_legal; - assign illegal_inst_en = shift_illegal & ~illegal_lockout; - rvdffe #(.WIDTH(32)) illegal_any_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(illegal_inst_en), - .din(i0_inst_d[31:0]), - .dout(dec_illegal_inst[31:0]) - ); - assign illegal_lockout_in = (shift_illegal | illegal_lockout) & ~flush_final_r; - assign dec_i0_decode_d = ((i0_valid_d & ~i0_block_d) & ~dec_tlu_flush_lower_r) & ~flush_final_r; - assign i0_exudecode_d = ((i0_valid_d & ~i0_exublock_d) & ~dec_tlu_flush_lower_r) & ~flush_final_r; - assign i0_legal_decode_d = dec_i0_decode_d & i0_legal; - assign i0_exulegal_decode_d = i0_exudecode_d & i0_legal; - assign dec_pmu_instr_decoded = dec_i0_decode_d; - assign dec_pmu_decode_stall = i0_valid_d & ~dec_i0_decode_d; - assign dec_pmu_postsync_stall = postsync_stall & i0_valid_d; - assign dec_pmu_presync_stall = presync_stall & i0_valid_d; - assign ps_stall_in = (dec_i0_decode_d & (i0_postsync | ~i0_legal)) | (ps_stall & prior_inflight_x); - assign postsync_stall = ps_stall; - assign prior_inflight_x = x_d[0]; - assign prior_inflight_wb = r_d[0]; - assign prior_inflight = prior_inflight_x | prior_inflight_wb; - assign dec_i0_alu_decode_d = i0_exulegal_decode_d & i0_dp[49]; - assign dec_i0_branch_d = (i0_dp[28] | i0_dp[23]) | i0_br_error_all; - assign lsu_decode_d = i0_legal_decode_d & i0_dp[39]; - assign mul_decode_d = i0_exulegal_decode_d & i0_dp[9]; - assign div_decode_d = i0_exulegal_decode_d & i0_dp[5]; - assign dec_qual_lsu_d = i0_dp[39]; - assign i0_rs1_depend_i0_x = (dec_i0_rs1_en_d & x_d[1]) & (x_d[8:4] == i0r[14:10]); - assign i0_rs1_depend_i0_r = (dec_i0_rs1_en_d & r_d[1]) & (r_d[8:4] == i0r[14:10]); - assign i0_rs2_depend_i0_x = (dec_i0_rs2_en_d & x_d[1]) & (x_d[8:4] == i0r[9:5]); - assign i0_rs2_depend_i0_r = (dec_i0_rs2_en_d & r_d[1]) & (r_d[8:4] == i0r[9:5]); - assign {i0_rs1_class_d, i0_rs1_depth_d[1:0]} = (i0_rs1_depend_i0_x ? {i0_x_c, 2'd1} : (i0_rs1_depend_i0_r ? {i0_r_c, 2'd2} : {5 {1'sb0}})); - assign {i0_rs2_class_d, i0_rs2_depth_d[1:0]} = (i0_rs2_depend_i0_x ? {i0_x_c, 2'd1} : (i0_rs2_depend_i0_r ? {i0_r_c, 2'd2} : {5 {1'sb0}})); - generate - if (pt[202-:5] == 1) begin : genblock - assign i0_load_block_d = (i0_rs1_class_d[1] & i0_rs1_depth_d[0]) | ((i0_rs2_class_d[1] & i0_rs2_depth_d[0]) & ~i0_dp[40]); - assign load_ldst_bypass_d = ((i0_dp[41] | i0_dp[40]) & i0_rs1_depth_d[1]) & i0_rs1_class_d[1]; - assign store_data_bypass_d = (i0_dp[40] & i0_rs2_depth_d[1]) & i0_rs2_class_d[1]; - assign store_data_bypass_m = (i0_dp[40] & i0_rs2_depth_d[0]) & i0_rs2_class_d[1]; - end - else begin : genblock - assign i0_load_block_d = 1'b0; - assign load_ldst_bypass_d = ((i0_dp[41] | i0_dp[40]) & i0_rs1_depth_d[0]) & i0_rs1_class_d[1]; - assign store_data_bypass_d = (i0_dp[40] & i0_rs2_depth_d[0]) & i0_rs2_class_d[1]; - assign store_data_bypass_m = 1'b0; - end - endgenerate - assign dec_tlu_i0_valid_r = r_d[0] & ~dec_tlu_flush_lower_wb; - assign d_t[5] = i0_legal_decode_d; - assign d_t[16] = i0_icaf_d & i0_legal_decode_d; - assign d_t[15] = dec_i0_icaf_second_d & i0_legal_decode_d; - assign d_t[14:13] = dec_i0_icaf_type_d[1:0]; - assign d_t[12] = (i0_dp[2] | debug_fence_i) & i0_legal_decode_d; - assign d_t[3-:4] = i0_itype; - assign d_t[7] = i0_br_unpred; - assign d_t[6] = 1'b0; - assign d_t[4] = 1'b0; - assign d_t[11:8] = dec_i0_trigger_match_d[3:0] & {4 {dec_i0_decode_d}}; - rvdfflie #( - .WIDTH(17), - .LEFT(9) - ) trap_xff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_x_ctl_en), - .din(d_t), - .dout(x_t) - ); - always @(*) begin - x_t_in = x_t; - x_t_in[11:8] = x_t[11-:4] & ~{4 {dec_tlu_flush_lower_wb}}; - end - rvdfflie #( - .WIDTH(17), - .LEFT(9) - ) trap_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_x_ctl_en), - .din(x_t_in), - .dout(r_t) - ); - always @(*) begin - r_t_in = r_t; - r_t_in[11:8] = ({4 {r_d[3] | r_d[2]}} & lsu_trigger_match_r[3:0]) | r_t[11:8]; - r_t_in[4] = lsu_pmu_misaligned_r; - if (dec_tlu_flush_lower_wb) - r_t_in = {17 {1'sb0}}; - end - always @(*) begin - dec_tlu_packet_r = r_t_in; - dec_tlu_packet_r[6] = r_d[23] & r_d[0]; - end - assign i0_d_c[2] = i0_dp[9] & i0_legal_decode_d; - assign i0_d_c[1] = i0_dp[41] & i0_legal_decode_d; - assign i0_d_c[0] = i0_dp[49] & i0_legal_decode_d; - rvdffs #(.WIDTH(3)) i0_x_c_ff( - .rst_l(rst_l), - .en(i0_x_ctl_en), - .clk(active_clk), - .din(i0_d_c), - .dout(i0_x_c) - ); - rvdffs #(.WIDTH(3)) i0_r_c_ff( - .rst_l(rst_l), - .en(i0_r_ctl_en), - .clk(active_clk), - .din(i0_x_c), - .dout(i0_r_c) - ); - assign d_d[8:4] = i0r[4:0]; - assign d_d[1] = i0_rd_en_d & i0_legal_decode_d; - assign d_d[0] = dec_i0_decode_d; - assign d_d[3] = i0_dp[41] & i0_legal_decode_d; - assign d_d[2] = i0_dp[40] & i0_legal_decode_d; - assign d_d[23] = i0_dp[5] & i0_legal_decode_d; - assign d_d[22] = dec_csr_wen_unq_d & i0_legal_decode_d; - assign d_d[21] = i0_csr_write_only_d & dec_i0_decode_d; - assign d_d[20:9] = (d_d[22] ? i0[31:20] : {12 {1'sb0}}); - rvdff #(.WIDTH(3)) i0cgff( - .rst_l(rst_l), - .clk(active_clk), - .din(i0_pipe_en[3:1]), - .dout(i0_pipe_en[2:0]) - ); - assign i0_pipe_en[3] = dec_i0_decode_d; - assign i0_x_ctl_en = |i0_pipe_en[3:2] | clk_override; - assign i0_r_ctl_en = |i0_pipe_en[2:1] | clk_override; - assign i0_wb_ctl_en = |i0_pipe_en[1:0] | clk_override; - assign i0_x_data_en = i0_pipe_en[3] | clk_override; - assign i0_r_data_en = i0_pipe_en[2] | clk_override; - assign i0_wb_data_en = i0_pipe_en[1] | clk_override; - assign dec_data_en[1:0] = {i0_x_data_en, i0_r_data_en}; - assign dec_ctl_en[1:0] = {i0_x_ctl_en, i0_r_ctl_en}; - rvdfflie #( - .WIDTH(24), - .LEFT(15) - ) e1ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_x_ctl_en), - .din(d_d), - .dout(x_d) - ); - always @(*) begin - x_d_in = x_d; - x_d_in[1] = (x_d[1] & ~dec_tlu_flush_lower_wb) & ~dec_tlu_flush_lower_r; - x_d_in[0] = (x_d[0] & ~dec_tlu_flush_lower_wb) & ~dec_tlu_flush_lower_r; - end - rvdfflie #( - .WIDTH(24), - .LEFT(15) - ) r_d_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_r_ctl_en), - .din(x_d_in), - .dout(r_d) - ); - always @(*) begin - r_d_in = r_d; - r_d_in[8:4] = r_d[8:4]; - r_d_in[1] = r_d[1] & ~dec_tlu_flush_lower_wb; - r_d_in[0] = r_d[0] & ~dec_tlu_flush_lower_wb; - r_d_in[3] = r_d[3] & ~dec_tlu_flush_lower_wb; - r_d_in[2] = r_d[2] & ~dec_tlu_flush_lower_wb; - end - rvdfflie #( - .WIDTH(24), - .LEFT(15) - ) wbff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_wb_ctl_en), - .din(r_d_in), - .dout(wbd) - ); - assign dec_i0_waddr_r[4:0] = r_d_in[8:4]; - assign i0_wen_r = r_d_in[1] & ~dec_tlu_i0_kill_writeb_r; - assign dec_i0_wen_r = (i0_wen_r & ~r_d_in[23]) & ~i0_load_kill_wen_r; - assign dec_i0_wdata_r[31:0] = i0_result_corr_r[31:0]; - assign div_e1_to_r = (x_d[23] & x_d[0]) | (r_d[23] & r_d[0]); - assign div_active_in = i0_div_decode_d | ((div_active & ~exu_div_wren) & ~nonblock_div_cancel); - assign dec_div_active = div_active; - assign i0_nonblock_div_stall = ((dec_i0_rs1_en_d & div_active) & (div_waddr_wb[4:0] == i0r[14:10])) | ((dec_i0_rs2_en_d & div_active) & (div_waddr_wb[4:0] == i0r[9:5])); - assign div_flush = (((x_d[23] & x_d[0]) & (x_d[8:4] == 5'b00000)) | ((x_d[23] & x_d[0]) & dec_tlu_flush_lower_r)) | (((r_d[23] & r_d[0]) & dec_tlu_flush_lower_r) & dec_tlu_i0_kill_writeb_r); - assign nonblock_div_cancel = (div_active & div_flush) | (((div_active & ~div_e1_to_r) & (r_d[8:4] == div_waddr_wb[4:0])) & i0_wen_r); - assign dec_div_cancel = nonblock_div_cancel; - assign i0_div_decode_d = i0_legal_decode_d & i0_dp[5]; - generate - if (pt[202-:5] == 1) begin : genblock1 - assign i0_result_x[31:0] = exu_i0_result_x[31:0]; - assign i0_result_r[31:0] = (r_d[1] & r_d[3] ? lsu_result_m[31:0] : i0_result_r_raw[31:0]); - end - else begin : genblock1 - assign i0_result_x[31:0] = (x_d[1] & x_d[3] ? lsu_result_m[31:0] : exu_i0_result_x[31:0]); - assign i0_result_r[31:0] = i0_result_r_raw[31:0]; - end - endgenerate - rvdffe #(.WIDTH(32)) i0_result_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_r_data_en & ((x_d[1] | x_d[22]) | debug_valid_x)), - .din(i0_result_x[31:0]), - .dout(i0_result_r_raw[31:0]) - ); - assign i0_result_corr_r[31:0] = (r_d[1] & r_d[3] ? lsu_result_corr_r[31:0] : i0_result_r_raw[31:0]); - rvdffe #(.WIDTH(12)) e1brpcff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_x_data_en), - .din(last_br_immed_d[12:1]), - .dout(last_br_immed_x[12:1]) - ); - assign i0_wb_en = i0_wb_data_en; - assign i0_inst_wb_in[31:0] = i0_inst_r[31:0]; - assign i0_inst_d[31:0] = (dec_i0_pc4_d ? i0[31:0] : {16'b0000000000000000, ifu_i0_cinst[15:0]}); - assign trace_enable = ~dec_tlu_trace_disable; - rvdffe #( - .WIDTH(5), - .OVERRIDE(1) - ) i0rdff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_div_decode_d), - .din(i0r[4:0]), - .dout(div_waddr_wb[4:0]) - ); - rvdffe #(.WIDTH(32)) i0xinstff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_x_data_en & trace_enable), - .din(i0_inst_d[31:0]), - .dout(i0_inst_x[31:0]) - ); - rvdffe #(.WIDTH(32)) i0cinstff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_r_data_en & trace_enable), - .din(i0_inst_x[31:0]), - .dout(i0_inst_r[31:0]) - ); - rvdffe #(.WIDTH(32)) i0wbinstff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_wb_en & trace_enable), - .din(i0_inst_wb_in[31:0]), - .dout(i0_inst_wb[31:0]) - ); - rvdffe #(.WIDTH(31)) i0wbpcff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_wb_en & trace_enable), - .din(dec_tlu_i0_pc_r[31:1]), - .dout(i0_pc_wb[31:1]) - ); - assign dec_i0_inst_wb[31:0] = i0_inst_wb[31:0]; - assign dec_i0_pc_wb[31:1] = i0_pc_wb[31:1]; - rvdffpcie #(.WIDTH(31)) i0_pc_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(i0_r_data_en), - .din(exu_i0_pc_x[31:1]), - .dout(dec_i0_pc_r[31:1]) - ); - assign dec_tlu_i0_pc_r[31:1] = dec_i0_pc_r[31:1]; - rvbradder ibradder_correct( - .pc(exu_i0_pc_x[31:1]), - .offset(last_br_immed_x[12:1]), - .dout(pred_correct_npc_x[31:1]) - ); - assign i0_rs1_nonblock_load_bypass_en_d = (dec_i0_rs1_en_d & dec_nonblock_load_wen) & (dec_nonblock_load_waddr[4:0] == i0r[14:10]); - assign i0_rs2_nonblock_load_bypass_en_d = (dec_i0_rs2_en_d & dec_nonblock_load_wen) & (dec_nonblock_load_waddr[4:0] == i0r[9:5]); - assign i0_rs1bypass[2] = i0_rs1_depth_d[0] & (i0_rs1_class_d[0] | i0_rs1_class_d[2]); - assign i0_rs1bypass[1] = i0_rs1_depth_d[0] & i0_rs1_class_d[1]; - assign i0_rs1bypass[0] = i0_rs1_depth_d[1] & ((i0_rs1_class_d[0] | i0_rs1_class_d[2]) | i0_rs1_class_d[1]); - assign i0_rs2bypass[2] = i0_rs2_depth_d[0] & (i0_rs2_class_d[0] | i0_rs2_class_d[2]); - assign i0_rs2bypass[1] = i0_rs2_depth_d[0] & i0_rs2_class_d[1]; - assign i0_rs2bypass[0] = i0_rs2_depth_d[1] & ((i0_rs2_class_d[0] | i0_rs2_class_d[2]) | i0_rs2_class_d[1]); - assign dec_i0_rs1_bypass_en_d[3] = ((i0_rs1_nonblock_load_bypass_en_d & ~i0_rs1bypass[0]) & ~i0_rs1bypass[1]) & ~i0_rs1bypass[2]; - assign dec_i0_rs1_bypass_en_d[2] = i0_rs1bypass[2]; - assign dec_i0_rs1_bypass_en_d[1] = i0_rs1bypass[1]; - assign dec_i0_rs1_bypass_en_d[0] = i0_rs1bypass[0]; - assign dec_i0_rs2_bypass_en_d[3] = ((i0_rs2_nonblock_load_bypass_en_d & ~i0_rs2bypass[0]) & ~i0_rs2bypass[1]) & ~i0_rs2bypass[2]; - assign dec_i0_rs2_bypass_en_d[2] = i0_rs2bypass[2]; - assign dec_i0_rs2_bypass_en_d[1] = i0_rs2bypass[1]; - assign dec_i0_rs2_bypass_en_d[0] = i0_rs2bypass[0]; - assign dec_i0_result_r[31:0] = i0_result_r[31:0]; -endmodule -module eb1_dec_dec_ctl ( - inst, - out -); - input wire [31:0] inst; - output wire [94:0] out; - wire [31:0] i; - assign i[31:0] = inst[31:0]; - assign out[49] = (((((((((((((((((((((((i[30] & i[24]) & i[23]) & !i[22]) & !i[21]) & !i[20]) & i[14]) & !i[5]) & i[4]) | (((i[29] & !i[27]) & !i[24]) & i[4])) | (((!i[25] & !i[13]) & !i[12]) & i[4])) | (((!i[30] & !i[25]) & i[13]) & i[12])) | (((i[27] & i[25]) & i[14]) & i[4])) | (((i[29] & i[27]) & !i[14]) & i[4])) | (((i[29] & !i[14]) & i[5]) & i[4])) | (((!i[27] & !i[25]) & i[14]) & i[4])) | (((i[30] & !i[29]) & !i[13]) & i[4])) | (((!i[30] & !i[27]) & !i[25]) & i[4])) | ((i[13] & !i[5]) & i[4])) | ((!i[12] & !i[5]) & i[4])) | i[2]) | i[6]) | (((((((i[30] & i[24]) & i[23]) & i[22]) & i[21]) & i[20]) & !i[5]) & i[4])) | ((((((((!i[30] & i[29]) & !i[24]) & !i[23]) & i[22]) & i[21]) & i[20]) & !i[5]) & i[4])) | (((((((!i[30] & i[24]) & !i[23]) & !i[22]) & !i[21]) & !i[20]) & !i[5]) & i[4]); - assign out[48] = (((((((((((((!i[14] & !i[13]) & !i[2]) | ((!i[13] & i[11]) & !i[2])) | ((i[19] & i[13]) & !i[2])) | ((!i[13] & i[10]) & !i[2])) | ((i[18] & i[13]) & !i[2])) | ((!i[13] & i[9]) & !i[2])) | ((i[17] & i[13]) & !i[2])) | ((!i[13] & i[8]) & !i[2])) | ((i[16] & i[13]) & !i[2])) | ((!i[13] & i[7]) & !i[2])) | ((i[15] & i[13]) & !i[2])) | (!i[4] & !i[3])) | (!i[6] & !i[2]); - assign out[47] = ((i[5] & !i[4]) & !i[2]) | ((!i[6] & i[5]) & !i[2]); - assign out[46] = ((((!i[4] & !i[3]) & i[2]) | (((i[13] & !i[5]) & i[4]) & !i[2])) | (((!i[13] & !i[12]) & i[6]) & i[4])) | (((!i[12] & !i[5]) & i[4]) & !i[2]); - assign out[45] = ((!i[5] & !i[2]) | (i[5] & i[2])) | i[4]; - assign out[44] = ((((((i[27] & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]) | (((((!i[30] & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((i[14] & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]); - assign out[43] = (i[5] & i[3]) | (i[4] & i[2]); - assign out[42] = ((!i[5] & !i[3]) & i[2]) | (i[5] & i[3]); - assign out[41] = (!i[5] & !i[4]) & !i[2]; - assign out[40] = (!i[6] & i[5]) & !i[4]; - assign out[39] = (!i[6] & !i[4]) & !i[2]; - assign out[38] = (((((!i[14] & !i[13]) & !i[12]) & !i[5]) & i[4]) | ((!i[5] & !i[3]) & i[2])) | (((((((!i[30] & !i[25]) & !i[14]) & !i[13]) & !i[12]) & !i[6]) & i[4]) & !i[2]); - assign out[37] = (((((((((i[30] & !i[14]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]) | ((((((!i[29] & !i[25]) & !i[14]) & i[13]) & !i[6]) & i[4]) & !i[2])) | (((((i[27] & i[25]) & i[14]) & !i[6]) & i[5]) & !i[2])) | ((((!i[14] & i[13]) & !i[5]) & i[4]) & !i[2])) | ((i[6] & !i[4]) & !i[2]); - assign out[36] = ((((((!i[27] & !i[25]) & i[14]) & i[13]) & i[12]) & !i[6]) & !i[2]) | ((((i[14] & i[13]) & i[12]) & !i[5]) & !i[2]); - assign out[35] = ((((!i[6] & i[3]) | (((((((!i[29] & !i[27]) & !i[25]) & i[14]) & i[13]) & !i[12]) & !i[6]) & !i[2])) | ((i[5] & i[4]) & i[2])) | (((!i[13] & !i[12]) & i[6]) & i[4])) | ((((i[14] & i[13]) & !i[12]) & !i[5]) & !i[2]); - assign out[34] = (((((((!i[29] & !i[27]) & !i[25]) & i[14]) & !i[13]) & !i[12]) & i[4]) & !i[2]) | (((((i[14] & !i[13]) & !i[12]) & !i[5]) & i[4]) & !i[2]); - assign out[33] = (((((((!i[29] & !i[27]) & !i[25]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[32] = ((((((i[30] & !i[29]) & !i[27]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[31] = ((((((((!i[30] & !i[29]) & !i[27]) & !i[25]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[30] = ((((((!i[29] & !i[25]) & !i[14]) & i[13]) & !i[6]) & i[4]) & !i[2]) | ((((!i[14] & i[13]) & !i[5]) & i[4]) & !i[2]); - assign out[29] = ((((((((((!i[27] & i[25]) & i[14]) & i[12]) & !i[6]) & i[5]) & !i[2]) | ((((!i[14] & i[13]) & i[12]) & !i[5]) & !i[2])) | (((i[13] & i[6]) & !i[4]) & !i[2])) | ((i[14] & !i[5]) & !i[4])) | (((((!i[25] & !i[14]) & i[13]) & i[12]) & !i[6]) & !i[2])) | ((((((i[27] & i[25]) & i[14]) & i[13]) & !i[6]) & i[5]) & !i[2]); - assign out[28] = (i[6] & !i[4]) & !i[2]; - assign out[27] = (((!i[14] & !i[12]) & i[6]) & !i[4]) & !i[2]; - assign out[26] = (((!i[14] & i[12]) & i[6]) & !i[4]) & !i[2]; - assign out[25] = (((i[14] & i[12]) & i[5]) & !i[4]) & !i[2]; - assign out[24] = (((i[14] & !i[12]) & i[5]) & !i[4]) & !i[2]; - assign out[23] = i[6] & i[2]; - assign out[22] = (((!i[13] & !i[12]) & !i[6]) & !i[4]) & !i[2]; - assign out[21] = ((i[12] & !i[6]) & !i[4]) & !i[2]; - assign out[20] = (i[13] & !i[6]) & !i[4]; - assign out[19] = ((((((i[13] & i[6]) & i[4]) | ((i[7] & i[6]) & i[4])) | ((i[8] & i[6]) & i[4])) | ((i[9] & i[6]) & i[4])) | ((i[10] & i[6]) & i[4])) | ((i[11] & i[6]) & i[4]); - assign out[18] = (((((((i[15] & i[13]) & i[12]) & i[6]) & i[4]) | ((((i[16] & i[13]) & i[12]) & i[6]) & i[4])) | ((((i[17] & i[13]) & i[12]) & i[6]) & i[4])) | ((((i[18] & i[13]) & i[12]) & i[6]) & i[4])) | ((((i[19] & i[13]) & i[12]) & i[6]) & i[4]); - assign out[17] = ((((((i[15] & !i[12]) & i[6]) & i[4]) | (((i[16] & !i[12]) & i[6]) & i[4])) | (((i[17] & !i[12]) & i[6]) & i[4])) | (((i[18] & !i[12]) & i[6]) & i[4])) | (((i[19] & !i[12]) & i[6]) & i[4]); - assign out[16] = ((!i[13] & i[12]) & i[6]) & i[4]; - assign out[15] = (((((((i[14] & !i[13]) & i[6]) & i[4]) | (((i[15] & i[14]) & i[6]) & i[4])) | (((i[16] & i[14]) & i[6]) & i[4])) | (((i[17] & i[14]) & i[6]) & i[4])) | (((i[18] & i[14]) & i[6]) & i[4])) | (((i[19] & i[14]) & i[6]) & i[4]); - assign out[14] = ((((((((((!i[5] & i[3]) | (((!i[13] & i[7]) & i[6]) & i[4])) | (((!i[13] & i[8]) & i[6]) & i[4])) | (((!i[13] & i[9]) & i[6]) & i[4])) | (((!i[13] & i[10]) & i[6]) & i[4])) | (((!i[13] & i[11]) & i[6]) & i[4])) | (((i[15] & i[13]) & i[6]) & i[4])) | (((i[16] & i[13]) & i[6]) & i[4])) | (((i[17] & i[13]) & i[6]) & i[4])) | (((i[18] & i[13]) & i[6]) & i[4])) | (((i[19] & i[13]) & i[6]) & i[4]); - assign out[13] = ((((((((((((i[12] & !i[5]) & i[3]) | ((((!i[22] & !i[13]) & !i[12]) & i[6]) & i[4])) | (((!i[13] & i[7]) & i[6]) & i[4])) | (((!i[13] & i[8]) & i[6]) & i[4])) | (((!i[13] & i[9]) & i[6]) & i[4])) | (((!i[13] & i[10]) & i[6]) & i[4])) | (((!i[13] & i[11]) & i[6]) & i[4])) | (((i[15] & i[13]) & i[6]) & i[4])) | (((i[16] & i[13]) & i[6]) & i[4])) | (((i[17] & i[13]) & i[6]) & i[4])) | (((i[18] & i[13]) & i[6]) & i[4])) | (((i[19] & i[13]) & i[6]) & i[4]); - assign out[12] = ((((!i[22] & i[20]) & !i[13]) & !i[12]) & i[6]) & i[4]; - assign out[11] = ((((!i[21] & !i[20]) & !i[13]) & !i[12]) & i[6]) & i[4]; - assign out[10] = (((i[29] & !i[13]) & !i[12]) & i[6]) & i[4]; - assign out[9] = (((((((((((((((((((((!i[30] & i[27]) & i[24]) & i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]) | (((((((((i[29] & i[27]) & !i[24]) & i[23]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((((((i[29] & i[27]) & !i[24]) & !i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((((i[27] & !i[25]) & i[13]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((i[30] & i[27]) & i[13]) & !i[6]) & i[5]) & i[4]) & !i[2])) | (((((((((i[29] & i[27]) & i[22]) & !i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((((((i[29] & i[27]) & !i[21]) & i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((((((i[29] & i[27]) & !i[22]) & i[21]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((((((i[30] & i[29]) & i[27]) & !i[23]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | ((((((((!i[30] & i[27]) & i[23]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | ((((((((!i[30] & !i[29]) & i[27]) & !i[25]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2])) | (((((i[25] & !i[14]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((((i[30] & !i[27]) & i[24]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((i[29] & i[27]) & i[14]) & !i[6]) & i[5]) & !i[2]); - assign out[8] = ((((((((!i[27] & i[25]) & !i[14]) & i[13]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]) | (((((((!i[27] & i[25]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]); - assign out[7] = ((((((!i[27] & i[25]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[6] = (((((i[25] & !i[14]) & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2]; - assign out[5] = ((((!i[27] & i[25]) & i[14]) & !i[6]) & i[5]) & !i[2]; - assign out[4] = (((((!i[27] & i[25]) & i[14]) & i[13]) & !i[6]) & i[5]) & !i[2]; - assign out[3] = !i[5] & i[3]; - assign out[2] = (i[12] & !i[5]) & i[3]; - assign out[94] = ((((((((((i[30] & !i[27]) & !i[24]) & !i[22]) & !i[21]) & !i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[93] = (((((((((i[30] & !i[27]) & !i[24]) & !i[22]) & i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[92] = ((((((((i[30] & !i[27]) & !i[24]) & i[21]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[91] = ((((((((i[30] & !i[27]) & i[22]) & !i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[90] = ((((((((i[30] & !i[27]) & i[22]) & i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[89] = (((((((!i[30] & i[29]) & !i[27]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[88] = (((((((!i[30] & i[29]) & !i[27]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[87] = (((((i[27] & i[25]) & i[14]) & !i[12]) & !i[6]) & i[5]) & !i[2]; - assign out[86] = (((((i[27] & i[25]) & i[14]) & i[12]) & !i[6]) & i[5]) & !i[2]; - assign out[85] = ((((((!i[30] & i[27]) & !i[25]) & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2]; - assign out[84] = (((((i[30] & i[27]) & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2]; - assign out[83] = ((((((!i[30] & i[27]) & !i[25]) & i[13]) & i[12]) & !i[6]) & i[5]) & !i[2]; - assign out[82] = ((((((i[30] & !i[27]) & !i[14]) & i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[81] = (((((((i[30] & i[29]) & !i[27]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[78] = ((((((((((((((((((i[30] & !i[27]) & !i[24]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]) | (((((((!i[30] & i[27]) & i[14]) & i[13]) & i[12]) & !i[6]) & i[5]) & !i[2])) | ((((((((i[30] & i[29]) & !i[27]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((i[27] & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2])) | ((((((i[30] & i[14]) & !i[13]) & !i[12]) & !i[6]) & i[5]) & !i[2])) | ((((((i[30] & !i[27]) & i[13]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((i[30] & i[29]) & !i[27]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((((((((i[30] & i[29]) & i[24]) & i[23]) & i[22]) & i[21]) & i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((((((((((!i[30] & i[29]) & i[27]) & !i[24]) & !i[23]) & i[22]) & i[21]) & i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | ((((((((((((!i[30] & i[27]) & i[24]) & !i[23]) & !i[22]) & !i[21]) & !i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | ((((((((((((i[30] & i[29]) & i[24]) & i[23]) & !i[22]) & !i[21]) & !i[20]) & i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | (((((i[27] & i[25]) & i[14]) & !i[6]) & i[5]) & !i[2]); - assign out[77] = (((((((!i[30] & i[29]) & i[27]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[76] = ((((((i[30] & !i[29]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[75] = (((((((i[30] & i[29]) & i[27]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[74] = (((((((i[30] & !i[29]) & i[27]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[73] = (((((((i[29] & i[27]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]) | (((((((i[30] & !i[29]) & i[27]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]); - assign out[72] = (((((((!i[30] & i[27]) & !i[25]) & i[13]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[71] = ((((((i[30] & i[27]) & i[13]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[70] = ((((((i[27] & !i[25]) & i[13]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[69] = ((((((i[27] & i[25]) & !i[14]) & !i[13]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[68] = (((((i[27] & !i[14]) & i[13]) & i[12]) & !i[6]) & i[5]) & !i[2]; - assign out[67] = (((((i[27] & !i[14]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[66] = (((((i[27] & i[25]) & !i[14]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[80] = (((((((i[30] & i[29]) & i[27]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[79] = (((((((!i[30] & i[29]) & i[27]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[65] = ((((((((!i[30] & !i[29]) & i[27]) & !i[25]) & !i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[64] = ((((((((!i[30] & !i[29]) & i[27]) & !i[25]) & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]; - assign out[63] = (((((((((((((!i[30] & i[29]) & !i[27]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]) | (((((((!i[30] & !i[29]) & i[27]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2])) | ((((((i[30] & !i[27]) & i[13]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((i[27] & !i[25]) & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2])) | ((((((i[30] & i[14]) & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2])) | ((((((i[29] & !i[27]) & i[12]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((((!i[30] & !i[29]) & i[27]) & !i[25]) & i[12]) & !i[6]) & i[5]) & i[4]) & !i[2])) | ((((((i[29] & i[14]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[2]); - assign out[62] = ((((((((((i[30] & !i[27]) & i[24]) & !i[23]) & !i[21]) & !i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[61] = (((((((((i[30] & !i[27]) & i[24]) & !i[23]) & i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[60] = (((((((((i[30] & !i[27]) & i[24]) & !i[23]) & i[21]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[59] = (((((((((i[30] & !i[27]) & i[23]) & !i[21]) & !i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[58] = ((((((((i[30] & !i[27]) & i[23]) & i[20]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[57] = ((((((((i[30] & !i[27]) & i[23]) & i[21]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[56] = (((((((i[30] & !i[27]) & i[24]) & !i[14]) & !i[13]) & i[12]) & !i[5]) & i[4]) & !i[2]; - assign out[55] = (((((i[30] & i[27]) & i[13]) & i[12]) & !i[6]) & i[5]) & !i[2]; - assign out[54] = (((((i[30] & i[27]) & i[13]) & i[12]) & !i[6]) & i[5]) & !i[2]; - assign out[53] = (((((i[29] & !i[14]) & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[52] = (((((i[29] & i[14]) & !i[13]) & !i[12]) & i[5]) & i[4]) & !i[2]; - assign out[51] = ((((i[29] & i[14]) & i[13]) & !i[6]) & i[5]) & !i[2]; - assign out[50] = ((((i[29] & !i[12]) & !i[6]) & i[5]) & i[4]) & !i[2]; - assign out[1] = (((((((((i[28] & i[22]) & !i[13]) & !i[12]) & i[4]) | (((((!i[30] & !i[29]) & !i[27]) & !i[25]) & !i[6]) & i[4])) | ((((((!i[29] & !i[27]) & !i[25]) & !i[13]) & i[12]) & !i[6]) & i[4])) | (((((!i[29] & !i[27]) & !i[25]) & !i[14]) & !i[6]) & i[4])) | ((i[13] & !i[5]) & i[4])) | (i[4] & i[2])) | ((!i[12] & !i[5]) & i[4]); - assign out[0] = (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((!i[31] & !i[30]) & !i[29]) & i[28]) & !i[27]) & !i[26]) & !i[25]) & !i[24]) & !i[23]) & i[22]) & !i[21]) & i[20]) & !i[19]) & !i[18]) & !i[17]) & !i[16]) & !i[15]) & !i[14]) & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & i[6]) & i[5]) & i[4]) & !i[3]) & !i[2]) & i[1]) & i[0]) | (((((((((((((((((((((((((((((!i[31] & !i[30]) & i[29]) & i[28]) & !i[27]) & !i[26]) & !i[25]) & !i[24]) & !i[23]) & !i[22]) & i[21]) & !i[20]) & !i[19]) & !i[18]) & !i[17]) & !i[16]) & !i[15]) & !i[14]) & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & i[6]) & i[5]) & i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | (((((((((((((((((((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[27]) & !i[26]) & !i[25]) & !i[24]) & !i[23]) & !i[22]) & !i[21]) & !i[19]) & !i[18]) & !i[17]) & !i[16]) & !i[15]) & !i[14]) & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & i[5]) & i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | (((((((((((((!i[31] & i[29]) & !i[28]) & !i[26]) & !i[25]) & i[24]) & !i[22]) & !i[20]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((((!i[31] & i[29]) & !i[28]) & !i[26]) & !i[25]) & i[24]) & !i[22]) & !i[21]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((((!i[31] & i[29]) & !i[28]) & !i[26]) & !i[25]) & !i[23]) & !i[22]) & !i[20]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((((!i[31] & i[29]) & !i[28]) & !i[26]) & !i[25]) & !i[24]) & !i[23]) & !i[21]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[26]) & i[25]) & i[13]) & !i[6]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[30]) & !i[28]) & !i[26]) & !i[25]) & !i[24]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((((((!i[31] & !i[30]) & !i[28]) & !i[27]) & !i[26]) & !i[25]) & i[14]) & !i[12]) & !i[6]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((((((!i[31] & !i[30]) & !i[28]) & !i[27]) & !i[26]) & !i[25]) & i[13]) & !i[12]) & !i[6]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((((((!i[31] & !i[29]) & !i[28]) & !i[27]) & !i[26]) & !i[25]) & !i[13]) & !i[12]) & !i[6]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[28]) & !i[27]) & !i[26]) & !i[25]) & i[14]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[26]) & !i[13]) & i[12]) & i[5]) & i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[26]) & i[14]) & !i[6]) & i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((((((!i[31] & i[30]) & !i[28]) & i[27]) & !i[26]) & !i[25]) & !i[13]) & i[12]) & !i[6]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & i[29]) & !i[28]) & i[27]) & !i[26]) & !i[25]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[30]) & !i[28]) & !i[27]) & !i[26]) & !i[25]) & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[27]) & !i[26]) & !i[6]) & i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((!i[14] & !i[13]) & !i[12]) & i[6]) & i[5]) & !i[4]) & !i[3]) & i[1]) & i[0])) | (((((((((((!i[31] & !i[29]) & !i[28]) & !i[26]) & !i[25]) & i[14]) & !i[6]) & i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | ((((((((((((!i[31] & i[29]) & !i[28]) & !i[26]) & !i[25]) & !i[13]) & i[12]) & i[5]) & i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | (((((((i[14] & i[6]) & i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | (((((((!i[14] & !i[13]) & i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | ((((((!i[12] & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((((!i[13] & i[12]) & i[6]) & i[5]) & !i[3]) & !i[2]) & i[1]) & i[0])) | ((((((((((((((((((((((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[27]) & !i[26]) & !i[25]) & !i[24]) & !i[23]) & !i[22]) & !i[21]) & !i[20]) & !i[19]) & !i[18]) & !i[17]) & !i[16]) & !i[15]) & !i[14]) & !i[13]) & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & !i[6]) & !i[5]) & !i[4]) & i[3]) & i[2]) & i[1]) & i[0])) | (((((((((((((((((((((((!i[31] & !i[30]) & !i[29]) & !i[28]) & !i[19]) & !i[18]) & !i[17]) & !i[16]) & !i[15]) & !i[14]) & !i[13]) & !i[12]) & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & !i[6]) & !i[5]) & !i[4]) & i[3]) & i[2]) & i[1]) & i[0])) | (((((((i[13] & i[6]) & i[5]) & i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | ((((((i[6] & i[5]) & !i[4]) & i[3]) & i[2]) & i[1]) & i[0])) | (((((((!i[14] & !i[12]) & !i[6]) & !i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | (((((((!i[13] & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1]) & i[0])) | ((((((i[13] & !i[6]) & !i[5]) & i[4]) & !i[3]) & i[1]) & i[0])) | (((((!i[6] & i[4]) & !i[3]) & i[2]) & i[1]) & i[0]); -endmodule -module eb1_dec_gpr_ctl ( - raddr0, - raddr1, - wen0, - waddr0, - wd0, - wen1, - waddr1, - wd1, - wen2, - waddr2, - wd2, - clk, - rst_l, - rd0, - rd1, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [4:0] raddr0; - input wire [4:0] raddr1; - input wire wen0; - input wire [4:0] waddr0; - input wire [31:0] wd0; - input wire wen1; - input wire [4:0] waddr1; - input wire [31:0] wd1; - input wire wen2; - input wire [4:0] waddr2; - input wire [31:0] wd2; - input wire clk; - input wire rst_l; - output reg [31:0] rd0; - output reg [31:0] rd1; - input wire scan_mode; - wire [1023:32] gpr_out; - reg [1023:32] gpr_in; - reg [31:1] w0v; - reg [31:1] w1v; - reg [31:1] w2v; - wire [31:1] gpr_wr_en; - assign gpr_wr_en[31:1] = (w0v[31:1] | w1v[31:1]) | w2v[31:1]; - generate - genvar j; - for (j = 1; j < 32; j = j + 1) begin : gpr - rvdffe #(.WIDTH(32)) gprff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(gpr_wr_en[j]), - .din(gpr_in[(j * 32) + 31-:32]), - .dout(gpr_out[(j * 32) + 31-:32]) - ); - end - endgenerate - function automatic signed [4:0] sv2v_cast_5_signed; - input reg signed [4:0] inp; - sv2v_cast_5_signed = inp; - endfunction - always @(*) begin - rd0[31:0] = 32'b00000000000000000000000000000000; - rd1[31:0] = 32'b00000000000000000000000000000000; - w0v[31:1] = 31'b0000000000000000000000000000000; - w1v[31:1] = 31'b0000000000000000000000000000000; - w2v[31:1] = 31'b0000000000000000000000000000000; - gpr_in[32+:992] = {992 {1'sb0}}; - begin : sv2v_autoblock_39 - reg signed [31:0] j; - for (j = 1; j < 32; j = j + 1) - begin - rd0[31:0] = rd0[31:0] | ({32 {raddr0[4:0] == sv2v_cast_5_signed(j)}} & gpr_out[(j * 32) + 31-:32]); - rd1[31:0] = rd1[31:0] | ({32 {raddr1[4:0] == sv2v_cast_5_signed(j)}} & gpr_out[(j * 32) + 31-:32]); - end - end - begin : sv2v_autoblock_40 - reg signed [31:0] j; - for (j = 1; j < 32; j = j + 1) - begin - w0v[j] = wen0 & (waddr0[4:0] == sv2v_cast_5_signed(j)); - w1v[j] = wen1 & (waddr1[4:0] == sv2v_cast_5_signed(j)); - w2v[j] = wen2 & (waddr2[4:0] == sv2v_cast_5_signed(j)); - gpr_in[j * 32+:32] = (({32 {w0v[j]}} & wd0[31:0]) | ({32 {w1v[j]}} & wd1[31:0])) | ({32 {w2v[j]}} & wd2[31:0]); - end - end - end -endmodule -module eb1_dec_ib_ctl ( - dbg_cmd_valid, - dbg_cmd_write, - dbg_cmd_type, - dbg_cmd_addr, - i0_brp, - ifu_i0_bp_index, - ifu_i0_bp_fghr, - ifu_i0_bp_btag, - ifu_i0_fa_index, - ifu_i0_pc4, - ifu_i0_valid, - ifu_i0_icaf, - ifu_i0_icaf_type, - ifu_i0_icaf_second, - ifu_i0_dbecc, - ifu_i0_instr, - ifu_i0_pc, - dec_ib0_valid_d, - dec_debug_valid_d, - dec_i0_instr_d, - dec_i0_pc_d, - dec_i0_pc4_d, - dec_i0_brp, - dec_i0_bp_index, - dec_i0_bp_fghr, - dec_i0_bp_btag, - dec_i0_bp_fa_index, - dec_i0_icaf_d, - dec_i0_icaf_second_d, - dec_i0_icaf_type_d, - dec_i0_dbecc_d, - dec_debug_wdata_rs1_d, - dec_debug_fence_d -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire dbg_cmd_valid; - input wire dbg_cmd_write; - input wire [1:0] dbg_cmd_type; - input wire [31:0] dbg_cmd_addr; - input wire [50:0] i0_brp; - input wire [pt[2172-:9]:pt[2163-:6]] ifu_i0_bp_index; - input wire [pt[2236-:8] - 1:0] ifu_i0_bp_fghr; - input wire [pt[2139-:9] - 1:0] ifu_i0_bp_btag; - input wire [$clog2(pt[2061-:14]) - 1:0] ifu_i0_fa_index; - input wire ifu_i0_pc4; - input wire ifu_i0_valid; - input wire ifu_i0_icaf; - input wire [1:0] ifu_i0_icaf_type; - input wire ifu_i0_icaf_second; - input wire ifu_i0_dbecc; - input wire [31:0] ifu_i0_instr; - input wire [31:1] ifu_i0_pc; - output wire dec_ib0_valid_d; - output wire dec_debug_valid_d; - output wire [31:0] dec_i0_instr_d; - output wire [31:1] dec_i0_pc_d; - output wire dec_i0_pc4_d; - output wire [50:0] dec_i0_brp; - output wire [pt[2172-:9]:pt[2163-:6]] dec_i0_bp_index; - output wire [pt[2236-:8] - 1:0] dec_i0_bp_fghr; - output wire [pt[2139-:9] - 1:0] dec_i0_bp_btag; - output wire [$clog2(pt[2061-:14]) - 1:0] dec_i0_bp_fa_index; - output wire dec_i0_icaf_d; - output wire dec_i0_icaf_second_d; - output wire [1:0] dec_i0_icaf_type_d; - output wire dec_i0_dbecc_d; - output wire dec_debug_wdata_rs1_d; - output wire dec_debug_fence_d; - wire debug_valid; - wire [4:0] dreg; - wire [11:0] dcsr; - wire [31:0] ib0; - wire [31:0] ib0_debug_in; - wire debug_read; - wire debug_write; - wire debug_read_gpr; - wire debug_write_gpr; - wire debug_read_csr; - wire debug_write_csr; - wire [34:0] ifu_i0_pcdata; - wire [34:0] pc0; - assign ifu_i0_pcdata[34:0] = {ifu_i0_icaf_second, ifu_i0_dbecc, ifu_i0_icaf, ifu_i0_pc[31:1], ifu_i0_pc4}; - assign pc0[34:0] = ifu_i0_pcdata[34:0]; - assign dec_i0_icaf_second_d = pc0[34]; - assign dec_i0_dbecc_d = pc0[33]; - assign dec_i0_icaf_d = pc0[32]; - assign dec_i0_pc_d[31:1] = pc0[31:1]; - assign dec_i0_pc4_d = pc0[0]; - assign dec_i0_icaf_type_d[1:0] = ifu_i0_icaf_type[1:0]; - assign debug_valid = dbg_cmd_valid & (dbg_cmd_type[1:0] != 2'h2); - assign debug_read = debug_valid & ~dbg_cmd_write; - assign debug_write = debug_valid & dbg_cmd_write; - assign debug_read_gpr = debug_read & (dbg_cmd_type[1:0] == 2'h0); - assign debug_write_gpr = debug_write & (dbg_cmd_type[1:0] == 2'h0); - assign debug_read_csr = debug_read & (dbg_cmd_type[1:0] == 2'h1); - assign debug_write_csr = debug_write & (dbg_cmd_type[1:0] == 2'h1); - assign dreg[4:0] = dbg_cmd_addr[4:0]; - assign dcsr[11:0] = dbg_cmd_addr[11:0]; - assign ib0_debug_in[31:0] = ((({32 {debug_read_gpr}} & {12'b000000000000, dreg[4:0], 15'b110000000110011}) | ({32 {debug_write_gpr}} & {20'b00000000000000000110, dreg[4:0], 7'b0110011})) | ({32 {debug_read_csr}} & {dcsr[11:0], 20'b00000010000001110011})) | ({32 {debug_write_csr}} & {dcsr[11:0], 20'b00000001000001110011}); - assign dec_debug_wdata_rs1_d = debug_write_gpr | debug_write_csr; - assign dec_debug_fence_d = debug_write_csr & (dcsr[11:0] == 12'h7c4); - assign ib0[31:0] = (debug_valid ? ib0_debug_in[31:0] : ifu_i0_instr[31:0]); - assign dec_ib0_valid_d = ifu_i0_valid | debug_valid; - assign dec_debug_valid_d = debug_valid; - assign dec_i0_instr_d[31:0] = ib0[31:0]; - assign dec_i0_brp = i0_brp; - assign dec_i0_bp_index = ifu_i0_bp_index; - assign dec_i0_bp_fghr = ifu_i0_bp_fghr; - assign dec_i0_bp_btag = ifu_i0_bp_btag; - assign dec_i0_bp_fa_index = ifu_i0_fa_index; -endmodule -module eb1_dec_tlu_ctl ( - clk, - free_clk, - free_l2clk, - rst_l, - scan_mode, - rst_vec, - nmi_int, - nmi_vec, - i_cpu_halt_req, - i_cpu_run_req, - lsu_fastint_stall_any, - ifu_pmu_instr_aligned, - ifu_pmu_fetch_stall, - ifu_pmu_ic_miss, - ifu_pmu_ic_hit, - ifu_pmu_bus_error, - ifu_pmu_bus_busy, - ifu_pmu_bus_trxn, - dec_pmu_instr_decoded, - dec_pmu_decode_stall, - dec_pmu_presync_stall, - dec_pmu_postsync_stall, - lsu_store_stall_any, - dma_dccm_stall_any, - dma_iccm_stall_any, - exu_pmu_i0_br_misp, - exu_pmu_i0_br_ataken, - exu_pmu_i0_pc4, - lsu_pmu_bus_trxn, - lsu_pmu_bus_misaligned, - lsu_pmu_bus_error, - lsu_pmu_bus_busy, - lsu_pmu_load_external_m, - lsu_pmu_store_external_m, - dma_pmu_dccm_read, - dma_pmu_dccm_write, - dma_pmu_any_read, - dma_pmu_any_write, - lsu_fir_addr, - lsu_fir_error, - iccm_dma_sb_error, - lsu_error_pkt_r, - lsu_single_ecc_error_incr, - dec_pause_state, - lsu_imprecise_error_store_any, - lsu_imprecise_error_load_any, - lsu_imprecise_error_addr_any, - dec_csr_wen_unq_d, - dec_csr_any_unq_d, - dec_csr_rdaddr_d, - dec_csr_wen_r, - dec_csr_wraddr_r, - dec_csr_wrdata_r, - dec_csr_stall_int_ff, - dec_tlu_i0_valid_r, - exu_npc_r, - dec_tlu_i0_pc_r, - dec_tlu_packet_r, - dec_illegal_inst, - dec_i0_decode_d, - exu_i0_br_hist_r, - exu_i0_br_error_r, - exu_i0_br_start_error_r, - exu_i0_br_valid_r, - exu_i0_br_mp_r, - exu_i0_br_middle_r, - exu_i0_br_way_r, - dec_tlu_core_empty, - dec_dbg_cmd_done, - dec_dbg_cmd_fail, - dec_tlu_dbg_halted, - dec_tlu_debug_mode, - dec_tlu_resume_ack, - dec_tlu_debug_stall, - dec_tlu_flush_noredir_r, - dec_tlu_mpc_halted_only, - dec_tlu_flush_leak_one_r, - dec_tlu_flush_err_r, - dec_tlu_flush_extint, - dec_tlu_meihap, - dbg_halt_req, - dbg_resume_req, - ifu_miss_state_idle, - lsu_idle_any, - dec_div_active, - trigger_pkt_any, - ifu_ic_error_start, - ifu_iccm_rd_ecc_single_err, - ifu_ic_debug_rd_data, - ifu_ic_debug_rd_data_valid, - dec_tlu_ic_diag_pkt, - pic_claimid, - pic_pl, - mhwakeup, - mexintpend, - timer_int, - soft_int, - o_cpu_halt_status, - o_cpu_halt_ack, - o_cpu_run_ack, - o_debug_mode_status, - core_id, - mpc_debug_halt_req, - mpc_debug_run_req, - mpc_reset_run_req, - mpc_debug_halt_ack, - mpc_debug_run_ack, - debug_brkpt_status, - dec_tlu_meicurpl, - dec_tlu_meipt, - dec_csr_rddata_d, - dec_csr_legal_d, - dec_tlu_br0_r_pkt, - dec_tlu_i0_kill_writeb_wb, - dec_tlu_flush_lower_wb, - dec_tlu_i0_commit_cmt, - dec_tlu_i0_kill_writeb_r, - dec_tlu_flush_lower_r, - dec_tlu_flush_path_r, - dec_tlu_fence_i_r, - dec_tlu_wr_pause_r, - dec_tlu_flush_pause_r, - dec_tlu_presync_d, - dec_tlu_postsync_d, - dec_tlu_mrac_ff, - dec_tlu_force_halt, - dec_tlu_perfcnt0, - dec_tlu_perfcnt1, - dec_tlu_perfcnt2, - dec_tlu_perfcnt3, - dec_tlu_i0_exc_valid_wb1, - dec_tlu_i0_valid_wb1, - dec_tlu_int_valid_wb1, - dec_tlu_exc_cause_wb1, - dec_tlu_mtval_wb1, - dec_tlu_external_ldfwd_disable, - dec_tlu_sideeffect_posted_disable, - dec_tlu_core_ecc_disable, - dec_tlu_bpred_disable, - dec_tlu_wb_coalescing_disable, - dec_tlu_pipelining_disable, - dec_tlu_trace_disable, - dec_tlu_dma_qos_prty, - dec_tlu_misc_clk_override, - dec_tlu_dec_clk_override, - dec_tlu_ifu_clk_override, - dec_tlu_lsu_clk_override, - dec_tlu_bus_clk_override, - dec_tlu_pic_clk_override, - dec_tlu_picio_clk_override, - dec_tlu_dccm_clk_override, - dec_tlu_icm_clk_override -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire free_clk; - input wire free_l2clk; - input wire rst_l; - input wire scan_mode; - input wire [31:1] rst_vec; - input wire nmi_int; - input wire [31:1] nmi_vec; - input wire i_cpu_halt_req; - input wire i_cpu_run_req; - input wire lsu_fastint_stall_any; - input wire ifu_pmu_instr_aligned; - input wire ifu_pmu_fetch_stall; - input wire ifu_pmu_ic_miss; - input wire ifu_pmu_ic_hit; - input wire ifu_pmu_bus_error; - input wire ifu_pmu_bus_busy; - input wire ifu_pmu_bus_trxn; - input wire dec_pmu_instr_decoded; - input wire dec_pmu_decode_stall; - input wire dec_pmu_presync_stall; - input wire dec_pmu_postsync_stall; - input wire lsu_store_stall_any; - input wire dma_dccm_stall_any; - input wire dma_iccm_stall_any; - input wire exu_pmu_i0_br_misp; - input wire exu_pmu_i0_br_ataken; - input wire exu_pmu_i0_pc4; - input wire lsu_pmu_bus_trxn; - input wire lsu_pmu_bus_misaligned; - input wire lsu_pmu_bus_error; - input wire lsu_pmu_bus_busy; - input wire lsu_pmu_load_external_m; - input wire lsu_pmu_store_external_m; - input wire dma_pmu_dccm_read; - input wire dma_pmu_dccm_write; - input wire dma_pmu_any_read; - input wire dma_pmu_any_write; - input wire [31:1] lsu_fir_addr; - input wire [1:0] lsu_fir_error; - input wire iccm_dma_sb_error; - input wire [39:0] lsu_error_pkt_r; - input wire lsu_single_ecc_error_incr; - input wire dec_pause_state; - input wire lsu_imprecise_error_store_any; - input wire lsu_imprecise_error_load_any; - input wire [31:0] lsu_imprecise_error_addr_any; - input wire dec_csr_wen_unq_d; - input wire dec_csr_any_unq_d; - input wire [11:0] dec_csr_rdaddr_d; - input wire dec_csr_wen_r; - input wire [11:0] dec_csr_wraddr_r; - input wire [31:0] dec_csr_wrdata_r; - input wire dec_csr_stall_int_ff; - input wire dec_tlu_i0_valid_r; - input wire [31:1] exu_npc_r; - input wire [31:1] dec_tlu_i0_pc_r; - input wire [16:0] dec_tlu_packet_r; - input wire [31:0] dec_illegal_inst; - input wire dec_i0_decode_d; - input wire [1:0] exu_i0_br_hist_r; - input wire exu_i0_br_error_r; - input wire exu_i0_br_start_error_r; - input wire exu_i0_br_valid_r; - input wire exu_i0_br_mp_r; - input wire exu_i0_br_middle_r; - input wire exu_i0_br_way_r; - output wire dec_tlu_core_empty; - output wire dec_dbg_cmd_done; - output wire dec_dbg_cmd_fail; - output wire dec_tlu_dbg_halted; - output wire dec_tlu_debug_mode; - output wire dec_tlu_resume_ack; - output wire dec_tlu_debug_stall; - output wire dec_tlu_flush_noredir_r; - output wire dec_tlu_mpc_halted_only; - output wire dec_tlu_flush_leak_one_r; - output wire dec_tlu_flush_err_r; - output wire dec_tlu_flush_extint; - output wire [31:2] dec_tlu_meihap; - input wire dbg_halt_req; - input wire dbg_resume_req; - input wire ifu_miss_state_idle; - input wire lsu_idle_any; - input wire dec_div_active; - output wire [151:0] trigger_pkt_any; - input wire ifu_ic_error_start; - input wire ifu_iccm_rd_ecc_single_err; - input wire [70:0] ifu_ic_debug_rd_data; - input wire ifu_ic_debug_rd_data_valid; - output wire [89:0] dec_tlu_ic_diag_pkt; - input wire [7:0] pic_claimid; - input wire [3:0] pic_pl; - input wire mhwakeup; - input wire mexintpend; - input wire timer_int; - input wire soft_int; - output wire o_cpu_halt_status; - output wire o_cpu_halt_ack; - output wire o_cpu_run_ack; - output wire o_debug_mode_status; - input wire [31:4] core_id; - input wire mpc_debug_halt_req; - input wire mpc_debug_run_req; - input wire mpc_reset_run_req; - output wire mpc_debug_halt_ack; - output wire mpc_debug_run_ack; - output wire debug_brkpt_status; - output wire [3:0] dec_tlu_meicurpl; - output wire [3:0] dec_tlu_meipt; - output wire [31:0] dec_csr_rddata_d; - output wire dec_csr_legal_d; - output wire [6:0] dec_tlu_br0_r_pkt; - output wire dec_tlu_i0_kill_writeb_wb; - output wire dec_tlu_flush_lower_wb; - output wire dec_tlu_i0_commit_cmt; - output wire dec_tlu_i0_kill_writeb_r; - output wire dec_tlu_flush_lower_r; - output wire [31:1] dec_tlu_flush_path_r; - output wire dec_tlu_fence_i_r; - output wire dec_tlu_wr_pause_r; - output wire dec_tlu_flush_pause_r; - output wire dec_tlu_presync_d; - output wire dec_tlu_postsync_d; - output wire [31:0] dec_tlu_mrac_ff; - output wire dec_tlu_force_halt; - output wire dec_tlu_perfcnt0; - output wire dec_tlu_perfcnt1; - output wire dec_tlu_perfcnt2; - output wire dec_tlu_perfcnt3; - output wire dec_tlu_i0_exc_valid_wb1; - output wire dec_tlu_i0_valid_wb1; - output wire dec_tlu_int_valid_wb1; - output wire [4:0] dec_tlu_exc_cause_wb1; - output wire [31:0] dec_tlu_mtval_wb1; - output wire dec_tlu_external_ldfwd_disable; - output wire dec_tlu_sideeffect_posted_disable; - output wire dec_tlu_core_ecc_disable; - output wire dec_tlu_bpred_disable; - output wire dec_tlu_wb_coalescing_disable; - output wire dec_tlu_pipelining_disable; - output wire dec_tlu_trace_disable; - output wire [2:0] dec_tlu_dma_qos_prty; - output wire dec_tlu_misc_clk_override; - output wire dec_tlu_dec_clk_override; - output wire dec_tlu_ifu_clk_override; - output wire dec_tlu_lsu_clk_override; - output wire dec_tlu_bus_clk_override; - output wire dec_tlu_pic_clk_override; - output wire dec_tlu_picio_clk_override; - output wire dec_tlu_dccm_clk_override; - output wire dec_tlu_icm_clk_override; - wire clk_override; - wire e4e5_int_clk; - wire nmi_fir_type; - wire nmi_lsu_load_type; - wire nmi_lsu_store_type; - wire nmi_int_detected_f; - wire nmi_lsu_load_type_f; - wire nmi_lsu_store_type_f; - wire allow_dbg_halt_csr_write; - wire dbg_cmd_done_ns; - wire i_cpu_run_req_d1_raw; - wire debug_mode_status; - wire lsu_single_ecc_error_r_d1; - wire sel_npc_r; - wire sel_npc_resume; - wire ce_int; - wire nmi_in_debug_mode; - wire dpc_capture_npc; - wire dpc_capture_pc; - wire tdata_load; - wire tdata_opcode; - wire tdata_action; - wire perfcnt_halted; - wire tdata_chain; - wire tdata_kill_write; - wire reset_delayed; - wire reset_detect; - wire reset_detected; - wire wr_mstatus_r; - wire wr_mtvec_r; - wire wr_mcyclel_r; - wire wr_mcycleh_r; - wire wr_minstretl_r; - wire wr_minstreth_r; - wire wr_mscratch_r; - wire wr_mepc_r; - wire wr_mcause_r; - wire wr_mscause_r; - wire wr_mtval_r; - wire wr_mrac_r; - wire wr_meihap_r; - wire wr_meicurpl_r; - wire wr_meipt_r; - wire wr_dcsr_r; - wire wr_dpc_r; - wire wr_meicidpl_r; - wire wr_meivt_r; - wire wr_meicpct_r; - wire wr_micect_r; - wire wr_miccmect_r; - wire wr_mfdht_r; - wire wr_mfdhs_r; - wire wr_mdccmect_r; - wire wr_mhpme3_r; - wire wr_mhpme4_r; - wire wr_mhpme5_r; - wire wr_mhpme6_r; - wire wr_mpmc_r; - wire [1:1] mpmc_b_ns; - wire [1:1] mpmc; - wire [1:1] mpmc_b; - wire set_mie_pmu_fw_halt; - wire fw_halted_ns; - wire fw_halted; - wire wr_mcountinhibit_r; - wire [6:0] mcountinhibit; - wire wr_mtsel_r; - wire wr_mtdata1_t0_r; - wire wr_mtdata1_t1_r; - wire wr_mtdata1_t2_r; - wire wr_mtdata1_t3_r; - wire wr_mtdata2_t0_r; - wire wr_mtdata2_t1_r; - wire wr_mtdata2_t2_r; - wire wr_mtdata2_t3_r; - wire [31:0] mtdata2_t0; - wire [31:0] mtdata2_t1; - wire [31:0] mtdata2_t2; - wire [31:0] mtdata2_t3; - wire [31:0] mtdata2_tsel_out; - wire [31:0] mtdata1_tsel_out; - wire [9:0] mtdata1_t0_ns; - wire [9:0] mtdata1_t0; - wire [9:0] mtdata1_t1_ns; - wire [9:0] mtdata1_t1; - wire [9:0] mtdata1_t2_ns; - wire [9:0] mtdata1_t2; - wire [9:0] mtdata1_t3_ns; - wire [9:0] mtdata1_t3; - wire [9:0] tdata_wrdata_r; - wire [1:0] mtsel_ns; - wire [1:0] mtsel; - wire tlu_i0_kill_writeb_r; - wire [1:0] mstatus_ns; - wire [1:0] mstatus; - wire [1:0] mfdhs_ns; - wire [1:0] mfdhs; - wire [31:0] force_halt_ctr; - wire [31:0] force_halt_ctr_f; - wire force_halt; - wire [5:0] mfdht; - wire [5:0] mfdht_ns; - wire mstatus_mie_ns; - wire [30:0] mtvec_ns; - wire [30:0] mtvec; - wire [15:2] dcsr_ns; - wire [15:2] dcsr; - wire [5:0] mip_ns; - wire [5:0] mip; - wire [5:0] mie_ns; - wire [5:0] mie; - wire [31:0] mcyclel_ns; - wire [31:0] mcyclel; - wire [31:0] mcycleh_ns; - wire [31:0] mcycleh; - wire [31:0] minstretl_ns; - wire [31:0] minstretl; - wire [31:0] minstreth_ns; - wire [31:0] minstreth; - wire [31:0] micect_ns; - wire [31:0] micect; - wire [31:0] miccmect_ns; - wire [31:0] miccmect; - wire [31:0] mdccmect_ns; - wire [31:0] mdccmect; - wire [26:0] micect_inc; - wire [26:0] miccmect_inc; - wire [26:0] mdccmect_inc; - wire [31:0] mscratch; - wire [31:0] mhpmc3; - wire [31:0] mhpmc3_ns; - wire [31:0] mhpmc4; - wire [31:0] mhpmc4_ns; - wire [31:0] mhpmc5; - wire [31:0] mhpmc5_ns; - wire [31:0] mhpmc6; - wire [31:0] mhpmc6_ns; - wire [31:0] mhpmc3h; - wire [31:0] mhpmc3h_ns; - wire [31:0] mhpmc4h; - wire [31:0] mhpmc4h_ns; - wire [31:0] mhpmc5h; - wire [31:0] mhpmc5h_ns; - wire [31:0] mhpmc6h; - wire [31:0] mhpmc6h_ns; - wire [9:0] mhpme3; - wire [9:0] mhpme4; - wire [9:0] mhpme5; - wire [9:0] mhpme6; - wire [31:0] mrac; - wire [9:2] meihap; - wire [31:10] meivt; - wire [3:0] meicurpl_ns; - wire [3:0] meicurpl; - wire [3:0] meicidpl_ns; - wire [3:0] meicidpl; - wire [3:0] meipt_ns; - wire [3:0] meipt; - wire [31:0] mdseac; - wire mdseac_locked_ns; - wire mdseac_locked_f; - wire mdseac_en; - wire nmi_lsu_detected; - wire [31:1] mepc_ns; - wire [31:1] mepc; - wire [31:1] dpc_ns; - wire [31:1] dpc; - wire [31:0] mcause_ns; - wire [31:0] mcause; - wire [3:0] mscause_ns; - wire [3:0] mscause; - wire [3:0] mscause_type; - wire [31:0] mtval_ns; - wire [31:0] mtval; - wire dec_pause_state_f; - wire dec_tlu_wr_pause_r_d1; - wire pause_expired_r; - wire pause_expired_wb; - wire tlu_flush_lower_r; - wire tlu_flush_lower_r_d1; - wire [31:1] tlu_flush_path_r; - wire [31:1] tlu_flush_path_r_d1; - wire i0_valid_wb; - wire tlu_i0_commit_cmt; - wire [31:1] vectored_path; - wire [31:1] interrupt_path; - wire [16:0] dicawics_ns; - wire [16:0] dicawics; - wire wr_dicawics_r; - wire wr_dicad0_r; - wire wr_dicad1_r; - wire wr_dicad0h_r; - wire [31:0] dicad0_ns; - wire [31:0] dicad0; - wire [31:0] dicad0h_ns; - wire [31:0] dicad0h; - wire [6:0] dicad1_ns; - wire [6:0] dicad1_raw; - wire [31:0] dicad1; - wire ebreak_r; - wire ebreak_to_debug_mode_r; - wire ecall_r; - wire illegal_r; - wire mret_r; - wire inst_acc_r; - wire fence_i_r; - wire ic_perr_r; - wire iccm_sbecc_r; - wire ebreak_to_debug_mode_r_d1; - wire kill_ebreak_count_r; - wire inst_acc_second_r; - wire ce_int_ready; - wire ext_int_ready; - wire timer_int_ready; - wire soft_int_ready; - wire int_timer0_int_ready; - wire int_timer1_int_ready; - wire mhwakeup_ready; - wire take_ext_int; - wire take_ce_int; - wire take_timer_int; - wire take_soft_int; - wire take_int_timer0_int; - wire take_int_timer1_int; - wire take_nmi; - wire take_nmi_r_d1; - wire int_timer0_int_possible; - wire int_timer1_int_possible; - wire i0_exception_valid_r; - wire interrupt_valid_r; - wire i0_exception_valid_r_d1; - wire interrupt_valid_r_d1; - wire exc_or_int_valid_r; - wire exc_or_int_valid_r_d1; - wire mdccme_ce_req; - wire miccme_ce_req; - wire mice_ce_req; - wire synchronous_flush_r; - wire [4:0] exc_cause_r; - wire [4:0] exc_cause_wb; - wire mcyclel_cout; - wire mcyclel_cout_f; - wire mcyclela_cout; - wire [31:0] mcyclel_inc; - wire [31:0] mcycleh_inc; - wire minstretl_cout; - wire minstretl_cout_f; - wire minstret_enable; - wire minstretl_cout_ns; - wire minstretl_couta; - wire [31:0] minstretl_inc; - wire [31:0] minstretl_read; - wire [31:0] minstreth_inc; - wire [31:0] minstreth_read; - wire [31:1] pc_r; - wire [31:1] pc_r_d1; - wire [31:1] npc_r; - wire [31:1] npc_r_d1; - wire valid_csr; - wire rfpc_i0_r; - wire lsu_i0_rfnpc_r; - wire dec_tlu_br0_error_r; - wire dec_tlu_br0_start_error_r; - wire dec_tlu_br0_v_r; - wire lsu_i0_exc_r; - wire lsu_i0_exc_r_raw; - wire lsu_exc_ma_r; - wire lsu_exc_acc_r; - wire lsu_exc_st_r; - wire lsu_exc_valid_r; - wire lsu_exc_valid_r_raw; - wire lsu_exc_valid_r_d1; - wire lsu_i0_exc_r_d1; - wire block_interrupts; - wire i0_trigger_eval_r; - wire request_debug_mode_r; - wire request_debug_mode_r_d1; - wire request_debug_mode_done; - wire request_debug_mode_done_f; - wire take_halt; - wire halt_taken; - wire halt_taken_f; - wire internal_dbg_halt_mode; - wire dbg_tlu_halted_f; - wire take_reset; - wire dbg_tlu_halted; - wire core_empty; - wire lsu_idle_any_f; - wire ifu_miss_state_idle_f; - wire resume_ack_ns; - wire debug_halt_req_f; - wire debug_resume_req_f_raw; - wire debug_resume_req_f; - wire enter_debug_halt_req; - wire dcsr_single_step_done; - wire dcsr_single_step_done_f; - wire debug_halt_req_d1; - wire debug_halt_req_ns; - wire dcsr_single_step_running; - wire dcsr_single_step_running_f; - wire internal_dbg_halt_timers; - wire [3:0] i0_trigger_r; - wire [3:0] trigger_action; - wire [3:0] trigger_enabled; - wire [3:0] i0_trigger_chain_masked_r; - wire i0_trigger_hit_r; - wire i0_trigger_hit_raw_r; - wire i0_trigger_action_r; - wire trigger_hit_r_d1; - wire mepc_trigger_hit_sel_pc_r; - wire [3:0] update_hit_bit_r; - wire [3:0] i0_iside_trigger_has_pri_r; - wire [3:0] i0trigger_qual_r; - wire [3:0] i0_lsu_trigger_has_pri_r; - wire cpu_halt_status; - wire cpu_halt_ack; - wire cpu_run_ack; - wire ext_halt_pulse; - wire i_cpu_halt_req_d1; - wire i_cpu_run_req_d1; - wire inst_acc_r_raw; - wire trigger_hit_dmode_r; - wire trigger_hit_dmode_r_d1; - wire [9:0] mcgc; - wire [9:0] mcgc_ns; - wire [9:0] mcgc_int; - wire [18:0] mfdc; - wire i_cpu_halt_req_sync_qual; - wire i_cpu_run_req_sync_qual; - wire pmu_fw_halt_req_ns; - wire pmu_fw_halt_req_f; - wire int_timer_stalled; - wire fw_halt_req; - wire enter_pmu_fw_halt_req; - wire pmu_fw_tlu_halted; - wire pmu_fw_tlu_halted_f; - wire internal_pmu_fw_halt_mode; - wire internal_pmu_fw_halt_mode_f; - wire int_timer0_int_hold; - wire int_timer1_int_hold; - wire int_timer0_int_hold_f; - wire int_timer1_int_hold_f; - wire nmi_int_delayed; - wire nmi_int_detected; - wire [3:0] trigger_execute; - wire [3:0] trigger_data; - wire [3:0] trigger_store; - wire dec_tlu_pmu_fw_halted; - wire mpc_run_state_ns; - wire debug_brkpt_status_ns; - wire mpc_debug_halt_ack_ns; - wire mpc_debug_run_ack_ns; - wire dbg_halt_state_ns; - wire dbg_run_state_ns; - wire dbg_halt_state_f; - wire mpc_debug_halt_req_sync_f; - wire mpc_debug_run_req_sync_f; - wire mpc_halt_state_f; - wire mpc_halt_state_ns; - wire mpc_run_state_f; - wire debug_brkpt_status_f; - wire mpc_debug_halt_ack_f; - wire mpc_debug_run_ack_f; - wire dbg_run_state_f; - wire mpc_debug_halt_req_sync_pulse; - wire mpc_debug_run_req_sync_pulse; - wire debug_brkpt_valid; - wire debug_halt_req; - wire debug_resume_req; - wire dec_tlu_mpc_halted_only_ns; - wire take_ext_int_start; - wire ext_int_freeze; - wire take_ext_int_start_d1; - wire take_ext_int_start_d2; - wire take_ext_int_start_d3; - wire ext_int_freeze_d1; - wire csr_meicpct; - wire ignore_ext_int_due_to_lsu_stall; - wire mcause_sel_nmi_store; - wire mcause_sel_nmi_load; - wire mcause_sel_nmi_ext; - wire fast_int_meicpct; - wire [1:0] mcause_fir_error_type; - wire dbg_halt_req_held_ns; - wire dbg_halt_req_held; - wire dbg_halt_req_final; - wire iccm_repair_state_ns; - wire iccm_repair_state_d1; - wire iccm_repair_state_rfnpc; - wire [31:0] dec_timer_rddata_d; - wire dec_timer_read_d; - wire dec_timer_t0_pulse; - wire dec_timer_t1_pulse; - wire csr_mitctl0; - wire csr_mitctl1; - wire csr_mitb0; - wire csr_mitb1; - wire csr_mitcnt0; - wire csr_mitcnt1; - wire nmi_int_sync; - wire timer_int_sync; - wire soft_int_sync; - wire i_cpu_halt_req_sync; - wire i_cpu_run_req_sync; - wire mpc_debug_halt_req_sync; - wire mpc_debug_run_req_sync; - wire mpc_debug_halt_req_sync_raw; - wire csr_wr_clk; - wire e4e5_clk; - wire e4_valid; - wire e5_valid; - wire e4e5_valid; - wire internal_dbg_halt_mode_f; - wire internal_dbg_halt_mode_f2; - wire lsu_pmu_load_external_r; - wire lsu_pmu_store_external_r; - wire dec_tlu_flush_noredir_r_d1; - wire dec_tlu_flush_pause_r_d1; - wire lsu_single_ecc_error_r; - wire [31:0] lsu_error_pkt_addr_r; - wire mcyclel_cout_in; - wire i0_valid_no_ebreak_ecall_r; - wire minstret_enable_f; - wire sel_exu_npc_r; - wire sel_flush_npc_r; - wire sel_hold_npc_r; - wire pc0_valid_r; - wire [15:0] mfdc_int; - wire [15:0] mfdc_ns; - wire [31:0] mrac_in; - wire [31:27] csr_sat; - wire [8:6] dcsr_cause; - wire enter_debug_halt_req_le; - wire dcsr_cause_upgradeable; - wire icache_rd_valid; - wire icache_wr_valid; - wire icache_rd_valid_f; - wire icache_wr_valid_f; - wire [3:0] mhpmc_inc_r; - wire [3:0] mhpmc_inc_r_d1; - wire [39:0] mhpme_vec; - wire mhpmc3_wr_en0; - wire mhpmc3_wr_en1; - wire mhpmc3_wr_en; - wire mhpmc4_wr_en0; - wire mhpmc4_wr_en1; - wire mhpmc4_wr_en; - wire mhpmc5_wr_en0; - wire mhpmc5_wr_en1; - wire mhpmc5_wr_en; - wire mhpmc6_wr_en0; - wire mhpmc6_wr_en1; - wire mhpmc6_wr_en; - wire mhpmc3h_wr_en0; - wire mhpmc3h_wr_en; - wire mhpmc4h_wr_en0; - wire mhpmc4h_wr_en; - wire mhpmc5h_wr_en0; - wire mhpmc5h_wr_en; - wire mhpmc6h_wr_en0; - wire mhpmc6h_wr_en; - wire [63:0] mhpmc3_incr; - wire [63:0] mhpmc4_incr; - wire [63:0] mhpmc5_incr; - wire [63:0] mhpmc6_incr; - wire perfcnt_halted_d1; - wire zero_event_r; - wire [3:0] perfcnt_during_sleep; - wire [9:0] event_r; - wire [3:0] pmu_i0_itype_qual; - wire csr_mfdht; - wire csr_mfdhs; - wire csr_misa; - wire csr_mvendorid; - wire csr_marchid; - wire csr_mimpid; - wire csr_mhartid; - wire csr_mstatus; - wire csr_mtvec; - wire csr_mip; - wire csr_mie; - wire csr_mcyclel; - wire csr_mcycleh; - wire csr_minstretl; - wire csr_minstreth; - wire csr_mscratch; - wire csr_mepc; - wire csr_mcause; - wire csr_mscause; - wire csr_mtval; - wire csr_mrac; - wire csr_dmst; - wire csr_mdseac; - wire csr_meihap; - wire csr_meivt; - wire csr_meipt; - wire csr_meicurpl; - wire csr_meicidpl; - wire csr_dcsr; - wire csr_mcgc; - wire csr_mfdc; - wire csr_dpc; - wire csr_mtsel; - wire csr_mtdata1; - wire csr_mtdata2; - wire csr_mhpmc3; - wire csr_mhpmc4; - wire csr_mhpmc5; - wire csr_mhpmc6; - wire csr_mhpmc3h; - wire csr_mhpmc4h; - wire csr_mhpmc5h; - wire csr_mhpmc6h; - wire csr_mhpme3; - wire csr_mhpme4; - wire csr_mhpme5; - wire csr_mhpme6; - wire csr_mcountinhibit; - wire csr_mpmc; - wire csr_micect; - wire csr_miccmect; - wire csr_mdccmect; - wire csr_dicawics; - wire csr_dicad0h; - wire csr_dicad0; - wire csr_dicad1; - wire csr_dicago; - wire presync; - wire postsync; - wire legal; - wire dec_csr_wen_r_mod; - wire flush_clkvalid; - wire sel_fir_addr; - wire wr_mie_r; - wire mtval_capture_pc_r; - wire mtval_capture_pc_plus2_r; - wire mtval_capture_inst_r; - wire mtval_capture_lsu_r; - wire mtval_clear_r; - wire wr_mcgc_r; - wire wr_mfdc_r; - wire wr_mdeau_r; - wire trigger_hit_for_dscr_cause_r_d1; - wire conditionally_illegal; - wire [3:0] ifu_mscause; - wire ifu_ic_error_start_f; - wire ifu_iccm_rd_ecc_single_err_f; - eb1_dec_timer_ctl #(.pt(pt)) int_timers( - .clk(clk), - .free_l2clk(free_l2clk), - .csr_wr_clk(csr_wr_clk), - .rst_l(rst_l), - .dec_csr_wen_r_mod(dec_csr_wen_r_mod), - .dec_csr_wraddr_r(dec_csr_wraddr_r), - .dec_csr_wrdata_r(dec_csr_wrdata_r), - .csr_mitctl0(csr_mitctl0), - .csr_mitctl1(csr_mitctl1), - .csr_mitb0(csr_mitb0), - .csr_mitb1(csr_mitb1), - .csr_mitcnt0(csr_mitcnt0), - .csr_mitcnt1(csr_mitcnt1), - .dec_pause_state(dec_pause_state), - .dec_tlu_pmu_fw_halted(dec_tlu_pmu_fw_halted), - .internal_dbg_halt_timers(internal_dbg_halt_timers), - .dec_timer_rddata_d(dec_timer_rddata_d), - .dec_timer_read_d(dec_timer_read_d), - .dec_timer_t0_pulse(dec_timer_t0_pulse), - .dec_timer_t1_pulse(dec_timer_t1_pulse), - .scan_mode(scan_mode) - ); - assign clk_override = dec_tlu_dec_clk_override; - rvsyncss #(.WIDTH(7)) syncro_ff( - .rst_l(rst_l), - .clk(free_clk), - .din({nmi_int, timer_int, soft_int, i_cpu_halt_req, i_cpu_run_req, mpc_debug_halt_req, mpc_debug_run_req}), - .dout({nmi_int_sync, timer_int_sync, soft_int_sync, i_cpu_halt_req_sync, i_cpu_run_req_sync, mpc_debug_halt_req_sync_raw, mpc_debug_run_req_sync}) - ); - rvoclkhdr csrwr_r_cgc( - .en(dec_csr_wen_r_mod | clk_override), - .l1clk(csr_wr_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - assign e4_valid = dec_tlu_i0_valid_r; - assign e4e5_valid = e4_valid | e5_valid; - assign flush_clkvalid = ((((((((internal_dbg_halt_mode_f | i_cpu_run_req_d1) | interrupt_valid_r) | interrupt_valid_r_d1) | reset_delayed) | pause_expired_r) | pause_expired_wb) | ic_perr_r) | iccm_sbecc_r) | clk_override; - rvoclkhdr e4e5_cgc( - .en(e4e5_valid | clk_override), - .l1clk(e4e5_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr e4e5_int_cgc( - .en(e4e5_valid | flush_clkvalid), - .l1clk(e4e5_int_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvdffie #(.WIDTH(11)) freeff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({ifu_ic_error_start, ifu_iccm_rd_ecc_single_err, iccm_repair_state_ns, e4_valid, internal_dbg_halt_mode, lsu_pmu_load_external_m, lsu_pmu_store_external_m, tlu_flush_lower_r, tlu_i0_kill_writeb_r, internal_dbg_halt_mode_f, force_halt}), - .dout({ifu_ic_error_start_f, ifu_iccm_rd_ecc_single_err_f, iccm_repair_state_d1, e5_valid, internal_dbg_halt_mode_f, lsu_pmu_load_external_r, lsu_pmu_store_external_r, tlu_flush_lower_r_d1, dec_tlu_i0_kill_writeb_wb, internal_dbg_halt_mode_f2, dec_tlu_force_halt}) - ); - assign dec_tlu_i0_kill_writeb_r = tlu_i0_kill_writeb_r; - assign nmi_int_detected = (((nmi_int_sync & ~nmi_int_delayed) | nmi_lsu_detected) | (nmi_int_detected_f & ~take_nmi_r_d1)) | nmi_fir_type; - assign nmi_lsu_load_type = ((nmi_lsu_detected & lsu_imprecise_error_load_any) & ~(nmi_int_detected_f & ~take_nmi_r_d1)) | (nmi_lsu_load_type_f & ~take_nmi_r_d1); - assign nmi_lsu_store_type = ((nmi_lsu_detected & lsu_imprecise_error_store_any) & ~(nmi_int_detected_f & ~take_nmi_r_d1)) | (nmi_lsu_store_type_f & ~take_nmi_r_d1); - assign nmi_fir_type = (~nmi_int_detected_f & take_ext_int_start_d3) & |lsu_fir_error[1:0]; - assign nmi_lsu_detected = (~mdseac_locked_f & (lsu_imprecise_error_load_any | lsu_imprecise_error_store_any)) & ~nmi_fir_type; - localparam MSTATUS_MIE = 0; - localparam MIP_MCEIP = 5; - localparam MIP_MITIP0 = 4; - localparam MIP_MITIP1 = 3; - localparam MIP_MEIP = 2; - localparam MIP_MTIP = 1; - localparam MIP_MSIP = 0; - localparam MIE_MCEIE = 5; - localparam MIE_MITIE0 = 4; - localparam MIE_MITIE1 = 3; - localparam MIE_MEIE = 2; - localparam MIE_MTIE = 1; - localparam MIE_MSIE = 0; - localparam DCSR_EBREAKM = 15; - localparam DCSR_STEPIE = 11; - localparam DCSR_STOPC = 10; - localparam DCSR_STEP = 2; - assign reset_delayed = reset_detect ^ reset_detected; - assign mpc_debug_halt_req_sync = mpc_debug_halt_req_sync_raw & ~ext_int_freeze_d1; - rvdffie #(.WIDTH(16)) mpvhalt_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({1'b1, reset_detect, nmi_int_sync, nmi_int_detected, nmi_lsu_load_type, nmi_lsu_store_type, mpc_debug_halt_req_sync, mpc_debug_run_req_sync, mpc_halt_state_ns, mpc_run_state_ns, debug_brkpt_status_ns, mpc_debug_halt_ack_ns, mpc_debug_run_ack_ns, dbg_halt_state_ns, dbg_run_state_ns, dec_tlu_mpc_halted_only_ns}), - .dout({reset_detect, reset_detected, nmi_int_delayed, nmi_int_detected_f, nmi_lsu_load_type_f, nmi_lsu_store_type_f, mpc_debug_halt_req_sync_f, mpc_debug_run_req_sync_f, mpc_halt_state_f, mpc_run_state_f, debug_brkpt_status_f, mpc_debug_halt_ack_f, mpc_debug_run_ack_f, dbg_halt_state_f, dbg_run_state_f, dec_tlu_mpc_halted_only}) - ); - assign mpc_debug_halt_req_sync_pulse = mpc_debug_halt_req_sync & ~mpc_debug_halt_req_sync_f; - assign mpc_debug_run_req_sync_pulse = mpc_debug_run_req_sync & ~mpc_debug_run_req_sync_f; - assign mpc_halt_state_ns = ((mpc_halt_state_f | mpc_debug_halt_req_sync_pulse) | (reset_delayed & ~mpc_reset_run_req)) & ~mpc_debug_run_req_sync; - assign mpc_run_state_ns = (mpc_run_state_f | (mpc_debug_run_req_sync_pulse & ~mpc_debug_run_ack_f)) & (internal_dbg_halt_mode_f & ~dcsr_single_step_running_f); - assign dbg_halt_state_ns = (dbg_halt_state_f | (((dbg_halt_req_final | dcsr_single_step_done_f) | trigger_hit_dmode_r_d1) | ebreak_to_debug_mode_r_d1)) & ~dbg_resume_req; - assign dbg_run_state_ns = (dbg_run_state_f | dbg_resume_req) & (internal_dbg_halt_mode_f & ~dcsr_single_step_running_f); - assign dec_tlu_mpc_halted_only_ns = ~dbg_halt_state_f & mpc_halt_state_f; - assign debug_brkpt_valid = ebreak_to_debug_mode_r_d1 | trigger_hit_dmode_r_d1; - assign debug_brkpt_status_ns = (debug_brkpt_valid | debug_brkpt_status_f) & (internal_dbg_halt_mode & ~dcsr_single_step_running_f); - assign mpc_debug_halt_ack_ns = ((mpc_halt_state_f & internal_dbg_halt_mode_f) & mpc_debug_halt_req_sync) & core_empty; - assign mpc_debug_run_ack_ns = ((mpc_debug_run_req_sync & ~dbg_halt_state_ns) & ~mpc_debug_halt_req_sync) | (mpc_debug_run_ack_f & mpc_debug_run_req_sync); - assign mpc_debug_halt_ack = mpc_debug_halt_ack_f; - assign mpc_debug_run_ack = mpc_debug_run_ack_f; - assign debug_brkpt_status = debug_brkpt_status_f; - assign dbg_halt_req_held_ns = (dbg_halt_req | dbg_halt_req_held) & ext_int_freeze_d1; - assign dbg_halt_req_final = (dbg_halt_req | dbg_halt_req_held) & ~ext_int_freeze_d1; - assign debug_halt_req = (((dbg_halt_req_final | mpc_debug_halt_req_sync) | (reset_delayed & ~mpc_reset_run_req)) & ~internal_dbg_halt_mode_f) & ~ext_int_freeze_d1; - assign debug_resume_req = ~debug_resume_req_f & ((mpc_run_state_ns & ~dbg_halt_state_ns) | (dbg_run_state_ns & ~mpc_halt_state_ns)); - assign take_halt = (((((debug_halt_req_f | pmu_fw_halt_req_f) & ~synchronous_flush_r) & ~mret_r) & ~halt_taken_f) & ~dec_tlu_flush_noredir_r_d1) & ~take_reset; - assign halt_taken = ((dec_tlu_flush_noredir_r_d1 & ~dec_tlu_flush_pause_r_d1) & ~take_ext_int_start_d1) | (((halt_taken_f & ~dbg_tlu_halted_f) & ~pmu_fw_tlu_halted_f) & ~interrupt_valid_r_d1); - assign core_empty = force_halt | ((((((lsu_idle_any & lsu_idle_any_f) & ifu_miss_state_idle) & ifu_miss_state_idle_f) & ~debug_halt_req) & ~debug_halt_req_d1) & ~dec_div_active); - assign dec_tlu_core_empty = core_empty; - assign enter_debug_halt_req = (((~internal_dbg_halt_mode_f & debug_halt_req) | dcsr_single_step_done_f) | trigger_hit_dmode_r_d1) | ebreak_to_debug_mode_r_d1; - assign internal_dbg_halt_mode = debug_halt_req_ns | (internal_dbg_halt_mode_f & ~(debug_resume_req_f & ~dcsr[DCSR_STEP])); - assign allow_dbg_halt_csr_write = internal_dbg_halt_mode_f & ~dcsr_single_step_running_f; - assign debug_halt_req_ns = enter_debug_halt_req | (debug_halt_req_f & ~dbg_tlu_halted); - assign dbg_tlu_halted = ((debug_halt_req_f & core_empty) & halt_taken) | (dbg_tlu_halted_f & ~debug_resume_req_f); - assign resume_ack_ns = (debug_resume_req_f & dbg_tlu_halted_f) & dbg_run_state_ns; - assign dcsr_single_step_done = ((dec_tlu_i0_valid_r & ~dec_tlu_dbg_halted) & dcsr[DCSR_STEP]) & ~rfpc_i0_r; - assign dcsr_single_step_running = (debug_resume_req_f & dcsr[DCSR_STEP]) | (dcsr_single_step_running_f & ~dcsr_single_step_done_f); - assign dbg_cmd_done_ns = dec_tlu_i0_valid_r & dec_tlu_dbg_halted; - assign request_debug_mode_r = (trigger_hit_dmode_r | ebreak_to_debug_mode_r) | (request_debug_mode_r_d1 & ~dec_tlu_flush_lower_wb); - assign request_debug_mode_done = (request_debug_mode_r_d1 | request_debug_mode_done_f) & ~dbg_tlu_halted_f; - rvdffie #(.WIDTH(18)) halt_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({dec_tlu_flush_noredir_r, halt_taken, lsu_idle_any, ifu_miss_state_idle, dbg_tlu_halted, resume_ack_ns, debug_halt_req_ns, debug_resume_req, trigger_hit_dmode_r, dcsr_single_step_done, debug_halt_req, dec_tlu_wr_pause_r, dec_pause_state, request_debug_mode_r, request_debug_mode_done, dcsr_single_step_running, dec_tlu_flush_pause_r, dbg_halt_req_held_ns}), - .dout({dec_tlu_flush_noredir_r_d1, halt_taken_f, lsu_idle_any_f, ifu_miss_state_idle_f, dbg_tlu_halted_f, dec_tlu_resume_ack, debug_halt_req_f, debug_resume_req_f_raw, trigger_hit_dmode_r_d1, dcsr_single_step_done_f, debug_halt_req_d1, dec_tlu_wr_pause_r_d1, dec_pause_state_f, request_debug_mode_r_d1, request_debug_mode_done_f, dcsr_single_step_running_f, dec_tlu_flush_pause_r_d1, dbg_halt_req_held}) - ); - assign debug_resume_req_f = debug_resume_req_f_raw & ~dbg_halt_req; - assign dec_tlu_debug_stall = debug_halt_req_f; - assign dec_tlu_dbg_halted = dbg_tlu_halted_f; - assign dec_tlu_debug_mode = internal_dbg_halt_mode_f; - assign dec_tlu_pmu_fw_halted = pmu_fw_tlu_halted_f; - assign dec_tlu_flush_noredir_r = (((take_halt | (fence_i_r & internal_dbg_halt_mode)) | dec_tlu_flush_pause_r) | (i0_trigger_hit_r & trigger_hit_dmode_r)) | take_ext_int_start; - assign dec_tlu_flush_extint = take_ext_int_start; - assign dec_tlu_flush_pause_r = (dec_tlu_wr_pause_r_d1 & ~interrupt_valid_r) & ~take_ext_int_start; - assign pause_expired_r = (((((~dec_pause_state & dec_pause_state_f) & ~(((((((ext_int_ready | ce_int_ready) | timer_int_ready) | soft_int_ready) | int_timer0_int_hold_f) | int_timer1_int_hold_f) | nmi_int_detected) | ext_int_freeze_d1)) & ~interrupt_valid_r_d1) & ~debug_halt_req_f) & ~pmu_fw_halt_req_f) & ~halt_taken_f; - assign dec_tlu_flush_leak_one_r = ((dec_tlu_flush_lower_r & dcsr[DCSR_STEP]) & (dec_tlu_resume_ack | dcsr_single_step_running)) & ~dec_tlu_flush_noredir_r; - assign dec_tlu_flush_err_r = dec_tlu_flush_lower_r & (ic_perr_r | iccm_sbecc_r); - assign dec_dbg_cmd_done = dbg_cmd_done_ns; - assign dec_dbg_cmd_fail = illegal_r & dec_dbg_cmd_done; - localparam MTDATA1_DMODE = 9; - localparam MTDATA1_SEL = 7; - localparam MTDATA1_ACTION = 6; - localparam MTDATA1_CHAIN = 5; - localparam MTDATA1_MATCH = 4; - localparam MTDATA1_M_ENABLED = 3; - localparam MTDATA1_EXE = 2; - localparam MTDATA1_ST = 1; - localparam MTDATA1_LD = 0; - assign trigger_execute[3:0] = {mtdata1_t3[MTDATA1_EXE], mtdata1_t2[MTDATA1_EXE], mtdata1_t1[MTDATA1_EXE], mtdata1_t0[MTDATA1_EXE]}; - assign trigger_data[3:0] = {mtdata1_t3[MTDATA1_SEL], mtdata1_t2[MTDATA1_SEL], mtdata1_t1[MTDATA1_SEL], mtdata1_t0[MTDATA1_SEL]}; - assign trigger_store[3:0] = {mtdata1_t3[MTDATA1_ST], mtdata1_t2[MTDATA1_ST], mtdata1_t1[MTDATA1_ST], mtdata1_t0[MTDATA1_ST]}; - assign trigger_enabled[3:0] = {(mtdata1_t3[MTDATA1_ACTION] | mstatus[MSTATUS_MIE]) & mtdata1_t3[MTDATA1_M_ENABLED], (mtdata1_t2[MTDATA1_ACTION] | mstatus[MSTATUS_MIE]) & mtdata1_t2[MTDATA1_M_ENABLED], (mtdata1_t1[MTDATA1_ACTION] | mstatus[MSTATUS_MIE]) & mtdata1_t1[MTDATA1_M_ENABLED], (mtdata1_t0[MTDATA1_ACTION] | mstatus[MSTATUS_MIE]) & mtdata1_t0[MTDATA1_M_ENABLED]}; - assign i0_iside_trigger_has_pri_r[3:0] = ~(((trigger_execute[3:0] & trigger_data[3:0]) & {4 {inst_acc_r_raw}}) | {4 {exu_i0_br_error_r | exu_i0_br_start_error_r}}); - assign i0_lsu_trigger_has_pri_r[3:0] = ~((trigger_store[3:0] & trigger_data[3:0]) & {4 {lsu_i0_exc_r_raw}}); - assign i0_trigger_eval_r = dec_tlu_i0_valid_r; - assign i0trigger_qual_r[3:0] = ((({4 {i0_trigger_eval_r}} & dec_tlu_packet_r[11:8]) & i0_iside_trigger_has_pri_r[3:0]) & i0_lsu_trigger_has_pri_r[3:0]) & trigger_enabled[3:0]; - assign i0_trigger_r[3:0] = ~{4 {dec_tlu_flush_lower_wb | dec_tlu_dbg_halted}} & i0trigger_qual_r[3:0]; - assign i0_trigger_chain_masked_r[3:0] = {i0_trigger_r[3] & (~mtdata1_t2[MTDATA1_CHAIN] | i0_trigger_r[2]), i0_trigger_r[2] & (~mtdata1_t2[MTDATA1_CHAIN] | i0_trigger_r[3]), i0_trigger_r[1] & (~mtdata1_t0[MTDATA1_CHAIN] | i0_trigger_r[0]), i0_trigger_r[0] & (~mtdata1_t0[MTDATA1_CHAIN] | i0_trigger_r[1])}; - assign i0_trigger_hit_raw_r = |i0_trigger_chain_masked_r[3:0]; - assign i0_trigger_hit_r = i0_trigger_hit_raw_r; - assign trigger_action[3:0] = {mtdata1_t3[MTDATA1_ACTION] & mtdata1_t3[MTDATA1_DMODE], (mtdata1_t2[MTDATA1_ACTION] & mtdata1_t2[MTDATA1_DMODE]) & ~mtdata1_t2[MTDATA1_CHAIN], mtdata1_t1[MTDATA1_ACTION] & mtdata1_t1[MTDATA1_DMODE], (mtdata1_t0[MTDATA1_ACTION] & mtdata1_t0[MTDATA1_DMODE]) & ~mtdata1_t0[MTDATA1_CHAIN]}; - assign update_hit_bit_r[3:0] = {4 {|i0_trigger_r[3:0] & ~rfpc_i0_r}} & {i0_trigger_chain_masked_r[3], i0_trigger_r[2], i0_trigger_chain_masked_r[1], i0_trigger_r[0]}; - assign i0_trigger_action_r = |(i0_trigger_chain_masked_r[3:0] & trigger_action[3:0]); - assign trigger_hit_dmode_r = i0_trigger_hit_r & i0_trigger_action_r; - assign mepc_trigger_hit_sel_pc_r = i0_trigger_hit_r & ~trigger_hit_dmode_r; - assign i_cpu_halt_req_sync_qual = (i_cpu_halt_req_sync & ~dec_tlu_debug_mode) & ~ext_int_freeze_d1; - assign i_cpu_run_req_sync_qual = ((i_cpu_run_req_sync & ~dec_tlu_debug_mode) & pmu_fw_tlu_halted_f) & ~ext_int_freeze_d1; - rvdffie #(.WIDTH(10)) exthaltff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({i_cpu_halt_req_sync_qual, i_cpu_run_req_sync_qual, cpu_halt_status, cpu_halt_ack, cpu_run_ack, internal_pmu_fw_halt_mode, pmu_fw_halt_req_ns, pmu_fw_tlu_halted, int_timer0_int_hold, int_timer1_int_hold}), - .dout({i_cpu_halt_req_d1, i_cpu_run_req_d1_raw, o_cpu_halt_status, o_cpu_halt_ack, o_cpu_run_ack, internal_pmu_fw_halt_mode_f, pmu_fw_halt_req_f, pmu_fw_tlu_halted_f, int_timer0_int_hold_f, int_timer1_int_hold_f}) - ); - assign ext_halt_pulse = i_cpu_halt_req_sync_qual & ~i_cpu_halt_req_d1; - assign enter_pmu_fw_halt_req = ext_halt_pulse | fw_halt_req; - assign pmu_fw_halt_req_ns = (enter_pmu_fw_halt_req | (pmu_fw_halt_req_f & ~pmu_fw_tlu_halted)) & ~debug_halt_req_f; - assign internal_pmu_fw_halt_mode = pmu_fw_halt_req_ns | ((internal_pmu_fw_halt_mode_f & ~i_cpu_run_req_d1) & ~debug_halt_req_f); - assign pmu_fw_tlu_halted = ((((pmu_fw_halt_req_f & core_empty) & halt_taken) & ~enter_debug_halt_req) | (pmu_fw_tlu_halted_f & ~i_cpu_run_req_d1)) & ~debug_halt_req_f; - assign cpu_halt_ack = (i_cpu_halt_req_d1 & pmu_fw_tlu_halted_f) | (o_cpu_halt_ack & i_cpu_halt_req_sync); - assign cpu_halt_status = (pmu_fw_tlu_halted_f & ~i_cpu_run_req_d1) | ((o_cpu_halt_status & ~i_cpu_run_req_d1) & ~internal_dbg_halt_mode_f); - assign cpu_run_ack = ((~pmu_fw_tlu_halted_f & i_cpu_run_req_sync) | (o_cpu_halt_status & i_cpu_run_req_d1_raw)) | (o_cpu_run_ack & i_cpu_run_req_sync); - assign debug_mode_status = internal_dbg_halt_mode_f; - assign o_debug_mode_status = debug_mode_status; - assign i_cpu_run_req_d1 = i_cpu_run_req_d1_raw | (((((((nmi_int_detected | timer_int_ready) | soft_int_ready) | int_timer0_int_hold_f) | int_timer1_int_hold_f) | (mhwakeup & mhwakeup_ready)) & o_cpu_halt_status) & ~i_cpu_halt_req_d1); - assign lsu_single_ecc_error_r = lsu_single_ecc_error_incr; - assign lsu_error_pkt_addr_r[31:0] = lsu_error_pkt_r[33:2]; - assign lsu_exc_valid_r_raw = lsu_error_pkt_r[0] & ~dec_tlu_flush_lower_wb; - assign lsu_i0_exc_r_raw = lsu_error_pkt_r[0]; - assign lsu_i0_exc_r = ((lsu_i0_exc_r_raw & lsu_exc_valid_r_raw) & ~i0_trigger_hit_r) & ~rfpc_i0_r; - assign lsu_exc_valid_r = lsu_i0_exc_r; - assign lsu_exc_ma_r = lsu_i0_exc_r & ~lsu_error_pkt_r[38]; - assign lsu_exc_acc_r = lsu_i0_exc_r & lsu_error_pkt_r[38]; - assign lsu_exc_st_r = lsu_i0_exc_r & lsu_error_pkt_r[39]; - assign lsu_i0_rfnpc_r = (dec_tlu_i0_valid_r & ~i0_trigger_hit_r) & (~lsu_error_pkt_r[39] & lsu_error_pkt_r[1]); - assign tlu_i0_commit_cmt = (((((dec_tlu_i0_valid_r & ~rfpc_i0_r) & ~lsu_i0_exc_r) & ~inst_acc_r) & ~dec_tlu_dbg_halted) & ~request_debug_mode_r_d1) & ~i0_trigger_hit_r; - assign tlu_i0_kill_writeb_r = (((rfpc_i0_r | lsu_i0_exc_r) | inst_acc_r) | (illegal_r & dec_tlu_dbg_halted)) | i0_trigger_hit_r; - assign dec_tlu_i0_commit_cmt = tlu_i0_commit_cmt; - assign rfpc_i0_r = ((((dec_tlu_i0_valid_r & ~tlu_flush_lower_r_d1) & (exu_i0_br_error_r | exu_i0_br_start_error_r)) | ((ic_perr_r | iccm_sbecc_r) & ~ext_int_freeze_d1)) & ~i0_trigger_hit_r) & ~lsu_i0_rfnpc_r; - assign iccm_repair_state_ns = iccm_sbecc_r | (iccm_repair_state_d1 & ~dec_tlu_flush_lower_r); - localparam MCPC = 12'h7c2; - assign iccm_repair_state_rfnpc = (tlu_i0_commit_cmt & iccm_repair_state_d1) & ~(((((ebreak_r | ecall_r) | mret_r) | take_reset) | illegal_r) | (dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCPC))); - generate - if (pt[2130-:5] == 1) begin - assign dec_tlu_br0_error_r = (exu_i0_br_error_r & dec_tlu_i0_valid_r) & ~tlu_flush_lower_r_d1; - assign dec_tlu_br0_start_error_r = (exu_i0_br_start_error_r & dec_tlu_i0_valid_r) & ~tlu_flush_lower_r_d1; - assign dec_tlu_br0_v_r = ((exu_i0_br_valid_r & dec_tlu_i0_valid_r) & ~tlu_flush_lower_r_d1) & (~exu_i0_br_mp_r | ~exu_pmu_i0_br_ataken); - assign dec_tlu_br0_r_pkt[5:4] = exu_i0_br_hist_r[1:0]; - assign dec_tlu_br0_r_pkt[3] = dec_tlu_br0_error_r; - assign dec_tlu_br0_r_pkt[2] = dec_tlu_br0_start_error_r; - assign dec_tlu_br0_r_pkt[6] = dec_tlu_br0_v_r; - assign dec_tlu_br0_r_pkt[1] = exu_i0_br_way_r; - assign dec_tlu_br0_r_pkt[0] = exu_i0_br_middle_r; - end - else begin - assign dec_tlu_br0_error_r = 1'b0; - assign dec_tlu_br0_start_error_r = 1'b0; - assign dec_tlu_br0_v_r = 1'b0; - assign dec_tlu_br0_r_pkt = {7 {1'sb0}}; - end - endgenerate - localparam [3:0] eb1_pkg_EBREAK = 4'b1000; - assign ebreak_r = ((((dec_tlu_packet_r[3-:4] == eb1_pkg_EBREAK) & dec_tlu_i0_valid_r) & ~i0_trigger_hit_r) & ~dcsr[DCSR_EBREAKM]) & ~rfpc_i0_r; - localparam [3:0] eb1_pkg_ECALL = 4'b1001; - assign ecall_r = (((dec_tlu_packet_r[3-:4] == eb1_pkg_ECALL) & dec_tlu_i0_valid_r) & ~i0_trigger_hit_r) & ~rfpc_i0_r; - assign illegal_r = ((~dec_tlu_packet_r[5] & dec_tlu_i0_valid_r) & ~i0_trigger_hit_r) & ~rfpc_i0_r; - localparam [3:0] eb1_pkg_MRET = 4'b1100; - assign mret_r = (((dec_tlu_packet_r[3-:4] == eb1_pkg_MRET) & dec_tlu_i0_valid_r) & ~i0_trigger_hit_r) & ~rfpc_i0_r; - assign fence_i_r = ((dec_tlu_packet_r[12] & dec_tlu_i0_valid_r) & ~i0_trigger_hit_r) & ~rfpc_i0_r; - assign ic_perr_r = ((ifu_ic_error_start_f & ~ext_int_freeze_d1) & (~internal_dbg_halt_mode_f | dcsr_single_step_running)) & ~internal_pmu_fw_halt_mode_f; - assign iccm_sbecc_r = ((ifu_iccm_rd_ecc_single_err_f & ~ext_int_freeze_d1) & (~internal_dbg_halt_mode_f | dcsr_single_step_running)) & ~internal_pmu_fw_halt_mode_f; - assign inst_acc_r_raw = dec_tlu_packet_r[16] & dec_tlu_i0_valid_r; - assign inst_acc_r = (inst_acc_r_raw & ~rfpc_i0_r) & ~i0_trigger_hit_r; - assign inst_acc_second_r = dec_tlu_packet_r[15]; - assign ebreak_to_debug_mode_r = ((((dec_tlu_packet_r[3-:4] == eb1_pkg_EBREAK) & dec_tlu_i0_valid_r) & ~i0_trigger_hit_r) & dcsr[DCSR_EBREAKM]) & ~rfpc_i0_r; - rvdff #(.WIDTH(1)) exctype_wb_ff( - .rst_l(rst_l), - .clk(e4e5_clk), - .din(ebreak_to_debug_mode_r), - .dout(ebreak_to_debug_mode_r_d1) - ); - assign dec_tlu_fence_i_r = fence_i_r; - assign i0_exception_valid_r = ((((ebreak_r | ecall_r) | illegal_r) | inst_acc_r) & ~rfpc_i0_r) & ~dec_tlu_dbg_halted; - assign exc_cause_r[4:0] = (((((((((((((({5 {take_ext_int}} & 5'h0b) | ({5 {take_timer_int}} & 5'h07)) | ({5 {take_soft_int}} & 5'h03)) | ({5 {take_int_timer0_int}} & 5'h1d)) | ({5 {take_int_timer1_int}} & 5'h1c)) | ({5 {take_ce_int}} & 5'h1e)) | ({5 {illegal_r}} & 5'h02)) | ({5 {ecall_r}} & 5'h0b)) | ({5 {inst_acc_r}} & 5'h01)) | ({5 {ebreak_r | i0_trigger_hit_r}} & 5'h03)) | ({5 {lsu_exc_ma_r & ~lsu_exc_st_r}} & 5'h04)) | ({5 {lsu_exc_acc_r & ~lsu_exc_st_r}} & 5'h05)) | ({5 {lsu_exc_ma_r & lsu_exc_st_r}} & 5'h06)) | ({5 {lsu_exc_acc_r & lsu_exc_st_r}} & 5'h07)) & ~{5 {take_nmi}}; - assign mhwakeup_ready = ((~dec_csr_stall_int_ff & mstatus_mie_ns) & mip[MIP_MEIP]) & mie_ns[MIE_MEIE]; - assign ext_int_ready = (((~dec_csr_stall_int_ff & mstatus_mie_ns) & mip[MIP_MEIP]) & mie_ns[MIE_MEIE]) & ~ignore_ext_int_due_to_lsu_stall; - assign ce_int_ready = ((~dec_csr_stall_int_ff & mstatus_mie_ns) & mip[MIP_MCEIP]) & mie_ns[MIE_MCEIE]; - assign soft_int_ready = ((~dec_csr_stall_int_ff & mstatus_mie_ns) & mip[MIP_MSIP]) & mie_ns[MIE_MSIE]; - assign timer_int_ready = ((~dec_csr_stall_int_ff & mstatus_mie_ns) & mip[MIP_MTIP]) & mie_ns[MIE_MTIE]; - assign int_timer0_int_possible = mstatus_mie_ns & mie_ns[MIE_MITIE0]; - assign int_timer0_int_ready = mip[MIP_MITIP0] & int_timer0_int_possible; - assign int_timer1_int_possible = mstatus_mie_ns & mie_ns[MIE_MITIE1]; - assign int_timer1_int_ready = mip[MIP_MITIP1] & int_timer1_int_possible; - assign int_timer_stalled = ((dec_csr_stall_int_ff | synchronous_flush_r) | exc_or_int_valid_r_d1) | mret_r; - assign int_timer0_int_hold = (int_timer0_int_ready & (pmu_fw_tlu_halted_f | int_timer_stalled)) | ((((int_timer0_int_possible & int_timer0_int_hold_f) & ~interrupt_valid_r) & ~take_ext_int_start) & ~internal_dbg_halt_mode_f); - assign int_timer1_int_hold = (int_timer1_int_ready & (pmu_fw_tlu_halted_f | int_timer_stalled)) | ((((int_timer1_int_possible & int_timer1_int_hold_f) & ~interrupt_valid_r) & ~take_ext_int_start) & ~internal_dbg_halt_mode_f); - assign internal_dbg_halt_timers = internal_dbg_halt_mode_f & ~dcsr_single_step_running; - assign block_interrupts = ((((((((internal_dbg_halt_mode & (~dcsr_single_step_running | dec_tlu_i0_valid_r)) | internal_pmu_fw_halt_mode) | i_cpu_halt_req_d1) | take_nmi) | ebreak_to_debug_mode_r) | synchronous_flush_r) | exc_or_int_valid_r_d1) | mret_r) | ext_int_freeze_d1; - generate - if (pt[1227-:5]) begin - assign take_ext_int_start = ext_int_ready & ~block_interrupts; - assign ext_int_freeze = ((take_ext_int_start | take_ext_int_start_d1) | take_ext_int_start_d2) | take_ext_int_start_d3; - assign take_ext_int = take_ext_int_start_d3 & ~|lsu_fir_error[1:0]; - assign fast_int_meicpct = csr_meicpct & dec_csr_any_unq_d; - assign ignore_ext_int_due_to_lsu_stall = lsu_fastint_stall_any; - end - else begin - assign take_ext_int_start = 1'b0; - assign ext_int_freeze = 1'b0; - assign ext_int_freeze_d1 = 1'b0; - assign take_ext_int_start_d1 = 1'b0; - assign take_ext_int_start_d2 = 1'b0; - assign take_ext_int_start_d3 = 1'b0; - assign fast_int_meicpct = 1'b0; - assign ignore_ext_int_due_to_lsu_stall = 1'b0; - assign take_ext_int = ext_int_ready & ~block_interrupts; - end - endgenerate - assign take_ce_int = (ce_int_ready & ~ext_int_ready) & ~block_interrupts; - assign take_soft_int = ((soft_int_ready & ~ext_int_ready) & ~ce_int_ready) & ~block_interrupts; - assign take_timer_int = (((timer_int_ready & ~soft_int_ready) & ~ext_int_ready) & ~ce_int_ready) & ~block_interrupts; - assign take_int_timer0_int = (((((((int_timer0_int_ready | int_timer0_int_hold_f) & int_timer0_int_possible) & ~dec_csr_stall_int_ff) & ~timer_int_ready) & ~soft_int_ready) & ~ext_int_ready) & ~ce_int_ready) & ~block_interrupts; - assign take_int_timer1_int = ((((((((int_timer1_int_ready | int_timer1_int_hold_f) & int_timer1_int_possible) & ~dec_csr_stall_int_ff) & ~(int_timer0_int_ready | int_timer0_int_hold_f)) & ~timer_int_ready) & ~soft_int_ready) & ~ext_int_ready) & ~ce_int_ready) & ~block_interrupts; - assign take_reset = reset_delayed & mpc_reset_run_req; - assign take_nmi = ((((((nmi_int_detected & ~internal_pmu_fw_halt_mode) & (~internal_dbg_halt_mode | (((dcsr_single_step_running_f & dcsr[DCSR_STEPIE]) & ~dec_tlu_i0_valid_r) & ~dcsr_single_step_done_f))) & ~synchronous_flush_r) & ~mret_r) & ~take_reset) & ~ebreak_to_debug_mode_r) & (~ext_int_freeze_d1 | (take_ext_int_start_d3 & |lsu_fir_error[1:0])); - assign interrupt_valid_r = (((((take_ext_int | take_timer_int) | take_soft_int) | take_nmi) | take_ce_int) | take_int_timer0_int) | take_int_timer1_int; - assign vectored_path[31:1] = {mtvec[30:1], 1'b0} + {25'b0000000000000000000000000, exc_cause_r[4:0], 1'b0}; - assign interrupt_path[31:1] = (take_nmi ? nmi_vec[31:1] : (mtvec[0] == 1'b1 ? vectored_path[31:1] : {mtvec[30:1], 1'b0})); - assign sel_npc_r = (((lsu_i0_rfnpc_r | fence_i_r) | iccm_repair_state_rfnpc) | (i_cpu_run_req_d1 & ~interrupt_valid_r)) | (rfpc_i0_r & ~dec_tlu_i0_valid_r); - assign sel_npc_resume = (i_cpu_run_req_d1 & pmu_fw_tlu_halted_f) | pause_expired_r; - assign sel_fir_addr = take_ext_int_start_d3 & ~|lsu_fir_error[1:0]; - assign synchronous_flush_r = ((((((((i0_exception_valid_r | rfpc_i0_r) | lsu_exc_valid_r) | fence_i_r) | lsu_i0_rfnpc_r) | iccm_repair_state_rfnpc) | debug_resume_req_f) | sel_npc_resume) | dec_tlu_wr_pause_r_d1) | i0_trigger_hit_r; - assign tlu_flush_lower_r = ((((interrupt_valid_r | mret_r) | synchronous_flush_r) | take_halt) | take_reset) | take_ext_int_start; - assign tlu_flush_path_r[31:1] = (take_reset ? rst_vec[31:1] : ((((((({31 {sel_fir_addr}} & lsu_fir_addr[31:1]) | ({31 {~take_nmi & sel_npc_r}} & npc_r[31:1])) | ({31 {((~take_nmi & rfpc_i0_r) & dec_tlu_i0_valid_r) & ~sel_npc_r}} & dec_tlu_i0_pc_r[31:1])) | ({31 {interrupt_valid_r & ~sel_fir_addr}} & interrupt_path[31:1])) | ({31 {(((i0_exception_valid_r | lsu_exc_valid_r) | (i0_trigger_hit_r & ~trigger_hit_dmode_r)) & ~interrupt_valid_r) & ~sel_fir_addr}} & {mtvec[30:1], 1'b0})) | ({31 {~take_nmi & mret_r}} & mepc[31:1])) | ({31 {~take_nmi & debug_resume_req_f}} & dpc[31:1])) | ({31 {~take_nmi & sel_npc_resume}} & npc_r_d1[31:1])); - rvdffpcie #(.WIDTH(31)) flush_lower_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(tlu_flush_lower_r), - .din({tlu_flush_path_r[31:1]}), - .dout({tlu_flush_path_r_d1[31:1]}) - ); - assign dec_tlu_flush_lower_wb = tlu_flush_lower_r_d1; - assign dec_tlu_flush_lower_r = tlu_flush_lower_r; - assign dec_tlu_flush_path_r[31:1] = tlu_flush_path_r[31:1]; - assign exc_or_int_valid_r = ((lsu_exc_valid_r | i0_exception_valid_r) | interrupt_valid_r) | (i0_trigger_hit_r & ~trigger_hit_dmode_r); - rvdffie #(.WIDTH(12)) excinfo_wb_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din({interrupt_valid_r, i0_exception_valid_r, exc_or_int_valid_r, exc_cause_r[4:0], tlu_i0_commit_cmt & ~illegal_r, i0_trigger_hit_r, take_nmi, pause_expired_r}), - .dout({interrupt_valid_r_d1, i0_exception_valid_r_d1, exc_or_int_valid_r_d1, exc_cause_wb[4:0], i0_valid_wb, trigger_hit_r_d1, take_nmi_r_d1, pause_expired_wb}) - ); - localparam MISA = 12'h301; - localparam MVENDORID = 12'hf11; - localparam MARCHID = 12'hf12; - localparam MIMPID = 12'hf13; - localparam MHARTID = 12'hf14; - localparam MSTATUS = 12'h300; - assign dec_csr_wen_r_mod = (dec_csr_wen_r & ~i0_trigger_hit_r) & ~rfpc_i0_r; - assign wr_mstatus_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MSTATUS); - assign set_mie_pmu_fw_halt = ~mpmc_b_ns[1] & fw_halt_req; - assign mstatus_ns[1:0] = ((((({2 {~wr_mstatus_r & exc_or_int_valid_r}} & {mstatus[MSTATUS_MIE], 1'b0}) | ({2 {wr_mstatus_r & exc_or_int_valid_r}} & {dec_csr_wrdata_r[3], 1'b0})) | ({2 {mret_r & ~exc_or_int_valid_r}} & {1'b1, mstatus[1]})) | ({2 {set_mie_pmu_fw_halt}} & {mstatus[1], 1'b1})) | ({2 {wr_mstatus_r & ~exc_or_int_valid_r}} & {dec_csr_wrdata_r[7], dec_csr_wrdata_r[3]})) | ({2 {((~wr_mstatus_r & ~exc_or_int_valid_r) & ~mret_r) & ~set_mie_pmu_fw_halt}} & mstatus[1:0]); - assign mstatus_mie_ns = mstatus[MSTATUS_MIE] & (~dcsr_single_step_running_f | dcsr[DCSR_STEPIE]); - localparam MTVEC = 12'h305; - assign wr_mtvec_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTVEC); - assign mtvec_ns[30:0] = {dec_csr_wrdata_r[31:2], dec_csr_wrdata_r[0]}; - rvdffe #(.WIDTH(31)) mtvec_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mtvec_r), - .din(mtvec_ns[30:0]), - .dout(mtvec[30:0]) - ); - localparam MIP = 12'h344; - assign ce_int = (mdccme_ce_req | miccme_ce_req) | mice_ce_req; - assign mip_ns[5:0] = {ce_int, dec_timer_t0_pulse, dec_timer_t1_pulse, mexintpend, timer_int_sync, soft_int_sync}; - localparam MIE = 12'h304; - assign wr_mie_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MIE); - assign mie_ns[5:0] = (wr_mie_r ? {dec_csr_wrdata_r[30:28], dec_csr_wrdata_r[11], dec_csr_wrdata_r[7], dec_csr_wrdata_r[3]} : mie[5:0]); - rvdff #(.WIDTH(6)) mie_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .din(mie_ns[5:0]), - .dout(mie[5:0]) - ); - localparam MCYCLEL = 12'hb00; - assign kill_ebreak_count_r = ebreak_to_debug_mode_r & dcsr[DCSR_STOPC]; - assign wr_mcyclel_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCYCLEL); - assign mcyclel_cout_in = ~(((kill_ebreak_count_r | (dec_tlu_dbg_halted & dcsr[DCSR_STOPC])) | dec_tlu_pmu_fw_halted) | mcountinhibit[0]); - assign {mcyclela_cout, mcyclel_inc[7:0]} = mcyclel[7:0] + 8'b00000001; - assign {mcyclel_cout, mcyclel_inc[31:8]} = mcyclel[31:8] + {23'b00000000000000000000000, mcyclela_cout}; - assign mcyclel_ns[31:0] = (wr_mcyclel_r ? dec_csr_wrdata_r[31:0] : mcyclel_inc[31:0]); - rvdffe #(.WIDTH(24)) mcyclel_bff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(wr_mcyclel_r | (mcyclela_cout & mcyclel_cout_in)), - .din(mcyclel_ns[31:8]), - .dout(mcyclel[31:8]) - ); - rvdffe #(.WIDTH(8)) mcyclel_aff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(wr_mcyclel_r | mcyclel_cout_in), - .din(mcyclel_ns[7:0]), - .dout(mcyclel[7:0]) - ); - localparam MCYCLEH = 12'hb80; - assign wr_mcycleh_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCYCLEH); - assign mcycleh_inc[31:0] = mcycleh[31:0] + {31'b0000000000000000000000000000000, mcyclel_cout_f}; - assign mcycleh_ns[31:0] = (wr_mcycleh_r ? dec_csr_wrdata_r[31:0] : mcycleh_inc[31:0]); - rvdffe #(.WIDTH(32)) mcycleh_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(wr_mcycleh_r | mcyclel_cout_f), - .din(mcycleh_ns[31:0]), - .dout(mcycleh[31:0]) - ); - localparam MINSTRETL = 12'hb02; - assign i0_valid_no_ebreak_ecall_r = dec_tlu_i0_valid_r & ~((((ebreak_r | ecall_r) | ebreak_to_debug_mode_r) | illegal_r) | mcountinhibit[2]); - assign wr_minstretl_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MINSTRETL); - assign {minstretl_couta, minstretl_inc[7:0]} = minstretl[7:0] + 8'b00000001; - assign {minstretl_cout, minstretl_inc[31:8]} = minstretl[31:8] + {23'b00000000000000000000000, minstretl_couta}; - assign minstret_enable = (i0_valid_no_ebreak_ecall_r & tlu_i0_commit_cmt) | wr_minstretl_r; - assign minstretl_cout_ns = ((minstretl_cout & ~wr_minstreth_r) & i0_valid_no_ebreak_ecall_r) & ~dec_tlu_dbg_halted; - assign minstretl_ns[31:0] = (wr_minstretl_r ? dec_csr_wrdata_r[31:0] : minstretl_inc[31:0]); - rvdffe #(.WIDTH(24)) minstretl_bff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_minstretl_r | (minstretl_couta & minstret_enable)), - .din(minstretl_ns[31:8]), - .dout(minstretl[31:8]) - ); - rvdffe #(.WIDTH(8)) minstretl_aff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(minstret_enable), - .din(minstretl_ns[7:0]), - .dout(minstretl[7:0]) - ); - assign minstretl_read[31:0] = minstretl[31:0]; - localparam MINSTRETH = 12'hb82; - assign wr_minstreth_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MINSTRETH); - assign minstreth_inc[31:0] = minstreth[31:0] + {31'b0000000000000000000000000000000, minstretl_cout_f}; - assign minstreth_ns[31:0] = (wr_minstreth_r ? dec_csr_wrdata_r[31:0] : minstreth_inc[31:0]); - rvdffe #(.WIDTH(32)) minstreth_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((minstret_enable_f & minstretl_cout_f) | wr_minstreth_r), - .din(minstreth_ns[31:0]), - .dout(minstreth[31:0]) - ); - assign minstreth_read[31:0] = minstreth_inc[31:0]; - localparam MSCRATCH = 12'h340; - assign wr_mscratch_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MSCRATCH); - rvdffe #(.WIDTH(32)) mscratch_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mscratch_r), - .din(dec_csr_wrdata_r[31:0]), - .dout(mscratch[31:0]) - ); - localparam MEPC = 12'h341; - assign sel_exu_npc_r = (~dec_tlu_dbg_halted & ~tlu_flush_lower_r_d1) & dec_tlu_i0_valid_r; - assign sel_flush_npc_r = (~dec_tlu_dbg_halted & tlu_flush_lower_r_d1) & ~dec_tlu_flush_noredir_r_d1; - assign sel_hold_npc_r = ~sel_exu_npc_r & ~sel_flush_npc_r; - assign npc_r[31:1] = ((({31 {sel_exu_npc_r}} & exu_npc_r[31:1]) | ({31 {~mpc_reset_run_req & reset_delayed}} & rst_vec[31:1])) | ({31 {sel_flush_npc_r}} & tlu_flush_path_r_d1[31:1])) | ({31 {sel_hold_npc_r}} & npc_r_d1[31:1]); - rvdffpcie #(.WIDTH(31)) npwbc_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((sel_exu_npc_r | sel_flush_npc_r) | reset_delayed), - .din(npc_r[31:1]), - .dout(npc_r_d1[31:1]) - ); - assign pc0_valid_r = ~dec_tlu_dbg_halted & dec_tlu_i0_valid_r; - assign pc_r[31:1] = ({31 {pc0_valid_r}} & dec_tlu_i0_pc_r[31:1]) | ({31 {~pc0_valid_r}} & pc_r_d1[31:1]); - rvdffpcie #(.WIDTH(31)) pwbc_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(pc0_valid_r), - .din(pc_r[31:1]), - .dout(pc_r_d1[31:1]) - ); - assign wr_mepc_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MEPC); - assign mepc_ns[31:1] = ((({31 {(i0_exception_valid_r | lsu_exc_valid_r) | mepc_trigger_hit_sel_pc_r}} & pc_r[31:1]) | ({31 {interrupt_valid_r}} & npc_r[31:1])) | ({31 {wr_mepc_r & ~exc_or_int_valid_r}} & dec_csr_wrdata_r[31:1])) | ({31 {~wr_mepc_r & ~exc_or_int_valid_r}} & mepc[31:1]); - rvdffe #(.WIDTH(31)) mepc_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((((i0_exception_valid_r | lsu_exc_valid_r) | mepc_trigger_hit_sel_pc_r) | interrupt_valid_r) | wr_mepc_r), - .din(mepc_ns[31:1]), - .dout(mepc[31:1]) - ); - localparam MCAUSE = 12'h342; - assign wr_mcause_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCAUSE); - assign mcause_sel_nmi_store = (exc_or_int_valid_r & take_nmi) & nmi_lsu_store_type; - assign mcause_sel_nmi_load = (exc_or_int_valid_r & take_nmi) & nmi_lsu_load_type; - assign mcause_sel_nmi_ext = (((exc_or_int_valid_r & take_nmi) & take_ext_int_start_d3) & |lsu_fir_error[1:0]) & ~nmi_int_detected_f; - assign mcause_fir_error_type[1:0] = {&lsu_fir_error[1:0], lsu_fir_error[1] & ~lsu_fir_error[0]}; - assign mcause_ns[31:0] = ((((({32 {mcause_sel_nmi_store}} & 32'hf0000000) | ({32 {mcause_sel_nmi_load}} & 32'hf0000001)) | ({32 {mcause_sel_nmi_ext}} & {30'b111100000000000000010000000000, mcause_fir_error_type[1:0]})) | ({32 {exc_or_int_valid_r & ~take_nmi}} & {interrupt_valid_r, 26'b00000000000000000000000000, exc_cause_r[4:0]})) | ({32 {wr_mcause_r & ~exc_or_int_valid_r}} & dec_csr_wrdata_r[31:0])) | ({32 {~wr_mcause_r & ~exc_or_int_valid_r}} & mcause[31:0]); - rvdffe #(.WIDTH(32)) mcause_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(exc_or_int_valid_r | wr_mcause_r), - .din(mcause_ns[31:0]), - .dout(mcause[31:0]) - ); - localparam MSCAUSE = 12'h7ff; - assign wr_mscause_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MSCAUSE); - assign ifu_mscause[3:0] = (dec_tlu_packet_r[14:13] == 2'b00 ? 4'b1001 : {2'b00, dec_tlu_packet_r[14:13]}); - assign mscause_type[3:0] = ((({4 {lsu_i0_exc_r}} & lsu_error_pkt_r[37:34]) | ({4 {i0_trigger_hit_r}} & 4'b0001)) | ({4 {ebreak_r}} & 4'b0010)) | ({4 {inst_acc_r}} & ifu_mscause[3:0]); - assign mscause_ns[3:0] = (({4 {exc_or_int_valid_r}} & mscause_type[3:0]) | ({4 {wr_mscause_r & ~exc_or_int_valid_r}} & dec_csr_wrdata_r[3:0])) | ({4 {~wr_mscause_r & ~exc_or_int_valid_r}} & mscause[3:0]); - rvdff #(.WIDTH(4)) mscause_ff( - .rst_l(rst_l), - .clk(e4e5_int_clk), - .din(mscause_ns[3:0]), - .dout(mscause[3:0]) - ); - localparam MTVAL = 12'h343; - assign wr_mtval_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTVAL); - assign mtval_capture_pc_r = (exc_or_int_valid_r & ((ebreak_r | (inst_acc_r & ~inst_acc_second_r)) | mepc_trigger_hit_sel_pc_r)) & ~take_nmi; - assign mtval_capture_pc_plus2_r = (exc_or_int_valid_r & (inst_acc_r & inst_acc_second_r)) & ~take_nmi; - assign mtval_capture_inst_r = (exc_or_int_valid_r & illegal_r) & ~take_nmi; - assign mtval_capture_lsu_r = (exc_or_int_valid_r & lsu_exc_valid_r) & ~take_nmi; - assign mtval_clear_r = (((exc_or_int_valid_r & ~mtval_capture_pc_r) & ~mtval_capture_inst_r) & ~mtval_capture_lsu_r) & ~mepc_trigger_hit_sel_pc_r; - assign mtval_ns[31:0] = ((((({32 {mtval_capture_pc_r}} & {pc_r[31:1], 1'b0}) | ({32 {mtval_capture_pc_plus2_r}} & {pc_r[31:1] + 31'b0000000000000000000000000000001, 1'b0})) | ({32 {mtval_capture_inst_r}} & dec_illegal_inst[31:0])) | ({32 {mtval_capture_lsu_r}} & lsu_error_pkt_addr_r[31:0])) | ({32 {wr_mtval_r & ~interrupt_valid_r}} & dec_csr_wrdata_r[31:0])) | ({32 {((((~take_nmi & ~wr_mtval_r) & ~mtval_capture_pc_r) & ~mtval_capture_inst_r) & ~mtval_clear_r) & ~mtval_capture_lsu_r}} & mtval[31:0]); - rvdffe #(.WIDTH(32)) mtval_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(tlu_flush_lower_r | wr_mtval_r), - .din(mtval_ns[31:0]), - .dout(mtval[31:0]) - ); - localparam MCGC = 12'h7f8; - assign wr_mcgc_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCGC); - assign mcgc_ns[9:0] = (wr_mcgc_r ? {~dec_csr_wrdata_r[9], dec_csr_wrdata_r[8:0]} : mcgc_int[9:0]); - rvdffe #(.WIDTH(10)) mcgc_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mcgc_r), - .din(mcgc_ns[9:0]), - .dout(mcgc_int[9:0]) - ); - assign mcgc[9:0] = {~mcgc_int[9], mcgc_int[8:0]}; - assign dec_tlu_picio_clk_override = mcgc[9]; - assign dec_tlu_misc_clk_override = mcgc[8]; - assign dec_tlu_dec_clk_override = mcgc[7]; - assign dec_tlu_ifu_clk_override = mcgc[5]; - assign dec_tlu_lsu_clk_override = mcgc[4]; - assign dec_tlu_bus_clk_override = mcgc[3]; - assign dec_tlu_pic_clk_override = mcgc[2]; - assign dec_tlu_dccm_clk_override = mcgc[1]; - assign dec_tlu_icm_clk_override = mcgc[0]; - localparam MFDC = 12'h7f9; - assign wr_mfdc_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MFDC); - rvdffe #(.WIDTH(16)) mfdc_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mfdc_r), - .din({mfdc_ns[15:0]}), - .dout(mfdc_int[15:0]) - ); - generate - if (pt[2037-:5] == 1) begin : axi4 - assign mfdc_ns[15:0] = {~dec_csr_wrdata_r[18:16], dec_csr_wrdata_r[12], dec_csr_wrdata_r[11:7], ~dec_csr_wrdata_r[6], dec_csr_wrdata_r[5:0]}; - assign mfdc[18:0] = {~mfdc_int[15:13], 3'b000, mfdc_int[12], mfdc_int[11:7], ~mfdc_int[6], mfdc_int[5:0]}; - end - else begin - assign mfdc_ns[15:0] = {~dec_csr_wrdata_r[18:16], dec_csr_wrdata_r[12:0]}; - assign mfdc[18:0] = {~mfdc_int[15:13], 3'b000, mfdc_int[12:0]}; - end - endgenerate - assign dec_tlu_dma_qos_prty[2:0] = mfdc[18:16]; - assign dec_tlu_trace_disable = mfdc[12]; - assign dec_tlu_external_ldfwd_disable = mfdc[11]; - assign dec_tlu_core_ecc_disable = 1'b1; - assign dec_tlu_sideeffect_posted_disable = mfdc[6]; - assign dec_tlu_bpred_disable = mfdc[3]; - assign dec_tlu_wb_coalescing_disable = mfdc[2]; - assign dec_tlu_pipelining_disable = mfdc[0]; - assign dec_tlu_wr_pause_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCPC)) & ~interrupt_valid_r) & ~take_ext_int_start; - localparam MRAC = 12'h7c0; - assign wr_mrac_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MRAC); - assign mrac_in[31:0] = {dec_csr_wrdata_r[31], dec_csr_wrdata_r[30] & ~dec_csr_wrdata_r[31], dec_csr_wrdata_r[29], dec_csr_wrdata_r[28] & ~dec_csr_wrdata_r[29], dec_csr_wrdata_r[27], dec_csr_wrdata_r[26] & ~dec_csr_wrdata_r[27], dec_csr_wrdata_r[25], dec_csr_wrdata_r[24] & ~dec_csr_wrdata_r[25], dec_csr_wrdata_r[23], dec_csr_wrdata_r[22] & ~dec_csr_wrdata_r[23], dec_csr_wrdata_r[21], dec_csr_wrdata_r[20] & ~dec_csr_wrdata_r[21], dec_csr_wrdata_r[19], dec_csr_wrdata_r[18] & ~dec_csr_wrdata_r[19], dec_csr_wrdata_r[17], dec_csr_wrdata_r[16] & ~dec_csr_wrdata_r[17], dec_csr_wrdata_r[15], dec_csr_wrdata_r[14] & ~dec_csr_wrdata_r[15], dec_csr_wrdata_r[13], dec_csr_wrdata_r[12] & ~dec_csr_wrdata_r[13], dec_csr_wrdata_r[11], dec_csr_wrdata_r[10] & ~dec_csr_wrdata_r[11], dec_csr_wrdata_r[9], dec_csr_wrdata_r[8] & ~dec_csr_wrdata_r[9], dec_csr_wrdata_r[7], dec_csr_wrdata_r[6] & ~dec_csr_wrdata_r[7], dec_csr_wrdata_r[5], dec_csr_wrdata_r[4] & ~dec_csr_wrdata_r[5], dec_csr_wrdata_r[3], dec_csr_wrdata_r[2] & ~dec_csr_wrdata_r[3], dec_csr_wrdata_r[1], dec_csr_wrdata_r[0] & ~dec_csr_wrdata_r[1]}; - rvdffe #(.WIDTH(32)) mrac_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mrac_r), - .din(mrac_in[31:0]), - .dout(mrac[31:0]) - ); - assign dec_tlu_mrac_ff[31:0] = mrac[31:0]; - localparam MDEAU = 12'hbc0; - assign wr_mdeau_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MDEAU); - localparam MDSEAC = 12'hfc0; - assign mdseac_locked_ns = mdseac_en | (mdseac_locked_f & ~wr_mdeau_r); - assign mdseac_en = ((lsu_imprecise_error_store_any | lsu_imprecise_error_load_any) & ~nmi_int_detected_f) & ~mdseac_locked_f; - rvdffe #(.WIDTH(32)) mdseac_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(mdseac_en), - .din(lsu_imprecise_error_addr_any[31:0]), - .dout(mdseac[31:0]) - ); - localparam MPMC = 12'h7c6; - assign wr_mpmc_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MPMC); - assign fw_halt_req = ((wr_mpmc_r & dec_csr_wrdata_r[0]) & ~internal_dbg_halt_mode_f2) & ~ext_int_freeze_d1; - assign fw_halted_ns = (fw_halt_req | fw_halted) & ~set_mie_pmu_fw_halt; - assign mpmc_b_ns[1] = (wr_mpmc_r ? ~dec_csr_wrdata_r[1] : ~mpmc[1]); - rvdff #(.WIDTH(1)) mpmc_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .din(mpmc_b_ns[1]), - .dout(mpmc_b[1]) - ); - assign mpmc[1] = ~mpmc_b[1]; - localparam MICECT = 12'h7f0; - assign csr_sat[31:27] = (dec_csr_wrdata_r[31:27] > 5'd26 ? 5'd26 : dec_csr_wrdata_r[31:27]); - assign wr_micect_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MICECT); - assign micect_inc[26:0] = micect[26:0] + {26'b00000000000000000000000000, ic_perr_r}; - assign micect_ns = (wr_micect_r ? {csr_sat[31:27], dec_csr_wrdata_r[26:0]} : {micect[31:27], micect_inc[26:0]}); - rvdffe #(.WIDTH(32)) micect_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_micect_r | ic_perr_r), - .din(micect_ns[31:0]), - .dout(micect[31:0]) - ); - assign mice_ce_req = |({32'hffffffff << micect[31:27]} & {5'b00000, micect[26:0]}); - localparam MICCMECT = 12'h7f1; - assign wr_miccmect_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MICCMECT); - assign miccmect_inc[26:0] = miccmect[26:0] + {26'b00000000000000000000000000, iccm_sbecc_r | iccm_dma_sb_error}; - assign miccmect_ns = (wr_miccmect_r ? {csr_sat[31:27], dec_csr_wrdata_r[26:0]} : {miccmect[31:27], miccmect_inc[26:0]}); - rvdffe #(.WIDTH(32)) miccmect_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en((wr_miccmect_r | iccm_sbecc_r) | iccm_dma_sb_error), - .din(miccmect_ns[31:0]), - .dout(miccmect[31:0]) - ); - assign miccme_ce_req = |({32'hffffffff << miccmect[31:27]} & {5'b00000, miccmect[26:0]}); - localparam MDCCMECT = 12'h7f2; - assign wr_mdccmect_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MDCCMECT); - assign mdccmect_inc[26:0] = mdccmect[26:0] + {26'b00000000000000000000000000, lsu_single_ecc_error_r_d1}; - assign mdccmect_ns = (wr_mdccmect_r ? {csr_sat[31:27], dec_csr_wrdata_r[26:0]} : {mdccmect[31:27], mdccmect_inc[26:0]}); - rvdffe #(.WIDTH(32)) mdccmect_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(wr_mdccmect_r | lsu_single_ecc_error_r_d1), - .din(mdccmect_ns[31:0]), - .dout(mdccmect[31:0]) - ); - assign mdccme_ce_req = |({32'hffffffff << mdccmect[31:27]} & {5'b00000, mdccmect[26:0]}); - localparam MFDHT = 12'h7ce; - assign wr_mfdht_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MFDHT); - assign mfdht_ns[5:0] = (wr_mfdht_r ? dec_csr_wrdata_r[5:0] : mfdht[5:0]); - rvdffs #(.WIDTH(6)) mfdht_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .en(wr_mfdht_r), - .din(mfdht_ns[5:0]), - .dout(mfdht[5:0]) - ); - localparam MFDHS = 12'h7cf; - assign wr_mfdhs_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MFDHS); - assign mfdhs_ns[1:0] = (wr_mfdhs_r ? dec_csr_wrdata_r[1:0] : (dbg_tlu_halted & ~dbg_tlu_halted_f ? {~lsu_idle_any_f, ~ifu_miss_state_idle_f} : mfdhs[1:0])); - rvdffs #(.WIDTH(2)) mfdhs_ff( - .rst_l(rst_l), - .clk(free_clk), - .en(wr_mfdhs_r | dbg_tlu_halted), - .din(mfdhs_ns[1:0]), - .dout(mfdhs[1:0]) - ); - assign force_halt_ctr[31:0] = (debug_halt_req_f ? force_halt_ctr_f[31:0] + 32'b00000000000000000000000000000001 : (dbg_tlu_halted_f ? 32'b00000000000000000000000000000000 : force_halt_ctr_f[31:0])); - rvdffe #(.WIDTH(32)) forcehaltctr_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(mfdht[0]), - .din(force_halt_ctr[31:0]), - .dout(force_halt_ctr_f[31:0]) - ); - assign force_halt = mfdht[0] & |(force_halt_ctr_f[31:0] & (32'hffffffff << mfdht[5:1])); - localparam MEIVT = 12'hbc8; - assign wr_meivt_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MEIVT); - rvdffe #(.WIDTH(22)) meivt_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_meivt_r), - .din(dec_csr_wrdata_r[31:10]), - .dout(meivt[31:10]) - ); - localparam MEIHAP = 12'hfc8; - assign wr_meihap_r = wr_meicpct_r; - rvdffe #(.WIDTH(8)) meihap_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_meihap_r), - .din(pic_claimid[7:0]), - .dout(meihap[9:2]) - ); - assign dec_tlu_meihap[31:2] = {meivt[31:10], meihap[9:2]}; - localparam MEICURPL = 12'hbcc; - assign wr_meicurpl_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MEICURPL); - assign meicurpl_ns[3:0] = (wr_meicurpl_r ? dec_csr_wrdata_r[3:0] : meicurpl[3:0]); - rvdff #(.WIDTH(4)) meicurpl_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .din(meicurpl_ns[3:0]), - .dout(meicurpl[3:0]) - ); - assign dec_tlu_meicurpl[3:0] = meicurpl[3:0]; - localparam MEICIDPL = 12'hbcb; - assign wr_meicidpl_r = (dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MEICIDPL)) | take_ext_int_start; - assign meicidpl_ns[3:0] = (wr_meicpct_r ? pic_pl[3:0] : (wr_meicidpl_r ? dec_csr_wrdata_r[3:0] : meicidpl[3:0])); - localparam MEICPCT = 12'hbca; - assign wr_meicpct_r = (dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MEICPCT)) | take_ext_int_start; - localparam MEIPT = 12'hbc9; - assign wr_meipt_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MEIPT); - assign meipt_ns[3:0] = (wr_meipt_r ? dec_csr_wrdata_r[3:0] : meipt[3:0]); - rvdff #(.WIDTH(4)) meipt_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .din(meipt_ns[3:0]), - .dout(meipt[3:0]) - ); - assign dec_tlu_meipt[3:0] = meipt[3:0]; - localparam DCSR = 12'h7b0; - assign trigger_hit_for_dscr_cause_r_d1 = trigger_hit_dmode_r_d1 | (trigger_hit_r_d1 & dcsr_single_step_done_f); - assign dcsr_cause[8:6] = ((({3 {((dcsr_single_step_done_f & ~ebreak_to_debug_mode_r_d1) & ~trigger_hit_for_dscr_cause_r_d1) & ~debug_halt_req}} & 3'b100) | ({3 {(debug_halt_req & ~ebreak_to_debug_mode_r_d1) & ~trigger_hit_for_dscr_cause_r_d1}} & 3'b011)) | ({3 {ebreak_to_debug_mode_r_d1 & ~trigger_hit_for_dscr_cause_r_d1}} & 3'b001)) | ({3 {trigger_hit_for_dscr_cause_r_d1}} & 3'b010); - assign wr_dcsr_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DCSR); - assign dcsr_cause_upgradeable = internal_dbg_halt_mode_f & (dcsr[8:6] == 3'b011); - assign enter_debug_halt_req_le = enter_debug_halt_req & (~dbg_tlu_halted | dcsr_cause_upgradeable); - assign nmi_in_debug_mode = nmi_int_detected_f & internal_dbg_halt_mode_f; - assign dcsr_ns[15:2] = (enter_debug_halt_req_le ? {dcsr[15:9], dcsr_cause[8:6], dcsr[5:2]} : (wr_dcsr_r ? {dec_csr_wrdata_r[15], 3'b000, dec_csr_wrdata_r[11:10], 1'b0, dcsr[8:6], 2'b00, nmi_in_debug_mode | dcsr[3], dec_csr_wrdata_r[2]} : {dcsr[15:4], nmi_in_debug_mode, dcsr[2]})); - rvdffe #(.WIDTH(14)) dcsr_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(((enter_debug_halt_req_le | wr_dcsr_r) | internal_dbg_halt_mode) | take_nmi), - .din(dcsr_ns[15:2]), - .dout(dcsr[15:2]) - ); - localparam DPC = 12'h7b1; - assign wr_dpc_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DPC); - assign dpc_capture_npc = (dbg_tlu_halted & ~dbg_tlu_halted_f) & ~request_debug_mode_done; - assign dpc_capture_pc = request_debug_mode_r; - assign dpc_ns[31:1] = (({31 {(~dpc_capture_pc & ~dpc_capture_npc) & wr_dpc_r}} & dec_csr_wrdata_r[31:1]) | ({31 {dpc_capture_pc}} & pc_r[31:1])) | ({31 {~dpc_capture_pc & dpc_capture_npc}} & npc_r[31:1]); - rvdffe #(.WIDTH(31)) dpc_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((wr_dpc_r | dpc_capture_pc) | dpc_capture_npc), - .din(dpc_ns[31:1]), - .dout(dpc[31:1]) - ); - localparam DICAWICS = 12'h7c8; - assign dicawics_ns[16:0] = {dec_csr_wrdata_r[24], dec_csr_wrdata_r[21:20], dec_csr_wrdata_r[16:3]}; - assign wr_dicawics_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DICAWICS); - rvdffe #(.WIDTH(17)) dicawics_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_dicawics_r), - .din(dicawics_ns[16:0]), - .dout(dicawics[16:0]) - ); - localparam DICAD0 = 12'h7c9; - assign dicad0_ns[31:0] = (wr_dicad0_r ? dec_csr_wrdata_r[31:0] : ifu_ic_debug_rd_data[31:0]); - assign wr_dicad0_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DICAD0); - rvdffe #(.WIDTH(32)) dicad0_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_dicad0_r | ifu_ic_debug_rd_data_valid), - .din(dicad0_ns[31:0]), - .dout(dicad0[31:0]) - ); - localparam DICAD0H = 12'h7cc; - assign dicad0h_ns[31:0] = (wr_dicad0h_r ? dec_csr_wrdata_r[31:0] : ifu_ic_debug_rd_data[63:32]); - assign wr_dicad0h_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DICAD0H); - rvdffe #(.WIDTH(32)) dicad0h_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_dicad0h_r | ifu_ic_debug_rd_data_valid), - .din(dicad0h_ns[31:0]), - .dout(dicad0h[31:0]) - ); - generate - if (pt[1125-:5] == 1) begin - localparam DICAD1 = 12'h7ca; - assign dicad1_ns[6:0] = (wr_dicad1_r ? dec_csr_wrdata_r[6:0] : ifu_ic_debug_rd_data[70:64]); - assign wr_dicad1_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DICAD1); - rvdffe #( - .WIDTH(7), - .OVERRIDE(1) - ) dicad1_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_dicad1_r | ifu_ic_debug_rd_data_valid), - .din(dicad1_ns[6:0]), - .dout(dicad1_raw[6:0]) - ); - assign dicad1[31:0] = {25'b0000000000000000000000000, dicad1_raw[6:0]}; - end - else begin - localparam DICAD1 = 12'h7ca; - assign dicad1_ns[3:0] = (wr_dicad1_r ? dec_csr_wrdata_r[3:0] : ifu_ic_debug_rd_data[67:64]); - assign wr_dicad1_r = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DICAD1); - rvdffs #(.WIDTH(4)) dicad1_ff( - .rst_l(rst_l), - .clk(free_clk), - .en(wr_dicad1_r | ifu_ic_debug_rd_data_valid), - .din(dicad1_ns[3:0]), - .dout(dicad1_raw[3:0]) - ); - assign dicad1[31:0] = {28'b0000000000000000000000000000, dicad1_raw[3:0]}; - end - endgenerate - localparam DICAGO = 12'h7cb; - generate - if (pt[1125-:5] == 1) begin - assign dec_tlu_ic_diag_pkt[89:19] = {dicad1[6:0], dicad0h[31:0], dicad0[31:0]}; - end - else assign dec_tlu_ic_diag_pkt[89:19] = {3'b000, dicad1[3:0], dicad0h[31:0], dicad0[31:0]}; - endgenerate - assign dec_tlu_ic_diag_pkt[18:2] = dicawics[16:0]; - assign icache_rd_valid = (((allow_dbg_halt_csr_write & dec_csr_any_unq_d) & dec_i0_decode_d) & ~dec_csr_wen_unq_d) & (dec_csr_rdaddr_d[11:0] == DICAGO); - assign icache_wr_valid = (allow_dbg_halt_csr_write & dec_csr_wen_r_mod) & (dec_csr_wraddr_r[11:0] == DICAGO); - assign dec_tlu_ic_diag_pkt[1] = icache_rd_valid_f; - assign dec_tlu_ic_diag_pkt[0] = icache_wr_valid_f; - localparam MTSEL = 12'h7a0; - assign wr_mtsel_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTSEL); - assign mtsel_ns[1:0] = (wr_mtsel_r ? {dec_csr_wrdata_r[1:0]} : mtsel[1:0]); - rvdff #(.WIDTH(2)) mtsel_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .din(mtsel_ns[1:0]), - .dout(mtsel[1:0]) - ); - localparam MTDATA1 = 12'h7a1; - assign tdata_load = dec_csr_wrdata_r[0] & ~dec_csr_wrdata_r[19]; - assign tdata_opcode = dec_csr_wrdata_r[2] & ~dec_csr_wrdata_r[19]; - assign tdata_action = (dec_csr_wrdata_r[27] & dbg_tlu_halted_f) & dec_csr_wrdata_r[12]; - assign tdata_chain = (mtsel[0] ? 1'b0 : (mtsel[1] ? dec_csr_wrdata_r[11] & ~(mtdata1_t3[MTDATA1_DMODE] & ~dec_csr_wrdata_r[27]) : dec_csr_wrdata_r[11] & ~(mtdata1_t1[MTDATA1_DMODE] & ~dec_csr_wrdata_r[27]))); - assign tdata_kill_write = (mtsel[1] ? dec_csr_wrdata_r[27] & (~mtdata1_t2[MTDATA1_DMODE] & mtdata1_t2[MTDATA1_CHAIN]) : dec_csr_wrdata_r[27] & (~mtdata1_t0[MTDATA1_DMODE] & mtdata1_t0[MTDATA1_CHAIN])); - assign tdata_wrdata_r[9:0] = {dec_csr_wrdata_r[27] & dbg_tlu_halted_f, dec_csr_wrdata_r[20:19], tdata_action, tdata_chain, dec_csr_wrdata_r[7:6], tdata_opcode, dec_csr_wrdata_r[1], tdata_load}; - assign wr_mtdata1_t0_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA1)) & (mtsel[1:0] == 2'b00)) & (~mtdata1_t0[MTDATA1_DMODE] | dbg_tlu_halted_f); - assign mtdata1_t0_ns[9:0] = (wr_mtdata1_t0_r ? tdata_wrdata_r[9:0] : {mtdata1_t0[9], update_hit_bit_r[0] | mtdata1_t0[8], mtdata1_t0[7:0]}); - assign wr_mtdata1_t1_r = (((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA1)) & (mtsel[1:0] == 2'b01)) & (~mtdata1_t1[MTDATA1_DMODE] | dbg_tlu_halted_f)) & ~tdata_kill_write; - assign mtdata1_t1_ns[9:0] = (wr_mtdata1_t1_r ? tdata_wrdata_r[9:0] : {mtdata1_t1[9], update_hit_bit_r[1] | mtdata1_t1[8], mtdata1_t1[7:0]}); - assign wr_mtdata1_t2_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA1)) & (mtsel[1:0] == 2'b10)) & (~mtdata1_t2[MTDATA1_DMODE] | dbg_tlu_halted_f); - assign mtdata1_t2_ns[9:0] = (wr_mtdata1_t2_r ? tdata_wrdata_r[9:0] : {mtdata1_t2[9], update_hit_bit_r[2] | mtdata1_t2[8], mtdata1_t2[7:0]}); - assign wr_mtdata1_t3_r = (((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA1)) & (mtsel[1:0] == 2'b11)) & (~mtdata1_t3[MTDATA1_DMODE] | dbg_tlu_halted_f)) & ~tdata_kill_write; - assign mtdata1_t3_ns[9:0] = (wr_mtdata1_t3_r ? tdata_wrdata_r[9:0] : {mtdata1_t3[9], update_hit_bit_r[3] | mtdata1_t3[8], mtdata1_t3[7:0]}); - rvdffe #(.WIDTH(10)) mtdata1_t0_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(trigger_enabled[0] | wr_mtdata1_t0_r), - .din(mtdata1_t0_ns[9:0]), - .dout(mtdata1_t0[9:0]) - ); - rvdffe #(.WIDTH(10)) mtdata1_t1_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(trigger_enabled[1] | wr_mtdata1_t1_r), - .din(mtdata1_t1_ns[9:0]), - .dout(mtdata1_t1[9:0]) - ); - rvdffe #(.WIDTH(10)) mtdata1_t2_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(trigger_enabled[2] | wr_mtdata1_t2_r), - .din(mtdata1_t2_ns[9:0]), - .dout(mtdata1_t2[9:0]) - ); - rvdffe #(.WIDTH(10)) mtdata1_t3_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(trigger_enabled[3] | wr_mtdata1_t3_r), - .din(mtdata1_t3_ns[9:0]), - .dout(mtdata1_t3[9:0]) - ); - assign mtdata1_tsel_out[31:0] = ((({32 {mtsel[1:0] == 2'b00}} & {4'h2, mtdata1_t0[9], 6'b011111, mtdata1_t0[8:7], 6'b000000, mtdata1_t0[6:5], 3'b000, mtdata1_t0[4:3], 3'b000, mtdata1_t0[2:0]}) | ({32 {mtsel[1:0] == 2'b01}} & {4'h2, mtdata1_t1[9], 6'b011111, mtdata1_t1[8:7], 6'b000000, mtdata1_t1[6:5], 3'b000, mtdata1_t1[4:3], 3'b000, mtdata1_t1[2:0]})) | ({32 {mtsel[1:0] == 2'b10}} & {4'h2, mtdata1_t2[9], 6'b011111, mtdata1_t2[8:7], 6'b000000, mtdata1_t2[6:5], 3'b000, mtdata1_t2[4:3], 3'b000, mtdata1_t2[2:0]})) | ({32 {mtsel[1:0] == 2'b11}} & {4'h2, mtdata1_t3[9], 6'b011111, mtdata1_t3[8:7], 6'b000000, mtdata1_t3[6:5], 3'b000, mtdata1_t3[4:3], 3'b000, mtdata1_t3[2:0]}); - assign trigger_pkt_any[37] = mtdata1_t0[MTDATA1_SEL]; - assign trigger_pkt_any[36] = mtdata1_t0[MTDATA1_MATCH]; - assign trigger_pkt_any[35] = mtdata1_t0[MTDATA1_ST]; - assign trigger_pkt_any[34] = mtdata1_t0[MTDATA1_LD]; - assign trigger_pkt_any[33] = mtdata1_t0[MTDATA1_EXE]; - assign trigger_pkt_any[32] = mtdata1_t0[MTDATA1_M_ENABLED]; - assign trigger_pkt_any[75] = mtdata1_t1[MTDATA1_SEL]; - assign trigger_pkt_any[74] = mtdata1_t1[MTDATA1_MATCH]; - assign trigger_pkt_any[73] = mtdata1_t1[MTDATA1_ST]; - assign trigger_pkt_any[72] = mtdata1_t1[MTDATA1_LD]; - assign trigger_pkt_any[71] = mtdata1_t1[MTDATA1_EXE]; - assign trigger_pkt_any[70] = mtdata1_t1[MTDATA1_M_ENABLED]; - assign trigger_pkt_any[113] = mtdata1_t2[MTDATA1_SEL]; - assign trigger_pkt_any[112] = mtdata1_t2[MTDATA1_MATCH]; - assign trigger_pkt_any[111] = mtdata1_t2[MTDATA1_ST]; - assign trigger_pkt_any[110] = mtdata1_t2[MTDATA1_LD]; - assign trigger_pkt_any[109] = mtdata1_t2[MTDATA1_EXE]; - assign trigger_pkt_any[108] = mtdata1_t2[MTDATA1_M_ENABLED]; - assign trigger_pkt_any[151] = mtdata1_t3[MTDATA1_SEL]; - assign trigger_pkt_any[150] = mtdata1_t3[MTDATA1_MATCH]; - assign trigger_pkt_any[149] = mtdata1_t3[MTDATA1_ST]; - assign trigger_pkt_any[148] = mtdata1_t3[MTDATA1_LD]; - assign trigger_pkt_any[147] = mtdata1_t3[MTDATA1_EXE]; - assign trigger_pkt_any[146] = mtdata1_t3[MTDATA1_M_ENABLED]; - localparam MTDATA2 = 12'h7a2; - assign wr_mtdata2_t0_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA2)) & (mtsel[1:0] == 2'b00)) & (~mtdata1_t0[MTDATA1_DMODE] | dbg_tlu_halted_f); - assign wr_mtdata2_t1_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA2)) & (mtsel[1:0] == 2'b01)) & (~mtdata1_t1[MTDATA1_DMODE] | dbg_tlu_halted_f); - assign wr_mtdata2_t2_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA2)) & (mtsel[1:0] == 2'b10)) & (~mtdata1_t2[MTDATA1_DMODE] | dbg_tlu_halted_f); - assign wr_mtdata2_t3_r = ((dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MTDATA2)) & (mtsel[1:0] == 2'b11)) & (~mtdata1_t3[MTDATA1_DMODE] | dbg_tlu_halted_f); - rvdffe #(.WIDTH(32)) mtdata2_t0_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mtdata2_t0_r), - .din(dec_csr_wrdata_r[31:0]), - .dout(mtdata2_t0[31:0]) - ); - rvdffe #(.WIDTH(32)) mtdata2_t1_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mtdata2_t1_r), - .din(dec_csr_wrdata_r[31:0]), - .dout(mtdata2_t1[31:0]) - ); - rvdffe #(.WIDTH(32)) mtdata2_t2_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mtdata2_t2_r), - .din(dec_csr_wrdata_r[31:0]), - .dout(mtdata2_t2[31:0]) - ); - rvdffe #(.WIDTH(32)) mtdata2_t3_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mtdata2_t3_r), - .din(dec_csr_wrdata_r[31:0]), - .dout(mtdata2_t3[31:0]) - ); - assign mtdata2_tsel_out[31:0] = ((({32 {mtsel[1:0] == 2'b00}} & mtdata2_t0[31:0]) | ({32 {mtsel[1:0] == 2'b01}} & mtdata2_t1[31:0])) | ({32 {mtsel[1:0] == 2'b10}} & mtdata2_t2[31:0])) | ({32 {mtsel[1:0] == 2'b11}} & mtdata2_t3[31:0]); - assign trigger_pkt_any[31-:32] = mtdata2_t0[31:0]; - assign trigger_pkt_any[69-:32] = mtdata2_t1[31:0]; - assign trigger_pkt_any[107-:32] = mtdata2_t2[31:0]; - assign trigger_pkt_any[145-:32] = mtdata2_t3[31:0]; - localparam MHPME_NOEVENT = 10'd0; - localparam MHPME_CLK_ACTIVE = 10'd1; - localparam MHPME_ICACHE_HIT = 10'd2; - localparam MHPME_ICACHE_MISS = 10'd3; - localparam MHPME_INST_COMMIT = 10'd4; - localparam MHPME_INST_COMMIT_16B = 10'd5; - localparam MHPME_INST_COMMIT_32B = 10'd6; - localparam MHPME_INST_ALIGNED = 10'd7; - localparam MHPME_INST_DECODED = 10'd8; - localparam MHPME_INST_MUL = 10'd9; - localparam MHPME_INST_DIV = 10'd10; - localparam MHPME_INST_LOAD = 10'd11; - localparam MHPME_INST_STORE = 10'd12; - localparam MHPME_INST_MALOAD = 10'd13; - localparam MHPME_INST_MASTORE = 10'd14; - localparam MHPME_INST_ALU = 10'd15; - localparam MHPME_INST_CSRREAD = 10'd16; - localparam MHPME_INST_CSRRW = 10'd17; - localparam MHPME_INST_CSRWRITE = 10'd18; - localparam MHPME_INST_EBREAK = 10'd19; - localparam MHPME_INST_ECALL = 10'd20; - localparam MHPME_INST_FENCE = 10'd21; - localparam MHPME_INST_FENCEI = 10'd22; - localparam MHPME_INST_MRET = 10'd23; - localparam MHPME_INST_BRANCH = 10'd24; - localparam MHPME_BRANCH_MP = 10'd25; - localparam MHPME_BRANCH_TAKEN = 10'd26; - localparam MHPME_BRANCH_NOTP = 10'd27; - localparam MHPME_FETCH_STALL = 10'd28; - localparam MHPME_DECODE_STALL = 10'd30; - localparam MHPME_POSTSYNC_STALL = 10'd31; - localparam MHPME_PRESYNC_STALL = 10'd32; - localparam MHPME_LSU_SB_WB_STALL = 10'd34; - localparam MHPME_DMA_DCCM_STALL = 10'd35; - localparam MHPME_DMA_ICCM_STALL = 10'd36; - localparam MHPME_EXC_TAKEN = 10'd37; - localparam MHPME_TIMER_INT_TAKEN = 10'd38; - localparam MHPME_EXT_INT_TAKEN = 10'd39; - localparam MHPME_FLUSH_LOWER = 10'd40; - localparam MHPME_BR_ERROR = 10'd41; - localparam MHPME_IBUS_TRANS = 10'd42; - localparam MHPME_DBUS_TRANS = 10'd43; - localparam MHPME_DBUS_MA_TRANS = 10'd44; - localparam MHPME_IBUS_ERROR = 10'd45; - localparam MHPME_DBUS_ERROR = 10'd46; - localparam MHPME_IBUS_STALL = 10'd47; - localparam MHPME_DBUS_STALL = 10'd48; - localparam MHPME_INT_DISABLED = 10'd49; - localparam MHPME_INT_STALLED = 10'd50; - localparam MHPME_INST_BITMANIP = 10'd54; - localparam MHPME_DBUS_LOAD = 10'd55; - localparam MHPME_DBUS_STORE = 10'd56; - localparam MHPME_SLEEP_CYC = 10'd512; - localparam MHPME_DMA_READ_ALL = 10'd513; - localparam MHPME_DMA_WRITE_ALL = 10'd514; - localparam MHPME_DMA_READ_DCCM = 10'd515; - localparam MHPME_DMA_WRITE_DCCM = 10'd516; - assign mhpme_vec[9-:10] = mhpme3[9:0]; - assign mhpme_vec[19-:10] = mhpme4[9:0]; - assign mhpme_vec[29-:10] = mhpme5[9:0]; - assign mhpme_vec[39-:10] = mhpme6[9:0]; - assign pmu_i0_itype_qual[3:0] = dec_tlu_packet_r[3:0] & {4 {tlu_i0_commit_cmt}}; - localparam [3:0] eb1_pkg_ALU = 4'b0100; - localparam [3:0] eb1_pkg_BITMANIPU = 4'b1111; - localparam [3:0] eb1_pkg_CONDBR = 4'b1101; - localparam [3:0] eb1_pkg_CSRREAD = 4'b0101; - localparam [3:0] eb1_pkg_CSRRW = 4'b0111; - localparam [3:0] eb1_pkg_CSRWRITE = 4'b0110; - localparam [3:0] eb1_pkg_FENCE = 4'b1010; - localparam [3:0] eb1_pkg_FENCEI = 4'b1011; - localparam [3:0] eb1_pkg_JAL = 4'b1110; - localparam [3:0] eb1_pkg_LOAD = 4'b0010; - localparam [3:0] eb1_pkg_MUL = 4'b0001; - localparam [3:0] eb1_pkg_STORE = 4'b0011; - generate - genvar i; - for (i = 0; i < 4; i = i + 1) assign mhpmc_inc_r[i] = {~mcountinhibit[i + 3]} & ((((((((((((((((((((((((((((((((((((((((((((((((((((((((({mhpme_vec[(i * 10) + 9-:10] == MHPME_CLK_ACTIVE} & 1'b1) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_ICACHE_HIT} & {ifu_pmu_ic_hit})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_ICACHE_MISS} & {ifu_pmu_ic_miss})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_COMMIT} & {tlu_i0_commit_cmt & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_COMMIT_16B} & {(tlu_i0_commit_cmt & ~exu_pmu_i0_pc4) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_COMMIT_32B} & {(tlu_i0_commit_cmt & exu_pmu_i0_pc4) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_ALIGNED} & ifu_pmu_instr_aligned)) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_DECODED} & dec_pmu_instr_decoded)) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DECODE_STALL} & {dec_pmu_decode_stall})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_MUL} & {pmu_i0_itype_qual == eb1_pkg_MUL})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_DIV} & {(dec_tlu_packet_r[6] & tlu_i0_commit_cmt) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_LOAD} & {pmu_i0_itype_qual == eb1_pkg_LOAD})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_STORE} & {pmu_i0_itype_qual == eb1_pkg_STORE})) | (({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_MALOAD} & {pmu_i0_itype_qual == eb1_pkg_LOAD}) & {dec_tlu_packet_r[4]})) | (({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_MASTORE} & {pmu_i0_itype_qual == eb1_pkg_STORE}) & {dec_tlu_packet_r[4]})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_ALU} & {pmu_i0_itype_qual == eb1_pkg_ALU})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_CSRREAD} & {pmu_i0_itype_qual == eb1_pkg_CSRREAD})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_CSRWRITE} & {pmu_i0_itype_qual == eb1_pkg_CSRWRITE})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_CSRRW} & {pmu_i0_itype_qual == eb1_pkg_CSRRW})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_EBREAK} & {pmu_i0_itype_qual == eb1_pkg_EBREAK})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_ECALL} & {pmu_i0_itype_qual == eb1_pkg_ECALL})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_FENCE} & {pmu_i0_itype_qual == eb1_pkg_FENCE})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_FENCEI} & {pmu_i0_itype_qual == eb1_pkg_FENCEI})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_MRET} & {pmu_i0_itype_qual == eb1_pkg_MRET})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_BRANCH} & {(pmu_i0_itype_qual == eb1_pkg_CONDBR) | (pmu_i0_itype_qual == eb1_pkg_JAL)})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_BRANCH_MP} & {(exu_pmu_i0_br_misp & tlu_i0_commit_cmt) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_BRANCH_TAKEN} & {(exu_pmu_i0_br_ataken & tlu_i0_commit_cmt) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_BRANCH_NOTP} & {(dec_tlu_packet_r[7] & tlu_i0_commit_cmt) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_FETCH_STALL} & {ifu_pmu_fetch_stall})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DECODE_STALL} & {dec_pmu_decode_stall})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_POSTSYNC_STALL} & {dec_pmu_postsync_stall})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_PRESYNC_STALL} & {dec_pmu_presync_stall})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_LSU_SB_WB_STALL} & {lsu_store_stall_any})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DMA_DCCM_STALL} & {dma_dccm_stall_any})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DMA_ICCM_STALL} & {dma_iccm_stall_any})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_EXC_TAKEN} & {(i0_exception_valid_r | i0_trigger_hit_r) | lsu_exc_valid_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_TIMER_INT_TAKEN} & {(take_timer_int | take_int_timer0_int) | take_int_timer1_int})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_EXT_INT_TAKEN} & {take_ext_int})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_FLUSH_LOWER} & {tlu_flush_lower_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_BR_ERROR} & {(dec_tlu_br0_error_r | dec_tlu_br0_start_error_r) & rfpc_i0_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_IBUS_TRANS} & {ifu_pmu_bus_trxn})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DBUS_TRANS} & {lsu_pmu_bus_trxn})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DBUS_MA_TRANS} & {lsu_pmu_bus_misaligned})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_IBUS_ERROR} & {ifu_pmu_bus_error})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DBUS_ERROR} & {lsu_pmu_bus_error})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_IBUS_STALL} & {ifu_pmu_bus_busy})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DBUS_STALL} & {lsu_pmu_bus_busy})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INT_DISABLED} & {~mstatus[MSTATUS_MIE]})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INT_STALLED} & {~mstatus[MSTATUS_MIE] & |(mip[5:0] & mie[5:0])})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_INST_BITMANIP} & {pmu_i0_itype_qual == eb1_pkg_BITMANIPU})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DBUS_LOAD} & {(tlu_i0_commit_cmt & lsu_pmu_load_external_r) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DBUS_STORE} & {(tlu_i0_commit_cmt & lsu_pmu_store_external_r) & ~illegal_r})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_SLEEP_CYC} & {dec_tlu_pmu_fw_halted})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DMA_READ_ALL} & {dma_pmu_any_read})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DMA_WRITE_ALL} & {dma_pmu_any_write})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DMA_READ_DCCM} & {dma_pmu_dccm_read})) | ({mhpme_vec[(i * 10) + 9-:10] == MHPME_DMA_WRITE_DCCM} & {dma_pmu_dccm_write})); - endgenerate - generate - if (pt[1227-:5]) begin - rvdffie #(.WIDTH(31)) mstatus_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({mdseac_locked_ns, lsu_single_ecc_error_r, lsu_exc_valid_r, lsu_i0_exc_r, take_ext_int_start, take_ext_int_start_d1, take_ext_int_start_d2, ext_int_freeze, mip_ns[5:0], (mcyclel_cout & ~wr_mcycleh_r) & mcyclel_cout_in, minstret_enable, minstretl_cout_ns, fw_halted_ns, meicidpl_ns[3:0], icache_rd_valid, icache_wr_valid, mhpmc_inc_r[3:0], perfcnt_halted, mstatus_ns[1:0]}), - .dout({mdseac_locked_f, lsu_single_ecc_error_r_d1, lsu_exc_valid_r_d1, lsu_i0_exc_r_d1, take_ext_int_start_d1, take_ext_int_start_d2, take_ext_int_start_d3, ext_int_freeze_d1, mip[5:0], mcyclel_cout_f, minstret_enable_f, minstretl_cout_f, fw_halted, meicidpl[3:0], icache_rd_valid_f, icache_wr_valid_f, mhpmc_inc_r_d1[3:0], perfcnt_halted_d1, mstatus[1:0]}) - ); - end - else rvdffie #(.WIDTH(27)) mstatus_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({mdseac_locked_ns, lsu_single_ecc_error_r, lsu_exc_valid_r, lsu_i0_exc_r, mip_ns[5:0], (mcyclel_cout & ~wr_mcycleh_r) & mcyclel_cout_in, minstret_enable, minstretl_cout_ns, fw_halted_ns, meicidpl_ns[3:0], icache_rd_valid, icache_wr_valid, mhpmc_inc_r[3:0], perfcnt_halted, mstatus_ns[1:0]}), - .dout({mdseac_locked_f, lsu_single_ecc_error_r_d1, lsu_exc_valid_r_d1, lsu_i0_exc_r_d1, mip[5:0], mcyclel_cout_f, minstret_enable_f, minstretl_cout_f, fw_halted, meicidpl[3:0], icache_rd_valid_f, icache_wr_valid_f, mhpmc_inc_r_d1[3:0], perfcnt_halted_d1, mstatus[1:0]}) - ); - endgenerate - assign perfcnt_halted = (dec_tlu_dbg_halted & dcsr[DCSR_STOPC]) | dec_tlu_pmu_fw_halted; - assign perfcnt_during_sleep[3:0] = {4 {~(dec_tlu_dbg_halted & dcsr[DCSR_STOPC])}} & {mhpme_vec[39], mhpme_vec[29], mhpme_vec[19], mhpme_vec[9]}; - assign dec_tlu_perfcnt0 = mhpmc_inc_r_d1[0] & ~(perfcnt_halted_d1 & ~perfcnt_during_sleep[0]); - assign dec_tlu_perfcnt1 = mhpmc_inc_r_d1[1] & ~(perfcnt_halted_d1 & ~perfcnt_during_sleep[1]); - assign dec_tlu_perfcnt2 = mhpmc_inc_r_d1[2] & ~(perfcnt_halted_d1 & ~perfcnt_during_sleep[2]); - assign dec_tlu_perfcnt3 = mhpmc_inc_r_d1[3] & ~(perfcnt_halted_d1 & ~perfcnt_during_sleep[3]); - localparam MHPMC3 = 12'hb03; - localparam MHPMC3H = 12'hb83; - assign mhpmc3_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC3); - assign mhpmc3_wr_en1 = (~perfcnt_halted | perfcnt_during_sleep[0]) & |mhpmc_inc_r[0]; - assign mhpmc3_wr_en = mhpmc3_wr_en0 | mhpmc3_wr_en1; - assign mhpmc3_incr[63:0] = {mhpmc3h[31:0], mhpmc3[31:0]} + 64'b0000000000000000000000000000000000000000000000000000000000000001; - assign mhpmc3_ns[31:0] = (mhpmc3_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc3_incr[31:0]); - rvdffe #(.WIDTH(32)) mhpmc3_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc3_wr_en), - .din(mhpmc3_ns[31:0]), - .dout(mhpmc3[31:0]) - ); - assign mhpmc3h_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC3H); - assign mhpmc3h_wr_en = mhpmc3h_wr_en0 | mhpmc3_wr_en1; - assign mhpmc3h_ns[31:0] = (mhpmc3h_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc3_incr[63:32]); - rvdffe #(.WIDTH(32)) mhpmc3h_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc3h_wr_en), - .din(mhpmc3h_ns[31:0]), - .dout(mhpmc3h[31:0]) - ); - localparam MHPMC4 = 12'hb04; - localparam MHPMC4H = 12'hb84; - assign mhpmc4_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC4); - assign mhpmc4_wr_en1 = (~perfcnt_halted | perfcnt_during_sleep[1]) & |mhpmc_inc_r[1]; - assign mhpmc4_wr_en = mhpmc4_wr_en0 | mhpmc4_wr_en1; - assign mhpmc4_incr[63:0] = {mhpmc4h[31:0], mhpmc4[31:0]} + 64'b0000000000000000000000000000000000000000000000000000000000000001; - assign mhpmc4_ns[31:0] = (mhpmc4_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc4_incr[31:0]); - rvdffe #(.WIDTH(32)) mhpmc4_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc4_wr_en), - .din(mhpmc4_ns[31:0]), - .dout(mhpmc4[31:0]) - ); - assign mhpmc4h_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC4H); - assign mhpmc4h_wr_en = mhpmc4h_wr_en0 | mhpmc4_wr_en1; - assign mhpmc4h_ns[31:0] = (mhpmc4h_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc4_incr[63:32]); - rvdffe #(.WIDTH(32)) mhpmc4h_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc4h_wr_en), - .din(mhpmc4h_ns[31:0]), - .dout(mhpmc4h[31:0]) - ); - localparam MHPMC5 = 12'hb05; - localparam MHPMC5H = 12'hb85; - assign mhpmc5_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC5); - assign mhpmc5_wr_en1 = (~perfcnt_halted | perfcnt_during_sleep[2]) & |mhpmc_inc_r[2]; - assign mhpmc5_wr_en = mhpmc5_wr_en0 | mhpmc5_wr_en1; - assign mhpmc5_incr[63:0] = {mhpmc5h[31:0], mhpmc5[31:0]} + 64'b0000000000000000000000000000000000000000000000000000000000000001; - assign mhpmc5_ns[31:0] = (mhpmc5_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc5_incr[31:0]); - rvdffe #(.WIDTH(32)) mhpmc5_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc5_wr_en), - .din(mhpmc5_ns[31:0]), - .dout(mhpmc5[31:0]) - ); - assign mhpmc5h_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC5H); - assign mhpmc5h_wr_en = mhpmc5h_wr_en0 | mhpmc5_wr_en1; - assign mhpmc5h_ns[31:0] = (mhpmc5h_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc5_incr[63:32]); - rvdffe #(.WIDTH(32)) mhpmc5h_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc5h_wr_en), - .din(mhpmc5h_ns[31:0]), - .dout(mhpmc5h[31:0]) - ); - localparam MHPMC6 = 12'hb06; - localparam MHPMC6H = 12'hb86; - assign mhpmc6_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC6); - assign mhpmc6_wr_en1 = (~perfcnt_halted | perfcnt_during_sleep[3]) & |mhpmc_inc_r[3]; - assign mhpmc6_wr_en = mhpmc6_wr_en0 | mhpmc6_wr_en1; - assign mhpmc6_incr[63:0] = {mhpmc6h[31:0], mhpmc6[31:0]} + 64'b0000000000000000000000000000000000000000000000000000000000000001; - assign mhpmc6_ns[31:0] = (mhpmc6_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc6_incr[31:0]); - rvdffe #(.WIDTH(32)) mhpmc6_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc6_wr_en), - .din(mhpmc6_ns[31:0]), - .dout(mhpmc6[31:0]) - ); - assign mhpmc6h_wr_en0 = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPMC6H); - assign mhpmc6h_wr_en = mhpmc6h_wr_en0 | mhpmc6_wr_en1; - assign mhpmc6h_ns[31:0] = (mhpmc6h_wr_en0 ? dec_csr_wrdata_r[31:0] : mhpmc6_incr[63:32]); - rvdffe #(.WIDTH(32)) mhpmc6h_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en(mhpmc6h_wr_en), - .din(mhpmc6h_ns[31:0]), - .dout(mhpmc6h[31:0]) - ); - localparam MHPME3 = 12'h323; - assign zero_event_r = (((((dec_csr_wrdata_r[9:0] > 10'd516) | |dec_csr_wrdata_r[31:10]) | ((dec_csr_wrdata_r[9:0] < 10'd512) & (dec_csr_wrdata_r[9:0] > 10'd56))) | ((dec_csr_wrdata_r[9:0] < 10'd54) & (dec_csr_wrdata_r[9:0] > 10'd50))) | (dec_csr_wrdata_r[9:0] == 10'd29)) | (dec_csr_wrdata_r[9:0] == 10'd33); - assign event_r[9:0] = (zero_event_r ? {10 {1'sb0}} : dec_csr_wrdata_r[9:0]); - assign wr_mhpme3_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPME3); - rvdffe #(.WIDTH(10)) mhpme3_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mhpme3_r), - .din(event_r[9:0]), - .dout(mhpme3[9:0]) - ); - localparam MHPME4 = 12'h324; - assign wr_mhpme4_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPME4); - rvdffe #(.WIDTH(10)) mhpme4_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mhpme4_r), - .din(event_r[9:0]), - .dout(mhpme4[9:0]) - ); - localparam MHPME5 = 12'h325; - assign wr_mhpme5_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPME5); - rvdffe #(.WIDTH(10)) mhpme5_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mhpme5_r), - .din(event_r[9:0]), - .dout(mhpme5[9:0]) - ); - localparam MHPME6 = 12'h326; - assign wr_mhpme6_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MHPME6); - rvdffe #(.WIDTH(10)) mhpme6_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mhpme6_r), - .din(event_r[9:0]), - .dout(mhpme6[9:0]) - ); - localparam MCOUNTINHIBIT = 12'h320; - assign wr_mcountinhibit_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MCOUNTINHIBIT); - rvdffs #(.WIDTH(6)) mcountinhibit_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .en(wr_mcountinhibit_r), - .din({dec_csr_wrdata_r[6:2], dec_csr_wrdata_r[0]}), - .dout({mcountinhibit[6:2], mcountinhibit[0]}) - ); - assign mcountinhibit[1] = 1'b0; - wire [4:0] dec_tlu_exc_cause_wb1_raw; - wire [4:0] dec_tlu_exc_cause_wb2; - wire dec_tlu_int_valid_wb1_raw; - wire dec_tlu_int_valid_wb2; - assign {dec_tlu_i0_valid_wb1, dec_tlu_i0_exc_valid_wb1, dec_tlu_exc_cause_wb1_raw[4:0], dec_tlu_int_valid_wb1_raw} = {8 {~dec_tlu_trace_disable}} & {i0_valid_wb, (i0_exception_valid_r_d1 | lsu_i0_exc_r_d1) | (trigger_hit_r_d1 & ~trigger_hit_dmode_r_d1), exc_cause_wb[4:0], interrupt_valid_r_d1}; - rvdffie #( - .WIDTH(6), - .OVERRIDE(1) - ) traceskidff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .din({dec_tlu_exc_cause_wb1_raw[4:0], dec_tlu_int_valid_wb1_raw}), - .dout({dec_tlu_exc_cause_wb2[4:0], dec_tlu_int_valid_wb2}) - ); - assign dec_tlu_exc_cause_wb1[4:0] = (dec_tlu_int_valid_wb2 ? dec_tlu_exc_cause_wb2[4:0] : dec_tlu_exc_cause_wb1_raw[4:0]); - assign dec_tlu_int_valid_wb1 = dec_tlu_int_valid_wb2; - assign dec_tlu_mtval_wb1 = mtval[31:0]; - assign csr_misa = (((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0]; - assign csr_mvendorid = ((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_marchid = ((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mimpid = ((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mhartid = (dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[2]; - assign csr_mstatus = (((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0]; - assign csr_mtvec = (((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0]; - assign csr_mip = (!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[2]; - assign csr_mie = (((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0]; - assign csr_mcyclel = ((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]; - assign csr_mcycleh = (((((dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]; - assign csr_minstretl = (((((!dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_minstreth = (((((!dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mscratch = (((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mepc = ((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mcause = ((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mscause = (dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[2]; - assign csr_mtval = ((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mrac = ((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]; - assign csr_dmst = (((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]; - assign csr_mdseac = ((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]; - assign csr_meihap = (dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[3]; - assign csr_meivt = ((((!dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_meipt = ((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_meicurpl = (dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[2]; - assign csr_meicidpl = ((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_dcsr = (((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[0]; - assign csr_mcgc = ((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[0]; - assign csr_mfdc = (((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_dpc = (((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[0]; - assign csr_mtsel = (((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mtdata1 = ((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[0]; - assign csr_mtdata2 = ((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[1]; - assign csr_mhpmc3 = ((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0]; - assign csr_mhpmc4 = (((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mhpmc5 = ((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mhpmc6 = (((((!dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mhpmc3h = ((((dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mhpmc4h = (((((dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mhpmc5h = ((((dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mhpmc6h = (((((dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mhpme3 = ((((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0]; - assign csr_mhpme4 = ((((dec_csr_rdaddr_d[5] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mhpme5 = ((((dec_csr_rdaddr_d[5] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mhpme6 = ((((dec_csr_rdaddr_d[5] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mcountinhibit = ((((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0]; - assign csr_mitctl0 = (((dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mitctl1 = (((dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mitb0 = (((dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0]; - assign csr_mitb1 = (((dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mitcnt0 = (((dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0]; - assign csr_mitcnt1 = ((dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_mpmc = (((dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]; - assign csr_meicpct = ((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_micect = (((dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_miccmect = ((dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[0]; - assign csr_mdccmect = ((dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mfdht = (((dec_csr_rdaddr_d[6] & dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_mfdhs = ((dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0]; - assign csr_dicawics = ((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_dicad0h = ((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]; - assign csr_dicad0 = (((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign csr_dicad1 = (((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]; - assign csr_dicago = (((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]; - assign presync = ((((((((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]) | (((((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0])) | (((((!dec_csr_rdaddr_d[6] & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1])) | ((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1])) | ((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0])) | (((((dec_csr_rdaddr_d[7] & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]); - assign postsync = (((((((((dec_csr_rdaddr_d[10] & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0]) | ((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0])) | (((!dec_csr_rdaddr_d[7] & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0])) | (((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[0])) | ((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0])) | (((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1])) | ((((dec_csr_rdaddr_d[10] & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]); - assign legal = (((((((((((((((((((((((((((((((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0]) | (((((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1])) | ((((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0])) | (((((((((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0])) | ((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[0])) | (((((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0])) | (((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1])) | (((((((((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[0])) | (((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1])) | (((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[2])) | ((((((((((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0])) | (((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[1])) | (((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[2])) | (((((((((dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & dec_csr_rdaddr_d[1])) | ((((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[1]) & dec_csr_rdaddr_d[0])) | ((((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2])) | (((((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0])) | ((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[2])) | (((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & dec_csr_rdaddr_d[1])) | ((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[0])) | (((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2])) | ((((((((((!dec_csr_rdaddr_d[11] & dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2]) & !dec_csr_rdaddr_d[0])) | ((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[1])) | (((((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[2])) | (((((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[5]) & !dec_csr_rdaddr_d[4]) & !dec_csr_rdaddr_d[3]) & !dec_csr_rdaddr_d[1]) & !dec_csr_rdaddr_d[0])) | (((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[3])) | ((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[3])) | (((((((!dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[7]) & !dec_csr_rdaddr_d[6]) & dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4])) | ((((((dec_csr_rdaddr_d[11] & !dec_csr_rdaddr_d[10]) & dec_csr_rdaddr_d[9]) & dec_csr_rdaddr_d[8]) & !dec_csr_rdaddr_d[6]) & !dec_csr_rdaddr_d[5]) & dec_csr_rdaddr_d[4]); - assign dec_tlu_presync_d = (presync & dec_csr_any_unq_d) & ~dec_csr_wen_unq_d; - assign dec_tlu_postsync_d = postsync & dec_csr_any_unq_d; - assign conditionally_illegal = (((((csr_mitcnt0 | csr_mitcnt1) | csr_mitb0) | csr_mitb1) | csr_mitctl0) | csr_mitctl1) & !pt[4-:5]; - assign valid_csr = ((legal & (~(((((((csr_dcsr | csr_dpc) | csr_dmst) | csr_dicawics) | csr_dicad0) | csr_dicad0h) | csr_dicad1) | csr_dicago) | dbg_tlu_halted_f)) & ~fast_int_meicpct) & ~conditionally_illegal; - assign dec_csr_legal_d = (dec_csr_any_unq_d & valid_csr) & ~(dec_csr_wen_unq_d & (((((csr_mvendorid | csr_marchid) | csr_mimpid) | csr_mhartid) | csr_mdseac) | csr_meihap)); - assign dec_csr_rddata_d[31:0] = ((((((((((((((((((((((((((((((((((((((((((((((((((((((({32 {csr_misa}} & 32'h40201104) | ({32 {csr_mvendorid}} & 32'h00000045)) | ({32 {csr_marchid}} & 32'h00000010)) | ({32 {csr_mimpid}} & 32'h00000003)) | ({32 {csr_mhartid}} & {core_id[31:4], 4'b0000})) | ({32 {csr_mstatus}} & {{15 {1'b0}}, 2'b01, 2'b00, 2'b11, 3'b000, mstatus[1], 3'b000, mstatus[0], 3'b000})) | ({32 {csr_mtvec}} & {mtvec[30:1], 1'b0, mtvec[0]})) | ({32 {csr_mip}} & {1'b0, mip[5:3], 16'b0000000000000000, mip[2], 3'b000, mip[1], 3'b000, mip[0], 3'b000})) | ({32 {csr_mie}} & {1'b0, mie[5:3], 16'b0000000000000000, mie[2], 3'b000, mie[1], 3'b000, mie[0], 3'b000})) | ({32 {csr_mcyclel}} & mcyclel[31:0])) | ({32 {csr_mcycleh}} & mcycleh_inc[31:0])) | ({32 {csr_minstretl}} & minstretl_read[31:0])) | ({32 {csr_minstreth}} & minstreth_read[31:0])) | ({32 {csr_mscratch}} & mscratch[31:0])) | ({32 {csr_mepc}} & {mepc[31:1], 1'b0})) | ({32 {csr_mcause}} & mcause[31:0])) | ({32 {csr_mscause}} & {28'b0000000000000000000000000000, mscause[3:0]})) | ({32 {csr_mtval}} & mtval[31:0])) | ({32 {csr_mrac}} & mrac[31:0])) | ({32 {csr_mdseac}} & mdseac[31:0])) | ({32 {csr_meivt}} & {meivt[31:10], 10'b0000000000})) | ({32 {csr_meihap}} & {meivt[31:10], meihap[9:2], 2'b00})) | ({32 {csr_meicurpl}} & {28'b0000000000000000000000000000, meicurpl[3:0]})) | ({32 {csr_meicidpl}} & {28'b0000000000000000000000000000, meicidpl[3:0]})) | ({32 {csr_meipt}} & {28'b0000000000000000000000000000, meipt[3:0]})) | ({32 {csr_mcgc}} & {22'b0000000000000000000000, mcgc[9:0]})) | ({32 {csr_mfdc}} & {13'b0000000000000, mfdc[18:0]})) | ({32 {csr_dcsr}} & {16'h4000, dcsr[15:2], 2'b11})) | ({32 {csr_dpc}} & {dpc[31:1], 1'b0})) | ({32 {csr_dicad0}} & dicad0[31:0])) | ({32 {csr_dicad0h}} & dicad0h[31:0])) | ({32 {csr_dicad1}} & dicad1[31:0])) | ({32 {csr_dicawics}} & {7'b0000000, dicawics[16], 2'b00, dicawics[15:14], 3'b000, dicawics[13:0], 3'b000})) | ({32 {csr_mtsel}} & {30'b000000000000000000000000000000, mtsel[1:0]})) | ({32 {csr_mtdata1}} & {mtdata1_tsel_out[31:0]})) | ({32 {csr_mtdata2}} & {mtdata2_tsel_out[31:0]})) | ({32 {csr_micect}} & {micect[31:0]})) | ({32 {csr_miccmect}} & {miccmect[31:0]})) | ({32 {csr_mdccmect}} & {mdccmect[31:0]})) | ({32 {csr_mhpmc3}} & mhpmc3[31:0])) | ({32 {csr_mhpmc4}} & mhpmc4[31:0])) | ({32 {csr_mhpmc5}} & mhpmc5[31:0])) | ({32 {csr_mhpmc6}} & mhpmc6[31:0])) | ({32 {csr_mhpmc3h}} & mhpmc3h[31:0])) | ({32 {csr_mhpmc4h}} & mhpmc4h[31:0])) | ({32 {csr_mhpmc5h}} & mhpmc5h[31:0])) | ({32 {csr_mhpmc6h}} & mhpmc6h[31:0])) | ({32 {csr_mfdht}} & {26'b00000000000000000000000000, mfdht[5:0]})) | ({32 {csr_mfdhs}} & {30'b000000000000000000000000000000, mfdhs[1:0]})) | ({32 {csr_mhpme3}} & {22'b0000000000000000000000, mhpme3[9:0]})) | ({32 {csr_mhpme4}} & {22'b0000000000000000000000, mhpme4[9:0]})) | ({32 {csr_mhpme5}} & {22'b0000000000000000000000, mhpme5[9:0]})) | ({32 {csr_mhpme6}} & {22'b0000000000000000000000, mhpme6[9:0]})) | ({32 {csr_mcountinhibit}} & {25'b0000000000000000000000000, mcountinhibit[6:0]})) | ({32 {csr_mpmc}} & {30'b000000000000000000000000000000, mpmc[1], 1'b0})) | ({32 {dec_timer_read_d}} & dec_timer_rddata_d[31:0]); -endmodule -module eb1_dec_timer_ctl ( - clk, - free_l2clk, - csr_wr_clk, - rst_l, - dec_csr_wen_r_mod, - dec_csr_wraddr_r, - dec_csr_wrdata_r, - csr_mitctl0, - csr_mitctl1, - csr_mitb0, - csr_mitb1, - csr_mitcnt0, - csr_mitcnt1, - dec_pause_state, - dec_tlu_pmu_fw_halted, - internal_dbg_halt_timers, - dec_timer_rddata_d, - dec_timer_read_d, - dec_timer_t0_pulse, - dec_timer_t1_pulse, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire free_l2clk; - input wire csr_wr_clk; - input wire rst_l; - input wire dec_csr_wen_r_mod; - input wire [11:0] dec_csr_wraddr_r; - input wire [31:0] dec_csr_wrdata_r; - input wire csr_mitctl0; - input wire csr_mitctl1; - input wire csr_mitb0; - input wire csr_mitb1; - input wire csr_mitcnt0; - input wire csr_mitcnt1; - input wire dec_pause_state; - input wire dec_tlu_pmu_fw_halted; - input wire internal_dbg_halt_timers; - output wire [31:0] dec_timer_rddata_d; - output wire dec_timer_read_d; - output wire dec_timer_t0_pulse; - output wire dec_timer_t1_pulse; - input wire scan_mode; - localparam MITCTL_ENABLE = 0; - localparam MITCTL_ENABLE_HALTED = 1; - localparam MITCTL_ENABLE_PAUSED = 2; - wire [31:0] mitcnt0_ns; - wire [31:0] mitcnt0; - wire [31:0] mitcnt1_ns; - wire [31:0] mitcnt1; - wire [31:0] mitb0; - wire [31:0] mitb1; - wire [31:0] mitb0_b; - wire [31:0] mitb1_b; - wire [31:0] mitcnt0_inc; - wire [31:0] mitcnt1_inc; - wire [2:0] mitctl0_ns; - wire [2:0] mitctl0; - wire [3:0] mitctl1_ns; - wire [3:0] mitctl1; - wire wr_mitcnt0_r; - wire wr_mitcnt1_r; - wire wr_mitb0_r; - wire wr_mitb1_r; - wire wr_mitctl0_r; - wire wr_mitctl1_r; - wire mitcnt0_inc_ok; - wire mitcnt1_inc_ok; - wire mitcnt0_inc_cout; - wire mitcnt1_inc_cout; - wire mit0_match_ns; - wire mit1_match_ns; - wire mitctl0_0_b_ns; - wire mitctl0_0_b; - wire mitctl1_0_b_ns; - wire mitctl1_0_b; - assign mit0_match_ns = mitcnt0[31:0] >= mitb0[31:0]; - assign mit1_match_ns = mitcnt1[31:0] >= mitb1[31:0]; - assign dec_timer_t0_pulse = mit0_match_ns; - assign dec_timer_t1_pulse = mit1_match_ns; - localparam MITCNT0 = 12'h7d2; - assign wr_mitcnt0_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MITCNT0); - assign mitcnt0_inc_ok = ((mitctl0[MITCTL_ENABLE] & (~dec_pause_state | mitctl0[MITCTL_ENABLE_PAUSED])) & (~dec_tlu_pmu_fw_halted | mitctl0[MITCTL_ENABLE_HALTED])) & ~internal_dbg_halt_timers; - assign {mitcnt0_inc_cout, mitcnt0_inc[7:0]} = mitcnt0[7:0] + 8'b00000001; - assign mitcnt0_inc[31:8] = mitcnt0[31:8] + {23'b00000000000000000000000, mitcnt0_inc_cout}; - assign mitcnt0_ns[31:0] = (wr_mitcnt0_r ? dec_csr_wrdata_r[31:0] : (mit0_match_ns ? 'b0 : mitcnt0_inc[31:0])); - rvdffe #(.WIDTH(24)) mitcnt0_ffb( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en((wr_mitcnt0_r | (mitcnt0_inc_ok & mitcnt0_inc_cout)) | mit0_match_ns), - .din(mitcnt0_ns[31:8]), - .dout(mitcnt0[31:8]) - ); - rvdffe #(.WIDTH(8)) mitcnt0_ffa( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en((wr_mitcnt0_r | mitcnt0_inc_ok) | mit0_match_ns), - .din(mitcnt0_ns[7:0]), - .dout(mitcnt0[7:0]) - ); - localparam MITCNT1 = 12'h7d5; - assign wr_mitcnt1_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MITCNT1); - assign mitcnt1_inc_ok = (((mitctl1[MITCTL_ENABLE] & (~dec_pause_state | mitctl1[MITCTL_ENABLE_PAUSED])) & (~dec_tlu_pmu_fw_halted | mitctl1[MITCTL_ENABLE_HALTED])) & ~internal_dbg_halt_timers) & (~mitctl1[3] | mit0_match_ns); - assign {mitcnt1_inc_cout, mitcnt1_inc[7:0]} = mitcnt1[7:0] + 8'b00000001; - assign mitcnt1_inc[31:8] = mitcnt1[31:8] + {23'b00000000000000000000000, mitcnt1_inc_cout}; - assign mitcnt1_ns[31:0] = (wr_mitcnt1_r ? dec_csr_wrdata_r[31:0] : (mit1_match_ns ? 'b0 : mitcnt1_inc[31:0])); - rvdffe #(.WIDTH(24)) mitcnt1_ffb( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en((wr_mitcnt1_r | (mitcnt1_inc_ok & mitcnt1_inc_cout)) | mit1_match_ns), - .din(mitcnt1_ns[31:8]), - .dout(mitcnt1[31:8]) - ); - rvdffe #(.WIDTH(8)) mitcnt1_ffa( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .en((wr_mitcnt1_r | mitcnt1_inc_ok) | mit1_match_ns), - .din(mitcnt1_ns[7:0]), - .dout(mitcnt1[7:0]) - ); - localparam MITB0 = 12'h7d3; - assign wr_mitb0_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MITB0); - rvdffe #(.WIDTH(32)) mitb0_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mitb0_r), - .din(~dec_csr_wrdata_r[31:0]), - .dout(mitb0_b[31:0]) - ); - assign mitb0[31:0] = ~mitb0_b[31:0]; - localparam MITB1 = 12'h7d6; - assign wr_mitb1_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MITB1); - rvdffe #(.WIDTH(32)) mitb1_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(wr_mitb1_r), - .din(~dec_csr_wrdata_r[31:0]), - .dout(mitb1_b[31:0]) - ); - assign mitb1[31:0] = ~mitb1_b[31:0]; - localparam MITCTL0 = 12'h7d4; - assign wr_mitctl0_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MITCTL0); - assign mitctl0_ns[2:0] = (wr_mitctl0_r ? {dec_csr_wrdata_r[2:0]} : {mitctl0[2:0]}); - assign mitctl0_0_b_ns = ~mitctl0_ns[0]; - rvdffs #(.WIDTH(3)) mitctl0_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .en(wr_mitctl0_r), - .din({mitctl0_ns[2:1], mitctl0_0_b_ns}), - .dout({mitctl0[2:1], mitctl0_0_b}) - ); - assign mitctl0[0] = ~mitctl0_0_b; - localparam MITCTL1 = 12'h7d7; - assign wr_mitctl1_r = dec_csr_wen_r_mod & (dec_csr_wraddr_r[11:0] == MITCTL1); - assign mitctl1_ns[3:0] = (wr_mitctl1_r ? {dec_csr_wrdata_r[3:0]} : {mitctl1[3:0]}); - assign mitctl1_0_b_ns = ~mitctl1_ns[0]; - rvdffs #(.WIDTH(4)) mitctl1_ff( - .rst_l(rst_l), - .clk(csr_wr_clk), - .en(wr_mitctl1_r), - .din({mitctl1_ns[3:1], mitctl1_0_b_ns}), - .dout({mitctl1[3:1], mitctl1_0_b}) - ); - assign mitctl1[0] = ~mitctl1_0_b; - assign dec_timer_read_d = ((((csr_mitcnt1 | csr_mitcnt0) | csr_mitb1) | csr_mitb0) | csr_mitctl0) | csr_mitctl1; - assign dec_timer_rddata_d[31:0] = ((((({32 {csr_mitcnt0}} & mitcnt0[31:0]) | ({32 {csr_mitcnt1}} & mitcnt1[31:0])) | ({32 {csr_mitb0}} & mitb0[31:0])) | ({32 {csr_mitb1}} & mitb1[31:0])) | ({32 {csr_mitctl0}} & {29'b00000000000000000000000000000, mitctl0[2:0]})) | ({32 {csr_mitctl1}} & {28'b0000000000000000000000000000, mitctl1[3:0]}); -endmodule -module eb1_dec_trigger ( - trigger_pkt_any, - dec_i0_pc_d, - dec_i0_trigger_match_d -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [151:0] trigger_pkt_any; - input wire [31:1] dec_i0_pc_d; - output wire [3:0] dec_i0_trigger_match_d; - wire [127:0] dec_i0_match_data; - wire [3:0] dec_i0_trigger_data_match; - generate - genvar i; - for (i = 0; i < 4; i = i + 1) begin - assign dec_i0_match_data[(i * 32) + 31-:32] = {32 {~trigger_pkt_any[(i * 38) + 37] & trigger_pkt_any[(i * 38) + 33]}} & {dec_i0_pc_d[31:1], trigger_pkt_any[i * 38]}; - rvmaskandmatch trigger_i0_match( - .mask(trigger_pkt_any[(i * 38) + 31-:32]), - .data(dec_i0_match_data[(i * 32) + 31-:32]), - .masken(trigger_pkt_any[(i * 38) + 36]), - .match(dec_i0_trigger_data_match[i]) - ); - assign dec_i0_trigger_match_d[i] = (trigger_pkt_any[(i * 38) + 33] & trigger_pkt_any[(i * 38) + 32]) & dec_i0_trigger_data_match[i]; - end - endgenerate -endmodule -module eb1_exu ( - clk, - rst_l, - scan_mode, - dec_data_en, - dec_ctl_en, - dbg_cmd_wrdata, - i0_ap, - dec_debug_wdata_rs1_d, - dec_i0_predict_p_d, - i0_predict_fghr_d, - i0_predict_index_d, - i0_predict_btag_d, - lsu_result_m, - lsu_nonblock_load_data, - dec_i0_rs1_en_d, - dec_i0_rs2_en_d, - gpr_i0_rs1_d, - gpr_i0_rs2_d, - dec_i0_immed_d, - dec_i0_result_r, - dec_i0_br_immed_d, - dec_i0_alu_decode_d, - dec_i0_branch_d, - dec_i0_select_pc_d, - dec_i0_pc_d, - dec_i0_rs1_bypass_en_d, - dec_i0_rs2_bypass_en_d, - dec_csr_ren_d, - dec_csr_rddata_d, - dec_qual_lsu_d, - mul_p, - div_p, - dec_div_cancel, - pred_correct_npc_x, - dec_tlu_flush_lower_r, - dec_tlu_flush_path_r, - dec_extint_stall, - dec_tlu_meihap, - exu_lsu_rs1_d, - exu_lsu_rs2_d, - exu_flush_final, - exu_flush_path_final, - exu_i0_result_x, - exu_i0_pc_x, - exu_csr_rs1_x, - exu_npc_r, - exu_i0_br_hist_r, - exu_i0_br_error_r, - exu_i0_br_start_error_r, - exu_i0_br_index_r, - exu_i0_br_valid_r, - exu_i0_br_mp_r, - exu_i0_br_middle_r, - exu_i0_br_fghr_r, - exu_i0_br_way_r, - exu_mp_pkt, - exu_mp_eghr, - exu_mp_fghr, - exu_mp_index, - exu_mp_btag, - exu_pmu_i0_br_misp, - exu_pmu_i0_br_ataken, - exu_pmu_i0_pc4, - exu_div_result, - exu_div_wren -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire [1:0] dec_data_en; - input wire [1:0] dec_ctl_en; - input wire [31:0] dbg_cmd_wrdata; - input wire [43:0] i0_ap; - input wire dec_debug_wdata_rs1_d; - input wire [55:0] dec_i0_predict_p_d; - input wire [pt[2236-:8] - 1:0] i0_predict_fghr_d; - input wire [pt[2172-:9]:pt[2163-:6]] i0_predict_index_d; - input wire [pt[2139-:9] - 1:0] i0_predict_btag_d; - input wire [31:0] lsu_result_m; - input wire [31:0] lsu_nonblock_load_data; - input wire dec_i0_rs1_en_d; - input wire dec_i0_rs2_en_d; - input wire [31:0] gpr_i0_rs1_d; - input wire [31:0] gpr_i0_rs2_d; - input wire [31:0] dec_i0_immed_d; - input wire [31:0] dec_i0_result_r; - input wire [12:1] dec_i0_br_immed_d; - input wire dec_i0_alu_decode_d; - input wire dec_i0_branch_d; - input wire dec_i0_select_pc_d; - input wire [31:1] dec_i0_pc_d; - input wire [3:0] dec_i0_rs1_bypass_en_d; - input wire [3:0] dec_i0_rs2_bypass_en_d; - input wire dec_csr_ren_d; - input wire [31:0] dec_csr_rddata_d; - input wire dec_qual_lsu_d; - input wire [19:0] mul_p; - input wire [2:0] div_p; - input wire dec_div_cancel; - input wire [31:1] pred_correct_npc_x; - input wire dec_tlu_flush_lower_r; - input wire [31:1] dec_tlu_flush_path_r; - input wire dec_extint_stall; - input wire [31:2] dec_tlu_meihap; - output wire [31:0] exu_lsu_rs1_d; - output wire [31:0] exu_lsu_rs2_d; - output wire exu_flush_final; - output wire [31:1] exu_flush_path_final; - output wire [31:0] exu_i0_result_x; - output wire [31:1] exu_i0_pc_x; - output wire [31:0] exu_csr_rs1_x; - output wire [31:1] exu_npc_r; - output wire [1:0] exu_i0_br_hist_r; - output wire exu_i0_br_error_r; - output wire exu_i0_br_start_error_r; - output wire [pt[2172-:9]:pt[2163-:6]] exu_i0_br_index_r; - output wire exu_i0_br_valid_r; - output wire exu_i0_br_mp_r; - output wire exu_i0_br_middle_r; - output wire [pt[2236-:8] - 1:0] exu_i0_br_fghr_r; - output wire exu_i0_br_way_r; - output wire [55:0] exu_mp_pkt; - output wire [pt[2236-:8] - 1:0] exu_mp_eghr; - output wire [pt[2236-:8] - 1:0] exu_mp_fghr; - output wire [pt[2172-:9]:pt[2163-:6]] exu_mp_index; - output wire [pt[2139-:9] - 1:0] exu_mp_btag; - output wire exu_pmu_i0_br_misp; - output wire exu_pmu_i0_br_ataken; - output wire exu_pmu_i0_pc4; - output wire [31:0] exu_div_result; - output wire exu_div_wren; - wire [31:0] i0_rs1_bypass_data_d; - wire [31:0] i0_rs2_bypass_data_d; - wire i0_rs1_bypass_en_d; - wire i0_rs2_bypass_en_d; - wire [31:0] i0_rs1_d; - wire [31:0] i0_rs2_d; - wire [31:0] muldiv_rs1_d; - wire [31:1] pred_correct_npc_r; - wire i0_pred_correct_upper_r; - wire [31:1] i0_flush_path_upper_r; - wire x_data_en; - wire x_data_en_q1; - wire x_data_en_q2; - wire r_data_en; - wire r_data_en_q2; - wire x_ctl_en; - wire r_ctl_en; - wire [pt[2236-:8] - 1:0] ghr_d_ns; - wire [pt[2236-:8] - 1:0] ghr_d; - wire [pt[2236-:8] - 1:0] ghr_x_ns; - wire [pt[2236-:8] - 1:0] ghr_x; - wire i0_taken_d; - wire i0_taken_x; - wire i0_valid_d; - wire i0_valid_x; - wire [pt[2236-:8] - 1:0] after_flush_eghr; - wire [55:0] final_predict_mp; - reg [55:0] i0_predict_newp_d; - wire flush_in_d; - wire [31:0] alu_result_x; - wire mul_valid_x; - wire [31:0] mul_result_x; - wire [55:0] i0_pp_r; - wire i0_flush_upper_d; - wire [31:1] i0_flush_path_d; - wire [55:0] i0_predict_p_d; - wire i0_pred_correct_upper_d; - wire i0_flush_upper_x; - wire [31:1] i0_flush_path_x; - wire [55:0] i0_predict_p_x; - wire i0_pred_correct_upper_x; - wire i0_branch_x; - localparam PREDPIPESIZE = (((pt[2172-:9] - pt[2163-:6]) + 1) + pt[2236-:8]) + pt[2139-:9]; - wire [PREDPIPESIZE - 1:0] predpipe_d; - wire [PREDPIPESIZE - 1:0] predpipe_x; - wire [PREDPIPESIZE - 1:0] predpipe_r; - wire [PREDPIPESIZE - 1:0] final_predpipe_mp; - rvdffpcie #(.WIDTH(31)) i_flush_path_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(x_data_en), - .din(i0_flush_path_d[31:1]), - .dout(i0_flush_path_x[31:1]) - ); - rvdffe #(.WIDTH(32)) i_csr_rs1_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(x_data_en_q1), - .din(i0_rs1_d[31:0]), - .dout(exu_csr_rs1_x[31:0]) - ); - rvdffppe #(.WIDTH(56)) i_predictpacket_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(x_data_en), - .din(i0_predict_p_d), - .dout(i0_predict_p_x) - ); - rvdffe #(.WIDTH(PREDPIPESIZE)) i_predpipe_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(x_data_en_q2), - .din(predpipe_d), - .dout(predpipe_x) - ); - rvdffe #(.WIDTH(PREDPIPESIZE)) i_predpipe_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(r_data_en_q2), - .din(predpipe_x), - .dout(predpipe_r) - ); - rvdffe #(.WIDTH(4 + pt[2236-:8])) i_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(x_ctl_en), - .din({i0_valid_d, i0_taken_d, i0_flush_upper_d, i0_pred_correct_upper_d, ghr_x_ns[pt[2236-:8] - 1:0]}), - .dout({i0_valid_x, i0_taken_x, i0_flush_upper_x, i0_pred_correct_upper_x, ghr_x[pt[2236-:8] - 1:0]}) - ); - rvdffppe #(.WIDTH(57)) i_r_ff0( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(r_ctl_en), - .din({i0_pred_correct_upper_x, i0_predict_p_x}), - .dout({i0_pred_correct_upper_r, i0_pp_r}) - ); - rvdffpcie #(.WIDTH(31)) i_flush_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(r_data_en), - .din(i0_flush_path_x[31:1]), - .dout(i0_flush_path_upper_r[31:1]) - ); - rvdffpcie #(.WIDTH(31)) i_npc_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(r_data_en), - .din(pred_correct_npc_x[31:1]), - .dout(pred_correct_npc_r[31:1]) - ); - rvdffie #( - .WIDTH(pt[2236-:8] + 2), - .OVERRIDE(1) - ) i_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .din({ghr_d_ns[pt[2236-:8] - 1:0], mul_p[19], dec_i0_branch_d}), - .dout({ghr_d[pt[2236-:8] - 1:0], mul_valid_x, i0_branch_x}) - ); - assign predpipe_d[PREDPIPESIZE - 1:0] = {i0_predict_fghr_d, i0_predict_index_d, i0_predict_btag_d}; - assign i0_rs1_bypass_en_d = ((dec_i0_rs1_bypass_en_d[0] | dec_i0_rs1_bypass_en_d[1]) | dec_i0_rs1_bypass_en_d[2]) | dec_i0_rs1_bypass_en_d[3]; - assign i0_rs2_bypass_en_d = ((dec_i0_rs2_bypass_en_d[0] | dec_i0_rs2_bypass_en_d[1]) | dec_i0_rs2_bypass_en_d[2]) | dec_i0_rs2_bypass_en_d[3]; - assign i0_rs1_bypass_data_d[31:0] = ((({32 {dec_i0_rs1_bypass_en_d[0]}} & dec_i0_result_r[31:0]) | ({32 {dec_i0_rs1_bypass_en_d[1]}} & lsu_result_m[31:0])) | ({32 {dec_i0_rs1_bypass_en_d[2]}} & exu_i0_result_x[31:0])) | ({32 {dec_i0_rs1_bypass_en_d[3]}} & lsu_nonblock_load_data[31:0]); - assign i0_rs2_bypass_data_d[31:0] = ((({32 {dec_i0_rs2_bypass_en_d[0]}} & dec_i0_result_r[31:0]) | ({32 {dec_i0_rs2_bypass_en_d[1]}} & lsu_result_m[31:0])) | ({32 {dec_i0_rs2_bypass_en_d[2]}} & exu_i0_result_x[31:0])) | ({32 {dec_i0_rs2_bypass_en_d[3]}} & lsu_nonblock_load_data[31:0]); - assign i0_rs1_d[31:0] = ((({32 {i0_rs1_bypass_en_d}} & i0_rs1_bypass_data_d[31:0]) | ({32 {~i0_rs1_bypass_en_d & dec_i0_select_pc_d}} & {dec_i0_pc_d[31:1], 1'b0})) | ({32 {~i0_rs1_bypass_en_d & dec_debug_wdata_rs1_d}} & dbg_cmd_wrdata[31:0])) | ({32 {(~i0_rs1_bypass_en_d & ~dec_debug_wdata_rs1_d) & dec_i0_rs1_en_d}} & gpr_i0_rs1_d[31:0]); - assign i0_rs2_d[31:0] = (({32 {~i0_rs2_bypass_en_d & dec_i0_rs2_en_d}} & gpr_i0_rs2_d[31:0]) | ({32 {~i0_rs2_bypass_en_d}} & dec_i0_immed_d[31:0])) | ({32 {i0_rs2_bypass_en_d}} & i0_rs2_bypass_data_d[31:0]); - assign exu_lsu_rs1_d[31:0] = (({32 {((~i0_rs1_bypass_en_d & ~dec_extint_stall) & dec_i0_rs1_en_d) & dec_qual_lsu_d}} & gpr_i0_rs1_d[31:0]) | ({32 {(i0_rs1_bypass_en_d & ~dec_extint_stall) & dec_qual_lsu_d}} & i0_rs1_bypass_data_d[31:0])) | ({32 {dec_extint_stall & dec_qual_lsu_d}} & {dec_tlu_meihap[31:2], 2'b00}); - assign exu_lsu_rs2_d[31:0] = ({32 {((~i0_rs2_bypass_en_d & ~dec_extint_stall) & dec_i0_rs2_en_d) & dec_qual_lsu_d}} & gpr_i0_rs2_d[31:0]) | ({32 {(i0_rs2_bypass_en_d & ~dec_extint_stall) & dec_qual_lsu_d}} & i0_rs2_bypass_data_d[31:0]); - assign muldiv_rs1_d[31:0] = ({32 {~i0_rs1_bypass_en_d & dec_i0_rs1_en_d}} & gpr_i0_rs1_d[31:0]) | ({32 {i0_rs1_bypass_en_d}} & i0_rs1_bypass_data_d[31:0]); - assign x_data_en = dec_data_en[1]; - assign x_data_en_q1 = dec_data_en[1] & dec_csr_ren_d; - assign x_data_en_q2 = dec_data_en[1] & dec_i0_branch_d; - assign r_data_en = dec_data_en[0]; - assign r_data_en_q2 = dec_data_en[0] & i0_branch_x; - assign x_ctl_en = dec_ctl_en[1]; - assign r_ctl_en = dec_ctl_en[0]; - eb1_exu_alu_ctl #(.pt(pt)) i_alu( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .enable(x_data_en), - .pp_in(i0_predict_newp_d), - .valid_in(dec_i0_alu_decode_d), - .flush_upper_x(i0_flush_upper_x), - .flush_lower_r(dec_tlu_flush_lower_r), - .a_in(i0_rs1_d[31:0]), - .b_in(i0_rs2_d[31:0]), - .pc_in(dec_i0_pc_d[31:1]), - .brimm_in(dec_i0_br_immed_d[12:1]), - .ap(i0_ap), - .csr_ren_in(dec_csr_ren_d), - .csr_rddata_in(dec_csr_rddata_d[31:0]), - .result_ff(alu_result_x[31:0]), - .flush_upper_out(i0_flush_upper_d), - .flush_final_out(exu_flush_final), - .flush_path_out(i0_flush_path_d[31:1]), - .predict_p_out(i0_predict_p_d), - .pred_correct_out(i0_pred_correct_upper_d), - .pc_ff(exu_i0_pc_x[31:1]) - ); - eb1_exu_mul_ctl #(.pt(pt)) i_mul( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .mul_p(mul_p & {20 {mul_p[19]}}), - .rs1_in(muldiv_rs1_d[31:0] & {32 {mul_p[19]}}), - .rs2_in(i0_rs2_d[31:0] & {32 {mul_p[19]}}), - .result_x(mul_result_x[31:0]) - ); - eb1_exu_div_ctl #(.pt(pt)) i_div( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .cancel(dec_div_cancel), - .dp(div_p), - .dividend(muldiv_rs1_d[31:0]), - .divisor(i0_rs2_d[31:0]), - .finish_dly(exu_div_wren), - .out(exu_div_result[31:0]) - ); - assign exu_i0_result_x[31:0] = (mul_valid_x ? mul_result_x[31:0] : alu_result_x[31:0]); - always @(*) begin - i0_predict_newp_d = dec_i0_predict_p_d; - i0_predict_newp_d[53] = dec_i0_pc_d[1]; - end - assign exu_pmu_i0_br_misp = i0_pp_r[55]; - assign exu_pmu_i0_br_ataken = i0_pp_r[54]; - assign exu_pmu_i0_pc4 = i0_pp_r[52]; - assign i0_valid_d = (i0_predict_p_d[37] & dec_i0_alu_decode_d) & ~dec_tlu_flush_lower_r; - assign i0_taken_d = i0_predict_p_d[54] & dec_i0_alu_decode_d; - generate - if (pt[2130-:5] == 1) begin - assign ghr_d_ns[pt[2236-:8] - 1:0] = (({pt[2236-:8] {~dec_tlu_flush_lower_r & i0_valid_d}} & {ghr_d[pt[2236-:8] - 2:0], i0_taken_d}) | ({pt[2236-:8] {~dec_tlu_flush_lower_r & ~i0_valid_d}} & ghr_d[pt[2236-:8] - 1:0])) | ({pt[2236-:8] {dec_tlu_flush_lower_r}} & ghr_x[pt[2236-:8] - 1:0]); - assign ghr_x_ns[pt[2236-:8] - 1:0] = ({pt[2236-:8] {i0_valid_x}} & {ghr_x[pt[2236-:8] - 2:0], i0_taken_x}) | ({pt[2236-:8] {~i0_valid_x}} & ghr_x[pt[2236-:8] - 1:0]); - assign exu_i0_br_valid_r = i0_pp_r[37]; - assign exu_i0_br_mp_r = i0_pp_r[55]; - assign exu_i0_br_way_r = i0_pp_r[32]; - assign exu_i0_br_hist_r[1:0] = {2 {i0_pp_r[37]}} & i0_pp_r[51:50]; - assign exu_i0_br_error_r = i0_pp_r[36]; - assign exu_i0_br_middle_r = i0_pp_r[52] ^ i0_pp_r[53]; - assign exu_i0_br_start_error_r = i0_pp_r[35]; - assign {exu_i0_br_fghr_r[pt[2236-:8] - 1:0], exu_i0_br_index_r[pt[2172-:9]:pt[2163-:6]]} = predpipe_r[PREDPIPESIZE - 1:pt[2139-:9]]; - assign final_predict_mp = (i0_flush_upper_x ? i0_predict_p_x : {56 {1'sb0}}); - assign final_predpipe_mp[PREDPIPESIZE - 1:0] = (i0_flush_upper_x ? predpipe_x : {PREDPIPESIZE {1'sb0}}); - assign after_flush_eghr[pt[2236-:8] - 1:0] = (i0_flush_upper_x & ~dec_tlu_flush_lower_r ? ghr_d[pt[2236-:8] - 1:0] : ghr_x[pt[2236-:8] - 1:0]); - assign exu_mp_pkt[37] = final_predict_mp[37]; - assign exu_mp_pkt[32] = final_predict_mp[32]; - assign exu_mp_pkt[55] = final_predict_mp[55]; - assign exu_mp_pkt[34] = final_predict_mp[34]; - assign exu_mp_pkt[33] = final_predict_mp[33]; - assign exu_mp_pkt[31] = final_predict_mp[31]; - assign exu_mp_pkt[54] = final_predict_mp[54]; - assign exu_mp_pkt[53] = final_predict_mp[53]; - assign exu_mp_pkt[52] = final_predict_mp[52]; - assign exu_mp_pkt[51:50] = final_predict_mp[51:50]; - assign exu_mp_pkt[49:38] = final_predict_mp[49:38]; - assign exu_mp_fghr[pt[2236-:8] - 1:0] = after_flush_eghr[pt[2236-:8] - 1:0]; - assign {exu_mp_index[pt[2172-:9]:pt[2163-:6]], exu_mp_btag[pt[2139-:9] - 1:0]} = final_predpipe_mp[(PREDPIPESIZE - pt[2236-:8]) - 1:0]; - assign exu_mp_eghr[pt[2236-:8] - 1:0] = final_predpipe_mp[PREDPIPESIZE - 1:((pt[2172-:9] - pt[2163-:6]) + pt[2139-:9]) + 1]; - end - else begin - assign ghr_d_ns = {pt[2236-:8] {1'sb0}}; - assign ghr_x_ns = {pt[2236-:8] {1'sb0}}; - assign exu_mp_pkt = {56 {1'sb0}}; - assign exu_mp_eghr = {pt[2236-:8] {1'sb0}}; - assign exu_mp_fghr = {pt[2236-:8] {1'sb0}}; - assign exu_mp_index = {(pt[2172-:9] >= pt[2163-:6] ? (pt[2172-:9] - pt[2163-:6]) + 1 : (pt[2163-:6] - pt[2172-:9]) + 1) {1'sb0}}; - assign exu_mp_btag = {pt[2139-:9] {1'sb0}}; - assign exu_i0_br_hist_r = {2 {1'sb0}}; - assign exu_i0_br_error_r = 1'b0; - assign exu_i0_br_start_error_r = 1'b0; - assign exu_i0_br_index_r = {(pt[2172-:9] >= pt[2163-:6] ? (pt[2172-:9] - pt[2163-:6]) + 1 : (pt[2163-:6] - pt[2172-:9]) + 1) {1'sb0}}; - assign exu_i0_br_valid_r = 1'b0; - assign exu_i0_br_mp_r = 1'b0; - assign exu_i0_br_middle_r = 1'b0; - assign exu_i0_br_fghr_r = {pt[2236-:8] {1'sb0}}; - assign exu_i0_br_way_r = 1'b0; - end - endgenerate - assign exu_flush_path_final[31:1] = ({31 {dec_tlu_flush_lower_r}} & dec_tlu_flush_path_r[31:1]) | ({31 {~dec_tlu_flush_lower_r & i0_flush_upper_d}} & i0_flush_path_d[31:1]); - assign exu_npc_r[31:1] = (i0_pred_correct_upper_r ? pred_correct_npc_r[31:1] : i0_flush_path_upper_r[31:1]); -endmodule -module eb1_dma_ctrl ( - clk, - free_clk, - rst_l, - dma_bus_clk_en, - clk_override, - scan_mode, - dbg_cmd_addr, - dbg_cmd_wrdata, - dbg_cmd_valid, - dbg_cmd_write, - dbg_cmd_type, - dbg_cmd_size, - dbg_dma_bubble, - dma_dbg_ready, - dma_dbg_cmd_done, - dma_dbg_cmd_fail, - dma_dbg_rddata, - dma_dccm_req, - dma_iccm_req, - dma_mem_tag, - dma_mem_addr, - dma_mem_sz, - dma_mem_write, - dma_mem_wdata, - dccm_dma_rvalid, - dccm_dma_ecc_error, - dccm_dma_rtag, - dccm_dma_rdata, - iccm_dma_rvalid, - iccm_dma_ecc_error, - iccm_dma_rtag, - iccm_dma_rdata, - dma_active, - dma_dccm_stall_any, - dma_iccm_stall_any, - dccm_ready, - iccm_ready, - dec_tlu_dma_qos_prty, - dma_pmu_dccm_read, - dma_pmu_dccm_write, - dma_pmu_any_read, - dma_pmu_any_write, - dma_axi_awvalid, - dma_axi_awready, - dma_axi_awid, - dma_axi_awaddr, - dma_axi_awsize, - dma_axi_wvalid, - dma_axi_wready, - dma_axi_wdata, - dma_axi_wstrb, - dma_axi_bvalid, - dma_axi_bready, - dma_axi_bresp, - dma_axi_bid, - dma_axi_arvalid, - dma_axi_arready, - dma_axi_arid, - dma_axi_araddr, - dma_axi_arsize, - dma_axi_rvalid, - dma_axi_rready, - dma_axi_rid, - dma_axi_rdata, - dma_axi_rresp, - dma_axi_rlast -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire free_clk; - input wire rst_l; - input wire dma_bus_clk_en; - input wire clk_override; - input wire scan_mode; - input wire [31:0] dbg_cmd_addr; - input wire [31:0] dbg_cmd_wrdata; - input wire dbg_cmd_valid; - input wire dbg_cmd_write; - input wire [1:0] dbg_cmd_type; - input wire [1:0] dbg_cmd_size; - input wire dbg_dma_bubble; - output wire dma_dbg_ready; - output wire dma_dbg_cmd_done; - output wire dma_dbg_cmd_fail; - output wire [31:0] dma_dbg_rddata; - output wire dma_dccm_req; - output wire dma_iccm_req; - output wire [2:0] dma_mem_tag; - output wire [31:0] dma_mem_addr; - output wire [2:0] dma_mem_sz; - output wire dma_mem_write; - output wire [63:0] dma_mem_wdata; - input wire dccm_dma_rvalid; - input wire dccm_dma_ecc_error; - input wire [2:0] dccm_dma_rtag; - input wire [63:0] dccm_dma_rdata; - input wire iccm_dma_rvalid; - input wire iccm_dma_ecc_error; - input wire [2:0] iccm_dma_rtag; - input wire [63:0] iccm_dma_rdata; - output wire dma_active; - output wire dma_dccm_stall_any; - output wire dma_iccm_stall_any; - input wire dccm_ready; - input wire iccm_ready; - input wire [2:0] dec_tlu_dma_qos_prty; - output wire dma_pmu_dccm_read; - output wire dma_pmu_dccm_write; - output wire dma_pmu_any_read; - output wire dma_pmu_any_write; - input wire dma_axi_awvalid; - output wire dma_axi_awready; - input wire [pt[1235-:8] - 1:0] dma_axi_awid; - input wire [31:0] dma_axi_awaddr; - input wire [2:0] dma_axi_awsize; - input wire dma_axi_wvalid; - output wire dma_axi_wready; - input wire [63:0] dma_axi_wdata; - input wire [7:0] dma_axi_wstrb; - output wire dma_axi_bvalid; - input wire dma_axi_bready; - output wire [1:0] dma_axi_bresp; - output wire [pt[1235-:8] - 1:0] dma_axi_bid; - input wire dma_axi_arvalid; - output wire dma_axi_arready; - input wire [pt[1235-:8] - 1:0] dma_axi_arid; - input wire [31:0] dma_axi_araddr; - input wire [2:0] dma_axi_arsize; - output wire dma_axi_rvalid; - input wire dma_axi_rready; - output wire [pt[1235-:8] - 1:0] dma_axi_rid; - output wire [63:0] dma_axi_rdata; - output wire [1:0] dma_axi_rresp; - output wire dma_axi_rlast; - localparam DEPTH = pt[1257-:7]; - localparam DEPTH_PTR = $clog2(DEPTH); - localparam NACK_COUNT = 7; - wire [DEPTH - 1:0] fifo_valid; - wire [(DEPTH * 2) - 1:0] fifo_error; - wire [DEPTH - 1:0] fifo_error_bus; - wire [DEPTH - 1:0] fifo_rpend; - wire [DEPTH - 1:0] fifo_done; - wire [DEPTH - 1:0] fifo_done_bus; - wire [(DEPTH * 32) - 1:0] fifo_addr; - wire [(DEPTH * 3) - 1:0] fifo_sz; - wire [(DEPTH * 8) - 1:0] fifo_byteen; - wire [DEPTH - 1:0] fifo_write; - wire [DEPTH - 1:0] fifo_posted_write; - wire [DEPTH - 1:0] fifo_dbg; - wire [(DEPTH * 64) - 1:0] fifo_data; - wire [(DEPTH * pt[1235-:8]) - 1:0] fifo_tag; - wire [(DEPTH * pt[1250-:9]) - 1:0] fifo_mid; - wire [(DEPTH * pt[1241-:6]) - 1:0] fifo_prty; - wire [DEPTH - 1:0] fifo_cmd_en; - wire [DEPTH - 1:0] fifo_data_en; - wire [DEPTH - 1:0] fifo_pend_en; - wire [DEPTH - 1:0] fifo_done_en; - wire [DEPTH - 1:0] fifo_done_bus_en; - wire [DEPTH - 1:0] fifo_error_en; - wire [DEPTH - 1:0] fifo_error_bus_en; - wire [DEPTH - 1:0] fifo_reset; - wire [(DEPTH * 2) - 1:0] fifo_error_in; - wire [(DEPTH * 64) - 1:0] fifo_data_in; - wire fifo_write_in; - wire fifo_posted_write_in; - wire fifo_dbg_in; - wire [31:0] fifo_addr_in; - wire [2:0] fifo_sz_in; - wire [7:0] fifo_byteen_in; - wire [DEPTH_PTR - 1:0] RspPtr; - wire [DEPTH_PTR - 1:0] NxtRspPtr; - wire [DEPTH_PTR - 1:0] WrPtr; - wire [DEPTH_PTR - 1:0] NxtWrPtr; - wire [DEPTH_PTR - 1:0] RdPtr; - wire [DEPTH_PTR - 1:0] NxtRdPtr; - wire WrPtrEn; - wire RdPtrEn; - wire RspPtrEn; - wire [1:0] dma_dbg_sz; - wire [1:0] dma_dbg_addr; - wire [31:0] dma_dbg_mem_rddata; - wire [31:0] dma_dbg_mem_wrdata; - wire dma_dbg_cmd_error; - wire dma_dbg_cmd_done_q; - wire fifo_full; - wire fifo_full_spec; - wire fifo_empty; - wire dma_address_error; - wire dma_alignment_error; - reg [3:0] num_fifo_vld; - wire dma_mem_req; - wire [31:0] dma_mem_addr_int; - wire [2:0] dma_mem_sz_int; - wire [7:0] dma_mem_byteen; - wire dma_mem_addr_in_dccm; - wire dma_mem_addr_in_iccm; - wire dma_mem_addr_in_pic; - wire dma_mem_addr_in_pic_region_nc; - wire dma_mem_addr_in_dccm_region_nc; - wire dma_mem_addr_in_iccm_region_nc; - wire [2:0] dma_nack_count; - wire [2:0] dma_nack_count_d; - wire [2:0] dma_nack_count_csr; - wire dma_buffer_c1_clken; - wire dma_free_clken; - wire dma_buffer_c1_clk; - wire dma_free_clk; - wire dma_bus_clk; - wire bus_rsp_valid; - wire bus_rsp_sent; - wire bus_cmd_valid; - wire bus_cmd_sent; - wire bus_cmd_write; - wire bus_cmd_posted_write; - wire [7:0] bus_cmd_byteen; - wire [2:0] bus_cmd_sz; - wire [31:0] bus_cmd_addr; - wire [63:0] bus_cmd_wdata; - wire [pt[1235-:8] - 1:0] bus_cmd_tag; - wire [pt[1250-:9] - 1:0] bus_cmd_mid; - wire [pt[1241-:6] - 1:0] bus_cmd_prty; - wire bus_posted_write_done; - wire fifo_full_spec_bus; - wire dbg_dma_bubble_bus; - wire stall_dma_in; - wire dma_fifo_ready; - wire wrbuf_en; - wire wrbuf_data_en; - wire wrbuf_cmd_sent; - wire wrbuf_rst; - wire wrbuf_data_rst; - wire wrbuf_vld; - wire wrbuf_data_vld; - wire [pt[1235-:8] - 1:0] wrbuf_tag; - wire [2:0] wrbuf_sz; - wire [31:0] wrbuf_addr; - wire [63:0] wrbuf_data; - wire [7:0] wrbuf_byteen; - wire rdbuf_en; - wire rdbuf_cmd_sent; - wire rdbuf_rst; - wire rdbuf_vld; - wire [pt[1235-:8] - 1:0] rdbuf_tag; - wire [2:0] rdbuf_sz; - wire [31:0] rdbuf_addr; - wire axi_mstr_prty_in; - wire axi_mstr_prty_en; - wire axi_mstr_priority; - wire axi_mstr_sel; - wire axi_rsp_valid; - wire axi_rsp_sent; - wire axi_rsp_write; - wire [pt[1235-:8] - 1:0] axi_rsp_tag; - wire [1:0] axi_rsp_error; - wire [63:0] axi_rsp_rdata; - assign fifo_addr_in[31:0] = (dbg_cmd_valid ? dbg_cmd_addr[31:0] : bus_cmd_addr[31:0]); - assign fifo_byteen_in[7:0] = {8 {~dbg_cmd_valid}} & bus_cmd_byteen[7:0]; - assign fifo_sz_in[2:0] = (dbg_cmd_valid ? {1'b0, dbg_cmd_size[1:0]} : bus_cmd_sz[2:0]); - assign fifo_write_in = (dbg_cmd_valid ? dbg_cmd_write : bus_cmd_write); - assign fifo_posted_write_in = ~dbg_cmd_valid & bus_cmd_posted_write; - assign fifo_dbg_in = dbg_cmd_valid; - generate - genvar i; - for (i = 0; i < DEPTH; i = i + 1) begin : GenFifo - assign fifo_cmd_en[i] = ((bus_cmd_sent & dma_bus_clk_en) | (dbg_cmd_valid & dbg_cmd_type[1])) & (i == WrPtr[DEPTH_PTR - 1:0]); - function automatic [DEPTH_PTR - 1:0] sv2v_cast_87E0F; - input reg [DEPTH_PTR - 1:0] inp; - sv2v_cast_87E0F = inp; - endfunction - assign fifo_data_en[i] = ((((((bus_cmd_sent & fifo_write_in) & dma_bus_clk_en) | ((dbg_cmd_valid & dbg_cmd_type[1]) & dbg_cmd_write)) & (i == WrPtr[DEPTH_PTR - 1:0])) | ((dma_address_error | dma_alignment_error) & (i == RdPtr[DEPTH_PTR - 1:0]))) | (dccm_dma_rvalid & (i == sv2v_cast_87E0F(dccm_dma_rtag[2:0])))) | (iccm_dma_rvalid & (i == sv2v_cast_87E0F(iccm_dma_rtag[2:0]))); - assign fifo_pend_en[i] = ((dma_dccm_req | dma_iccm_req) & ~dma_mem_write) & (i == RdPtr[DEPTH_PTR - 1:0]); - assign fifo_error_en[i] = ((((dma_address_error | dma_alignment_error) | dma_dbg_cmd_error) & (i == RdPtr[DEPTH_PTR - 1:0])) | ((dccm_dma_rvalid & dccm_dma_ecc_error) & (i == sv2v_cast_87E0F(dccm_dma_rtag[2:0])))) | ((iccm_dma_rvalid & iccm_dma_ecc_error) & (i == sv2v_cast_87E0F(iccm_dma_rtag[2:0]))); - assign fifo_error_bus_en[i] = ((|fifo_error_in[(i * 2) + 1-:2] & fifo_error_en[i]) | |fifo_error[i * 2+:2]) & dma_bus_clk_en; - assign fifo_done_en[i] = ((((|fifo_error[i * 2+:2] | fifo_error_en[i]) | ((dma_dccm_req | dma_iccm_req) & dma_mem_write)) & (i == RdPtr[DEPTH_PTR - 1:0])) | (dccm_dma_rvalid & (i == sv2v_cast_87E0F(dccm_dma_rtag[2:0])))) | (iccm_dma_rvalid & (i == sv2v_cast_87E0F(iccm_dma_rtag[2:0]))); - assign fifo_done_bus_en[i] = (fifo_done_en[i] | fifo_done[i]) & dma_bus_clk_en; - assign fifo_reset[i] = (((bus_rsp_sent | bus_posted_write_done) & dma_bus_clk_en) | dma_dbg_cmd_done) & (i == RspPtr[DEPTH_PTR - 1:0]); - assign fifo_error_in[i * 2+:2] = (dccm_dma_rvalid & (i == sv2v_cast_87E0F(dccm_dma_rtag[2:0])) ? {1'b0, dccm_dma_ecc_error} : (iccm_dma_rvalid & (i == sv2v_cast_87E0F(iccm_dma_rtag[2:0])) ? {1'b0, iccm_dma_ecc_error} : {(dma_address_error | dma_alignment_error) | dma_dbg_cmd_error, dma_alignment_error})); - assign fifo_data_in[i * 64+:64] = (fifo_error_en[i] & |fifo_error_in[i * 2+:2] ? {32'b00000000000000000000000000000000, fifo_addr[i * 32+:32]} : (dccm_dma_rvalid & (i == sv2v_cast_87E0F(dccm_dma_rtag[2:0])) ? dccm_dma_rdata[63:0] : (iccm_dma_rvalid & (i == sv2v_cast_87E0F(iccm_dma_rtag[2:0])) ? iccm_dma_rdata[63:0] : (dbg_cmd_valid ? {2 {dma_dbg_mem_wrdata[31:0]}} : bus_cmd_wdata[63:0])))); - rvdffsc #(.WIDTH(1)) fifo_valid_dff( - .din(1'b1), - .dout(fifo_valid[i]), - .en(fifo_cmd_en[i]), - .clear(fifo_reset[i]), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(2)) fifo_error_dff( - .din(fifo_error_in[i * 2+:2]), - .dout(fifo_error[i * 2+:2]), - .en(fifo_error_en[i]), - .clear(fifo_reset[i]), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(1)) fifo_error_bus_dff( - .din(1'b1), - .dout(fifo_error_bus[i]), - .en(fifo_error_bus_en[i]), - .clear(fifo_reset[i]), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(1)) fifo_rpend_dff( - .din(1'b1), - .dout(fifo_rpend[i]), - .en(fifo_pend_en[i]), - .clear(fifo_reset[i]), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(1)) fifo_done_dff( - .din(1'b1), - .dout(fifo_done[i]), - .en(fifo_done_en[i]), - .clear(fifo_reset[i]), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(1)) fifo_done_bus_dff( - .din(1'b1), - .dout(fifo_done_bus[i]), - .en(fifo_done_bus_en[i]), - .clear(fifo_reset[i]), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) fifo_addr_dff( - .din(fifo_addr_in[31:0]), - .dout(fifo_addr[i * 32+:32]), - .en(fifo_cmd_en[i]), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs #(.WIDTH(3)) fifo_sz_dff( - .din(fifo_sz_in[2:0]), - .dout(fifo_sz[i * 3+:3]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(8)) fifo_byteen_dff( - .din(fifo_byteen_in[7:0]), - .dout(fifo_byteen[i * 8+:8]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) fifo_write_dff( - .din(fifo_write_in), - .dout(fifo_write[i]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) fifo_posted_write_dff( - .din(fifo_posted_write_in), - .dout(fifo_posted_write[i]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) fifo_dbg_dff( - .din(fifo_dbg_in), - .dout(fifo_dbg[i]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(64)) fifo_data_dff( - .din(fifo_data_in[i * 64+:64]), - .dout(fifo_data[i * 64+:64]), - .en(fifo_data_en[i]), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs #(.WIDTH(pt[1235-:8])) fifo_tag_dff( - .din(bus_cmd_tag[pt[1235-:8] - 1:0]), - .dout(fifo_tag[(i * pt[1235-:8]) + (pt[1235-:8] - 1)-:pt[1235-:8]]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(pt[1250-:9])) fifo_mid_dff( - .din(bus_cmd_mid[pt[1250-:9] - 1:0]), - .dout(fifo_mid[(i * pt[1250-:9]) + (pt[1250-:9] - 1)-:pt[1250-:9]]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(pt[1241-:6])) fifo_prty_dff( - .din(bus_cmd_prty[pt[1241-:6] - 1:0]), - .dout(fifo_prty[(i * pt[1241-:6]) + (pt[1241-:6] - 1)-:pt[1241-:6]]), - .en(fifo_cmd_en[i]), - .clk(dma_buffer_c1_clk), - .rst_l(rst_l) - ); - end - endgenerate - assign NxtWrPtr[DEPTH_PTR - 1:0] = (WrPtr[DEPTH_PTR - 1:0] == (DEPTH - 1) ? {DEPTH_PTR {1'sb0}} : WrPtr[DEPTH_PTR - 1:0] + 1'b1); - assign NxtRdPtr[DEPTH_PTR - 1:0] = (RdPtr[DEPTH_PTR - 1:0] == (DEPTH - 1) ? {DEPTH_PTR {1'sb0}} : RdPtr[DEPTH_PTR - 1:0] + 1'b1); - assign NxtRspPtr[DEPTH_PTR - 1:0] = (RspPtr[DEPTH_PTR - 1:0] == (DEPTH - 1) ? {DEPTH_PTR {1'sb0}} : RspPtr[DEPTH_PTR - 1:0] + 1'b1); - assign WrPtrEn = |fifo_cmd_en[DEPTH - 1:0]; - assign RdPtrEn = (dma_dccm_req | dma_iccm_req) | ((dma_address_error | dma_alignment_error) | dma_dbg_cmd_error); - assign RspPtrEn = dma_dbg_cmd_done | ((bus_rsp_sent | bus_posted_write_done) & dma_bus_clk_en); - rvdffs #(.WIDTH(DEPTH_PTR)) WrPtr_dff( - .din(NxtWrPtr[DEPTH_PTR - 1:0]), - .dout(WrPtr[DEPTH_PTR - 1:0]), - .en(WrPtrEn), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_PTR)) RdPtr_dff( - .din(NxtRdPtr[DEPTH_PTR - 1:0]), - .dout(RdPtr[DEPTH_PTR - 1:0]), - .en(RdPtrEn), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_PTR)) RspPtr_dff( - .din(NxtRspPtr[DEPTH_PTR - 1:0]), - .dout(RspPtr[DEPTH_PTR - 1:0]), - .en(RspPtrEn), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - assign fifo_full = fifo_full_spec_bus; - always @(*) begin - num_fifo_vld[3:0] = {3'b000, bus_cmd_sent} - {3'b000, bus_rsp_sent}; - begin : sv2v_autoblock_41 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - num_fifo_vld[3:0] = num_fifo_vld[3:0] + {3'b000, fifo_valid[i]}; - end - end - assign fifo_full_spec = num_fifo_vld[3:0] >= DEPTH; - assign dma_fifo_ready = ~(fifo_full | dbg_dma_bubble_bus); - assign dma_address_error = ((fifo_valid[RdPtr] & ~fifo_done[RdPtr]) & ~fifo_dbg[RdPtr]) & ~(dma_mem_addr_in_dccm | dma_mem_addr_in_iccm); - assign dma_alignment_error = (((fifo_valid[RdPtr] & ~fifo_done[RdPtr]) & ~fifo_dbg[RdPtr]) & ~dma_address_error) & ((((((((dma_mem_sz_int[2:0] == 3'h1) & dma_mem_addr_int[0]) | ((dma_mem_sz_int[2:0] == 3'h2) & |dma_mem_addr_int[1:0])) | ((dma_mem_sz_int[2:0] == 3'h3) & |dma_mem_addr_int[2:0])) | (dma_mem_addr_in_iccm & ~((dma_mem_sz_int[1:0] == 2'b10) | (dma_mem_sz_int[1:0] == 2'b11)))) | ((dma_mem_addr_in_dccm & dma_mem_write) & ~((dma_mem_sz_int[1:0] == 2'b10) | (dma_mem_sz_int[1:0] == 2'b11)))) | ((dma_mem_write & (dma_mem_sz_int[2:0] == 3'h2)) & (dma_mem_byteen[dma_mem_addr_int[2:0]+:4] != 4'hf))) | ((dma_mem_write & (dma_mem_sz_int[2:0] == 3'h3)) & ~(((dma_mem_byteen[7:0] == 8'h0f) | (dma_mem_byteen[7:0] == 8'hf0)) | (dma_mem_byteen[7:0] == 8'hff)))); - assign dma_dbg_ready = fifo_empty & dbg_dma_bubble; - assign dma_dbg_cmd_done = (fifo_valid[RspPtr] & fifo_dbg[RspPtr]) & fifo_done[RspPtr]; - assign dma_dbg_cmd_fail = |fifo_error[RspPtr * 2+:2]; - assign dma_dbg_sz[1:0] = fifo_sz[(RspPtr * 3) + 1-:2]; - assign dma_dbg_addr[1:0] = fifo_addr[(RspPtr * 32) + 1-:2]; - assign dma_dbg_mem_rddata[31:0] = (fifo_addr[(RspPtr * 32) + 2] ? fifo_data[(RspPtr * 64) + 63-:32] : fifo_data[(RspPtr * 64) + 31-:32]); - assign dma_dbg_rddata[31:0] = (({32 {dma_dbg_sz[1:0] == 2'h0}} & ((dma_dbg_mem_rddata[31:0] >> (8 * dma_dbg_addr[1:0])) & 32'h000000ff)) | ({32 {dma_dbg_sz[1:0] == 2'h1}} & ((dma_dbg_mem_rddata[31:0] >> (16 * dma_dbg_addr[1])) & 32'h0000ffff))) | ({32 {dma_dbg_sz[1:0] == 2'h2}} & dma_dbg_mem_rddata[31:0]); - assign dma_dbg_cmd_error = ((fifo_valid[RdPtr] & ~fifo_done[RdPtr]) & fifo_dbg[RdPtr]) & (~((dma_mem_addr_in_dccm | dma_mem_addr_in_iccm) | dma_mem_addr_in_pic) | ((dma_mem_addr_in_iccm | dma_mem_addr_in_pic) & (dma_mem_sz_int[1:0] != 2'b10))); - assign dma_dbg_mem_wrdata[31:0] = (({32 {dbg_cmd_size[1:0] == 2'h0}} & {4 {dbg_cmd_wrdata[7:0]}}) | ({32 {dbg_cmd_size[1:0] == 2'h1}} & {2 {dbg_cmd_wrdata[15:0]}})) | ({32 {dbg_cmd_size[1:0] == 2'h2}} & dbg_cmd_wrdata[31:0]); - assign dma_dccm_stall_any = (dma_mem_req & (dma_mem_addr_in_dccm | dma_mem_addr_in_pic)) & (dma_nack_count >= dma_nack_count_csr); - assign dma_iccm_stall_any = (dma_mem_req & dma_mem_addr_in_iccm) & (dma_nack_count >= dma_nack_count_csr); - assign fifo_empty = ~(|fifo_valid[DEPTH - 1:0] | bus_cmd_sent); - assign dma_nack_count_csr[2:0] = dec_tlu_dma_qos_prty[2:0]; - assign dma_nack_count_d[2:0] = (dma_nack_count[2:0] >= dma_nack_count_csr[2:0] ? {3 {~(dma_dccm_req | dma_iccm_req)}} & dma_nack_count[2:0] : (dma_mem_req & ~(dma_dccm_req | dma_iccm_req) ? dma_nack_count[2:0] + 1'b1 : 3'b000)); - rvdffs #(.WIDTH(3)) nack_count_dff( - .din(dma_nack_count_d[2:0]), - .dout(dma_nack_count[2:0]), - .en(dma_mem_req), - .clk(dma_free_clk), - .rst_l(rst_l) - ); - assign dma_mem_req = ((fifo_valid[RdPtr] & ~fifo_rpend[RdPtr]) & ~fifo_done[RdPtr]) & ~((dma_address_error | dma_alignment_error) | dma_dbg_cmd_error); - assign dma_dccm_req = (dma_mem_req & (dma_mem_addr_in_dccm | dma_mem_addr_in_pic)) & dccm_ready; - assign dma_iccm_req = (dma_mem_req & dma_mem_addr_in_iccm) & iccm_ready; - function automatic [2:0] sv2v_cast_3; - input reg [2:0] inp; - sv2v_cast_3 = inp; - endfunction - assign dma_mem_tag[2:0] = sv2v_cast_3(RdPtr); - assign dma_mem_addr_int[31:0] = fifo_addr[RdPtr * 32+:32]; - assign dma_mem_sz_int[2:0] = fifo_sz[RdPtr * 3+:3]; - assign dma_mem_addr[31:0] = ((dma_mem_write & ~fifo_dbg[RdPtr]) & (dma_mem_byteen[7:0] == 8'hf0) ? {dma_mem_addr_int[31:3], 1'b1, dma_mem_addr_int[1:0]} : dma_mem_addr_int[31:0]); - assign dma_mem_sz[2:0] = ((dma_mem_write & ~fifo_dbg[RdPtr]) & ((dma_mem_byteen[7:0] == 8'h0f) | (dma_mem_byteen[7:0] == 8'hf0)) ? 3'h2 : dma_mem_sz_int[2:0]); - assign dma_mem_byteen[7:0] = fifo_byteen[RdPtr * 8+:8]; - assign dma_mem_write = fifo_write[RdPtr]; - assign dma_mem_wdata[63:0] = fifo_data[RdPtr * 64+:64]; - assign dma_pmu_dccm_read = dma_dccm_req & ~dma_mem_write; - assign dma_pmu_dccm_write = dma_dccm_req & dma_mem_write; - assign dma_pmu_any_read = (dma_dccm_req | dma_iccm_req) & ~dma_mem_write; - assign dma_pmu_any_write = (dma_dccm_req | dma_iccm_req) & dma_mem_write; - generate - if (pt[1365-:5]) begin : Gen_dccm_enable - rvrangecheck #( - .CCM_SADR(pt[1325-:36]), - .CCM_SIZE(pt[1289-:14]) - ) addr_dccm_rangecheck( - .addr(dma_mem_addr_int[31:0]), - .in_range(dma_mem_addr_in_dccm), - .in_region(dma_mem_addr_in_dccm_region_nc) - ); - end - else begin : Gen_dccm_disable - assign dma_mem_addr_in_dccm = 1'b0; - assign dma_mem_addr_in_dccm_region_nc = 1'b0; - end - endgenerate - generate - if (pt[927-:5]) begin : Gen_iccm_enable - rvrangecheck #( - .CCM_SADR(pt[887-:36]), - .CCM_SIZE(pt[851-:14]) - ) addr_iccm_rangecheck( - .addr(dma_mem_addr_int[31:0]), - .in_range(dma_mem_addr_in_iccm), - .in_region(dma_mem_addr_in_iccm_region_nc) - ); - end - else begin : Gen_iccm_disable - assign dma_mem_addr_in_iccm = 1'b0; - assign dma_mem_addr_in_iccm_region_nc = 1'b0; - end - endgenerate - rvrangecheck #( - .CCM_SADR(pt[130-:36]), - .CCM_SIZE(pt[69-:13]) - ) addr_pic_rangecheck( - .addr(dma_mem_addr_int[31:0]), - .in_range(dma_mem_addr_in_pic), - .in_region(dma_mem_addr_in_pic_region_nc) - ); - rvdff_fpga #(.WIDTH(1)) fifo_full_bus_ff( - .din(fifo_full_spec), - .dout(fifo_full_spec_bus), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) dbg_dma_bubble_ff( - .din(dbg_dma_bubble), - .dout(dbg_dma_bubble_bus), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) dma_dbg_cmd_doneff( - .din(dma_dbg_cmd_done), - .dout(dma_dbg_cmd_done_q), - .clk(free_clk), - .rst_l(rst_l) - ); - assign dma_buffer_c1_clken = ((bus_cmd_valid & dma_bus_clk_en) | dbg_cmd_valid) | clk_override; - assign dma_free_clken = (((((bus_cmd_valid | bus_rsp_valid) | dbg_cmd_valid) | dma_dbg_cmd_done) | dma_dbg_cmd_done_q) | |fifo_valid[DEPTH - 1:0]) | clk_override; - rvoclkhdr dma_buffer_c1cgc( - .en(dma_buffer_c1_clken), - .l1clk(dma_buffer_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr dma_free_cgc( - .en(dma_free_clken), - .l1clk(dma_free_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr dma_bus_cgc( - .en(dma_bus_clk_en), - .l1clk(dma_bus_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - assign wrbuf_en = dma_axi_awvalid & dma_axi_awready; - assign wrbuf_data_en = dma_axi_wvalid & dma_axi_wready; - assign wrbuf_cmd_sent = bus_cmd_sent & bus_cmd_write; - assign wrbuf_rst = wrbuf_cmd_sent & ~wrbuf_en; - assign wrbuf_data_rst = wrbuf_cmd_sent & ~wrbuf_data_en; - rvdffsc_fpga #(.WIDTH(1)) wrbuf_vldff( - .din(1'b1), - .dout(wrbuf_vld), - .en(wrbuf_en), - .clear(wrbuf_rst), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffsc_fpga #(.WIDTH(1)) wrbuf_data_vldff( - .din(1'b1), - .dout(wrbuf_data_vld), - .en(wrbuf_data_en), - .clear(wrbuf_data_rst), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(pt[1235-:8])) wrbuf_tagff( - .din(dma_axi_awid[pt[1235-:8] - 1:0]), - .dout(wrbuf_tag[pt[1235-:8] - 1:0]), - .en(wrbuf_en), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(3)) wrbuf_szff( - .din(dma_axi_awsize[2:0]), - .dout(wrbuf_sz[2:0]), - .en(wrbuf_en), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) wrbuf_addrff( - .din(dma_axi_awaddr[31:0]), - .dout(wrbuf_addr[31:0]), - .en(wrbuf_en & dma_bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffe #(.WIDTH(64)) wrbuf_dataff( - .din(dma_axi_wdata[63:0]), - .dout(wrbuf_data[63:0]), - .en(wrbuf_data_en & dma_bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs_fpga #(.WIDTH(8)) wrbuf_byteenff( - .din(dma_axi_wstrb[7:0]), - .dout(wrbuf_byteen[7:0]), - .en(wrbuf_data_en), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - assign rdbuf_en = dma_axi_arvalid & dma_axi_arready; - assign rdbuf_cmd_sent = bus_cmd_sent & ~bus_cmd_write; - assign rdbuf_rst = rdbuf_cmd_sent & ~rdbuf_en; - rvdffsc_fpga #(.WIDTH(1)) rdbuf_vldff( - .din(1'b1), - .dout(rdbuf_vld), - .en(rdbuf_en), - .clear(rdbuf_rst), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(pt[1235-:8])) rdbuf_tagff( - .din(dma_axi_arid[pt[1235-:8] - 1:0]), - .dout(rdbuf_tag[pt[1235-:8] - 1:0]), - .en(rdbuf_en), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(3)) rdbuf_szff( - .din(dma_axi_arsize[2:0]), - .dout(rdbuf_sz[2:0]), - .en(rdbuf_en), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) rdbuf_addrff( - .din(dma_axi_araddr[31:0]), - .dout(rdbuf_addr[31:0]), - .en(rdbuf_en & dma_bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - assign dma_axi_awready = ~(wrbuf_vld & ~wrbuf_cmd_sent); - assign dma_axi_wready = ~(wrbuf_data_vld & ~wrbuf_cmd_sent); - assign dma_axi_arready = ~(rdbuf_vld & ~rdbuf_cmd_sent); - assign bus_cmd_valid = (wrbuf_vld & wrbuf_data_vld) | rdbuf_vld; - assign bus_cmd_sent = bus_cmd_valid & dma_fifo_ready; - assign bus_cmd_write = axi_mstr_sel; - assign bus_cmd_posted_write = 1'b0; - assign bus_cmd_addr[31:0] = (axi_mstr_sel ? wrbuf_addr[31:0] : rdbuf_addr[31:0]); - assign bus_cmd_sz[2:0] = (axi_mstr_sel ? wrbuf_sz[2:0] : rdbuf_sz[2:0]); - assign bus_cmd_wdata[63:0] = wrbuf_data[63:0]; - assign bus_cmd_byteen[7:0] = wrbuf_byteen[7:0]; - assign bus_cmd_tag[pt[1235-:8] - 1:0] = (axi_mstr_sel ? wrbuf_tag[pt[1235-:8] - 1:0] : rdbuf_tag[pt[1235-:8] - 1:0]); - assign bus_cmd_mid[pt[1250-:9] - 1:0] = {pt[1250-:9] {1'sb0}}; - assign bus_cmd_prty[pt[1241-:6] - 1:0] = {pt[1241-:6] {1'sb0}}; - assign axi_mstr_sel = ((wrbuf_vld & wrbuf_data_vld) & rdbuf_vld ? axi_mstr_priority : wrbuf_vld & wrbuf_data_vld); - assign axi_mstr_prty_in = ~axi_mstr_priority; - assign axi_mstr_prty_en = bus_cmd_sent; - rvdffs_fpga #(.WIDTH(1)) mstr_prtyff( - .din(axi_mstr_prty_in), - .dout(axi_mstr_priority), - .en(axi_mstr_prty_en), - .clk(dma_bus_clk), - .clken(dma_bus_clk_en), - .rawclk(clk), - .rst_l(rst_l) - ); - assign axi_rsp_valid = (fifo_valid[RspPtr] & ~fifo_dbg[RspPtr]) & fifo_done_bus[RspPtr]; - assign axi_rsp_rdata[63:0] = fifo_data[RspPtr * 64+:64]; - assign axi_rsp_write = fifo_write[RspPtr]; - assign axi_rsp_error[1:0] = (fifo_error[RspPtr * 2] ? 2'b10 : (fifo_error[(RspPtr * 2) + 1] ? 2'b11 : 2'b00)); - assign axi_rsp_tag[pt[1235-:8] - 1:0] = fifo_tag[RspPtr * pt[1235-:8]+:pt[1235-:8]]; - assign dma_axi_bvalid = axi_rsp_valid & axi_rsp_write; - assign dma_axi_bresp[1:0] = axi_rsp_error[1:0]; - assign dma_axi_bid[pt[1235-:8] - 1:0] = axi_rsp_tag[pt[1235-:8] - 1:0]; - assign dma_axi_rvalid = axi_rsp_valid & ~axi_rsp_write; - assign dma_axi_rresp[1:0] = axi_rsp_error; - assign dma_axi_rdata[63:0] = axi_rsp_rdata[63:0]; - assign dma_axi_rlast = 1'b1; - assign dma_axi_rid[pt[1235-:8] - 1:0] = axi_rsp_tag[pt[1235-:8] - 1:0]; - assign bus_posted_write_done = 1'b0; - assign bus_rsp_valid = dma_axi_bvalid | dma_axi_rvalid; - assign bus_rsp_sent = (dma_axi_bvalid & dma_axi_bready) | (dma_axi_rvalid & dma_axi_rready); - assign dma_active = (wrbuf_vld | rdbuf_vld) | |fifo_valid[DEPTH - 1:0]; -endmodule -module eb1_exu_alu_ctl ( - clk, - rst_l, - scan_mode, - flush_upper_x, - flush_lower_r, - enable, - valid_in, - ap, - csr_ren_in, - csr_rddata_in, - a_in, - b_in, - pc_in, - pp_in, - brimm_in, - result_ff, - flush_upper_out, - flush_final_out, - flush_path_out, - pc_ff, - pred_correct_out, - predict_p_out -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire flush_upper_x; - input wire flush_lower_r; - input wire enable; - input wire valid_in; - input wire [43:0] ap; - input wire csr_ren_in; - input wire [31:0] csr_rddata_in; - input wire signed [31:0] a_in; - input wire [31:0] b_in; - input wire [31:1] pc_in; - input wire [55:0] pp_in; - input wire [12:1] brimm_in; - output wire [31:0] result_ff; - output wire flush_upper_out; - output wire flush_final_out; - output wire [31:1] flush_path_out; - output wire [31:1] pc_ff; - output wire pred_correct_out; - output reg [55:0] predict_p_out; - wire [31:0] zba_a_in; - wire [31:0] aout; - wire cout; - wire ov; - wire neg; - wire [31:0] lout; - wire [31:0] sout; - wire sel_shift; - wire sel_adder; - wire slt_one; - wire actual_taken; - wire [31:1] pcout; - wire cond_mispredict; - wire target_mispredict; - wire eq; - wire ne; - wire lt; - wire ge; - wire any_jal; - wire [1:0] newhist; - wire sel_pc; - wire [31:0] csr_write_data; - wire [31:0] result; - wire ap_clz; - wire ap_ctz; - wire ap_pcnt; - wire ap_sext_b; - wire ap_sext_h; - wire ap_min; - wire ap_max; - wire ap_pack; - wire ap_packu; - wire ap_packh; - wire ap_rol; - wire ap_ror; - wire ap_rev; - wire ap_rev8; - wire ap_orc_b; - wire ap_orc16; - wire ap_zbb; - wire ap_sbset; - wire ap_sbclr; - wire ap_sbinv; - wire ap_sbext; - wire ap_slo; - wire ap_sro; - wire ap_sh1add; - wire ap_sh2add; - wire ap_sh3add; - wire ap_zba; - generate - if (pt[2207-:5] == 1) begin - assign ap_clz = ap[43]; - assign ap_ctz = ap[42]; - assign ap_pcnt = ap[41]; - assign ap_sext_b = ap[40]; - assign ap_sext_h = ap[39]; - assign ap_min = ap[36]; - assign ap_max = ap[35]; - end - else begin - assign ap_clz = 1'b0; - assign ap_ctz = 1'b0; - assign ap_pcnt = 1'b0; - assign ap_sext_b = 1'b0; - assign ap_sext_h = 1'b0; - assign ap_min = 1'b0; - assign ap_max = 1'b0; - end - endgenerate - generate - if ((pt[2207-:5] == 1) | (pt[2187-:5] == 1)) begin - assign ap_pack = ap[34]; - assign ap_packu = ap[33]; - assign ap_packh = ap[32]; - assign ap_rol = ap[31]; - assign ap_ror = ap[30]; - assign ap_rev = ap[29] & (b_in[4:0] == 5'b11111); - assign ap_rev8 = ap[29] & (b_in[4:0] == 5'b11000); - assign ap_orc_b = ap[28] & (b_in[4:0] == 5'b00111); - assign ap_orc16 = ap[28] & (b_in[4:0] == 5'b10000); - assign ap_zbb = ap[27]; - end - else begin - assign ap_pack = 1'b0; - assign ap_packu = 1'b0; - assign ap_packh = 1'b0; - assign ap_rol = 1'b0; - assign ap_ror = 1'b0; - assign ap_rev = 1'b0; - assign ap_rev8 = 1'b0; - assign ap_orc_b = 1'b0; - assign ap_orc16 = 1'b0; - assign ap_zbb = 1'b0; - end - endgenerate - generate - if (pt[2177-:5] == 1) begin - assign ap_sbset = ap[26]; - assign ap_sbclr = ap[25]; - assign ap_sbinv = ap[24]; - assign ap_sbext = ap[23]; - end - else begin - assign ap_sbset = 1'b0; - assign ap_sbclr = 1'b0; - assign ap_sbinv = 1'b0; - assign ap_sbext = 1'b0; - end - endgenerate - generate - if (pt[2187-:5] == 1) begin - assign ap_slo = ap[38]; - assign ap_sro = ap[37]; - end - else begin - assign ap_slo = 1'b0; - assign ap_sro = 1'b0; - end - endgenerate - generate - if (pt[2212-:5] == 1) begin - assign ap_sh1add = ap[22]; - assign ap_sh2add = ap[21]; - assign ap_sh3add = ap[20]; - assign ap_zba = ap[19]; - end - else begin - assign ap_sh1add = 1'b0; - assign ap_sh2add = 1'b0; - assign ap_sh3add = 1'b0; - assign ap_zba = 1'b0; - end - endgenerate - rvdffpcie #(.WIDTH(31)) i_pc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(enable), - .din(pc_in[31:1]), - .dout(pc_ff[31:1]) - ); - rvdffe #(.WIDTH(32)) i_result_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(enable & valid_in), - .din(result[31:0]), - .dout(result_ff[31:0]) - ); - assign zba_a_in[31:0] = ((({32 {ap_sh1add}} & {a_in[30:0], 1'b0}) | ({32 {ap_sh2add}} & {a_in[29:0], 2'b00})) | ({32 {ap_sh3add}} & {a_in[28:0], 3'b000})) | ({32 {~ap_zba}} & a_in[31:0]); - wire [31:0] bm; - assign bm[31:0] = (ap[7] ? ~b_in[31:0] : b_in[31:0]); - assign {cout, aout[31:0]} = ({1'b0, zba_a_in[31:0]} + {1'b0, bm[31:0]}) + {32'b00000000000000000000000000000000, ap[7]}; - assign ov = ((~a_in[31] & ~bm[31]) & aout[31]) | ((a_in[31] & bm[31]) & ~aout[31]); - assign lt = (~ap[5] & (neg ^ ov)) | (ap[5] & ~cout); - assign eq = a_in[31:0] == b_in[31:0]; - assign ne = ~eq; - assign neg = aout[31]; - assign ge = ~lt; - assign lout[31:0] = (((((({32 {csr_ren_in}} & csr_rddata_in[31:0]) | (({32 {ap[18] & ~ap_zbb}} & a_in[31:0]) & b_in[31:0])) | ({32 {ap[17] & ~ap_zbb}} & (a_in[31:0] | b_in[31:0]))) | ({32 {ap[16] & ~ap_zbb}} & (a_in[31:0] ^ b_in[31:0]))) | (({32 {ap[18] & ap_zbb}} & a_in[31:0]) & ~b_in[31:0])) | ({32 {ap[17] & ap_zbb}} & (a_in[31:0] | ~b_in[31:0]))) | ({32 {ap[16] & ap_zbb}} & (a_in[31:0] ^ ~b_in[31:0])); - wire [5:0] shift_amount; - wire [31:0] shift_mask; - wire [62:0] shift_extend; - wire [62:0] shift_long; - assign shift_amount[5:0] = ((((((({6 {ap[15]}} & (6'd32 - {1'b0, b_in[4:0]})) | ({6 {ap[14]}} & {1'b0, b_in[4:0]})) | ({6 {ap[13]}} & {1'b0, b_in[4:0]})) | ({6 {ap_rol}} & (6'd32 - {1'b0, b_in[4:0]}))) | ({6 {ap_ror}} & {1'b0, b_in[4:0]})) | ({6 {ap_slo}} & (6'd32 - {1'b0, b_in[4:0]}))) | ({6 {ap_sro}} & {1'b0, b_in[4:0]})) | ({6 {ap_sbext}} & {1'b0, b_in[4:0]}); - assign shift_mask[31:0] = 32'hffffffff << ({5 {ap[15] | ap_slo}} & b_in[4:0]); - assign shift_extend[31:0] = a_in[31:0]; - assign shift_extend[62:32] = ((((({31 {ap[13]}} & {31 {a_in[31]}}) | ({31 {ap[15]}} & a_in[30:0])) | ({31 {ap_rol}} & a_in[30:0])) | ({31 {ap_ror}} & a_in[30:0])) | ({31 {ap_slo}} & a_in[30:0])) | ({31 {ap_sro}} & {31 {1'b1}}); - assign shift_long[62:0] = shift_extend[62:0] >> shift_amount[4:0]; - assign sout[31:0] = (shift_long[31:0] & shift_mask[31:0]) | ({32 {ap_slo}} & ~shift_mask[31:0]); - wire bitmanip_clz_ctz_sel; - wire [31:0] bitmanip_a_reverse_ff; - wire [31:0] bitmanip_lzd_in; - reg [5:0] bitmanip_dw_lzd_enc; - wire [5:0] bitmanip_clz_ctz_result; - assign bitmanip_clz_ctz_sel = ap_clz | ap_ctz; - assign bitmanip_a_reverse_ff[31:0] = {a_in[0], a_in[1], a_in[2], a_in[3], a_in[4], a_in[5], a_in[6], a_in[7], a_in[8], a_in[9], a_in[10], a_in[11], a_in[12], a_in[13], a_in[14], a_in[15], a_in[16], a_in[17], a_in[18], a_in[19], a_in[20], a_in[21], a_in[22], a_in[23], a_in[24], a_in[25], a_in[26], a_in[27], a_in[28], a_in[29], a_in[30], a_in[31]}; - assign bitmanip_lzd_in[31:0] = ({32 {ap_clz}} & a_in[31:0]) | ({32 {ap_ctz}} & bitmanip_a_reverse_ff[31:0]); - reg [31:0] bitmanip_lzd_os; - integer i; - reg found; - always @(*) begin - bitmanip_lzd_os[31:0] = bitmanip_lzd_in[31:0]; - bitmanip_dw_lzd_enc[5:0] = 6'b000000; - found = 1'b0; - begin : sv2v_autoblock_42 - reg signed [31:0] i; - for (i = 0; (i < 32); i = i + 1) - if(found == 0) begin - if (bitmanip_lzd_os[31] == 1'b0) begin - bitmanip_dw_lzd_enc[5:0] = bitmanip_dw_lzd_enc[5:0] + 6'b000001; - bitmanip_lzd_os[31:0] = bitmanip_lzd_os[31:0] << 1; - end - else - found = 1'b1; - end - end - end - assign bitmanip_clz_ctz_result[5:0] = {6 {bitmanip_clz_ctz_sel}} & {bitmanip_dw_lzd_enc[5], {5 {~bitmanip_dw_lzd_enc[5]}} & bitmanip_dw_lzd_enc[4:0]}; - reg [5:0] bitmanip_pcnt; - wire [5:0] bitmanip_pcnt_result; - integer bitmanip_pcnt_i; - always @(*) begin - bitmanip_pcnt[5:0] = 6'b000000; - for (bitmanip_pcnt_i = 0; bitmanip_pcnt_i < 32; bitmanip_pcnt_i = bitmanip_pcnt_i + 1) - bitmanip_pcnt[5:0] = bitmanip_pcnt[5:0] + {5'b00000, a_in[bitmanip_pcnt_i]}; - end - assign bitmanip_pcnt_result[5:0] = {6 {ap_pcnt}} & bitmanip_pcnt[5:0]; - wire [31:0] bitmanip_sext_result; - assign bitmanip_sext_result[31:0] = ({32 {ap_sext_b}} & {{24 {a_in[7]}}, a_in[7:0]}) | ({32 {ap_sext_h}} & {{16 {a_in[15]}}, a_in[15:0]}); - wire bitmanip_minmax_sel; - wire [31:0] bitmanip_minmax_result; - assign bitmanip_minmax_sel = ap_min | ap_max; - wire bitmanip_minmax_sel_a; - assign bitmanip_minmax_sel_a = ge ^ ap_min; - assign bitmanip_minmax_result[31:0] = ({32 {bitmanip_minmax_sel & bitmanip_minmax_sel_a}} & a_in[31:0]) | ({32 {bitmanip_minmax_sel & ~bitmanip_minmax_sel_a}} & b_in[31:0]); - wire [31:0] bitmanip_pack_result; - wire [31:0] bitmanip_packu_result; - wire [31:0] bitmanip_packh_result; - assign bitmanip_pack_result[31:0] = {32 {ap_pack}} & {b_in[15:0], a_in[15:0]}; - assign bitmanip_packu_result[31:0] = {32 {ap_packu}} & {b_in[31:16], a_in[31:16]}; - assign bitmanip_packh_result[31:0] = {32 {ap_packh}} & {16'b0000000000000000, b_in[7:0], a_in[7:0]}; - wire [31:0] bitmanip_rev_result; - wire [31:0] bitmanip_rev8_result; - wire [31:0] bitmanip_orc_b_result; - wire [31:0] bitmanip_orc16_result; - assign bitmanip_rev_result[31:0] = {32 {ap_rev}} & {a_in[0], a_in[1], a_in[2], a_in[3], a_in[4], a_in[5], a_in[6], a_in[7], a_in[8], a_in[9], a_in[10], a_in[11], a_in[12], a_in[13], a_in[14], a_in[15], a_in[16], a_in[17], a_in[18], a_in[19], a_in[20], a_in[21], a_in[22], a_in[23], a_in[24], a_in[25], a_in[26], a_in[27], a_in[28], a_in[29], a_in[30], a_in[31]}; - assign bitmanip_rev8_result[31:0] = {32 {ap_rev8}} & {a_in[7:0], a_in[15:8], a_in[23:16], a_in[31:24]}; - assign bitmanip_orc_b_result[31:0] = {32 {ap_orc_b}} & {{8 {|a_in[31:24]}}, {8 {|a_in[23:16]}}, {8 {|a_in[15:8]}}, {8 {|a_in[7:0]}}}; - assign bitmanip_orc16_result[31:0] = {32 {ap_orc16}} & {{a_in[31:16] | a_in[15:0]}, {a_in[31:16] | a_in[15:0]}}; - wire [31:0] bitmanip_sb_1hot; - wire [31:0] bitmanip_sb_data; - assign bitmanip_sb_1hot[31:0] = 32'h00000001 << b_in[4:0]; - assign bitmanip_sb_data[31:0] = (({32 {ap_sbset}} & (a_in[31:0] | bitmanip_sb_1hot[31:0])) | ({32 {ap_sbclr}} & (a_in[31:0] & ~bitmanip_sb_1hot[31:0]))) | ({32 {ap_sbinv}} & (a_in[31:0] ^ bitmanip_sb_1hot[31:0])); - assign sel_shift = (((((ap[15] | ap[14]) | ap[13]) | ap_slo) | ap_sro) | ap_rol) | ap_ror; - assign sel_adder = ((((ap[8] | ap[7]) | ap_zba) & ~ap[6]) & ~ap_min) & ~ap_max; - assign sel_pc = ((ap[4] | pp_in[34]) | pp_in[33]) | pp_in[31]; - assign csr_write_data[31:0] = (ap[0] ? b_in[31:0] : a_in[31:0]); - assign slt_one = ap[6] & lt; - assign result[31:0] = (((((((((((((((((lout[31:0] | ({32 {sel_shift}} & sout[31:0])) | ({32 {sel_adder}} & aout[31:0])) | ({32 {sel_pc}} & {pcout[31:1], 1'b0})) | ({32 {ap[1]}} & csr_write_data[31:0])) | {31'b0000000000000000000000000000000, slt_one}) | ({32 {ap_sbext}} & {31'b0000000000000000000000000000000, sout[0]})) | {26'b00000000000000000000000000, bitmanip_clz_ctz_result[5:0]}) | {26'b00000000000000000000000000, bitmanip_pcnt_result[5:0]}) | bitmanip_sext_result[31:0]) | bitmanip_minmax_result[31:0]) | bitmanip_pack_result[31:0]) | bitmanip_packu_result[31:0]) | bitmanip_packh_result[31:0]) | bitmanip_rev_result[31:0]) | bitmanip_rev8_result[31:0]) | bitmanip_orc_b_result[31:0]) | bitmanip_orc16_result[31:0]) | bitmanip_sb_data[31:0]; - assign any_jal = ((ap[4] | pp_in[34]) | pp_in[33]) | pp_in[31]; - assign actual_taken = ((((ap[12] & eq) | (ap[11] & ne)) | (ap[10] & lt)) | (ap[9] & ge)) | any_jal; - rvbradder ibradder( - .pc(pc_in[31:1]), - .offset(brimm_in[12:1]), - .dout(pcout[31:1]) - ); - assign pred_correct_out = (((valid_in & ap[2]) & ~actual_taken) & ~any_jal) | (((valid_in & ap[3]) & actual_taken) & ~any_jal); - assign flush_path_out[31:1] = (any_jal ? aout[31:1] : pcout[31:1]); - assign cond_mispredict = (ap[3] & ~actual_taken) | (ap[2] & actual_taken); - assign target_mispredict = pp_in[31] & (pp_in[30:0] != aout[31:1]); - assign flush_upper_out = ((((ap[4] | cond_mispredict) | target_mispredict) & valid_in) & ~flush_upper_x) & ~flush_lower_r; - assign flush_final_out = ((((ap[4] | cond_mispredict) | target_mispredict) & valid_in) & ~flush_upper_x) | flush_lower_r; - assign newhist[1] = (pp_in[51] & pp_in[50]) | (~pp_in[50] & actual_taken); - assign newhist[0] = (~pp_in[51] & ~actual_taken) | (pp_in[51] & actual_taken); - always @(*) begin - predict_p_out = pp_in; - predict_p_out[55] = (~flush_upper_x & ~flush_lower_r) & (cond_mispredict | target_mispredict); - predict_p_out[54] = actual_taken; - predict_p_out[51] = newhist[1]; - predict_p_out[50] = newhist[0]; - end -endmodule -module eb1_exu_div_ctl ( - clk, - rst_l, - scan_mode, - dp, - dividend, - divisor, - cancel, - finish_dly, - out -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire [2:0] dp; - input wire [31:0] dividend; - input wire [31:0] divisor; - input wire cancel; - output wire finish_dly; - output wire [31:0] out; - wire [31:0] out_raw; - assign out[31:0] = {32 {finish_dly}} & out_raw[31:0]; - generate - if (pt[1262-:5] == 0) eb1_exu_div_existing_1bit_cheapshortq i_existing_1bit_div_cheapshortq( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .cancel(cancel), - .valid_in(dp[2]), - .signed_in(~dp[1]), - .rem_in(dp[0]), - .dividend_in(dividend[31:0]), - .divisor_in(divisor[31:0]), - .valid_out(finish_dly), - .data_out(out_raw[31:0]) - ); - endgenerate - generate - if ((pt[1262-:5] == 1) & (pt[1269-:7] == 1)) eb1_exu_div_new_1bit_fullshortq i_new_1bit_div_fullshortq( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .cancel(cancel), - .valid_in(dp[2]), - .signed_in(~dp[1]), - .rem_in(dp[0]), - .dividend_in(dividend[31:0]), - .divisor_in(divisor[31:0]), - .valid_out(finish_dly), - .data_out(out_raw[31:0]) - ); - endgenerate - generate - if ((pt[1262-:5] == 1) & (pt[1269-:7] == 2)) eb1_exu_div_new_2bit_fullshortq i_new_2bit_div_fullshortq( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .cancel(cancel), - .valid_in(dp[2]), - .signed_in(~dp[1]), - .rem_in(dp[0]), - .dividend_in(dividend[31:0]), - .divisor_in(divisor[31:0]), - .valid_out(finish_dly), - .data_out(out_raw[31:0]) - ); - endgenerate - generate - if ((pt[1262-:5] == 1) & (pt[1269-:7] == 3)) eb1_exu_div_new_3bit_fullshortq i_new_3bit_div_fullshortq( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .cancel(cancel), - .valid_in(dp[2]), - .signed_in(~dp[1]), - .rem_in(dp[0]), - .dividend_in(dividend[31:0]), - .divisor_in(divisor[31:0]), - .valid_out(finish_dly), - .data_out(out_raw[31:0]) - ); - endgenerate - generate - if ((pt[1262-:5] == 1) & (pt[1269-:7] == 4)) eb1_exu_div_new_4bit_fullshortq i_new_4bit_div_fullshortq( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .cancel(cancel), - .valid_in(dp[2]), - .signed_in(~dp[1]), - .rem_in(dp[0]), - .dividend_in(dividend[31:0]), - .divisor_in(divisor[31:0]), - .valid_out(finish_dly), - .data_out(out_raw[31:0]) - ); - endgenerate -endmodule -module eb1_exu_div_existing_1bit_cheapshortq ( - clk, - rst_l, - scan_mode, - cancel, - valid_in, - signed_in, - rem_in, - dividend_in, - divisor_in, - valid_out, - data_out -); - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire cancel; - input wire valid_in; - input wire signed_in; - input wire rem_in; - input wire [31:0] dividend_in; - input wire [31:0] divisor_in; - output wire valid_out; - output wire [31:0] data_out; - wire div_clken; - wire run_in; - wire run_state; - wire [5:0] count_in; - wire [5:0] count; - wire [32:0] m_ff; - wire qff_enable; - wire aff_enable; - wire [32:0] q_in; - wire [32:0] q_ff; - wire [32:0] a_in; - wire [32:0] a_ff; - wire [32:0] m_eff; - wire [32:0] a_shift; - wire dividend_neg_ff; - wire divisor_neg_ff; - wire [31:0] dividend_comp; - wire [31:0] dividend_eff; - wire [31:0] q_ff_comp; - wire [31:0] q_ff_eff; - wire [31:0] a_ff_comp; - wire [31:0] a_ff_eff; - wire sign_ff; - wire sign_eff; - wire rem_ff; - wire add; - wire [32:0] a_eff; - wire [64:0] a_eff_shift; - wire rem_correct; - wire valid_ff_x; - wire valid_x; - wire finish; - wire finish_ff; - wire smallnum_case; - wire smallnum_case_ff; - wire [3:0] smallnum; - wire [3:0] smallnum_ff; - wire m_already_comp; - wire [4:0] a_cls; - wire [4:0] b_cls; - wire [5:0] shortq_shift; - wire [5:0] shortq_shift_ff; - wire [5:0] shortq; - wire shortq_enable; - wire shortq_enable_ff; - wire [32:0] short_dividend; - wire [3:0] shortq_raw; - wire [3:0] shortq_shift_xx; - rvdffe #(.WIDTH(23)) i_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(div_clken), - .din({valid_in & ~cancel, finish & ~cancel, run_in, count_in[5:0], (valid_in & dividend_in[31]) | (~valid_in & dividend_neg_ff), (valid_in & divisor_in[31]) | (~valid_in & divisor_neg_ff), (valid_in & sign_eff) | (~valid_in & sign_ff), (valid_in & rem_in) | (~valid_in & rem_ff), smallnum_case, smallnum[3:0], shortq_enable, shortq_shift[3:0]}), - .dout({valid_ff_x, finish_ff, run_state, count[5:0], dividend_neg_ff, divisor_neg_ff, sign_ff, rem_ff, smallnum_case_ff, smallnum_ff[3:0], shortq_enable_ff, shortq_shift_xx[3:0]}) - ); - rvdffe #(.WIDTH(33)) mff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(valid_in), - .din({signed_in & divisor_in[31], divisor_in[31:0]}), - .dout(m_ff[32:0]) - ); - rvdffe #(.WIDTH(33)) qff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qff_enable), - .din(q_in[32:0]), - .dout(q_ff[32:0]) - ); - rvdffe #(.WIDTH(33)) aff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(aff_enable), - .din(a_in[32:0]), - .dout(a_ff[32:0]) - ); - rvtwoscomp #(.WIDTH(32)) i_dividend_comp( - .din(q_ff[31:0]), - .dout(dividend_comp[31:0]) - ); - rvtwoscomp #(.WIDTH(32)) i_q_ff_comp( - .din(q_ff[31:0]), - .dout(q_ff_comp[31:0]) - ); - rvtwoscomp #(.WIDTH(32)) i_a_ff_comp( - .din(a_ff[31:0]), - .dout(a_ff_comp[31:0]) - ); - assign valid_x = valid_ff_x & ~cancel; - assign smallnum_case = (((((q_ff[31:4] == 28'b0000000000000000000000000000) & (m_ff[31:4] == 28'b0000000000000000000000000000)) & (m_ff[31:0] != 32'b00000000000000000000000000000000)) & ~rem_ff) & valid_x) | ((((q_ff[31:0] == 32'b00000000000000000000000000000000) & (m_ff[31:0] != 32'b00000000000000000000000000000000)) & ~rem_ff) & valid_x); - assign smallnum[3] = ((q_ff[3] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[1]; - assign smallnum[2] = ((((q_ff[3] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[0]) | (((q_ff[2] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[1])) | (((q_ff[3] & q_ff[2]) & ~m_ff[3]) & ~m_ff[2]); - assign smallnum[1] = ((((((((((q_ff[2] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[0]) | (((q_ff[1] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[1])) | (((q_ff[3] & ~m_ff[3]) & ~m_ff[1]) & ~m_ff[0])) | (((((q_ff[3] & ~q_ff[2]) & ~m_ff[3]) & ~m_ff[2]) & m_ff[1]) & m_ff[0])) | ((((~q_ff[3] & q_ff[2]) & q_ff[1]) & ~m_ff[3]) & ~m_ff[2])) | (((q_ff[3] & q_ff[2]) & ~m_ff[3]) & ~m_ff[0])) | ((((q_ff[3] & q_ff[2]) & ~m_ff[3]) & m_ff[2]) & ~m_ff[1])) | (((q_ff[3] & q_ff[1]) & ~m_ff[3]) & ~m_ff[1])) | ((((q_ff[3] & q_ff[2]) & q_ff[1]) & ~m_ff[3]) & m_ff[2]); - assign smallnum[0] = ((((((((((((((((((((((((((((q_ff[2] & q_ff[1]) & q_ff[0]) & ~m_ff[3]) & ~m_ff[1]) | (((((q_ff[3] & ~q_ff[2]) & q_ff[0]) & ~m_ff[3]) & m_ff[1]) & m_ff[0])) | (((q_ff[2] & ~m_ff[3]) & ~m_ff[1]) & ~m_ff[0])) | (((q_ff[1] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[0])) | (((q_ff[0] & ~m_ff[3]) & ~m_ff[2]) & ~m_ff[1])) | ((((((~q_ff[3] & q_ff[2]) & ~q_ff[1]) & ~m_ff[3]) & ~m_ff[2]) & m_ff[1]) & m_ff[0])) | ((((~q_ff[3] & q_ff[2]) & q_ff[1]) & ~m_ff[3]) & ~m_ff[0])) | (((q_ff[3] & ~m_ff[2]) & ~m_ff[1]) & ~m_ff[0])) | ((((q_ff[3] & ~q_ff[2]) & ~m_ff[3]) & m_ff[2]) & m_ff[1])) | (((((~q_ff[3] & q_ff[2]) & q_ff[1]) & ~m_ff[3]) & m_ff[2]) & ~m_ff[1])) | ((((~q_ff[3] & q_ff[2]) & q_ff[0]) & ~m_ff[3]) & ~m_ff[1])) | (((((q_ff[3] & ~q_ff[2]) & ~q_ff[1]) & ~m_ff[3]) & m_ff[2]) & m_ff[0])) | ((((~q_ff[2] & q_ff[1]) & q_ff[0]) & ~m_ff[3]) & ~m_ff[2])) | (((q_ff[3] & q_ff[2]) & ~m_ff[1]) & ~m_ff[0])) | (((q_ff[3] & q_ff[1]) & ~m_ff[2]) & ~m_ff[0])) | (((((~q_ff[3] & q_ff[2]) & q_ff[1]) & q_ff[0]) & ~m_ff[3]) & m_ff[2])) | (((q_ff[3] & q_ff[2]) & m_ff[3]) & ~m_ff[2])) | ((((q_ff[3] & q_ff[1]) & m_ff[3]) & ~m_ff[2]) & ~m_ff[1])) | (((q_ff[3] & q_ff[0]) & ~m_ff[2]) & ~m_ff[1])) | (((((q_ff[3] & ~q_ff[1]) & ~m_ff[3]) & m_ff[2]) & m_ff[1]) & m_ff[0])) | ((((q_ff[3] & q_ff[2]) & q_ff[1]) & m_ff[3]) & ~m_ff[0])) | ((((q_ff[3] & q_ff[2]) & q_ff[1]) & m_ff[3]) & ~m_ff[1])) | ((((q_ff[3] & q_ff[2]) & q_ff[0]) & m_ff[3]) & ~m_ff[1])) | ((((q_ff[3] & ~q_ff[2]) & q_ff[1]) & ~m_ff[3]) & m_ff[1])) | (((q_ff[3] & q_ff[1]) & q_ff[0]) & ~m_ff[2])) | ((((q_ff[3] & q_ff[2]) & q_ff[1]) & q_ff[0]) & m_ff[3]); - assign short_dividend[31:0] = q_ff[31:0]; - assign short_dividend[32] = sign_ff & q_ff[31]; - assign a_cls[4:3] = 2'b00; - assign a_cls[2] = (~short_dividend[32] & (short_dividend[31:24] != {8 {1'b0}})) | (short_dividend[32] & (short_dividend[31:23] != {9 {1'b1}})); - assign a_cls[1] = (~short_dividend[32] & (short_dividend[23:16] != {8 {1'b0}})) | (short_dividend[32] & (short_dividend[22:15] != {8 {1'b1}})); - assign a_cls[0] = (~short_dividend[32] & (short_dividend[15:8] != {8 {1'b0}})) | (short_dividend[32] & (short_dividend[14:7] != {8 {1'b1}})); - assign b_cls[4:3] = 2'b00; - assign b_cls[2] = (~m_ff[32] & (m_ff[31:24] != {8 {1'b0}})) | (m_ff[32] & (m_ff[31:24] != {8 {1'b1}})); - assign b_cls[1] = (~m_ff[32] & (m_ff[23:16] != {8 {1'b0}})) | (m_ff[32] & (m_ff[23:16] != {8 {1'b1}})); - assign b_cls[0] = (~m_ff[32] & (m_ff[15:8] != {8 {1'b0}})) | (m_ff[32] & (m_ff[15:8] != {8 {1'b1}})); - assign shortq_raw[3] = ((((((a_cls[2:1] == 2'b01) & (b_cls[2] == 1'b1)) | ((a_cls[2:0] == 3'b001) & (b_cls[2] == 1'b1))) | ((a_cls[2:0] == 3'b000) & (b_cls[2] == 1'b1))) | ((a_cls[2:0] == 3'b001) & (b_cls[2:1] == 2'b01))) | ((a_cls[2:0] == 3'b000) & (b_cls[2:1] == 2'b01))) | ((a_cls[2:0] == 3'b000) & (b_cls[2:0] == 3'b001)); - assign shortq_raw[2] = ((((a_cls[2] == 1'b1) & (b_cls[2] == 1'b1)) | ((a_cls[2:1] == 2'b01) & (b_cls[2:1] == 2'b01))) | ((a_cls[2:0] == 3'b001) & (b_cls[2:0] == 3'b001))) | ((a_cls[2:0] == 3'b000) & (b_cls[2:0] == 3'b000)); - assign shortq_raw[1] = (((a_cls[2] == 1'b1) & (b_cls[2:1] == 2'b01)) | ((a_cls[2:1] == 2'b01) & (b_cls[2:0] == 3'b001))) | ((a_cls[2:0] == 3'b001) & (b_cls[2:0] == 3'b000)); - assign shortq_raw[0] = ((a_cls[2] == 1'b1) & (b_cls[2:0] == 3'b001)) | ((a_cls[2:1] == 2'b01) & (b_cls[2:0] == 3'b000)); - assign shortq_enable = (valid_ff_x & (m_ff[31:0] != 32'b00000000000000000000000000000000)) & (shortq_raw[3:0] != 4'b0000); - assign shortq_shift[3:0] = {4 {shortq_enable}} & shortq_raw[3:0]; - assign shortq[5:0] = 6'b000000; - assign shortq_shift[5:4] = 2'b00; - assign shortq_shift_ff[5] = 1'b0; - assign shortq_shift_ff[4:0] = ((({5 {shortq_shift_xx[3]}} & 5'b11111) | ({5 {shortq_shift_xx[2]}} & 5'b11000)) | ({5 {shortq_shift_xx[1]}} & 5'b10000)) | ({5 {shortq_shift_xx[0]}} & 5'b01000); - assign div_clken = ((valid_in | run_state) | finish) | finish_ff; - assign run_in = ((valid_in | run_state) & ~finish) & ~cancel; - assign count_in[5:0] = {6 {((run_state & ~finish) & ~cancel) & ~shortq_enable}} & ((count[5:0] + {1'b0, shortq_shift_ff[4:0]}) + 6'd1); - assign finish = smallnum_case | (~rem_ff ? count[5:0] == 6'd32 : count[5:0] == 6'd33); - assign valid_out = finish_ff & ~cancel; - assign sign_eff = signed_in & (divisor_in[31:0] != 32'b00000000000000000000000000000000); - assign q_in[32:0] = (({33 {~run_state}} & {1'b0, dividend_in[31:0]}) | ({33 {run_state & (valid_ff_x | shortq_enable_ff)}} & ({dividend_eff[31:0], ~a_in[32]} << shortq_shift_ff[4:0]))) | ({33 {run_state & ~(valid_ff_x | shortq_enable_ff)}} & {q_ff[31:0], ~a_in[32]}); - assign qff_enable = valid_in | (run_state & ~shortq_enable); - assign dividend_eff[31:0] = (sign_ff & dividend_neg_ff ? dividend_comp[31:0] : q_ff[31:0]); - assign m_eff[32:0] = (add ? m_ff[32:0] : ~m_ff[32:0]); - assign a_eff_shift[64:0] = {33'b000000000000000000000000000000000, dividend_eff[31:0]} << shortq_shift_ff[4:0]; - assign a_eff[32:0] = (({33 {rem_correct}} & a_ff[32:0]) | ({33 {~rem_correct & ~shortq_enable_ff}} & {a_ff[31:0], q_ff[32]})) | ({33 {~rem_correct & shortq_enable_ff}} & a_eff_shift[64:32]); - assign a_shift[32:0] = {33 {run_state}} & a_eff[32:0]; - assign a_in[32:0] = {33 {run_state}} & ((a_shift[32:0] + m_eff[32:0]) + {32'b00000000000000000000000000000000, ~add}); - assign aff_enable = (valid_in | ((run_state & ~shortq_enable) & (count[5:0] != 6'd33))) | rem_correct; - assign m_already_comp = divisor_neg_ff & sign_ff; - assign add = (a_ff[32] | rem_correct) ^ m_already_comp; - assign rem_correct = ((count[5:0] == 6'd33) & rem_ff) & a_ff[32]; - assign q_ff_eff[31:0] = (sign_ff & (dividend_neg_ff ^ divisor_neg_ff) ? q_ff_comp[31:0] : q_ff[31:0]); - assign a_ff_eff[31:0] = (sign_ff & dividend_neg_ff ? a_ff_comp[31:0] : a_ff[31:0]); - assign data_out[31:0] = (({32 {smallnum_case_ff}} & {28'b0000000000000000000000000000, smallnum_ff[3:0]}) | ({32 {rem_ff}} & a_ff_eff[31:0])) | ({32 {~smallnum_case_ff & ~rem_ff}} & q_ff_eff[31:0]); -endmodule -module eb1_exu_div_new_1bit_fullshortq ( - clk, - rst_l, - scan_mode, - cancel, - valid_in, - signed_in, - rem_in, - dividend_in, - divisor_in, - valid_out, - data_out -); - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire cancel; - input wire valid_in; - input wire signed_in; - input wire rem_in; - input wire [31:0] dividend_in; - input wire [31:0] divisor_in; - output wire valid_out; - output wire [31:0] data_out; - wire valid_ff_in; - wire valid_ff; - wire finish_raw; - wire finish; - wire finish_ff; - wire running_state; - wire misc_enable; - wire [2:0] control_in; - wire [2:0] control_ff; - wire dividend_sign_ff; - wire divisor_sign_ff; - wire rem_ff; - wire count_enable; - wire [6:0] count_in; - wire [6:0] count_ff; - wire smallnum_case; - wire [3:0] smallnum; - wire a_enable; - wire a_shift; - wire [31:0] a_in; - wire [31:0] a_ff; - wire b_enable; - wire b_twos_comp; - wire [32:0] b_in; - wire [32:0] b_ff; - wire [31:0] q_in; - wire [31:0] q_ff; - wire rq_enable; - wire r_sign_sel; - wire r_restore_sel; - wire r_adder_sel; - wire [31:0] r_in; - wire [31:0] r_ff; - wire twos_comp_q_sel; - wire twos_comp_b_sel; - wire [31:0] twos_comp_in; - wire [31:0] twos_comp_out; - wire quotient_set; - wire [32:0] adder_out; - wire [63:0] ar_shifted; - wire [5:0] shortq; - wire [4:0] shortq_shift; - wire [4:0] shortq_shift_ff; - wire shortq_enable; - wire shortq_enable_ff; - wire [32:0] shortq_dividend; - wire by_zero_case; - wire by_zero_case_ff; - rvdffe #(.WIDTH(19)) i_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(misc_enable), - .din({valid_ff_in, control_in[2:0], by_zero_case, shortq_enable, shortq_shift[4:0], finish, count_in[6:0]}), - .dout({valid_ff, control_ff[2:0], by_zero_case_ff, shortq_enable_ff, shortq_shift_ff[4:0], finish_ff, count_ff[6:0]}) - ); - rvdffe #(.WIDTH(32)) i_a_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(a_enable), - .din(a_in[31:0]), - .dout(a_ff[31:0]) - ); - rvdffe #(.WIDTH(33)) i_b_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(b_enable), - .din(b_in[32:0]), - .dout(b_ff[32:0]) - ); - rvdffe #(.WIDTH(32)) i_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(r_in[31:0]), - .dout(r_ff[31:0]) - ); - rvdffe #(.WIDTH(32)) i_q_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(q_in[31:0]), - .dout(q_ff[31:0]) - ); - assign valid_ff_in = valid_in & ~cancel; - assign control_in[2] = (~valid_in & control_ff[2]) | ((valid_in & signed_in) & dividend_in[31]); - assign control_in[1] = (~valid_in & control_ff[1]) | ((valid_in & signed_in) & divisor_in[31]); - assign control_in[0] = (~valid_in & control_ff[0]) | (valid_in & rem_in); - assign dividend_sign_ff = control_ff[2]; - assign divisor_sign_ff = control_ff[1]; - assign rem_ff = control_ff[0]; - assign by_zero_case = valid_ff & (b_ff[31:0] == 32'b00000000000000000000000000000000); - assign misc_enable = (((valid_in | valid_ff) | cancel) | running_state) | finish_ff; - assign running_state = |count_ff[6:0] | shortq_enable_ff; - assign finish_raw = (smallnum_case | by_zero_case) | (count_ff[6:0] == 7'd32); - assign finish = finish_raw & ~cancel; - assign count_enable = ((((valid_ff | running_state) & ~finish) & ~finish_ff) & ~cancel) & ~shortq_enable; - assign count_in[6:0] = {7 {count_enable}} & ((count_ff[6:0] + 7'b0000001) + {2'b00, shortq_shift_ff[4:0]}); - assign a_enable = valid_in | running_state; - assign a_shift = running_state & ~shortq_enable_ff; - assign ar_shifted[63:0] = {{32 {dividend_sign_ff}}, a_ff[31:0]} << shortq_shift_ff[4:0]; - assign a_in[31:0] = (({32 {~a_shift & ~shortq_enable_ff}} & dividend_in[31:0]) | ({32 {a_shift}} & {a_ff[30:0], 1'b0})) | ({32 {shortq_enable_ff}} & ar_shifted[31:0]); - assign b_enable = valid_in | b_twos_comp; - assign b_twos_comp = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign b_in[32:0] = ({33 {~b_twos_comp}} & {signed_in & divisor_in[31], divisor_in[31:0]}) | ({33 {b_twos_comp}} & {~divisor_sign_ff, twos_comp_out[31:0]}); - assign rq_enable = (valid_in | valid_ff) | running_state; - assign r_sign_sel = (valid_ff & dividend_sign_ff) & ~by_zero_case; - assign r_restore_sel = (running_state & ~quotient_set) & ~shortq_enable_ff; - assign r_adder_sel = (running_state & quotient_set) & ~shortq_enable_ff; - assign r_in[31:0] = (((({32 {r_sign_sel}} & 32'hffffffff) | ({32 {r_restore_sel}} & {r_ff[30:0], a_ff[31]})) | ({32 {r_adder_sel}} & adder_out[31:0])) | ({32 {shortq_enable_ff}} & ar_shifted[63:32])) | ({32 {by_zero_case}} & a_ff[31:0]); - assign q_in[31:0] = (({32 {~valid_ff}} & {q_ff[30:0], quotient_set}) | ({32 {smallnum_case}} & {28'b0000000000000000000000000000, smallnum[3:0]})) | ({32 {by_zero_case}} & {32 {1'b1}}); - assign adder_out[32:0] = {r_ff[31:0], a_ff[31]} + {b_ff[32:0]}; - assign quotient_set = (~adder_out[32] ^ dividend_sign_ff) | ((a_ff[30:0] == 31'b0000000000000000000000000000000) & (adder_out[32:0] == 33'b000000000000000000000000000000000)); - assign twos_comp_b_sel = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign twos_comp_q_sel = ((~valid_ff & ~rem_ff) & (dividend_sign_ff ^ divisor_sign_ff)) & ~by_zero_case_ff; - assign twos_comp_in[31:0] = ({32 {twos_comp_q_sel}} & q_ff[31:0]) | ({32 {twos_comp_b_sel}} & b_ff[31:0]); - rvtwoscomp #(.WIDTH(32)) i_twos_comp( - .din(twos_comp_in[31:0]), - .dout(twos_comp_out[31:0]) - ); - assign valid_out = finish_ff & ~cancel; - assign data_out[31:0] = (({32 {~rem_ff & ~twos_comp_q_sel}} & q_ff[31:0]) | ({32 {rem_ff}} & r_ff[31:0])) | ({32 {twos_comp_q_sel}} & twos_comp_out[31:0]); - assign smallnum_case = ((((((a_ff[31:4] == 28'b0000000000000000000000000000) & (b_ff[31:4] == 28'b0000000000000000000000000000)) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel) | (((((a_ff[31:0] == 32'b00000000000000000000000000000000) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel); - assign smallnum[3] = ((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1]; - assign smallnum[2] = ((((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[2]); - assign smallnum[1] = ((((((((((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[1]) & ~b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]); - assign smallnum[0] = ((((((((((((((((((((((((((((a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1]) | (((((a_ff[3] & ~a_ff[2]) & a_ff[0]) & ~b_ff[3]) & b_ff[1]) & b_ff[0])) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0])) | (((a_ff[0] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | ((((((~a_ff[3] & a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[0])) | (((a_ff[3] & ~b_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | ((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & b_ff[2]) & b_ff[1])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | ((((~a_ff[3] & a_ff[2]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[0])) | ((((~a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[3] & a_ff[1]) & ~b_ff[2]) & ~b_ff[0])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & b_ff[2])) | (((a_ff[3] & a_ff[2]) & b_ff[3]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[1]) & b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[0]) & ~b_ff[2]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[0]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & ~a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[1])) | (((a_ff[3] & a_ff[1]) & a_ff[0]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & b_ff[3]); - assign shortq_dividend[32:0] = {dividend_sign_ff, a_ff[31:0]}; - wire [5:0] dw_a_enc; - wire [5:0] dw_b_enc; - wire [6:0] dw_shortq_raw; - eb1_exu_div_cls i_a_cls( - .operand(shortq_dividend[32:0]), - .cls(dw_a_enc[4:0]) - ); - eb1_exu_div_cls i_b_cls( - .operand(b_ff[32:0]), - .cls(dw_b_enc[4:0]) - ); - assign dw_a_enc[5] = 1'b0; - assign dw_b_enc[5] = 1'b0; - assign dw_shortq_raw[6:0] = ({1'b0, dw_b_enc[5:0]} - {1'b0, dw_a_enc[5:0]}) + 7'd1; - assign shortq[5:0] = (dw_shortq_raw[6] ? 6'd0 : dw_shortq_raw[5:0]); - assign shortq_enable = ((valid_ff & ~shortq[5]) & ~(shortq[4:1] == 4'b1111)) & ~cancel; - assign shortq_shift[4:0] = (~shortq_enable ? 5'd0 : 5'b11111 - shortq[4:0]); -endmodule -module eb1_exu_div_new_2bit_fullshortq ( - clk, - rst_l, - scan_mode, - cancel, - valid_in, - signed_in, - rem_in, - dividend_in, - divisor_in, - valid_out, - data_out -); - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire cancel; - input wire valid_in; - input wire signed_in; - input wire rem_in; - input wire [31:0] dividend_in; - input wire [31:0] divisor_in; - output wire valid_out; - output wire [31:0] data_out; - wire valid_ff_in; - wire valid_ff; - wire finish_raw; - wire finish; - wire finish_ff; - wire running_state; - wire misc_enable; - wire [2:0] control_in; - wire [2:0] control_ff; - wire dividend_sign_ff; - wire divisor_sign_ff; - wire rem_ff; - wire count_enable; - wire [6:0] count_in; - wire [6:0] count_ff; - wire smallnum_case; - wire [3:0] smallnum; - wire a_enable; - wire a_shift; - wire [31:0] a_in; - wire [31:0] a_ff; - wire b_enable; - wire b_twos_comp; - wire [32:0] b_in; - wire [34:0] b_ff; - wire [31:0] q_in; - wire [31:0] q_ff; - wire rq_enable; - wire r_sign_sel; - wire r_restore_sel; - wire r_adder1_sel; - wire r_adder2_sel; - wire r_adder3_sel; - wire [31:0] r_in; - wire [31:0] r_ff; - wire twos_comp_q_sel; - wire twos_comp_b_sel; - wire [31:0] twos_comp_in; - wire [31:0] twos_comp_out; - wire [3:1] quotient_raw; - wire [1:0] quotient_new; - wire [32:0] adder1_out; - wire [33:0] adder2_out; - wire [34:0] adder3_out; - wire [63:0] ar_shifted; - wire [5:0] shortq; - wire [4:0] shortq_shift; - wire [4:1] shortq_shift_ff; - wire shortq_enable; - wire shortq_enable_ff; - wire [32:0] shortq_dividend; - wire by_zero_case; - wire by_zero_case_ff; - rvdffe #(.WIDTH(18)) i_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(misc_enable), - .din({valid_ff_in, control_in[2:0], by_zero_case, shortq_enable, shortq_shift[4:1], finish, count_in[6:0]}), - .dout({valid_ff, control_ff[2:0], by_zero_case_ff, shortq_enable_ff, shortq_shift_ff[4:1], finish_ff, count_ff[6:0]}) - ); - rvdffe #(.WIDTH(32)) i_a_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(a_enable), - .din(a_in[31:0]), - .dout(a_ff[31:0]) - ); - rvdffe #(.WIDTH(33)) i_b_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(b_enable), - .din(b_in[32:0]), - .dout(b_ff[32:0]) - ); - rvdffe #(.WIDTH(32)) i_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(r_in[31:0]), - .dout(r_ff[31:0]) - ); - rvdffe #(.WIDTH(32)) i_q_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(q_in[31:0]), - .dout(q_ff[31:0]) - ); - assign valid_ff_in = valid_in & ~cancel; - assign control_in[2] = (~valid_in & control_ff[2]) | ((valid_in & signed_in) & dividend_in[31]); - assign control_in[1] = (~valid_in & control_ff[1]) | ((valid_in & signed_in) & divisor_in[31]); - assign control_in[0] = (~valid_in & control_ff[0]) | (valid_in & rem_in); - assign dividend_sign_ff = control_ff[2]; - assign divisor_sign_ff = control_ff[1]; - assign rem_ff = control_ff[0]; - assign by_zero_case = valid_ff & (b_ff[31:0] == 32'b00000000000000000000000000000000); - assign misc_enable = (((valid_in | valid_ff) | cancel) | running_state) | finish_ff; - assign running_state = |count_ff[6:0] | shortq_enable_ff; - assign finish_raw = (smallnum_case | by_zero_case) | (count_ff[6:0] == 7'd32); - assign finish = finish_raw & ~cancel; - assign count_enable = ((((valid_ff | running_state) & ~finish) & ~finish_ff) & ~cancel) & ~shortq_enable; - assign count_in[6:0] = {7 {count_enable}} & ((count_ff[6:0] + 7'b0000010) + {2'b00, shortq_shift_ff[4:1], 1'b0}); - assign a_enable = valid_in | running_state; - assign a_shift = running_state & ~shortq_enable_ff; - assign ar_shifted[63:0] = {{32 {dividend_sign_ff}}, a_ff[31:0]} << {shortq_shift_ff[4:1], 1'b0}; - assign a_in[31:0] = (({32 {~a_shift & ~shortq_enable_ff}} & dividend_in[31:0]) | ({32 {a_shift}} & {a_ff[29:0], 2'b00})) | ({32 {shortq_enable_ff}} & ar_shifted[31:0]); - assign b_enable = valid_in | b_twos_comp; - assign b_twos_comp = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign b_in[32:0] = ({33 {~b_twos_comp}} & {signed_in & divisor_in[31], divisor_in[31:0]}) | ({33 {b_twos_comp}} & {~divisor_sign_ff, twos_comp_out[31:0]}); - assign rq_enable = (valid_in | valid_ff) | running_state; - assign r_sign_sel = (valid_ff & dividend_sign_ff) & ~by_zero_case; - assign r_restore_sel = (running_state & (quotient_new[1:0] == 2'b00)) & ~shortq_enable_ff; - assign r_adder1_sel = (running_state & (quotient_new[1:0] == 2'b01)) & ~shortq_enable_ff; - assign r_adder2_sel = (running_state & (quotient_new[1:0] == 2'b10)) & ~shortq_enable_ff; - assign r_adder3_sel = (running_state & (quotient_new[1:0] == 2'b11)) & ~shortq_enable_ff; - assign r_in[31:0] = (((((({32 {r_sign_sel}} & 32'hffffffff) | ({32 {r_restore_sel}} & {r_ff[29:0], a_ff[31:30]})) | ({32 {r_adder1_sel}} & adder1_out[31:0])) | ({32 {r_adder2_sel}} & adder2_out[31:0])) | ({32 {r_adder3_sel}} & adder3_out[31:0])) | ({32 {shortq_enable_ff}} & ar_shifted[63:32])) | ({32 {by_zero_case}} & a_ff[31:0]); - assign q_in[31:0] = (({32 {~valid_ff}} & {q_ff[29:0], quotient_new[1:0]}) | ({32 {smallnum_case}} & {28'b0000000000000000000000000000, smallnum[3:0]})) | ({32 {by_zero_case}} & {32 {1'b1}}); - assign b_ff[34:33] = {b_ff[32], b_ff[32]}; - assign adder1_out[32:0] = {r_ff[30:0], a_ff[31:30]} + b_ff[32:0]; - assign adder2_out[33:0] = {r_ff[31:0], a_ff[31:30]} + {b_ff[32:0], 1'b0}; - assign adder3_out[34:0] = ({r_ff[31], r_ff[31:0], a_ff[31:30]} + {b_ff[33:0], 1'b0}) + b_ff[34:0]; - assign quotient_raw[1] = (~adder1_out[32] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder1_out[32:0] == 33'b000000000000000000000000000000000)); - assign quotient_raw[2] = (~adder2_out[33] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder2_out[33:0] == 34'b0000000000000000000000000000000000)); - assign quotient_raw[3] = (~adder3_out[34] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder3_out[34:0] == 35'b00000000000000000000000000000000000)); - assign quotient_new[1] = quotient_raw[3] | quotient_raw[2]; - assign quotient_new[0] = quotient_raw[3] | (~quotient_raw[2] & quotient_raw[1]); - assign twos_comp_b_sel = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign twos_comp_q_sel = ((~valid_ff & ~rem_ff) & (dividend_sign_ff ^ divisor_sign_ff)) & ~by_zero_case_ff; - assign twos_comp_in[31:0] = ({32 {twos_comp_q_sel}} & q_ff[31:0]) | ({32 {twos_comp_b_sel}} & b_ff[31:0]); - rvtwoscomp #(.WIDTH(32)) i_twos_comp( - .din(twos_comp_in[31:0]), - .dout(twos_comp_out[31:0]) - ); - assign valid_out = finish_ff & ~cancel; - assign data_out[31:0] = (({32 {~rem_ff & ~twos_comp_q_sel}} & q_ff[31:0]) | ({32 {rem_ff}} & r_ff[31:0])) | ({32 {twos_comp_q_sel}} & twos_comp_out[31:0]); - assign smallnum_case = ((((((a_ff[31:4] == 28'b0000000000000000000000000000) & (b_ff[31:4] == 28'b0000000000000000000000000000)) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel) | (((((a_ff[31:0] == 32'b00000000000000000000000000000000) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel); - assign smallnum[3] = ((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1]; - assign smallnum[2] = ((((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[2]); - assign smallnum[1] = ((((((((((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[1]) & ~b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]); - assign smallnum[0] = ((((((((((((((((((((((((((((a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1]) | (((((a_ff[3] & ~a_ff[2]) & a_ff[0]) & ~b_ff[3]) & b_ff[1]) & b_ff[0])) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0])) | (((a_ff[0] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | ((((((~a_ff[3] & a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[0])) | (((a_ff[3] & ~b_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | ((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & b_ff[2]) & b_ff[1])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | ((((~a_ff[3] & a_ff[2]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[0])) | ((((~a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[3] & a_ff[1]) & ~b_ff[2]) & ~b_ff[0])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & b_ff[2])) | (((a_ff[3] & a_ff[2]) & b_ff[3]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[1]) & b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[0]) & ~b_ff[2]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[0]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & ~a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[1])) | (((a_ff[3] & a_ff[1]) & a_ff[0]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & b_ff[3]); - assign shortq_dividend[32:0] = {dividend_sign_ff, a_ff[31:0]}; - wire [5:0] dw_a_enc; - wire [5:0] dw_b_enc; - wire [6:0] dw_shortq_raw; - eb1_exu_div_cls i_a_cls( - .operand(shortq_dividend[32:0]), - .cls(dw_a_enc[4:0]) - ); - eb1_exu_div_cls i_b_cls( - .operand(b_ff[32:0]), - .cls(dw_b_enc[4:0]) - ); - assign dw_a_enc[5] = 1'b0; - assign dw_b_enc[5] = 1'b0; - assign dw_shortq_raw[6:0] = ({1'b0, dw_b_enc[5:0]} - {1'b0, dw_a_enc[5:0]}) + 7'd1; - assign shortq[5:0] = (dw_shortq_raw[6] ? 6'd0 : dw_shortq_raw[5:0]); - assign shortq_enable = ((valid_ff & ~shortq[5]) & ~(shortq[4:1] == 4'b1111)) & ~cancel; - assign shortq_shift[4:0] = (~shortq_enable ? 5'd0 : 5'b11111 - shortq[4:0]); -endmodule -module eb1_exu_div_new_3bit_fullshortq ( - clk, - rst_l, - scan_mode, - cancel, - valid_in, - signed_in, - rem_in, - dividend_in, - divisor_in, - valid_out, - data_out -); - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire cancel; - input wire valid_in; - input wire signed_in; - input wire rem_in; - input wire [31:0] dividend_in; - input wire [31:0] divisor_in; - output wire valid_out; - output wire [31:0] data_out; - wire valid_ff_in; - wire valid_ff; - wire finish_raw; - wire finish; - wire finish_ff; - wire running_state; - wire misc_enable; - wire [2:0] control_in; - wire [2:0] control_ff; - wire dividend_sign_ff; - wire divisor_sign_ff; - wire rem_ff; - wire count_enable; - wire [6:0] count_in; - wire [6:0] count_ff; - wire smallnum_case; - wire [3:0] smallnum; - wire a_enable; - wire a_shift; - wire [32:0] a_in; - wire [32:0] a_ff; - wire b_enable; - wire b_twos_comp; - wire [32:0] b_in; - wire [36:0] b_ff; - wire [31:0] q_in; - wire [31:0] q_ff; - wire rq_enable; - wire r_sign_sel; - wire r_restore_sel; - wire r_adder1_sel; - wire r_adder2_sel; - wire r_adder3_sel; - wire r_adder4_sel; - wire r_adder5_sel; - wire r_adder6_sel; - wire r_adder7_sel; - wire [32:0] r_in; - wire [32:0] r_ff; - wire twos_comp_q_sel; - wire twos_comp_b_sel; - wire [31:0] twos_comp_in; - wire [31:0] twos_comp_out; - wire [7:1] quotient_raw; - wire [2:0] quotient_new; - wire [33:0] adder1_out; - wire [34:0] adder2_out; - wire [35:0] adder3_out; - wire [36:0] adder4_out; - wire [36:0] adder5_out; - wire [36:0] adder6_out; - wire [36:0] adder7_out; - wire [65:0] ar_shifted; - wire [5:0] shortq; - wire [4:0] shortq_shift; - wire [4:0] shortq_decode; - wire [4:0] shortq_shift_ff; - wire shortq_enable; - wire shortq_enable_ff; - wire [32:0] shortq_dividend; - wire by_zero_case; - wire by_zero_case_ff; - rvdffe #(.WIDTH(19)) i_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(misc_enable), - .din({valid_ff_in, control_in[2:0], by_zero_case, shortq_enable, shortq_shift[4:0], finish, count_in[6:0]}), - .dout({valid_ff, control_ff[2:0], by_zero_case_ff, shortq_enable_ff, shortq_shift_ff[4:0], finish_ff, count_ff[6:0]}) - ); - rvdffe #(.WIDTH(33)) i_a_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(a_enable), - .din(a_in[32:0]), - .dout(a_ff[32:0]) - ); - rvdffe #(.WIDTH(33)) i_b_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(b_enable), - .din(b_in[32:0]), - .dout(b_ff[32:0]) - ); - rvdffe #(.WIDTH(33)) i_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(r_in[32:0]), - .dout(r_ff[32:0]) - ); - rvdffe #(.WIDTH(32)) i_q_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(q_in[31:0]), - .dout(q_ff[31:0]) - ); - assign valid_ff_in = valid_in & ~cancel; - assign control_in[2] = (~valid_in & control_ff[2]) | ((valid_in & signed_in) & dividend_in[31]); - assign control_in[1] = (~valid_in & control_ff[1]) | ((valid_in & signed_in) & divisor_in[31]); - assign control_in[0] = (~valid_in & control_ff[0]) | (valid_in & rem_in); - assign dividend_sign_ff = control_ff[2]; - assign divisor_sign_ff = control_ff[1]; - assign rem_ff = control_ff[0]; - assign by_zero_case = valid_ff & (b_ff[31:0] == 32'b00000000000000000000000000000000); - assign misc_enable = (((valid_in | valid_ff) | cancel) | running_state) | finish_ff; - assign running_state = |count_ff[6:0] | shortq_enable_ff; - assign finish_raw = (smallnum_case | by_zero_case) | (count_ff[6:0] == 7'd33); - assign finish = finish_raw & ~cancel; - assign count_enable = ((((valid_ff | running_state) & ~finish) & ~finish_ff) & ~cancel) & ~shortq_enable; - assign count_in[6:0] = {7 {count_enable}} & ((count_ff[6:0] + 7'b0000011) + {2'b00, shortq_shift_ff[4:0]}); - assign a_enable = valid_in | running_state; - assign a_shift = running_state & ~shortq_enable_ff; - assign ar_shifted[65:0] = {{33 {dividend_sign_ff}}, a_ff[32:0]} << {shortq_shift_ff[4:0]}; - assign a_in[32:0] = (({33 {~a_shift & ~shortq_enable_ff}} & {signed_in & dividend_in[31], dividend_in[31:0]}) | ({33 {a_shift}} & {a_ff[29:0], 3'b000})) | ({33 {shortq_enable_ff}} & ar_shifted[32:0]); - assign b_enable = valid_in | b_twos_comp; - assign b_twos_comp = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign b_in[32:0] = ({33 {~b_twos_comp}} & {signed_in & divisor_in[31], divisor_in[31:0]}) | ({33 {b_twos_comp}} & {~divisor_sign_ff, twos_comp_out[31:0]}); - assign rq_enable = (valid_in | valid_ff) | running_state; - assign r_sign_sel = (valid_ff & dividend_sign_ff) & ~by_zero_case; - assign r_restore_sel = (running_state & (quotient_new[2:0] == 3'b000)) & ~shortq_enable_ff; - assign r_adder1_sel = (running_state & (quotient_new[2:0] == 3'b001)) & ~shortq_enable_ff; - assign r_adder2_sel = (running_state & (quotient_new[2:0] == 3'b010)) & ~shortq_enable_ff; - assign r_adder3_sel = (running_state & (quotient_new[2:0] == 3'b011)) & ~shortq_enable_ff; - assign r_adder4_sel = (running_state & (quotient_new[2:0] == 3'b100)) & ~shortq_enable_ff; - assign r_adder5_sel = (running_state & (quotient_new[2:0] == 3'b101)) & ~shortq_enable_ff; - assign r_adder6_sel = (running_state & (quotient_new[2:0] == 3'b110)) & ~shortq_enable_ff; - assign r_adder7_sel = (running_state & (quotient_new[2:0] == 3'b111)) & ~shortq_enable_ff; - assign r_in[32:0] = (((((((((({33 {r_sign_sel}} & {33 {1'b1}}) | ({33 {r_restore_sel}} & {r_ff[29:0], a_ff[32:30]})) | ({33 {r_adder1_sel}} & adder1_out[32:0])) | ({33 {r_adder2_sel}} & adder2_out[32:0])) | ({33 {r_adder3_sel}} & adder3_out[32:0])) | ({33 {r_adder4_sel}} & adder4_out[32:0])) | ({33 {r_adder5_sel}} & adder5_out[32:0])) | ({33 {r_adder6_sel}} & adder6_out[32:0])) | ({33 {r_adder7_sel}} & adder7_out[32:0])) | ({33 {shortq_enable_ff}} & ar_shifted[65:33])) | ({33 {by_zero_case}} & {1'b0, a_ff[31:0]}); - assign q_in[31:0] = (({32 {~valid_ff}} & {q_ff[28:0], quotient_new[2:0]}) | ({32 {smallnum_case}} & {28'b0000000000000000000000000000, smallnum[3:0]})) | ({32 {by_zero_case}} & {32 {1'b1}}); - assign b_ff[36:33] = {b_ff[32], b_ff[32], b_ff[32], b_ff[32]}; - assign adder1_out[33:0] = {r_ff[30:0], a_ff[32:30]} + b_ff[33:0]; - assign adder2_out[34:0] = {r_ff[31:0], a_ff[32:30]} + {b_ff[33:0], 1'b0}; - assign adder3_out[35:0] = ({r_ff[32:0], a_ff[32:30]} + {b_ff[34:0], 1'b0}) + b_ff[35:0]; - assign adder4_out[36:0] = {r_ff[32], r_ff[32:0], a_ff[32:30]} + {b_ff[34:0], 2'b00}; - assign adder5_out[36:0] = ({r_ff[32], r_ff[32:0], a_ff[32:30]} + {b_ff[34:0], 2'b00}) + b_ff[36:0]; - assign adder6_out[36:0] = ({r_ff[32], r_ff[32:0], a_ff[32:30]} + {b_ff[34:0], 2'b00}) + {b_ff[35:0], 1'b0}; - assign adder7_out[36:0] = (({r_ff[32], r_ff[32:0], a_ff[32:30]} + {b_ff[34:0], 2'b00}) + {b_ff[35:0], 1'b0}) + b_ff[36:0]; - assign quotient_raw[1] = (~adder1_out[33] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder1_out[33:0] == 34'b0000000000000000000000000000000000)); - assign quotient_raw[2] = (~adder2_out[34] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder2_out[34:0] == 35'b00000000000000000000000000000000000)); - assign quotient_raw[3] = (~adder3_out[35] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder3_out[35:0] == 36'b000000000000000000000000000000000000)); - assign quotient_raw[4] = (~adder4_out[36] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder4_out[36:0] == 37'b0000000000000000000000000000000000000)); - assign quotient_raw[5] = (~adder5_out[36] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder5_out[36:0] == 37'b0000000000000000000000000000000000000)); - assign quotient_raw[6] = (~adder6_out[36] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder6_out[36:0] == 37'b0000000000000000000000000000000000000)); - assign quotient_raw[7] = (~adder7_out[36] ^ dividend_sign_ff) | ((a_ff[29:0] == 30'b000000000000000000000000000000) & (adder7_out[36:0] == 37'b0000000000000000000000000000000000000)); - assign quotient_new[2] = ((quotient_raw[7] | quotient_raw[6]) | quotient_raw[5]) | quotient_raw[4]; - assign quotient_new[1] = ((quotient_raw[7] | quotient_raw[6]) | (~quotient_raw[4] & quotient_raw[3])) | (~quotient_raw[3] & quotient_raw[2]); - assign quotient_new[0] = ((quotient_raw[7] | (~quotient_raw[6] & quotient_raw[5])) | (~quotient_raw[4] & quotient_raw[3])) | (~quotient_raw[2] & quotient_raw[1]); - assign twos_comp_b_sel = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign twos_comp_q_sel = ((~valid_ff & ~rem_ff) & (dividend_sign_ff ^ divisor_sign_ff)) & ~by_zero_case_ff; - assign twos_comp_in[31:0] = ({32 {twos_comp_q_sel}} & q_ff[31:0]) | ({32 {twos_comp_b_sel}} & b_ff[31:0]); - rvtwoscomp #(.WIDTH(32)) i_twos_comp( - .din(twos_comp_in[31:0]), - .dout(twos_comp_out[31:0]) - ); - assign valid_out = finish_ff & ~cancel; - assign data_out[31:0] = (({32 {~rem_ff & ~twos_comp_q_sel}} & q_ff[31:0]) | ({32 {rem_ff}} & r_ff[31:0])) | ({32 {twos_comp_q_sel}} & twos_comp_out[31:0]); - assign smallnum_case = ((((((a_ff[31:4] == 28'b0000000000000000000000000000) & (b_ff[31:4] == 28'b0000000000000000000000000000)) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel) | (((((a_ff[31:0] == 32'b00000000000000000000000000000000) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel); - assign smallnum[3] = ((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1]; - assign smallnum[2] = ((((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[2]); - assign smallnum[1] = ((((((((((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[1]) & ~b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]); - assign smallnum[0] = ((((((((((((((((((((((((((((a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1]) | (((((a_ff[3] & ~a_ff[2]) & a_ff[0]) & ~b_ff[3]) & b_ff[1]) & b_ff[0])) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0])) | (((a_ff[0] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | ((((((~a_ff[3] & a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[0])) | (((a_ff[3] & ~b_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | ((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & b_ff[2]) & b_ff[1])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | ((((~a_ff[3] & a_ff[2]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[0])) | ((((~a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[3] & a_ff[1]) & ~b_ff[2]) & ~b_ff[0])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & b_ff[2])) | (((a_ff[3] & a_ff[2]) & b_ff[3]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[1]) & b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[0]) & ~b_ff[2]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[0]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & ~a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[1])) | (((a_ff[3] & a_ff[1]) & a_ff[0]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & b_ff[3]); - assign shortq_dividend[32:0] = {dividend_sign_ff, a_ff[31:0]}; - wire [5:0] dw_a_enc; - wire [5:0] dw_b_enc; - wire [6:0] dw_shortq_raw; - eb1_exu_div_cls i_a_cls( - .operand(shortq_dividend[32:0]), - .cls(dw_a_enc[4:0]) - ); - eb1_exu_div_cls i_b_cls( - .operand(b_ff[32:0]), - .cls(dw_b_enc[4:0]) - ); - assign dw_a_enc[5] = 1'b0; - assign dw_b_enc[5] = 1'b0; - assign dw_shortq_raw[6:0] = ({1'b0, dw_b_enc[5:0]} - {1'b0, dw_a_enc[5:0]}) + 7'd1; - assign shortq[5:0] = (dw_shortq_raw[6] ? 6'd0 : dw_shortq_raw[5:0]); - assign shortq_enable = ((valid_ff & ~shortq[5]) & ~(shortq[4:2] == 3'b111)) & ~cancel; - assign shortq_decode[4:0] = ((((((((((((((((((((((((((((((({5 {shortq[4:0] == 5'd31}} & 5'd0) | ({5 {shortq[4:0] == 5'd30}} & 5'd0)) | ({5 {shortq[4:0] == 5'd29}} & 5'd0)) | ({5 {shortq[4:0] == 5'd28}} & 5'd0)) | ({5 {shortq[4:0] == 5'd27}} & 5'd3)) | ({5 {shortq[4:0] == 5'd26}} & 5'd6)) | ({5 {shortq[4:0] == 5'd25}} & 5'd6)) | ({5 {shortq[4:0] == 5'd24}} & 5'd6)) | ({5 {shortq[4:0] == 5'd23}} & 5'd9)) | ({5 {shortq[4:0] == 5'd22}} & 5'd9)) | ({5 {shortq[4:0] == 5'd21}} & 5'd9)) | ({5 {shortq[4:0] == 5'd20}} & 5'd12)) | ({5 {shortq[4:0] == 5'd19}} & 5'd12)) | ({5 {shortq[4:0] == 5'd18}} & 5'd12)) | ({5 {shortq[4:0] == 5'd17}} & 5'd15)) | ({5 {shortq[4:0] == 5'd16}} & 5'd15)) | ({5 {shortq[4:0] == 5'd15}} & 5'd15)) | ({5 {shortq[4:0] == 5'd14}} & 5'd18)) | ({5 {shortq[4:0] == 5'd13}} & 5'd18)) | ({5 {shortq[4:0] == 5'd12}} & 5'd18)) | ({5 {shortq[4:0] == 5'd11}} & 5'd21)) | ({5 {shortq[4:0] == 5'd10}} & 5'd21)) | ({5 {shortq[4:0] == 5'd9}} & 5'd21)) | ({5 {shortq[4:0] == 5'd8}} & 5'd24)) | ({5 {shortq[4:0] == 5'd7}} & 5'd24)) | ({5 {shortq[4:0] == 5'd6}} & 5'd24)) | ({5 {shortq[4:0] == 5'd5}} & 5'd27)) | ({5 {shortq[4:0] == 5'd4}} & 5'd27)) | ({5 {shortq[4:0] == 5'd3}} & 5'd27)) | ({5 {shortq[4:0] == 5'd2}} & 5'd27)) | ({5 {shortq[4:0] == 5'd1}} & 5'd27)) | ({5 {shortq[4:0] == 5'd0}} & 5'd27); - assign shortq_shift[4:0] = (~shortq_enable ? 5'd0 : shortq_decode[4:0]); -endmodule -module eb1_exu_div_new_4bit_fullshortq ( - clk, - rst_l, - scan_mode, - cancel, - valid_in, - signed_in, - rem_in, - dividend_in, - divisor_in, - valid_out, - data_out -); - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire cancel; - input wire valid_in; - input wire signed_in; - input wire rem_in; - input wire [31:0] dividend_in; - input wire [31:0] divisor_in; - output wire valid_out; - output wire [31:0] data_out; - wire valid_ff_in; - wire valid_ff; - wire finish_raw; - wire finish; - wire finish_ff; - wire running_state; - wire misc_enable; - wire [2:0] control_in; - wire [2:0] control_ff; - wire dividend_sign_ff; - wire divisor_sign_ff; - wire rem_ff; - wire count_enable; - wire [6:0] count_in; - wire [6:0] count_ff; - wire smallnum_case; - wire [3:0] smallnum; - wire a_enable; - wire a_shift; - wire [31:0] a_in; - wire [31:0] a_ff; - wire b_enable; - wire b_twos_comp; - wire [32:0] b_in; - wire [37:0] b_ff; - wire [31:0] q_in; - wire [31:0] q_ff; - wire rq_enable; - wire r_sign_sel; - wire r_restore_sel; - wire r_adder01_sel; - wire r_adder02_sel; - wire r_adder03_sel; - wire r_adder04_sel; - wire r_adder05_sel; - wire r_adder06_sel; - wire r_adder07_sel; - wire r_adder08_sel; - wire r_adder09_sel; - wire r_adder10_sel; - wire r_adder11_sel; - wire r_adder12_sel; - wire r_adder13_sel; - wire r_adder14_sel; - wire r_adder15_sel; - wire [32:0] r_in; - wire [32:0] r_ff; - wire twos_comp_q_sel; - wire twos_comp_b_sel; - wire [31:0] twos_comp_in; - wire [31:0] twos_comp_out; - wire [15:1] quotient_raw; - wire [3:0] quotient_new; - wire [34:0] adder01_out; - wire [35:0] adder02_out; - wire [36:0] adder03_out; - wire [37:0] adder04_out; - wire [37:0] adder05_out; - wire [37:0] adder06_out; - wire [37:0] adder07_out; - wire [37:0] adder08_out; - wire [37:0] adder09_out; - wire [37:0] adder10_out; - wire [37:0] adder11_out; - wire [37:0] adder12_out; - wire [37:0] adder13_out; - wire [37:0] adder14_out; - wire [37:0] adder15_out; - wire [64:0] ar_shifted; - wire [5:0] shortq; - wire [4:0] shortq_shift; - wire [4:0] shortq_decode; - wire [4:0] shortq_shift_ff; - wire shortq_enable; - wire shortq_enable_ff; - wire [32:0] shortq_dividend; - wire by_zero_case; - wire by_zero_case_ff; - rvdffe #(.WIDTH(19)) i_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(misc_enable), - .din({valid_ff_in, control_in[2:0], by_zero_case, shortq_enable, shortq_shift[4:0], finish, count_in[6:0]}), - .dout({valid_ff, control_ff[2:0], by_zero_case_ff, shortq_enable_ff, shortq_shift_ff[4:0], finish_ff, count_ff[6:0]}) - ); - rvdffe #(.WIDTH(32)) i_a_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(a_enable), - .din(a_in[31:0]), - .dout(a_ff[31:0]) - ); - rvdffe #(.WIDTH(33)) i_b_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(b_enable), - .din(b_in[32:0]), - .dout(b_ff[32:0]) - ); - rvdffe #(.WIDTH(33)) i_r_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(r_in[32:0]), - .dout(r_ff[32:0]) - ); - rvdffe #(.WIDTH(32)) i_q_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(rq_enable), - .din(q_in[31:0]), - .dout(q_ff[31:0]) - ); - assign valid_ff_in = valid_in & ~cancel; - assign control_in[2] = (~valid_in & control_ff[2]) | ((valid_in & signed_in) & dividend_in[31]); - assign control_in[1] = (~valid_in & control_ff[1]) | ((valid_in & signed_in) & divisor_in[31]); - assign control_in[0] = (~valid_in & control_ff[0]) | (valid_in & rem_in); - assign dividend_sign_ff = control_ff[2]; - assign divisor_sign_ff = control_ff[1]; - assign rem_ff = control_ff[0]; - assign by_zero_case = valid_ff & (b_ff[31:0] == 32'b00000000000000000000000000000000); - assign misc_enable = (((valid_in | valid_ff) | cancel) | running_state) | finish_ff; - assign running_state = |count_ff[6:0] | shortq_enable_ff; - assign finish_raw = (smallnum_case | by_zero_case) | (count_ff[6:0] == 7'd32); - assign finish = finish_raw & ~cancel; - assign count_enable = ((((valid_ff | running_state) & ~finish) & ~finish_ff) & ~cancel) & ~shortq_enable; - assign count_in[6:0] = {7 {count_enable}} & ((count_ff[6:0] + 7'd4) + {2'b00, shortq_shift_ff[4:0]}); - assign a_enable = valid_in | running_state; - assign a_shift = running_state & ~shortq_enable_ff; - assign ar_shifted[64:0] = {{33 {dividend_sign_ff}}, a_ff[31:0]} << {shortq_shift_ff[4:0]}; - assign a_in[31:0] = (({32 {~a_shift & ~shortq_enable_ff}} & dividend_in[31:0]) | ({32 {a_shift}} & {a_ff[27:0], 4'b0000})) | ({32 {shortq_enable_ff}} & ar_shifted[31:0]); - assign b_enable = valid_in | b_twos_comp; - assign b_twos_comp = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign b_in[32:0] = ({33 {~b_twos_comp}} & {signed_in & divisor_in[31], divisor_in[31:0]}) | ({33 {b_twos_comp}} & {~divisor_sign_ff, twos_comp_out[31:0]}); - assign rq_enable = (valid_in | valid_ff) | running_state; - assign r_sign_sel = (valid_ff & dividend_sign_ff) & ~by_zero_case; - assign r_restore_sel = (running_state & (quotient_new[3:0] == 4'd0)) & ~shortq_enable_ff; - assign r_adder01_sel = (running_state & (quotient_new[3:0] == 4'd1)) & ~shortq_enable_ff; - assign r_adder02_sel = (running_state & (quotient_new[3:0] == 4'd2)) & ~shortq_enable_ff; - assign r_adder03_sel = (running_state & (quotient_new[3:0] == 4'd3)) & ~shortq_enable_ff; - assign r_adder04_sel = (running_state & (quotient_new[3:0] == 4'd4)) & ~shortq_enable_ff; - assign r_adder05_sel = (running_state & (quotient_new[3:0] == 4'd5)) & ~shortq_enable_ff; - assign r_adder06_sel = (running_state & (quotient_new[3:0] == 4'd6)) & ~shortq_enable_ff; - assign r_adder07_sel = (running_state & (quotient_new[3:0] == 4'd7)) & ~shortq_enable_ff; - assign r_adder08_sel = (running_state & (quotient_new[3:0] == 4'd8)) & ~shortq_enable_ff; - assign r_adder09_sel = (running_state & (quotient_new[3:0] == 4'd9)) & ~shortq_enable_ff; - assign r_adder10_sel = (running_state & (quotient_new[3:0] == 4'd10)) & ~shortq_enable_ff; - assign r_adder11_sel = (running_state & (quotient_new[3:0] == 4'd11)) & ~shortq_enable_ff; - assign r_adder12_sel = (running_state & (quotient_new[3:0] == 4'd12)) & ~shortq_enable_ff; - assign r_adder13_sel = (running_state & (quotient_new[3:0] == 4'd13)) & ~shortq_enable_ff; - assign r_adder14_sel = (running_state & (quotient_new[3:0] == 4'd14)) & ~shortq_enable_ff; - assign r_adder15_sel = (running_state & (quotient_new[3:0] == 4'd15)) & ~shortq_enable_ff; - assign r_in[32:0] = (((((((((((((((((({33 {r_sign_sel}} & {33 {1'b1}}) | ({33 {r_restore_sel}} & {r_ff[28:0], a_ff[31:28]})) | ({33 {r_adder01_sel}} & adder01_out[32:0])) | ({33 {r_adder02_sel}} & adder02_out[32:0])) | ({33 {r_adder03_sel}} & adder03_out[32:0])) | ({33 {r_adder04_sel}} & adder04_out[32:0])) | ({33 {r_adder05_sel}} & adder05_out[32:0])) | ({33 {r_adder06_sel}} & adder06_out[32:0])) | ({33 {r_adder07_sel}} & adder07_out[32:0])) | ({33 {r_adder08_sel}} & adder08_out[32:0])) | ({33 {r_adder09_sel}} & adder09_out[32:0])) | ({33 {r_adder10_sel}} & adder10_out[32:0])) | ({33 {r_adder11_sel}} & adder11_out[32:0])) | ({33 {r_adder12_sel}} & adder12_out[32:0])) | ({33 {r_adder13_sel}} & adder13_out[32:0])) | ({33 {r_adder14_sel}} & adder14_out[32:0])) | ({33 {r_adder15_sel}} & adder15_out[32:0])) | ({33 {shortq_enable_ff}} & ar_shifted[64:32])) | ({33 {by_zero_case}} & {1'b0, a_ff[31:0]}); - assign q_in[31:0] = (({32 {~valid_ff}} & {q_ff[27:0], quotient_new[3:0]}) | ({32 {smallnum_case}} & {28'b0000000000000000000000000000, smallnum[3:0]})) | ({32 {by_zero_case}} & {32 {1'b1}}); - assign b_ff[37:33] = {b_ff[32], b_ff[32], b_ff[32], b_ff[32], b_ff[32]}; - assign adder01_out[34:0] = {r_ff[30:0], a_ff[31:28]} + b_ff[34:0]; - assign adder02_out[35:0] = {r_ff[31:0], a_ff[31:28]} + {b_ff[34:0], 1'b0}; - assign adder03_out[36:0] = ({r_ff[32:0], a_ff[31:28]} + {b_ff[35:0], 1'b0}) + b_ff[36:0]; - assign adder04_out[37:0] = {r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[35:0], 2'b00}; - assign adder05_out[37:0] = ({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[35:0], 2'b00}) + b_ff[37:0]; - assign adder06_out[37:0] = ({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[35:0], 2'b00}) + {b_ff[36:0], 1'b0}; - assign adder07_out[37:0] = (({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[35:0], 2'b00}) + {b_ff[36:0], 1'b0}) + b_ff[37:0]; - assign adder08_out[37:0] = {r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}; - assign adder09_out[37:0] = ({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + b_ff[37:0]; - assign adder10_out[37:0] = ({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + {b_ff[36:0], 1'b0}; - assign adder11_out[37:0] = (({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + {b_ff[36:0], 1'b0}) + b_ff[37:0]; - assign adder12_out[37:0] = ({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + {b_ff[35:0], 2'b00}; - assign adder13_out[37:0] = (({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + {b_ff[35:0], 2'b00}) + b_ff[37:0]; - assign adder14_out[37:0] = (({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + {b_ff[35:0], 2'b00}) + {b_ff[36:0], 1'b0}; - assign adder15_out[37:0] = ((({r_ff[32], r_ff[32:0], a_ff[31:28]} + {b_ff[34:0], 3'b000}) + {b_ff[35:0], 2'b00}) + {b_ff[36:0], 1'b0}) + b_ff[37:0]; - assign quotient_raw[1] = (~adder01_out[34] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder01_out[34:0] == 35'b00000000000000000000000000000000000)); - assign quotient_raw[2] = (~adder02_out[35] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder02_out[35:0] == 36'b000000000000000000000000000000000000)); - assign quotient_raw[3] = (~adder03_out[36] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder03_out[36:0] == 37'b0000000000000000000000000000000000000)); - assign quotient_raw[4] = (~adder04_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder04_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[5] = (~adder05_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder05_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[6] = (~adder06_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder06_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[7] = (~adder07_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder07_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[8] = (~adder08_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder08_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[9] = (~adder09_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder09_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[10] = (~adder10_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder10_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[11] = (~adder11_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder11_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[12] = (~adder12_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder12_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[13] = (~adder13_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder13_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[14] = (~adder14_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder14_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_raw[15] = (~adder15_out[37] ^ dividend_sign_ff) | ((a_ff[27:0] == 28'b0000000000000000000000000000) & (adder15_out[37:0] == 38'b00000000000000000000000000000000000000)); - assign quotient_new[0] = (((((((quotient_raw[15:1] == 15'b000000000000001) | (quotient_raw[15:3] == 13'b0000000000001)) | (quotient_raw[15:5] == 11'b00000000001)) | (quotient_raw[15:7] == 9'b000000001)) | (quotient_raw[15:9] == 7'b0000001)) | (quotient_raw[15:11] == 5'b00001)) | (quotient_raw[15:13] == 3'b001)) | (quotient_raw[15] == 1'b1); - assign quotient_new[1] = (((((((quotient_raw[15:2] == 14'b00000000000001) | (quotient_raw[15:3] == 13'b0000000000001)) | (quotient_raw[15:6] == 10'b0000000001)) | (quotient_raw[15:7] == 9'b000000001)) | (quotient_raw[15:10] == 6'b000001)) | (quotient_raw[15:11] == 5'b00001)) | (quotient_raw[15:14] == 2'b01)) | (quotient_raw[15] == 1'b1); - assign quotient_new[2] = (((((((quotient_raw[15:4] == 12'b000000000001) | (quotient_raw[15:5] == 11'b00000000001)) | (quotient_raw[15:6] == 10'b0000000001)) | (quotient_raw[15:7] == 9'b000000001)) | (quotient_raw[15:12] == 4'b0001)) | (quotient_raw[15:13] == 3'b001)) | (quotient_raw[15:14] == 2'b01)) | (quotient_raw[15] == 1'b1); - assign quotient_new[3] = (((((((quotient_raw[15:8] == 8'b00000001) | (quotient_raw[15:9] == 7'b0000001)) | (quotient_raw[15:10] == 6'b000001)) | (quotient_raw[15:11] == 5'b00001)) | (quotient_raw[15:12] == 4'b0001)) | (quotient_raw[15:13] == 3'b001)) | (quotient_raw[15:14] == 2'b01)) | (quotient_raw[15] == 1'b1); - assign twos_comp_b_sel = valid_ff & ~(dividend_sign_ff ^ divisor_sign_ff); - assign twos_comp_q_sel = ((~valid_ff & ~rem_ff) & (dividend_sign_ff ^ divisor_sign_ff)) & ~by_zero_case_ff; - assign twos_comp_in[31:0] = ({32 {twos_comp_q_sel}} & q_ff[31:0]) | ({32 {twos_comp_b_sel}} & b_ff[31:0]); - rvtwoscomp #(.WIDTH(32)) i_twos_comp( - .din(twos_comp_in[31:0]), - .dout(twos_comp_out[31:0]) - ); - assign valid_out = finish_ff & ~cancel; - assign data_out[31:0] = (({32 {~rem_ff & ~twos_comp_q_sel}} & q_ff[31:0]) | ({32 {rem_ff}} & r_ff[31:0])) | ({32 {twos_comp_q_sel}} & twos_comp_out[31:0]); - assign smallnum_case = ((((((a_ff[31:4] == 28'b0000000000000000000000000000) & (b_ff[31:4] == 28'b0000000000000000000000000000)) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel) | (((((a_ff[31:0] == 32'b00000000000000000000000000000000) & ~by_zero_case) & ~rem_ff) & valid_ff) & ~cancel); - assign smallnum[3] = ((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1]; - assign smallnum[2] = ((((a_ff[3] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[2]); - assign smallnum[1] = ((((((((((a_ff[2] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0]) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[1]) & ~b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]); - assign smallnum[0] = ((((((((((((((((((((((((((((a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1]) | (((((a_ff[3] & ~a_ff[2]) & a_ff[0]) & ~b_ff[3]) & b_ff[1]) & b_ff[0])) | (((a_ff[2] & ~b_ff[3]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[1] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[0])) | (((a_ff[0] & ~b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | ((((((~a_ff[3] & a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & ~b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & ~b_ff[0])) | (((a_ff[3] & ~b_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | ((((a_ff[3] & ~a_ff[2]) & ~b_ff[3]) & b_ff[2]) & b_ff[1])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[2]) & ~b_ff[1])) | ((((~a_ff[3] & a_ff[2]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[2]) & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[0])) | ((((~a_ff[2] & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & ~b_ff[2])) | (((a_ff[3] & a_ff[2]) & ~b_ff[1]) & ~b_ff[0])) | (((a_ff[3] & a_ff[1]) & ~b_ff[2]) & ~b_ff[0])) | (((((~a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & ~b_ff[3]) & b_ff[2])) | (((a_ff[3] & a_ff[2]) & b_ff[3]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[1]) & b_ff[3]) & ~b_ff[2]) & ~b_ff[1])) | (((a_ff[3] & a_ff[0]) & ~b_ff[2]) & ~b_ff[1])) | (((((a_ff[3] & ~a_ff[1]) & ~b_ff[3]) & b_ff[2]) & b_ff[1]) & b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[0])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & a_ff[2]) & a_ff[0]) & b_ff[3]) & ~b_ff[1])) | ((((a_ff[3] & ~a_ff[2]) & a_ff[1]) & ~b_ff[3]) & b_ff[1])) | (((a_ff[3] & a_ff[1]) & a_ff[0]) & ~b_ff[2])) | ((((a_ff[3] & a_ff[2]) & a_ff[1]) & a_ff[0]) & b_ff[3]); - assign shortq_dividend[32:0] = {dividend_sign_ff, a_ff[31:0]}; - wire [5:0] dw_a_enc; - wire [5:0] dw_b_enc; - wire [6:0] dw_shortq_raw; - eb1_exu_div_cls i_a_cls( - .operand(shortq_dividend[32:0]), - .cls(dw_a_enc[4:0]) - ); - eb1_exu_div_cls i_b_cls( - .operand(b_ff[32:0]), - .cls(dw_b_enc[4:0]) - ); - assign dw_a_enc[5] = 1'b0; - assign dw_b_enc[5] = 1'b0; - assign dw_shortq_raw[6:0] = ({1'b0, dw_b_enc[5:0]} - {1'b0, dw_a_enc[5:0]}) + 7'd1; - assign shortq[5:0] = (dw_shortq_raw[6] ? 6'd0 : dw_shortq_raw[5:0]); - assign shortq_enable = ((valid_ff & ~shortq[5]) & ~(shortq[4:2] == 3'b111)) & ~cancel; - assign shortq_decode[4:0] = ((((((((((((((((((((((((((((((({5 {shortq[4:0] == 5'd31}} & 5'd0) | ({5 {shortq[4:0] == 5'd30}} & 5'd0)) | ({5 {shortq[4:0] == 5'd29}} & 5'd0)) | ({5 {shortq[4:0] == 5'd28}} & 5'd0)) | ({5 {shortq[4:0] == 5'd27}} & 5'd4)) | ({5 {shortq[4:0] == 5'd26}} & 5'd4)) | ({5 {shortq[4:0] == 5'd25}} & 5'd4)) | ({5 {shortq[4:0] == 5'd24}} & 5'd4)) | ({5 {shortq[4:0] == 5'd23}} & 5'd8)) | ({5 {shortq[4:0] == 5'd22}} & 5'd8)) | ({5 {shortq[4:0] == 5'd21}} & 5'd8)) | ({5 {shortq[4:0] == 5'd20}} & 5'd8)) | ({5 {shortq[4:0] == 5'd19}} & 5'd12)) | ({5 {shortq[4:0] == 5'd18}} & 5'd12)) | ({5 {shortq[4:0] == 5'd17}} & 5'd12)) | ({5 {shortq[4:0] == 5'd16}} & 5'd12)) | ({5 {shortq[4:0] == 5'd15}} & 5'd16)) | ({5 {shortq[4:0] == 5'd14}} & 5'd16)) | ({5 {shortq[4:0] == 5'd13}} & 5'd16)) | ({5 {shortq[4:0] == 5'd12}} & 5'd16)) | ({5 {shortq[4:0] == 5'd11}} & 5'd20)) | ({5 {shortq[4:0] == 5'd10}} & 5'd20)) | ({5 {shortq[4:0] == 5'd9}} & 5'd20)) | ({5 {shortq[4:0] == 5'd8}} & 5'd20)) | ({5 {shortq[4:0] == 5'd7}} & 5'd24)) | ({5 {shortq[4:0] == 5'd6}} & 5'd24)) | ({5 {shortq[4:0] == 5'd5}} & 5'd24)) | ({5 {shortq[4:0] == 5'd4}} & 5'd24)) | ({5 {shortq[4:0] == 5'd3}} & 5'd28)) | ({5 {shortq[4:0] == 5'd2}} & 5'd28)) | ({5 {shortq[4:0] == 5'd1}} & 5'd28)) | ({5 {shortq[4:0] == 5'd0}} & 5'd28); - assign shortq_shift[4:0] = (~shortq_enable ? 5'd0 : shortq_decode[4:0]); -endmodule -module eb1_exu_div_cls ( - operand, - cls -); - input wire [32:0] operand; - output wire [4:0] cls; - wire [4:0] cls_zeros; - wire [4:0] cls_ones; - assign cls_zeros[4:0] = (((((((((((((((((((((((((((((((({5 {operand[31] == 1'b1}} & 5'd0) | ({5 {operand[31:30] == 2'b01}} & 5'd1)) | ({5 {operand[31:29] == {{2 {1'b0}}, 1'b1}}} & 5'd2)) | ({5 {operand[31:28] == {{3 {1'b0}}, 1'b1}}} & 5'd3)) | ({5 {operand[31:27] == {{4 {1'b0}}, 1'b1}}} & 5'd4)) | ({5 {operand[31:26] == {{5 {1'b0}}, 1'b1}}} & 5'd5)) | ({5 {operand[31:25] == {{6 {1'b0}}, 1'b1}}} & 5'd6)) | ({5 {operand[31:24] == {{7 {1'b0}}, 1'b1}}} & 5'd7)) | ({5 {operand[31:23] == {{8 {1'b0}}, 1'b1}}} & 5'd8)) | ({5 {operand[31:22] == {{9 {1'b0}}, 1'b1}}} & 5'd9)) | ({5 {operand[31:21] == {{10 {1'b0}}, 1'b1}}} & 5'd10)) | ({5 {operand[31:20] == {{11 {1'b0}}, 1'b1}}} & 5'd11)) | ({5 {operand[31:19] == {{12 {1'b0}}, 1'b1}}} & 5'd12)) | ({5 {operand[31:18] == {{13 {1'b0}}, 1'b1}}} & 5'd13)) | ({5 {operand[31:17] == {{14 {1'b0}}, 1'b1}}} & 5'd14)) | ({5 {operand[31:16] == {{15 {1'b0}}, 1'b1}}} & 5'd15)) | ({5 {operand[31:15] == {{16 {1'b0}}, 1'b1}}} & 5'd16)) | ({5 {operand[31:14] == {{17 {1'b0}}, 1'b1}}} & 5'd17)) | ({5 {operand[31:13] == {{18 {1'b0}}, 1'b1}}} & 5'd18)) | ({5 {operand[31:12] == {{19 {1'b0}}, 1'b1}}} & 5'd19)) | ({5 {operand[31:11] == {{20 {1'b0}}, 1'b1}}} & 5'd20)) | ({5 {operand[31:10] == {{21 {1'b0}}, 1'b1}}} & 5'd21)) | ({5 {operand[31:9] == {{22 {1'b0}}, 1'b1}}} & 5'd22)) | ({5 {operand[31:8] == {{23 {1'b0}}, 1'b1}}} & 5'd23)) | ({5 {operand[31:7] == {{24 {1'b0}}, 1'b1}}} & 5'd24)) | ({5 {operand[31:6] == {{25 {1'b0}}, 1'b1}}} & 5'd25)) | ({5 {operand[31:5] == {{26 {1'b0}}, 1'b1}}} & 5'd26)) | ({5 {operand[31:4] == {{27 {1'b0}}, 1'b1}}} & 5'd27)) | ({5 {operand[31:3] == {{28 {1'b0}}, 1'b1}}} & 5'd28)) | ({5 {operand[31:2] == {{29 {1'b0}}, 1'b1}}} & 5'd29)) | ({5 {operand[31:1] == {{30 {1'b0}}, 1'b1}}} & 5'd30)) | ({5 {operand[31:0] == {{31 {1'b0}}, 1'b1}}} & 5'd31)) | ({5 {operand[31:0] == {32 {1'b0}}}} & 5'd0); - assign cls_ones[4:0] = ((((((((((((((((((((((((((((((({5 {operand[31:30] == 2'b10}} & 5'd0) | ({5 {operand[31:29] == {{2 {1'b1}}, 1'b0}}} & 5'd1)) | ({5 {operand[31:28] == {{3 {1'b1}}, 1'b0}}} & 5'd2)) | ({5 {operand[31:27] == {{4 {1'b1}}, 1'b0}}} & 5'd3)) | ({5 {operand[31:26] == {{5 {1'b1}}, 1'b0}}} & 5'd4)) | ({5 {operand[31:25] == {{6 {1'b1}}, 1'b0}}} & 5'd5)) | ({5 {operand[31:24] == {{7 {1'b1}}, 1'b0}}} & 5'd6)) | ({5 {operand[31:23] == {{8 {1'b1}}, 1'b0}}} & 5'd7)) | ({5 {operand[31:22] == {{9 {1'b1}}, 1'b0}}} & 5'd8)) | ({5 {operand[31:21] == {{10 {1'b1}}, 1'b0}}} & 5'd9)) | ({5 {operand[31:20] == {{11 {1'b1}}, 1'b0}}} & 5'd10)) | ({5 {operand[31:19] == {{12 {1'b1}}, 1'b0}}} & 5'd11)) | ({5 {operand[31:18] == {{13 {1'b1}}, 1'b0}}} & 5'd12)) | ({5 {operand[31:17] == {{14 {1'b1}}, 1'b0}}} & 5'd13)) | ({5 {operand[31:16] == {{15 {1'b1}}, 1'b0}}} & 5'd14)) | ({5 {operand[31:15] == {{16 {1'b1}}, 1'b0}}} & 5'd15)) | ({5 {operand[31:14] == {{17 {1'b1}}, 1'b0}}} & 5'd16)) | ({5 {operand[31:13] == {{18 {1'b1}}, 1'b0}}} & 5'd17)) | ({5 {operand[31:12] == {{19 {1'b1}}, 1'b0}}} & 5'd18)) | ({5 {operand[31:11] == {{20 {1'b1}}, 1'b0}}} & 5'd19)) | ({5 {operand[31:10] == {{21 {1'b1}}, 1'b0}}} & 5'd20)) | ({5 {operand[31:9] == {{22 {1'b1}}, 1'b0}}} & 5'd21)) | ({5 {operand[31:8] == {{23 {1'b1}}, 1'b0}}} & 5'd22)) | ({5 {operand[31:7] == {{24 {1'b1}}, 1'b0}}} & 5'd23)) | ({5 {operand[31:6] == {{25 {1'b1}}, 1'b0}}} & 5'd24)) | ({5 {operand[31:5] == {{26 {1'b1}}, 1'b0}}} & 5'd25)) | ({5 {operand[31:4] == {{27 {1'b1}}, 1'b0}}} & 5'd26)) | ({5 {operand[31:3] == {{28 {1'b1}}, 1'b0}}} & 5'd27)) | ({5 {operand[31:2] == {{29 {1'b1}}, 1'b0}}} & 5'd28)) | ({5 {operand[31:1] == {{30 {1'b1}}, 1'b0}}} & 5'd29)) | ({5 {operand[31:0] == {{31 {1'b1}}, 1'b0}}} & 5'd30)) | ({5 {operand[31:0] == {32 {1'b1}}}} & 5'd31); - assign cls[4:0] = (operand[32] ? cls_ones[4:0] : cls_zeros[4:0]); -endmodule -module eb1_exu_mul_ctl ( - clk, - rst_l, - scan_mode, - mul_p, - rs1_in, - rs2_in, - result_x -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire [19:0] mul_p; - input wire [31:0] rs1_in; - input wire [31:0] rs2_in; - output wire [31:0] result_x; - wire mul_x_enable; - wire bit_x_enable; - wire signed [32:0] rs1_ext_in; - wire signed [32:0] rs2_ext_in; - wire [65:0] prod_x; - wire low_x; - wire bitmanip_sel_d; - wire bitmanip_sel_x; - wire [31:0] bitmanip_d; - wire [31:0] bitmanip_x; - wire ap_bext; - wire ap_bdep; - wire ap_clmul; - wire ap_clmulh; - wire ap_clmulr; - wire ap_grev; - wire ap_gorc; - wire ap_shfl; - wire ap_unshfl; - wire ap_crc32_b; - wire ap_crc32_h; - wire ap_crc32_w; - wire ap_crc32c_b; - wire ap_crc32c_h; - wire ap_crc32c_w; - wire ap_bfp; - generate - if (pt[2197-:5] == 1) begin - assign ap_bext = mul_p[15]; - assign ap_bdep = mul_p[14]; - end - else begin - assign ap_bext = 1'b0; - assign ap_bdep = 1'b0; - end - endgenerate - generate - if (pt[2202-:5] == 1) begin - assign ap_clmul = mul_p[13]; - assign ap_clmulh = mul_p[12]; - assign ap_clmulr = mul_p[11]; - end - else begin - assign ap_clmul = 1'b0; - assign ap_clmulh = 1'b0; - assign ap_clmulr = 1'b0; - end - endgenerate - generate - if (pt[2187-:5] == 1) begin - assign ap_grev = mul_p[10]; - assign ap_gorc = mul_p[9]; - assign ap_shfl = mul_p[8]; - assign ap_unshfl = mul_p[7]; - end - else begin - assign ap_grev = 1'b0; - assign ap_gorc = 1'b0; - assign ap_shfl = 1'b0; - assign ap_unshfl = 1'b0; - end - endgenerate - generate - if (pt[2182-:5] == 1) begin - assign ap_crc32_b = mul_p[6]; - assign ap_crc32_h = mul_p[5]; - assign ap_crc32_w = mul_p[4]; - assign ap_crc32c_b = mul_p[3]; - assign ap_crc32c_h = mul_p[2]; - assign ap_crc32c_w = mul_p[1]; - end - else begin - assign ap_crc32_b = 1'b0; - assign ap_crc32_h = 1'b0; - assign ap_crc32_w = 1'b0; - assign ap_crc32c_b = 1'b0; - assign ap_crc32c_h = 1'b0; - assign ap_crc32c_w = 1'b0; - end - endgenerate - generate - if (pt[2192-:5] == 1) begin - assign ap_bfp = mul_p[0]; - end - else assign ap_bfp = 1'b0; - endgenerate - assign mul_x_enable = mul_p[19]; - assign bit_x_enable = mul_p[19]; - assign rs1_ext_in[32] = mul_p[18] & rs1_in[31]; - assign rs2_ext_in[32] = mul_p[17] & rs2_in[31]; - assign rs1_ext_in[31:0] = rs1_in[31:0]; - assign rs2_ext_in[31:0] = rs2_in[31:0]; - wire signed [32:0] rs1_x; - wire signed [32:0] rs2_x; - rvdffe #(.WIDTH(34)) i_a_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .din({mul_p[16], rs1_ext_in[32:0]}), - .dout({low_x, rs1_x[32:0]}), - .en(mul_x_enable) - ); - rvdffe #(.WIDTH(33)) i_b_x_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .din(rs2_ext_in[32:0]), - .dout(rs2_x[32:0]), - .en(mul_x_enable) - ); - assign prod_x[65:0] = rs1_x * rs2_x; - reg [31:0] bext_d; - reg bext_test_bit_d; - integer bext_i; - integer bext_j; - always @(*) begin - bext_j = 0; - bext_test_bit_d = 1'b0; - bext_d[31:0] = 32'b00000000000000000000000000000000; - for (bext_i = 0; bext_i < 32; bext_i = bext_i + 1) - begin - bext_test_bit_d = rs2_in[bext_i]; - if (bext_test_bit_d) begin - bext_d[bext_j] = rs1_in[bext_i]; - bext_j = bext_j + 1; - end - end - end - reg [31:0] bdep_d; - reg bdep_test_bit_d; - integer bdep_i; - integer bdep_j; - always @(*) begin - bdep_j = 0; - bdep_test_bit_d = 1'b0; - bdep_d[31:0] = 32'b00000000000000000000000000000000; - for (bdep_i = 0; bdep_i < 32; bdep_i = bdep_i + 1) - begin - bdep_test_bit_d = rs2_in[bdep_i]; - if (bdep_test_bit_d) begin - bdep_d[bdep_i] = rs1_in[bdep_j]; - bdep_j = bdep_j + 1; - end - end - end - wire [62:0] clmul_raw_d; - assign clmul_raw_d[62:0] = ((((((((((((((((((((((((((((((({63 {rs2_in[0]}} & {31'b0000000000000000000000000000000, rs1_in[31:0]}) ^ ({63 {rs2_in[1]}} & {30'b000000000000000000000000000000, rs1_in[31:0], 1'b0})) ^ ({63 {rs2_in[2]}} & {29'b00000000000000000000000000000, rs1_in[31:0], 2'b00})) ^ ({63 {rs2_in[3]}} & {28'b0000000000000000000000000000, rs1_in[31:0], 3'b000})) ^ ({63 {rs2_in[4]}} & {27'b000000000000000000000000000, rs1_in[31:0], 4'b0000})) ^ ({63 {rs2_in[5]}} & {26'b00000000000000000000000000, rs1_in[31:0], 5'b00000})) ^ ({63 {rs2_in[6]}} & {25'b0000000000000000000000000, rs1_in[31:0], 6'b000000})) ^ ({63 {rs2_in[7]}} & {24'b000000000000000000000000, rs1_in[31:0], 7'b0000000})) ^ ({63 {rs2_in[8]}} & {23'b00000000000000000000000, rs1_in[31:0], 8'b00000000})) ^ ({63 {rs2_in[9]}} & {22'b0000000000000000000000, rs1_in[31:0], 9'b000000000})) ^ ({63 {rs2_in[10]}} & {21'b000000000000000000000, rs1_in[31:0], 10'b0000000000})) ^ ({63 {rs2_in[11]}} & {20'b00000000000000000000, rs1_in[31:0], 11'b00000000000})) ^ ({63 {rs2_in[12]}} & {19'b0000000000000000000, rs1_in[31:0], 12'b000000000000})) ^ ({63 {rs2_in[13]}} & {18'b000000000000000000, rs1_in[31:0], 13'b0000000000000})) ^ ({63 {rs2_in[14]}} & {17'b00000000000000000, rs1_in[31:0], 14'b00000000000000})) ^ ({63 {rs2_in[15]}} & {16'b0000000000000000, rs1_in[31:0], 15'b000000000000000})) ^ ({63 {rs2_in[16]}} & {15'b000000000000000, rs1_in[31:0], 16'b0000000000000000})) ^ ({63 {rs2_in[17]}} & {14'b00000000000000, rs1_in[31:0], 17'b00000000000000000})) ^ ({63 {rs2_in[18]}} & {13'b0000000000000, rs1_in[31:0], 18'b000000000000000000})) ^ ({63 {rs2_in[19]}} & {12'b000000000000, rs1_in[31:0], 19'b0000000000000000000})) ^ ({63 {rs2_in[20]}} & {11'b00000000000, rs1_in[31:0], 20'b00000000000000000000})) ^ ({63 {rs2_in[21]}} & {10'b0000000000, rs1_in[31:0], 21'b000000000000000000000})) ^ ({63 {rs2_in[22]}} & {9'b000000000, rs1_in[31:0], 22'b0000000000000000000000})) ^ ({63 {rs2_in[23]}} & {8'b00000000, rs1_in[31:0], 23'b00000000000000000000000})) ^ ({63 {rs2_in[24]}} & {7'b0000000, rs1_in[31:0], 24'b000000000000000000000000})) ^ ({63 {rs2_in[25]}} & {6'b000000, rs1_in[31:0], 25'b0000000000000000000000000})) ^ ({63 {rs2_in[26]}} & {5'b00000, rs1_in[31:0], 26'b00000000000000000000000000})) ^ ({63 {rs2_in[27]}} & {4'b0000, rs1_in[31:0], 27'b000000000000000000000000000})) ^ ({63 {rs2_in[28]}} & {3'b000, rs1_in[31:0], 28'b0000000000000000000000000000})) ^ ({63 {rs2_in[29]}} & {2'b00, rs1_in[31:0], 29'b00000000000000000000000000000})) ^ ({63 {rs2_in[30]}} & {1'b0, rs1_in[31:0], 30'b000000000000000000000000000000})) ^ ({63 {rs2_in[31]}} & {rs1_in[31:0], 31'b0000000000000000000000000000000}); - wire [31:0] grev1_d; - wire [31:0] grev2_d; - wire [31:0] grev4_d; - wire [31:0] grev8_d; - wire [31:0] grev_d; - assign grev1_d[31:0] = (rs2_in[0] ? {rs1_in[30], rs1_in[31], rs1_in[28], rs1_in[29], rs1_in[26], rs1_in[27], rs1_in[24], rs1_in[25], rs1_in[22], rs1_in[23], rs1_in[20], rs1_in[21], rs1_in[18], rs1_in[19], rs1_in[16], rs1_in[17], rs1_in[14], rs1_in[15], rs1_in[12], rs1_in[13], rs1_in[10], rs1_in[11], rs1_in[8], rs1_in[9], rs1_in[6], rs1_in[7], rs1_in[4], rs1_in[5], rs1_in[2], rs1_in[3], rs1_in[0], rs1_in[1]} : rs1_in[31:0]); - assign grev2_d[31:0] = (rs2_in[1] ? {grev1_d[29:28], grev1_d[31:30], grev1_d[25:24], grev1_d[27:26], grev1_d[21:20], grev1_d[23:22], grev1_d[17:16], grev1_d[19:18], grev1_d[13:12], grev1_d[15:14], grev1_d[9:8], grev1_d[11:10], grev1_d[5:4], grev1_d[7:6], grev1_d[1:0], grev1_d[3:2]} : grev1_d[31:0]); - assign grev4_d[31:0] = (rs2_in[2] ? {grev2_d[27:24], grev2_d[31:28], grev2_d[19:16], grev2_d[23:20], grev2_d[11:8], grev2_d[15:12], grev2_d[3:0], grev2_d[7:4]} : grev2_d[31:0]); - assign grev8_d[31:0] = (rs2_in[3] ? {grev4_d[23:16], grev4_d[31:24], grev4_d[7:0], grev4_d[15:8]} : grev4_d[31:0]); - assign grev_d[31:0] = (rs2_in[4] ? {grev8_d[15:0], grev8_d[31:16]} : grev8_d[31:0]); - wire [31:0] gorc1_d; - wire [31:0] gorc2_d; - wire [31:0] gorc4_d; - wire [31:0] gorc8_d; - wire [31:0] gorc_d; - assign gorc1_d[31:0] = ({32 {rs2_in[0]}} & {rs1_in[30], rs1_in[31], rs1_in[28], rs1_in[29], rs1_in[26], rs1_in[27], rs1_in[24], rs1_in[25], rs1_in[22], rs1_in[23], rs1_in[20], rs1_in[21], rs1_in[18], rs1_in[19], rs1_in[16], rs1_in[17], rs1_in[14], rs1_in[15], rs1_in[12], rs1_in[13], rs1_in[10], rs1_in[11], rs1_in[8], rs1_in[9], rs1_in[6], rs1_in[7], rs1_in[4], rs1_in[5], rs1_in[2], rs1_in[3], rs1_in[0], rs1_in[1]}) | rs1_in[31:0]; - assign gorc2_d[31:0] = ({32 {rs2_in[1]}} & {gorc1_d[29:28], gorc1_d[31:30], gorc1_d[25:24], gorc1_d[27:26], gorc1_d[21:20], gorc1_d[23:22], gorc1_d[17:16], gorc1_d[19:18], gorc1_d[13:12], gorc1_d[15:14], gorc1_d[9:8], gorc1_d[11:10], gorc1_d[5:4], gorc1_d[7:6], gorc1_d[1:0], gorc1_d[3:2]}) | gorc1_d[31:0]; - assign gorc4_d[31:0] = ({32 {rs2_in[2]}} & {gorc2_d[27:24], gorc2_d[31:28], gorc2_d[19:16], gorc2_d[23:20], gorc2_d[11:8], gorc2_d[15:12], gorc2_d[3:0], gorc2_d[7:4]}) | gorc2_d[31:0]; - assign gorc8_d[31:0] = ({32 {rs2_in[3]}} & {gorc4_d[23:16], gorc4_d[31:24], gorc4_d[7:0], gorc4_d[15:8]}) | gorc4_d[31:0]; - assign gorc_d[31:0] = ({32 {rs2_in[4]}} & {gorc8_d[15:0], gorc8_d[31:16]}) | gorc8_d[31:0]; - wire [31:0] shfl8_d; - wire [31:0] shfl4_d; - wire [31:0] shfl2_d; - wire [31:0] shfl_d; - assign shfl8_d[31:0] = (rs2_in[3] ? {rs1_in[31:24], rs1_in[15:8], rs1_in[23:16], rs1_in[7:0]} : rs1_in[31:0]); - assign shfl4_d[31:0] = (rs2_in[2] ? {shfl8_d[31:28], shfl8_d[23:20], shfl8_d[27:24], shfl8_d[19:16], shfl8_d[15:12], shfl8_d[7:4], shfl8_d[11:8], shfl8_d[3:0]} : shfl8_d[31:0]); - assign shfl2_d[31:0] = (rs2_in[1] ? {shfl4_d[31:30], shfl4_d[27:26], shfl4_d[29:28], shfl4_d[25:24], shfl4_d[23:22], shfl4_d[19:18], shfl4_d[21:20], shfl4_d[17:16], shfl4_d[15:14], shfl4_d[11:10], shfl4_d[13:12], shfl4_d[9:8], shfl4_d[7:6], shfl4_d[3:2], shfl4_d[5:4], shfl4_d[1:0]} : shfl4_d[31:0]); - assign shfl_d[31:0] = (rs2_in[0] ? {shfl2_d[31], shfl2_d[29], shfl2_d[30], shfl2_d[28], shfl2_d[27], shfl2_d[25], shfl2_d[26], shfl2_d[24], shfl2_d[23], shfl2_d[21], shfl2_d[22], shfl2_d[20], shfl2_d[19], shfl2_d[17], shfl2_d[18], shfl2_d[16], shfl2_d[15], shfl2_d[13], shfl2_d[14], shfl2_d[12], shfl2_d[11], shfl2_d[9], shfl2_d[10], shfl2_d[8], shfl2_d[7], shfl2_d[5], shfl2_d[6], shfl2_d[4], shfl2_d[3], shfl2_d[1], shfl2_d[2], shfl2_d[0]} : shfl2_d[31:0]); - wire [31:0] unshfl1_d; - wire [31:0] unshfl2_d; - wire [31:0] unshfl4_d; - wire [31:0] unshfl_d; - assign unshfl1_d[31:0] = (rs2_in[0] ? {rs1_in[31], rs1_in[29], rs1_in[30], rs1_in[28], rs1_in[27], rs1_in[25], rs1_in[26], rs1_in[24], rs1_in[23], rs1_in[21], rs1_in[22], rs1_in[20], rs1_in[19], rs1_in[17], rs1_in[18], rs1_in[16], rs1_in[15], rs1_in[13], rs1_in[14], rs1_in[12], rs1_in[11], rs1_in[9], rs1_in[10], rs1_in[8], rs1_in[7], rs1_in[5], rs1_in[6], rs1_in[4], rs1_in[3], rs1_in[1], rs1_in[2], rs1_in[0]} : rs1_in[31:0]); - assign unshfl2_d[31:0] = (rs2_in[1] ? {unshfl1_d[31:30], unshfl1_d[27:26], unshfl1_d[29:28], unshfl1_d[25:24], unshfl1_d[23:22], unshfl1_d[19:18], unshfl1_d[21:20], unshfl1_d[17:16], unshfl1_d[15:14], unshfl1_d[11:10], unshfl1_d[13:12], unshfl1_d[9:8], unshfl1_d[7:6], unshfl1_d[3:2], unshfl1_d[5:4], unshfl1_d[1:0]} : unshfl1_d[31:0]); - assign unshfl4_d[31:0] = (rs2_in[2] ? {unshfl2_d[31:28], unshfl2_d[23:20], unshfl2_d[27:24], unshfl2_d[19:16], unshfl2_d[15:12], unshfl2_d[7:4], unshfl2_d[11:8], unshfl2_d[3:0]} : unshfl2_d[31:0]); - assign unshfl_d[31:0] = (rs2_in[3] ? {unshfl4_d[31:24], unshfl4_d[15:8], unshfl4_d[23:16], unshfl4_d[7:0]} : unshfl4_d[31:0]); - wire crc32_all; - wire [31:0] crc32_poly_rev; - wire [31:0] crc32c_poly_rev; - integer crc32_bi; - integer crc32_hi; - integer crc32_wi; - integer crc32c_bi; - integer crc32c_hi; - integer crc32c_wi; - reg [31:0] crc32_bd; - reg [31:0] crc32_hd; - reg [31:0] crc32_wd; - reg [31:0] crc32c_bd; - reg [31:0] crc32c_hd; - reg [31:0] crc32c_wd; - assign crc32_all = ((((ap_crc32_b | ap_crc32_h) | ap_crc32_w) | ap_crc32c_b) | ap_crc32c_h) | ap_crc32c_w; - assign crc32_poly_rev[31:0] = 32'hedb88320; - assign crc32c_poly_rev[31:0] = 32'h82f63b78; - always @(*) begin - crc32_bd[31:0] = rs1_in[31:0]; - for (crc32_bi = 0; crc32_bi < 8; crc32_bi = crc32_bi + 1) - crc32_bd[31:0] = (crc32_bd[31:0] >> 1) ^ (crc32_poly_rev[31:0] & {32 {crc32_bd[0]}}); - end - always @(*) begin - crc32_hd[31:0] = rs1_in[31:0]; - for (crc32_hi = 0; crc32_hi < 16; crc32_hi = crc32_hi + 1) - crc32_hd[31:0] = (crc32_hd[31:0] >> 1) ^ (crc32_poly_rev[31:0] & {32 {crc32_hd[0]}}); - end - always @(*) begin - crc32_wd[31:0] = rs1_in[31:0]; - for (crc32_wi = 0; crc32_wi < 32; crc32_wi = crc32_wi + 1) - crc32_wd[31:0] = (crc32_wd[31:0] >> 1) ^ (crc32_poly_rev[31:0] & {32 {crc32_wd[0]}}); - end - always @(*) begin - crc32c_bd[31:0] = rs1_in[31:0]; - for (crc32c_bi = 0; crc32c_bi < 8; crc32c_bi = crc32c_bi + 1) - crc32c_bd[31:0] = (crc32c_bd[31:0] >> 1) ^ (crc32c_poly_rev[31:0] & {32 {crc32c_bd[0]}}); - end - always @(*) begin - crc32c_hd[31:0] = rs1_in[31:0]; - for (crc32c_hi = 0; crc32c_hi < 16; crc32c_hi = crc32c_hi + 1) - crc32c_hd[31:0] = (crc32c_hd[31:0] >> 1) ^ (crc32c_poly_rev[31:0] & {32 {crc32c_hd[0]}}); - end - always @(*) begin - crc32c_wd[31:0] = rs1_in[31:0]; - for (crc32c_wi = 0; crc32c_wi < 32; crc32c_wi = crc32c_wi + 1) - crc32c_wd[31:0] = (crc32c_wd[31:0] >> 1) ^ (crc32c_poly_rev[31:0] & {32 {crc32c_wd[0]}}); - end - wire [4:0] bfp_len; - wire [4:0] bfp_off; - wire [31:0] bfp_len_mask_; - wire [15:0] bfp_preshift_data; - wire [63:0] bfp_shift_data; - wire [63:0] bfp_shift_mask; - wire [31:0] bfp_result_d; - assign bfp_len[3:0] = rs2_in[27:24]; - assign bfp_len[4] = bfp_len[3:0] == 4'b0000; - assign bfp_off[4:0] = rs2_in[20:16]; - assign bfp_len_mask_[31:0] = 32'hffffffff << bfp_len[4:0]; - assign bfp_preshift_data[15:0] = rs2_in[15:0] & ~bfp_len_mask_[15:0]; - assign bfp_shift_data[63:0] = {16'b0000000000000000, bfp_preshift_data[15:0], 16'b0000000000000000, bfp_preshift_data[15:0]} << bfp_off[4:0]; - assign bfp_shift_mask[63:0] = {bfp_len_mask_[31:0], bfp_len_mask_[31:0]} << bfp_off[4:0]; - assign bfp_result_d[31:0] = bfp_shift_data[63:32] | (rs1_in[31:0] & bfp_shift_mask[63:32]); - assign bitmanip_sel_d = (((((((((ap_bext | ap_bdep) | ap_clmul) | ap_clmulh) | ap_clmulr) | ap_grev) | ap_gorc) | ap_shfl) | ap_unshfl) | crc32_all) | ap_bfp; - assign bitmanip_d[31:0] = ((((((((((((((({32 {ap_bext}} & bext_d[31:0]) | ({32 {ap_bdep}} & bdep_d[31:0])) | ({32 {ap_clmul}} & clmul_raw_d[31:0])) | ({32 {ap_clmulh}} & {1'b0, clmul_raw_d[62:32]})) | ({32 {ap_clmulr}} & clmul_raw_d[62:31])) | ({32 {ap_grev}} & grev_d[31:0])) | ({32 {ap_gorc}} & gorc_d[31:0])) | ({32 {ap_shfl}} & shfl_d[31:0])) | ({32 {ap_unshfl}} & unshfl_d[31:0])) | ({32 {ap_crc32_b}} & crc32_bd[31:0])) | ({32 {ap_crc32_h}} & crc32_hd[31:0])) | ({32 {ap_crc32_w}} & crc32_wd[31:0])) | ({32 {ap_crc32c_b}} & crc32c_bd[31:0])) | ({32 {ap_crc32c_h}} & crc32c_hd[31:0])) | ({32 {ap_crc32c_w}} & crc32c_wd[31:0])) | ({32 {ap_bfp}} & bfp_result_d[31:0]); - rvdffe #(.WIDTH(33)) i_bitmanip_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .din({bitmanip_sel_d, bitmanip_d[31:0]}), - .dout({bitmanip_sel_x, bitmanip_x[31:0]}), - .en(bit_x_enable) - ); - assign result_x[31:0] = (({32 {~bitmanip_sel_x & ~low_x}} & prod_x[63:32]) | ({32 {~bitmanip_sel_x & low_x}} & prod_x[31:0])) | bitmanip_x[31:0]; -endmodule -module eb1_ifu ( - free_l2clk, - active_clk, - clk, - rst_l, - dec_i0_decode_d, - exu_flush_final, - dec_tlu_i0_commit_cmt, - dec_tlu_flush_err_wb, - dec_tlu_flush_noredir_wb, - exu_flush_path_final, - dec_tlu_mrac_ff, - dec_tlu_fence_i_wb, - dec_tlu_flush_leak_one_wb, - dec_tlu_bpred_disable, - dec_tlu_core_ecc_disable, - dec_tlu_force_halt, - ifu_axi_awvalid, - ifu_axi_awid, - ifu_axi_awaddr, - ifu_axi_awregion, - ifu_axi_awlen, - ifu_axi_awsize, - ifu_axi_awburst, - ifu_axi_awlock, - ifu_axi_awcache, - ifu_axi_awprot, - ifu_axi_awqos, - ifu_axi_wvalid, - ifu_axi_wdata, - ifu_axi_wstrb, - ifu_axi_wlast, - ifu_axi_bready, - ifu_axi_arvalid, - ifu_axi_arready, - ifu_axi_arid, - ifu_axi_araddr, - ifu_axi_arregion, - ifu_axi_arlen, - ifu_axi_arsize, - ifu_axi_arburst, - ifu_axi_arlock, - ifu_axi_arcache, - ifu_axi_arprot, - ifu_axi_arqos, - ifu_axi_rvalid, - ifu_axi_rready, - ifu_axi_rid, - ifu_axi_rdata, - ifu_axi_rresp, - ifu_bus_clk_en, - dma_iccm_req, - dma_mem_addr, - dma_mem_sz, - dma_mem_write, - dma_mem_wdata, - dma_mem_tag, - dma_iccm_stall_any, - iccm_dma_ecc_error, - iccm_dma_rvalid, - iccm_dma_rdata, - iccm_dma_rtag, - iccm_ready, - ifu_pmu_instr_aligned, - ifu_pmu_fetch_stall, - ifu_ic_error_start, - ic_rw_addr, - ic_wr_en, - ic_rd_en, - ic_wr_data, - ic_rd_data, - ic_debug_rd_data, - ictag_debug_rd_data, - ic_debug_wr_data, - ifu_ic_debug_rd_data, - ic_eccerr, - ic_parerr, - ic_premux_data, - ic_sel_premux_data, - ic_debug_addr, - ic_debug_rd_en, - ic_debug_wr_en, - ic_debug_tag_array, - ic_debug_way, - ic_tag_valid, - ic_rd_hit, - ic_tag_perr, - iccm_rw_addr, - iccm_wren, - iccm_rden, - iccm_wr_data, - iccm_wr_size, - iccm_rd_data, - iccm_rd_data_ecc, - ifu_iccm_rd_ecc_single_err, - ifu_pmu_ic_miss, - ifu_pmu_ic_hit, - ifu_pmu_bus_error, - ifu_pmu_bus_busy, - ifu_pmu_bus_trxn, - ifu_i0_icaf, - ifu_i0_icaf_type, - ifu_i0_valid, - ifu_i0_icaf_second, - ifu_i0_dbecc, - iccm_dma_sb_error, - ifu_i0_instr, - ifu_i0_pc, - ifu_i0_pc4, - ifu_miss_state_idle, - i0_brp, - ifu_i0_bp_index, - ifu_i0_bp_fghr, - ifu_i0_bp_btag, - ifu_i0_fa_index, - exu_mp_pkt, - exu_mp_eghr, - exu_mp_fghr, - exu_mp_index, - exu_mp_btag, - dec_tlu_br0_r_pkt, - exu_i0_br_fghr_r, - exu_i0_br_index_r, - dec_fa_error_index, - dec_tlu_flush_lower_wb, - ifu_i0_cinst, - dec_tlu_ic_diag_pkt, - ifu_ic_debug_rd_data_valid, - iccm_buf_correct_ecc, - iccm_correction_state, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire free_l2clk; - input wire active_clk; - input wire clk; - input wire rst_l; - input wire dec_i0_decode_d; - input wire exu_flush_final; - input wire dec_tlu_i0_commit_cmt; - input wire dec_tlu_flush_err_wb; - input wire dec_tlu_flush_noredir_wb; - input wire [31:1] exu_flush_path_final; - input wire [31:0] dec_tlu_mrac_ff; - input wire dec_tlu_fence_i_wb; - input wire dec_tlu_flush_leak_one_wb; - input wire dec_tlu_bpred_disable; - input wire dec_tlu_core_ecc_disable; - input wire dec_tlu_force_halt; - output wire ifu_axi_awvalid; - output wire [pt[826-:8] - 1:0] ifu_axi_awid; - output wire [31:0] ifu_axi_awaddr; - output wire [3:0] ifu_axi_awregion; - output wire [7:0] ifu_axi_awlen; - output wire [2:0] ifu_axi_awsize; - output wire [1:0] ifu_axi_awburst; - output wire ifu_axi_awlock; - output wire [3:0] ifu_axi_awcache; - output wire [2:0] ifu_axi_awprot; - output wire [3:0] ifu_axi_awqos; - output wire ifu_axi_wvalid; - output wire [63:0] ifu_axi_wdata; - output wire [7:0] ifu_axi_wstrb; - output wire ifu_axi_wlast; - output wire ifu_axi_bready; - output wire ifu_axi_arvalid; - input wire ifu_axi_arready; - output wire [pt[826-:8] - 1:0] ifu_axi_arid; - output wire [31:0] ifu_axi_araddr; - output wire [3:0] ifu_axi_arregion; - output wire [7:0] ifu_axi_arlen; - output wire [2:0] ifu_axi_arsize; - output wire [1:0] ifu_axi_arburst; - output wire ifu_axi_arlock; - output wire [3:0] ifu_axi_arcache; - output wire [2:0] ifu_axi_arprot; - output wire [3:0] ifu_axi_arqos; - input wire ifu_axi_rvalid; - output wire ifu_axi_rready; - input wire [pt[826-:8] - 1:0] ifu_axi_rid; - input wire [63:0] ifu_axi_rdata; - input wire [1:0] ifu_axi_rresp; - input wire ifu_bus_clk_en; - input wire dma_iccm_req; - input wire [31:0] dma_mem_addr; - input wire [2:0] dma_mem_sz; - input wire dma_mem_write; - input wire [63:0] dma_mem_wdata; - input wire [2:0] dma_mem_tag; - input wire dma_iccm_stall_any; - output wire iccm_dma_ecc_error; - output wire iccm_dma_rvalid; - output wire [63:0] iccm_dma_rdata; - output wire [2:0] iccm_dma_rtag; - output wire iccm_ready; - output wire ifu_pmu_instr_aligned; - output wire ifu_pmu_fetch_stall; - output wire ifu_ic_error_start; - output wire [31:1] ic_rw_addr; - output wire [pt[1060-:7] - 1:0] ic_wr_en; - output wire ic_rd_en; - output wire [(pt[1189-:7] * 71) - 1:0] ic_wr_data; - input wire [63:0] ic_rd_data; - input wire [70:0] ic_debug_rd_data; - input wire [25:0] ictag_debug_rd_data; - output wire [70:0] ic_debug_wr_data; - output wire [70:0] ifu_ic_debug_rd_data; - input wire [pt[1189-:7] - 1:0] ic_eccerr; - input wire [pt[1189-:7] - 1:0] ic_parerr; - output wire [63:0] ic_premux_data; - output wire ic_sel_premux_data; - output wire [pt[1104-:9]:3] ic_debug_addr; - output wire ic_debug_rd_en; - output wire ic_debug_wr_en; - output wire ic_debug_tag_array; - output wire [pt[1060-:7] - 1:0] ic_debug_way; - output wire [pt[1060-:7] - 1:0] ic_tag_valid; - input wire [pt[1060-:7] - 1:0] ic_rd_hit; - input wire ic_tag_perr; - output wire [pt[936-:9] - 1:1] iccm_rw_addr; - output wire iccm_wren; - output wire iccm_rden; - output wire [77:0] iccm_wr_data; - output wire [2:0] iccm_wr_size; - input wire [63:0] iccm_rd_data; - input wire [77:0] iccm_rd_data_ecc; - output wire ifu_iccm_rd_ecc_single_err; - output wire ifu_pmu_ic_miss; - output wire ifu_pmu_ic_hit; - output wire ifu_pmu_bus_error; - output wire ifu_pmu_bus_busy; - output wire ifu_pmu_bus_trxn; - output wire ifu_i0_icaf; - output wire [1:0] ifu_i0_icaf_type; - output wire ifu_i0_valid; - output wire ifu_i0_icaf_second; - output wire ifu_i0_dbecc; - output wire iccm_dma_sb_error; - output wire [31:0] ifu_i0_instr; - output wire [31:1] ifu_i0_pc; - output wire ifu_i0_pc4; - output wire ifu_miss_state_idle; - output wire [50:0] i0_brp; - output wire [pt[2172-:9]:pt[2163-:6]] ifu_i0_bp_index; - output wire [pt[2236-:8] - 1:0] ifu_i0_bp_fghr; - output wire [pt[2139-:9] - 1:0] ifu_i0_bp_btag; - output wire [$clog2(pt[2061-:14]) - 1:0] ifu_i0_fa_index; - input wire [55:0] exu_mp_pkt; - input wire [pt[2236-:8] - 1:0] exu_mp_eghr; - input wire [pt[2236-:8] - 1:0] exu_mp_fghr; - input wire [pt[2172-:9]:pt[2163-:6]] exu_mp_index; - input wire [pt[2139-:9] - 1:0] exu_mp_btag; - input wire [6:0] dec_tlu_br0_r_pkt; - input wire [pt[2236-:8] - 1:0] exu_i0_br_fghr_r; - input wire [pt[2172-:9]:pt[2163-:6]] exu_i0_br_index_r; - input wire [$clog2(pt[2061-:14]) - 1:0] dec_fa_error_index; - input dec_tlu_flush_lower_wb; - output wire [15:0] ifu_i0_cinst; - input wire [89:0] dec_tlu_ic_diag_pkt; - output wire ifu_ic_debug_rd_data_valid; - output wire iccm_buf_correct_ecc; - output wire iccm_correction_state; - input wire scan_mode; - localparam TAGWIDTH = 2; - localparam IDWIDTH = 2; - wire ifu_fb_consume1; - wire ifu_fb_consume2; - wire [31:1] ifc_fetch_addr_f; - wire [31:1] ifc_fetch_addr_bf; - wire [1:0] ifu_fetch_val; - wire [31:1] ifu_fetch_pc; - wire iccm_rd_ecc_single_err; - wire ic_error_start; - assign ifu_iccm_rd_ecc_single_err = iccm_rd_ecc_single_err; - assign ifu_ic_error_start = ic_error_start; - wire ic_write_stall; - wire ic_dma_active; - wire ifc_dma_access_ok; - wire [1:0] ic_access_fault_f; - wire [1:0] ic_access_fault_type_f; - wire ifu_ic_mb_empty; - wire ic_hit_f; - wire [1:0] ifu_bp_way_f; - wire ifu_bp_hit_taken_f; - wire [31:1] ifu_bp_btb_target_f; - wire ifu_bp_inst_mask_f; - wire [1:0] ifu_bp_hist1_f; - wire [1:0] ifu_bp_hist0_f; - wire [11:0] ifu_bp_poffset_f; - wire [1:0] ifu_bp_ret_f; - wire [1:0] ifu_bp_pc4_f; - wire [1:0] ifu_bp_valid_f; - wire [pt[2236-:8] - 1:0] ifu_bp_fghr_f; - wire [(2 * $clog2(pt[2061-:14])) - 1:0] ifu_bp_fa_index_f; - wire ifc_fetch_req_bf; - wire ifc_fetch_req_bf_raw; - wire ifc_fetch_req_f; - wire ifc_fetch_uncacheable_bf; - wire ifc_iccm_access_bf; - wire ifc_region_acc_fault_bf; - eb1_ifu_ifc_ctl #(.pt(pt)) ifc( - .clk(clk), - .free_l2clk(free_l2clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .ic_hit_f(ic_hit_f), - .ifu_ic_mb_empty(ifu_ic_mb_empty), - .ifu_fb_consume1(ifu_fb_consume1), - .ifu_fb_consume2(ifu_fb_consume2), - .dec_tlu_flush_noredir_wb(dec_tlu_flush_noredir_wb), - .exu_flush_final(exu_flush_final), - .exu_flush_path_final(exu_flush_path_final), - .ifu_bp_hit_taken_f(ifu_bp_hit_taken_f), - .ifu_bp_btb_target_f(ifu_bp_btb_target_f), - .ic_dma_active(ic_dma_active), - .ic_write_stall(ic_write_stall), - .dma_iccm_stall_any(dma_iccm_stall_any), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .ifc_fetch_addr_f(ifc_fetch_addr_f), - .ifc_fetch_addr_bf(ifc_fetch_addr_bf), - .ifc_fetch_req_f(ifc_fetch_req_f), - .ifu_pmu_fetch_stall(ifu_pmu_fetch_stall), - .ifc_fetch_uncacheable_bf(ifc_fetch_uncacheable_bf), - .ifc_fetch_req_bf(ifc_fetch_req_bf), - .ifc_fetch_req_bf_raw(ifc_fetch_req_bf_raw), - .ifc_iccm_access_bf(ifc_iccm_access_bf), - .ifc_region_acc_fault_bf(ifc_region_acc_fault_bf), - .ifc_dma_access_ok(ifc_dma_access_ok) - ); - generate - if (pt[2130-:5] == 1) begin : bpred - eb1_ifu_bp_ctl #(.pt(pt)) bp( - .clk(clk), - .rst_l(rst_l), - .ic_hit_f(ic_hit_f), - .ifc_fetch_addr_f(ifc_fetch_addr_f), - .ifc_fetch_req_f(ifc_fetch_req_f), - .dec_tlu_br0_r_pkt(dec_tlu_br0_r_pkt), - .exu_i0_br_fghr_r(exu_i0_br_fghr_r), - .exu_i0_br_index_r(exu_i0_br_index_r), - .dec_fa_error_index(dec_fa_error_index), - .dec_tlu_flush_lower_wb(dec_tlu_flush_lower_wb), - .dec_tlu_flush_leak_one_wb(dec_tlu_flush_leak_one_wb), - .dec_tlu_bpred_disable(dec_tlu_bpred_disable), - .exu_mp_pkt(exu_mp_pkt), - .exu_mp_eghr(exu_mp_eghr), - .exu_mp_fghr(exu_mp_fghr), - .exu_mp_index(exu_mp_index), - .exu_mp_btag(exu_mp_btag), - .exu_flush_final(exu_flush_final), - .ifu_bp_hit_taken_f(ifu_bp_hit_taken_f), - .ifu_bp_btb_target_f(ifu_bp_btb_target_f), - .ifu_bp_inst_mask_f(ifu_bp_inst_mask_f), - .ifu_bp_fghr_f(ifu_bp_fghr_f), - .ifu_bp_way_f(ifu_bp_way_f), - .ifu_bp_ret_f(ifu_bp_ret_f), - .ifu_bp_hist1_f(ifu_bp_hist1_f), - .ifu_bp_hist0_f(ifu_bp_hist0_f), - .ifu_bp_pc4_f(ifu_bp_pc4_f), - .ifu_bp_valid_f(ifu_bp_valid_f), - .ifu_bp_poffset_f(ifu_bp_poffset_f), - .ifu_bp_fa_index_f(ifu_bp_fa_index_f), - .scan_mode(scan_mode) - ); - end - else begin : bpred - assign ifu_bp_hit_taken_f = 1'b0; - wire btb_wr_en_way0; - wire btb_wr_en_way1; - wire dec_tlu_error_wb; - wire [16 + pt[2139-:9]:0] btb_wr_data; - assign btb_wr_en_way0 = 1'b0; - assign btb_wr_en_way1 = 1'b0; - assign btb_wr_data = {((16 + pt[2139-:9]) >= 0 ? (16 + pt[2139-:9]) + 1 : 1 - (16 + pt[2139-:9])) {1'sb0}}; - assign dec_tlu_error_wb = 1'b0; - assign ifu_bp_inst_mask_f = 1'b1; - end - endgenerate - wire [1:0] ic_fetch_val_f; - wire [31:0] ic_data_f; - wire [31:0] ifu_fetch_data_f; - wire ifc_fetch_req_f_raw; - wire [1:0] iccm_rd_ecc_double_err; - wire ifu_async_error_start; - assign ifu_fetch_data_f[31:0] = ic_data_f[31:0]; - assign ifu_fetch_val[1:0] = ic_fetch_val_f[1:0]; - assign ifu_fetch_pc[31:1] = ifc_fetch_addr_f[31:1]; - eb1_ifu_aln_ctl #(.pt(pt)) aln( - .scan_mode(scan_mode), - .rst_l(rst_l), - .clk(clk), - .active_clk(active_clk), - .ifu_async_error_start(ifu_async_error_start), - .iccm_rd_ecc_double_err(iccm_rd_ecc_double_err), - .ic_access_fault_f(ic_access_fault_f), - .ic_access_fault_type_f(ic_access_fault_type_f), - .exu_flush_final(exu_flush_final), - .dec_i0_decode_d(dec_i0_decode_d), - .ifu_fetch_data_f(ifu_fetch_data_f), - .ifu_fetch_val(ifu_fetch_val), - .ifu_fetch_pc(ifu_fetch_pc), - .ifu_i0_valid(ifu_i0_valid), - .ifu_i0_icaf(ifu_i0_icaf), - .ifu_i0_icaf_type(ifu_i0_icaf_type), - .ifu_i0_icaf_second(ifu_i0_icaf_second), - .ifu_i0_dbecc(ifu_i0_dbecc), - .ifu_i0_instr(ifu_i0_instr), - .ifu_i0_pc(ifu_i0_pc), - .ifu_i0_pc4(ifu_i0_pc4), - .ifu_fb_consume1(ifu_fb_consume1), - .ifu_fb_consume2(ifu_fb_consume2), - .ifu_bp_fghr_f(ifu_bp_fghr_f), - .ifu_bp_btb_target_f(ifu_bp_btb_target_f), - .ifu_bp_poffset_f(ifu_bp_poffset_f), - .ifu_bp_fa_index_f(ifu_bp_fa_index_f), - .ifu_bp_hist0_f(ifu_bp_hist0_f), - .ifu_bp_hist1_f(ifu_bp_hist1_f), - .ifu_bp_pc4_f(ifu_bp_pc4_f), - .ifu_bp_way_f(ifu_bp_way_f), - .ifu_bp_valid_f(ifu_bp_valid_f), - .ifu_bp_ret_f(ifu_bp_ret_f), - .i0_brp(i0_brp), - .ifu_i0_bp_index(ifu_i0_bp_index), - .ifu_i0_bp_fghr(ifu_i0_bp_fghr), - .ifu_i0_bp_btag(ifu_i0_bp_btag), - .ifu_i0_fa_index(ifu_i0_fa_index), - .ifu_pmu_instr_aligned(ifu_pmu_instr_aligned), - .ifu_i0_cinst(ifu_i0_cinst) - ); - eb1_ifu_mem_ctl #(.pt(pt)) mem_ctl( - .clk(clk), - .active_clk(active_clk), - .free_l2clk(free_l2clk), - .rst_l(rst_l), - .exu_flush_final(exu_flush_final), - .dec_tlu_flush_lower_wb(dec_tlu_flush_lower_wb), - .dec_tlu_flush_err_wb(dec_tlu_flush_err_wb), - .dec_tlu_i0_commit_cmt(dec_tlu_i0_commit_cmt), - .dec_tlu_force_halt(dec_tlu_force_halt), - .ifc_fetch_addr_bf(ifc_fetch_addr_bf), - .ifc_fetch_uncacheable_bf(ifc_fetch_uncacheable_bf), - .ifc_fetch_req_bf(ifc_fetch_req_bf), - .ifc_fetch_req_bf_raw(ifc_fetch_req_bf_raw), - .ifc_iccm_access_bf(ifc_iccm_access_bf), - .ifc_region_acc_fault_bf(ifc_region_acc_fault_bf), - .ifc_dma_access_ok(ifc_dma_access_ok), - .dec_tlu_fence_i_wb(dec_tlu_fence_i_wb), - .ifu_bp_hit_taken_f(ifu_bp_hit_taken_f), - .ifu_bp_inst_mask_f(ifu_bp_inst_mask_f), - .ifu_miss_state_idle(ifu_miss_state_idle), - .ifu_ic_mb_empty(ifu_ic_mb_empty), - .ic_dma_active(ic_dma_active), - .ic_write_stall(ic_write_stall), - .ifu_pmu_ic_miss(ifu_pmu_ic_miss), - .ifu_pmu_ic_hit(ifu_pmu_ic_hit), - .ifu_pmu_bus_error(ifu_pmu_bus_error), - .ifu_pmu_bus_busy(ifu_pmu_bus_busy), - .ifu_pmu_bus_trxn(ifu_pmu_bus_trxn), - .ifu_axi_awvalid(ifu_axi_awvalid), - .ifu_axi_awid(ifu_axi_awid), - .ifu_axi_awaddr(ifu_axi_awaddr), - .ifu_axi_awregion(ifu_axi_awregion), - .ifu_axi_awlen(ifu_axi_awlen), - .ifu_axi_awsize(ifu_axi_awsize), - .ifu_axi_awburst(ifu_axi_awburst), - .ifu_axi_awlock(ifu_axi_awlock), - .ifu_axi_awcache(ifu_axi_awcache), - .ifu_axi_awprot(ifu_axi_awprot), - .ifu_axi_awqos(ifu_axi_awqos), - .ifu_axi_wvalid(ifu_axi_wvalid), - .ifu_axi_wdata(ifu_axi_wdata), - .ifu_axi_wstrb(ifu_axi_wstrb), - .ifu_axi_wlast(ifu_axi_wlast), - .ifu_axi_bready(ifu_axi_bready), - .ifu_axi_arvalid(ifu_axi_arvalid), - .ifu_axi_arready(ifu_axi_arready), - .ifu_axi_arid(ifu_axi_arid), - .ifu_axi_araddr(ifu_axi_araddr), - .ifu_axi_arregion(ifu_axi_arregion), - .ifu_axi_arlen(ifu_axi_arlen), - .ifu_axi_arsize(ifu_axi_arsize), - .ifu_axi_arburst(ifu_axi_arburst), - .ifu_axi_arlock(ifu_axi_arlock), - .ifu_axi_arcache(ifu_axi_arcache), - .ifu_axi_arprot(ifu_axi_arprot), - .ifu_axi_arqos(ifu_axi_arqos), - .ifu_axi_rvalid(ifu_axi_rvalid), - .ifu_axi_rready(ifu_axi_rready), - .ifu_axi_rid(ifu_axi_rid), - .ifu_axi_rdata(ifu_axi_rdata), - .ifu_axi_rresp(ifu_axi_rresp), - .ifu_bus_clk_en(ifu_bus_clk_en), - .dma_iccm_req(dma_iccm_req), - .dma_mem_addr(dma_mem_addr), - .dma_mem_sz(dma_mem_sz), - .dma_mem_write(dma_mem_write), - .dma_mem_wdata(dma_mem_wdata), - .dma_mem_tag(dma_mem_tag), - .iccm_dma_ecc_error(iccm_dma_ecc_error), - .iccm_dma_rvalid(iccm_dma_rvalid), - .iccm_dma_rdata(iccm_dma_rdata), - .iccm_dma_rtag(iccm_dma_rtag), - .iccm_ready(iccm_ready), - .ic_rw_addr(ic_rw_addr), - .ic_wr_en(ic_wr_en), - .ic_rd_en(ic_rd_en), - .ic_wr_data(ic_wr_data), - .ic_rd_data(ic_rd_data), - .ic_debug_rd_data(ic_debug_rd_data), - .ictag_debug_rd_data(ictag_debug_rd_data), - .ic_debug_wr_data(ic_debug_wr_data), - .ifu_ic_debug_rd_data(ifu_ic_debug_rd_data), - .ic_eccerr(ic_eccerr), - .ic_parerr(ic_parerr), - .ic_debug_addr(ic_debug_addr), - .ic_debug_rd_en(ic_debug_rd_en), - .ic_debug_wr_en(ic_debug_wr_en), - .ic_debug_tag_array(ic_debug_tag_array), - .ic_debug_way(ic_debug_way), - .ic_tag_valid(ic_tag_valid), - .ic_rd_hit(ic_rd_hit), - .ic_tag_perr(ic_tag_perr), - .iccm_rw_addr(iccm_rw_addr), - .iccm_wren(iccm_wren), - .iccm_rden(iccm_rden), - .iccm_wr_data(iccm_wr_data), - .iccm_wr_size(iccm_wr_size), - .iccm_rd_data(iccm_rd_data), - .iccm_rd_data_ecc(iccm_rd_data_ecc), - .ifu_fetch_val(ifu_fetch_val), - .ic_hit_f(ic_hit_f), - .ic_access_fault_f(ic_access_fault_f), - .ic_access_fault_type_f(ic_access_fault_type_f), - .iccm_rd_ecc_single_err(iccm_rd_ecc_single_err), - .iccm_rd_ecc_double_err(iccm_rd_ecc_double_err), - .ic_error_start(ic_error_start), - .ifu_async_error_start(ifu_async_error_start), - .iccm_dma_sb_error(iccm_dma_sb_error), - .ic_fetch_val_f(ic_fetch_val_f), - .ic_premux_data(ic_premux_data), - .ic_sel_premux_data(ic_sel_premux_data), - .dec_tlu_ic_diag_pkt(dec_tlu_ic_diag_pkt), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .ifu_ic_debug_rd_data_valid(ifu_ic_debug_rd_data_valid), - .iccm_buf_correct_ecc(iccm_buf_correct_ecc), - .iccm_correction_state(iccm_correction_state), - .scan_mode(scan_mode), - .ic_data_f(ic_data_f[31:0]) - ); -endmodule -module eb1_ifu_aln_ctl ( - scan_mode, - rst_l, - clk, - active_clk, - ifu_async_error_start, - iccm_rd_ecc_double_err, - ic_access_fault_f, - ic_access_fault_type_f, - exu_flush_final, - dec_i0_decode_d, - ifu_fetch_data_f, - ifu_fetch_val, - ifu_fetch_pc, - ifu_i0_valid, - ifu_i0_icaf, - ifu_i0_icaf_type, - ifu_i0_icaf_second, - ifu_i0_dbecc, - ifu_i0_instr, - ifu_i0_pc, - ifu_i0_pc4, - ifu_fb_consume1, - ifu_fb_consume2, - ifu_bp_fghr_f, - ifu_bp_btb_target_f, - ifu_bp_poffset_f, - ifu_bp_fa_index_f, - ifu_bp_hist0_f, - ifu_bp_hist1_f, - ifu_bp_pc4_f, - ifu_bp_way_f, - ifu_bp_valid_f, - ifu_bp_ret_f, - i0_brp, - ifu_i0_bp_index, - ifu_i0_bp_fghr, - ifu_i0_bp_btag, - ifu_i0_fa_index, - ifu_pmu_instr_aligned, - ifu_i0_cinst -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire scan_mode; - input wire rst_l; - input wire clk; - input wire active_clk; - input wire ifu_async_error_start; - input wire [1:0] iccm_rd_ecc_double_err; - input wire [1:0] ic_access_fault_f; - input wire [1:0] ic_access_fault_type_f; - input wire exu_flush_final; - input wire dec_i0_decode_d; - input wire [31:0] ifu_fetch_data_f; - input wire [1:0] ifu_fetch_val; - input wire [31:1] ifu_fetch_pc; - output wire ifu_i0_valid; - output wire ifu_i0_icaf; - output wire [1:0] ifu_i0_icaf_type; - output wire ifu_i0_icaf_second; - output wire ifu_i0_dbecc; - output wire [31:0] ifu_i0_instr; - output wire [31:1] ifu_i0_pc; - output wire ifu_i0_pc4; - output wire ifu_fb_consume1; - output wire ifu_fb_consume2; - input wire [pt[2236-:8] - 1:0] ifu_bp_fghr_f; - input wire [31:1] ifu_bp_btb_target_f; - input wire [11:0] ifu_bp_poffset_f; - input wire [(2 * $clog2(pt[2061-:14])) - 1:0] ifu_bp_fa_index_f; - input wire [1:0] ifu_bp_hist0_f; - input wire [1:0] ifu_bp_hist1_f; - input wire [1:0] ifu_bp_pc4_f; - input wire [1:0] ifu_bp_way_f; - input wire [1:0] ifu_bp_valid_f; - input wire [1:0] ifu_bp_ret_f; - output reg [50:0] i0_brp; - output wire [pt[2172-:9]:pt[2163-:6]] ifu_i0_bp_index; - output wire [pt[2236-:8] - 1:0] ifu_i0_bp_fghr; - output wire [pt[2139-:9] - 1:0] ifu_i0_bp_btag; - output reg [$clog2(pt[2061-:14]) - 1:0] ifu_i0_fa_index; - output wire ifu_pmu_instr_aligned; - output wire [15:0] ifu_i0_cinst; - wire ifvalid; - wire shift_f1_f0; - wire shift_f2_f0; - wire shift_f2_f1; - wire fetch_to_f0; - wire fetch_to_f1; - wire fetch_to_f2; - wire [1:0] f2val_in; - wire [1:0] f2val; - wire [1:0] f1val_in; - wire [1:0] f1val; - wire [1:0] f0val_in; - wire [1:0] f0val; - wire [1:0] sf1val; - wire [1:0] sf0val; - wire [31:0] aligndata; - wire first4B; - wire first2B; - wire [31:0] uncompress0; - wire i0_shift; - wire shift_2B; - wire shift_4B; - wire f1_shift_2B; - wire f2_valid; - wire sf1_valid; - wire sf0_valid; - wire [31:0] ifirst; - wire [1:0] alignval; - wire [31:1] firstpc; - wire [31:1] secondpc; - wire [11:0] f1poffset; - wire [11:0] f0poffset; - wire [pt[2236-:8] - 1:0] f1fghr; - wire [pt[2236-:8] - 1:0] f0fghr; - wire [1:0] f1hist1; - wire [1:0] f0hist1; - wire [1:0] f1hist0; - wire [1:0] f0hist0; - wire [(2 * $clog2(pt[2061-:14])) - 1:0] f0index; - wire [(2 * $clog2(pt[2061-:14])) - 1:0] f1index; - wire [(2 * $clog2(pt[2061-:14])) - 1:0] alignindex; - wire [1:0] f1ictype; - wire [1:0] f0ictype; - wire [1:0] f1pc4; - wire [1:0] f0pc4; - wire [1:0] f1ret; - wire [1:0] f0ret; - wire [1:0] f1way; - wire [1:0] f0way; - wire [1:0] f1brend; - wire [1:0] f0brend; - wire [1:0] alignbrend; - wire [1:0] alignpc4; - wire [1:0] alignret; - wire [1:0] alignway; - wire [1:0] alignhist1; - wire [1:0] alignhist0; - wire [1:1] alignfromf1; - reg i0_ends_f1; - reg i0_br_start_error; - wire [31:1] f1prett; - wire [31:1] f0prett; - wire [1:0] f1dbecc; - wire [1:0] f0dbecc; - wire [1:0] f1icaf; - wire [1:0] f0icaf; - wire [1:0] aligndbecc; - wire [1:0] alignicaf; - reg i0_brp_pc4; - wire [pt[2172-:9]:pt[2163-:6]] firstpc_hash; - wire [pt[2172-:9]:pt[2163-:6]] secondpc_hash; - wire first_legal; - wire [1:0] wrptr; - wire [1:0] wrptr_in; - wire [1:0] rdptr; - wire [1:0] rdptr_in; - wire [2:0] qwen; - wire [31:0] q2; - wire [31:0] q1; - wire [31:0] q0; - wire q2off_in; - wire q2off; - wire q1off_in; - wire q1off; - wire q0off_in; - wire q0off; - wire f0_shift_2B; - wire [31:0] q0eff; - wire [31:0] q0final; - wire q0ptr; - wire [1:0] q0sel; - wire [31:0] q1eff; - wire [15:0] q1final; - wire q1ptr; - wire [1:0] q1sel; - wire [2:0] qren; - wire consume_fb1; - wire consume_fb0; - wire [1:0] icaf_eff; - localparam BRDATA_SIZE = (pt[2130-:5] ? 16 + (($clog2(pt[2061-:14]) * 2) * pt[2120-:5]) : 2); - localparam BRDATA_WIDTH = (pt[2130-:5] ? 8 + ($clog2(pt[2061-:14]) * pt[2120-:5]) : 1); - wire [BRDATA_SIZE - 1:0] brdata_in; - wire [BRDATA_SIZE - 1:0] brdata2; - wire [BRDATA_SIZE - 1:0] brdata1; - wire [BRDATA_SIZE - 1:0] brdata0; - wire [BRDATA_SIZE - 1:0] brdata1eff; - wire [BRDATA_SIZE - 1:0] brdata0eff; - wire [BRDATA_SIZE - 1:0] brdata1final; - wire [BRDATA_SIZE - 1:0] brdata0final; - localparam MHI = 1 + (pt[2130-:5] * (43 + pt[2236-:8])); - localparam MSIZE = 2 + (pt[2130-:5] * (43 + pt[2236-:8])); - wire [MHI:0] misc_data_in; - wire [MHI:0] misc2; - wire [MHI:0] misc1; - wire [MHI:0] misc0; - wire [MHI:0] misc1eff; - wire [MHI:0] misc0eff; - wire [pt[2139-:9] - 1:0] firstbrtag_hash; - wire [pt[2139-:9] - 1:0] secondbrtag_hash; - wire error_stall_in; - wire error_stall; - assign error_stall_in = (error_stall | ifu_async_error_start) & ~exu_flush_final; - rvdff #(.WIDTH(7)) bundle1ff( - .rst_l(rst_l), - .clk(active_clk), - .din({wrptr_in[1:0], rdptr_in[1:0], q2off_in, q1off_in, q0off_in}), - .dout({wrptr[1:0], rdptr[1:0], q2off, q1off, q0off}) - ); - rvdffie #( - .WIDTH(7), - .OVERRIDE(1) - ) bundle2ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din({error_stall_in, f2val_in[1:0], f1val_in[1:0], f0val_in[1:0]}), - .dout({error_stall, f2val[1:0], f1val[1:0], f0val[1:0]}) - ); - generate - if (pt[2130-:5] == 1) begin - rvdffe #(.WIDTH(BRDATA_SIZE)) brdata2ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[2]), - .din(brdata_in[BRDATA_SIZE - 1:0]), - .dout(brdata2[BRDATA_SIZE - 1:0]) - ); - rvdffe #(.WIDTH(BRDATA_SIZE)) brdata1ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[1]), - .din(brdata_in[BRDATA_SIZE - 1:0]), - .dout(brdata1[BRDATA_SIZE - 1:0]) - ); - rvdffe #(.WIDTH(BRDATA_SIZE)) brdata0ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[0]), - .din(brdata_in[BRDATA_SIZE - 1:0]), - .dout(brdata0[BRDATA_SIZE - 1:0]) - ); - rvdffe #(.WIDTH(MSIZE)) misc2ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[2]), - .din(misc_data_in[MHI:0]), - .dout(misc2[MHI:0]) - ); - rvdffe #(.WIDTH(MSIZE)) misc1ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[1]), - .din(misc_data_in[MHI:0]), - .dout(misc1[MHI:0]) - ); - rvdffe #(.WIDTH(MSIZE)) misc0ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[0]), - .din(misc_data_in[MHI:0]), - .dout(misc0[MHI:0]) - ); - end - else rvdffie #(.WIDTH((MSIZE * 3) + (BRDATA_SIZE * 3))) miscff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din({(qwen[2] ? {misc_data_in[MHI:0], brdata_in[BRDATA_SIZE - 1:0]} : {misc2[MHI:0], brdata2[BRDATA_SIZE - 1:0]}), (qwen[1] ? {misc_data_in[MHI:0], brdata_in[BRDATA_SIZE - 1:0]} : {misc1[MHI:0], brdata1[BRDATA_SIZE - 1:0]}), (qwen[0] ? {misc_data_in[MHI:0], brdata_in[BRDATA_SIZE - 1:0]} : {misc0[MHI:0], brdata0[BRDATA_SIZE - 1:0]})}), - .dout({misc2[MHI:0], misc1[MHI:0], misc0[MHI:0], brdata2[BRDATA_SIZE - 1:0], brdata1[BRDATA_SIZE - 1:0], brdata0[BRDATA_SIZE - 1:0]}) - ); - endgenerate - wire [31:1] q2pc; - wire [31:1] q1pc; - wire [31:1] q0pc; - rvdffe #(.WIDTH(31)) q2pcff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[2]), - .din(ifu_fetch_pc[31:1]), - .dout(q2pc[31:1]) - ); - rvdffe #(.WIDTH(31)) q1pcff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[1]), - .din(ifu_fetch_pc[31:1]), - .dout(q1pc[31:1]) - ); - rvdffe #(.WIDTH(31)) q0pcff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[0]), - .din(ifu_fetch_pc[31:1]), - .dout(q0pc[31:1]) - ); - rvdffe #(.WIDTH(32)) q2ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[2]), - .din(ifu_fetch_data_f[31:0]), - .dout(q2[31:0]) - ); - rvdffe #(.WIDTH(32)) q1ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[1]), - .din(ifu_fetch_data_f[31:0]), - .dout(q1[31:0]) - ); - rvdffe #(.WIDTH(32)) q0ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(qwen[0]), - .din(ifu_fetch_data_f[31:0]), - .dout(q0[31:0]) - ); - assign qren[2:0] = {rdptr[1:0] == 2'b10, rdptr[1:0] == 2'b01, rdptr[1:0] == 2'b00}; - assign qwen[2:0] = {(wrptr[1:0] == 2'b10) & ifvalid, (wrptr[1:0] == 2'b01) & ifvalid, (wrptr[1:0] == 2'b00) & ifvalid}; - assign rdptr_in[1:0] = (((((({2 {(qren[0] & ifu_fb_consume1) & ~exu_flush_final}} & 2'b01) | ({2 {(qren[1] & ifu_fb_consume1) & ~exu_flush_final}} & 2'b10)) | ({2 {(qren[2] & ifu_fb_consume1) & ~exu_flush_final}} & 2'b00)) | ({2 {(qren[0] & ifu_fb_consume2) & ~exu_flush_final}} & 2'b10)) | ({2 {(qren[1] & ifu_fb_consume2) & ~exu_flush_final}} & 2'b00)) | ({2 {(qren[2] & ifu_fb_consume2) & ~exu_flush_final}} & 2'b01)) | ({2 {(~ifu_fb_consume1 & ~ifu_fb_consume2) & ~exu_flush_final}} & rdptr[1:0]); - assign wrptr_in[1:0] = ((({2 {qwen[0] & ~exu_flush_final}} & 2'b01) | ({2 {qwen[1] & ~exu_flush_final}} & 2'b10)) | ({2 {qwen[2] & ~exu_flush_final}} & 2'b00)) | ({2 {~ifvalid & ~exu_flush_final}} & wrptr[1:0]); - assign q2off_in = (((~qwen[2] & (rdptr[1:0] == 2'd2)) & (q2off | f0_shift_2B)) | ((~qwen[2] & (rdptr[1:0] == 2'd1)) & (q2off | f1_shift_2B))) | ((~qwen[2] & (rdptr[1:0] == 2'd0)) & q2off); - assign q1off_in = (((~qwen[1] & (rdptr[1:0] == 2'd1)) & (q1off | f0_shift_2B)) | ((~qwen[1] & (rdptr[1:0] == 2'd0)) & (q1off | f1_shift_2B))) | ((~qwen[1] & (rdptr[1:0] == 2'd2)) & q1off); - assign q0off_in = (((~qwen[0] & (rdptr[1:0] == 2'd0)) & (q0off | f0_shift_2B)) | ((~qwen[0] & (rdptr[1:0] == 2'd2)) & (q0off | f1_shift_2B))) | ((~qwen[0] & (rdptr[1:0] == 2'd1)) & q0off); - assign q0ptr = (((rdptr[1:0] == 2'b00) & q0off) | ((rdptr[1:0] == 2'b01) & q1off)) | ((rdptr[1:0] == 2'b10) & q2off); - assign q1ptr = (((rdptr[1:0] == 2'b00) & q1off) | ((rdptr[1:0] == 2'b01) & q2off)) | ((rdptr[1:0] == 2'b10) & q0off); - assign q0sel[1:0] = {q0ptr, ~q0ptr}; - assign q1sel[1:0] = {q1ptr, ~q1ptr}; - generate - if (pt[2130-:5] == 1) begin - assign misc_data_in[MHI:0] = {ic_access_fault_type_f[1:0], ifu_bp_btb_target_f[31:1], ifu_bp_poffset_f[11:0], ifu_bp_fghr_f[pt[2236-:8] - 1:0]}; - end - else assign misc_data_in[MHI:0] = {ic_access_fault_type_f[1:0]}; - endgenerate - assign {misc1eff[MHI:0], misc0eff[MHI:0]} = (({MSIZE * 2 {qren[0]}} & {misc1[MHI:0], misc0[MHI:0]}) | ({MSIZE * 2 {qren[1]}} & {misc2[MHI:0], misc1[MHI:0]})) | ({MSIZE * 2 {qren[2]}} & {misc0[MHI:0], misc2[MHI:0]}); - generate - if (pt[2130-:5] == 1) begin - assign {f1ictype[1:0], f1prett[31:1], f1poffset[11:0], f1fghr[pt[2236-:8] - 1:0]} = misc1eff[MHI:0]; - assign {f0ictype[1:0], f0prett[31:1], f0poffset[11:0], f0fghr[pt[2236-:8] - 1:0]} = misc0eff[MHI:0]; - if (pt[2120-:5]) begin - assign brdata_in[BRDATA_SIZE - 1:0] = {ifu_bp_fa_index_f[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])], iccm_rd_ecc_double_err[1], ic_access_fault_f[1], ifu_bp_hist1_f[1], ifu_bp_hist0_f[1], ifu_bp_pc4_f[1], ifu_bp_way_f[1], ifu_bp_valid_f[1], ifu_bp_ret_f[1], ifu_bp_fa_index_f[0+:$clog2(pt[2061-:14])], iccm_rd_ecc_double_err[0], ic_access_fault_f[0], ifu_bp_hist1_f[0], ifu_bp_hist0_f[0], ifu_bp_pc4_f[0], ifu_bp_way_f[0], ifu_bp_valid_f[0], ifu_bp_ret_f[0]}; - assign {f0index[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])], f0dbecc[1], f0icaf[1], f0hist1[1], f0hist0[1], f0pc4[1], f0way[1], f0brend[1], f0ret[1], f0index[0+:$clog2(pt[2061-:14])], f0dbecc[0], f0icaf[0], f0hist1[0], f0hist0[0], f0pc4[0], f0way[0], f0brend[0], f0ret[0]} = brdata0final[BRDATA_SIZE - 1:0]; - assign {f1index[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])], f1dbecc[1], f1icaf[1], f1hist1[1], f1hist0[1], f1pc4[1], f1way[1], f1brend[1], f1ret[1], f1index[0+:$clog2(pt[2061-:14])], f1dbecc[0], f1icaf[0], f1hist1[0], f1hist0[0], f1pc4[0], f1way[0], f1brend[0], f1ret[0]} = brdata1final[BRDATA_SIZE - 1:0]; - end - else begin - assign brdata_in[BRDATA_SIZE - 1:0] = {iccm_rd_ecc_double_err[1], ic_access_fault_f[1], ifu_bp_hist1_f[1], ifu_bp_hist0_f[1], ifu_bp_pc4_f[1], ifu_bp_way_f[1], ifu_bp_valid_f[1], ifu_bp_ret_f[1], iccm_rd_ecc_double_err[0], ic_access_fault_f[0], ifu_bp_hist1_f[0], ifu_bp_hist0_f[0], ifu_bp_pc4_f[0], ifu_bp_way_f[0], ifu_bp_valid_f[0], ifu_bp_ret_f[0]}; - assign {f0dbecc[1], f0icaf[1], f0hist1[1], f0hist0[1], f0pc4[1], f0way[1], f0brend[1], f0ret[1], f0dbecc[0], f0icaf[0], f0hist1[0], f0hist0[0], f0pc4[0], f0way[0], f0brend[0], f0ret[0]} = brdata0final[BRDATA_SIZE - 1:0]; - assign {f1dbecc[1], f1icaf[1], f1hist1[1], f1hist0[1], f1pc4[1], f1way[1], f1brend[1], f1ret[1], f1dbecc[0], f1icaf[0], f1hist1[0], f1hist0[0], f1pc4[0], f1way[0], f1brend[0], f1ret[0]} = brdata1final[BRDATA_SIZE - 1:0]; - end - assign {brdata1eff[BRDATA_SIZE - 1:0], brdata0eff[BRDATA_SIZE - 1:0]} = (({BRDATA_SIZE * 2 {qren[0]}} & {brdata1[BRDATA_SIZE - 1:0], brdata0[BRDATA_SIZE - 1:0]}) | ({BRDATA_SIZE * 2 {qren[1]}} & {brdata2[BRDATA_SIZE - 1:0], brdata1[BRDATA_SIZE - 1:0]})) | ({BRDATA_SIZE * 2 {qren[2]}} & {brdata0[BRDATA_SIZE - 1:0], brdata2[BRDATA_SIZE - 1:0]}); - assign brdata0final[BRDATA_SIZE - 1:0] = ({BRDATA_SIZE {q0sel[0]}} & {brdata0eff[(2 * BRDATA_WIDTH) - 1:0]}) | ({BRDATA_SIZE {q0sel[1]}} & {{BRDATA_WIDTH {1'b0}}, brdata0eff[BRDATA_SIZE - 1:BRDATA_WIDTH]}); - assign brdata1final[BRDATA_SIZE - 1:0] = ({BRDATA_SIZE {q1sel[0]}} & {brdata1eff[(2 * BRDATA_WIDTH) - 1:0]}) | ({BRDATA_SIZE {q1sel[1]}} & {{BRDATA_WIDTH {1'b0}}, brdata1eff[BRDATA_SIZE - 1:BRDATA_WIDTH]}); - end - else begin - assign {f1ictype[1:0]} = misc1eff[MHI:0]; - assign {f0ictype[1:0]} = misc0eff[MHI:0]; - assign brdata_in[BRDATA_SIZE - 1:0] = {iccm_rd_ecc_double_err[1], ic_access_fault_f[1], iccm_rd_ecc_double_err[0], ic_access_fault_f[0]}; - assign {f0dbecc[1], f0icaf[1], f0dbecc[0], f0icaf[0]} = brdata0final[BRDATA_SIZE - 1:0]; - assign {f1dbecc[1], f1icaf[1], f1dbecc[0], f1icaf[0]} = brdata1final[BRDATA_SIZE - 1:0]; - assign {brdata1eff[BRDATA_SIZE - 1:0], brdata0eff[BRDATA_SIZE - 1:0]} = (({BRDATA_SIZE * 2 {qren[0]}} & {brdata1[BRDATA_SIZE - 1:0], brdata0[BRDATA_SIZE - 1:0]}) | ({BRDATA_SIZE * 2 {qren[1]}} & {brdata2[BRDATA_SIZE - 1:0], brdata1[BRDATA_SIZE - 1:0]})) | ({BRDATA_SIZE * 2 {qren[2]}} & {brdata0[BRDATA_SIZE - 1:0], brdata2[BRDATA_SIZE - 1:0]}); - assign brdata0final[BRDATA_SIZE - 1:0] = ({BRDATA_SIZE {q0sel[0]}} & {brdata0eff[(2 * BRDATA_WIDTH) - 1:0]}) | ({BRDATA_SIZE {q0sel[1]}} & {{BRDATA_WIDTH {1'b0}}, brdata0eff[BRDATA_SIZE - 1:BRDATA_WIDTH]}); - assign brdata1final[BRDATA_SIZE - 1:0] = ({BRDATA_SIZE {q1sel[0]}} & {brdata1eff[(2 * BRDATA_WIDTH) - 1:0]}) | ({BRDATA_SIZE {q1sel[1]}} & {{BRDATA_WIDTH {1'b0}}, brdata1eff[BRDATA_SIZE - 1:BRDATA_WIDTH]}); - end - endgenerate - assign f2_valid = f2val[0]; - assign sf1_valid = sf1val[0]; - assign sf0_valid = sf0val[0]; - assign consume_fb0 = ~sf0val[0] & f0val[0]; - assign consume_fb1 = ~sf1val[0] & f1val[0]; - assign ifu_fb_consume1 = (consume_fb0 & ~consume_fb1) & ~exu_flush_final; - assign ifu_fb_consume2 = (consume_fb0 & consume_fb1) & ~exu_flush_final; - assign ifvalid = ifu_fetch_val[0]; - assign shift_f1_f0 = ~sf0_valid & sf1_valid; - assign shift_f2_f0 = (~sf0_valid & ~sf1_valid) & f2_valid; - assign shift_f2_f1 = (~sf0_valid & sf1_valid) & f2_valid; - assign fetch_to_f0 = ((~sf0_valid & ~sf1_valid) & ~f2_valid) & ifvalid; - assign fetch_to_f1 = ((((~sf0_valid & ~sf1_valid) & f2_valid) & ifvalid) | (((~sf0_valid & sf1_valid) & ~f2_valid) & ifvalid)) | (((sf0_valid & ~sf1_valid) & ~f2_valid) & ifvalid); - assign fetch_to_f2 = (((~sf0_valid & sf1_valid) & f2_valid) & ifvalid) | (((sf0_valid & sf1_valid) & ~f2_valid) & ifvalid); - assign f2val_in[1:0] = ({2 {fetch_to_f2 & ~exu_flush_final}} & ifu_fetch_val[1:0]) | ({2 {((~fetch_to_f2 & ~shift_f2_f1) & ~shift_f2_f0) & ~exu_flush_final}} & f2val[1:0]); - assign sf1val[1:0] = ({2 {f1_shift_2B}} & {1'b0, f1val[1]}) | ({2 {~f1_shift_2B}} & f1val[1:0]); - assign f1val_in[1:0] = (({2 {fetch_to_f1 & ~exu_flush_final}} & ifu_fetch_val[1:0]) | ({2 {shift_f2_f1 & ~exu_flush_final}} & f2val[1:0])) | ({2 {((~fetch_to_f1 & ~shift_f2_f1) & ~shift_f1_f0) & ~exu_flush_final}} & sf1val[1:0]); - assign sf0val[1:0] = ({2 {shift_2B}} & {1'b0, f0val[1]}) | ({2 {~shift_2B & ~shift_4B}} & f0val[1:0]); - assign f0val_in[1:0] = ((({2 {fetch_to_f0 & ~exu_flush_final}} & ifu_fetch_val[1:0]) | ({2 {shift_f2_f0 & ~exu_flush_final}} & f2val[1:0])) | ({2 {shift_f1_f0 & ~exu_flush_final}} & sf1val[1:0])) | ({2 {((~fetch_to_f0 & ~shift_f2_f0) & ~shift_f1_f0) & ~exu_flush_final}} & sf0val[1:0]); - assign {q1eff[31:0], q0eff[31:0]} = (({64 {qren[0]}} & {q1[31:0], q0[31:0]}) | ({64 {qren[1]}} & {q2[31:0], q1[31:0]})) | ({64 {qren[2]}} & {q0[31:0], q2[31:0]}); - assign q0final[31:0] = ({32 {q0sel[0]}} & {q0eff[31:0]}) | ({32 {q0sel[1]}} & {16'b0000000000000000, q0eff[31:16]}); - assign q1final[15:0] = ({16 {q1sel[0]}} & q1eff[15:0]) | ({16 {q1sel[1]}} & q1eff[31:16]); - wire [31:1] q0pceff; - wire [31:1] q0pcfinal; - wire [31:1] q1pceff; - assign {q1pceff[31:1], q0pceff[31:1]} = (({62 {qren[0]}} & {q1pc[31:1], q0pc[31:1]}) | ({62 {qren[1]}} & {q2pc[31:1], q1pc[31:1]})) | ({62 {qren[2]}} & {q0pc[31:1], q2pc[31:1]}); - assign q0pcfinal[31:1] = ({31 {q0sel[0]}} & q0pceff[31:1]) | ({31 {q0sel[1]}} & (q0pceff[31:1] + 31'd1)); - assign aligndata[31:0] = ({32 {f0val[1]}} & {q0final[31:0]}) | ({32 {~f0val[1] & f0val[0]}} & {q1final[15:0], q0final[15:0]}); - assign alignval[1:0] = ({2 {f0val[1]}} & 2'b11) | ({2 {~f0val[1] & f0val[0]}} & {f1val[0], 1'b1}); - assign alignicaf[1:0] = ({2 {f0val[1]}} & f0icaf[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1icaf[0], f0icaf[0]}); - assign aligndbecc[1:0] = ({2 {f0val[1]}} & f0dbecc[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1dbecc[0], f0dbecc[0]}); - generate - if (pt[2130-:5] == 1) begin - assign alignbrend[1:0] = ({2 {f0val[1]}} & f0brend[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1brend[0], f0brend[0]}); - assign alignpc4[1:0] = ({2 {f0val[1]}} & f0pc4[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1pc4[0], f0pc4[0]}); - if (pt[2120-:5]) begin - assign alignindex[0+:$clog2(pt[2061-:14])] = f0index[0+:$clog2(pt[2061-:14])]; - assign alignindex[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])] = (f0val[1] ? f0index[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])] : f1index[0+:$clog2(pt[2061-:14])]); - end - assign alignret[1:0] = ({2 {f0val[1]}} & f0ret[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1ret[0], f0ret[0]}); - assign alignway[1:0] = ({2 {f0val[1]}} & f0way[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1way[0], f0way[0]}); - assign alignhist1[1:0] = ({2 {f0val[1]}} & f0hist1[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1hist1[0], f0hist1[0]}); - assign alignhist0[1:0] = ({2 {f0val[1]}} & f0hist0[1:0]) | ({2 {~f0val[1] & f0val[0]}} & {f1hist0[0], f0hist0[0]}); - assign secondpc[31:1] = ({31 {f0val[1]}} & (q0pceff[31:1] + 31'd1)) | ({31 {~f0val[1] & f0val[0]}} & q1pceff[31:1]); - assign firstpc[31:1] = q0pcfinal[31:1]; - end - endgenerate - assign alignfromf1[1] = ~f0val[1] & f0val[0]; - assign ifu_i0_pc[31:1] = q0pcfinal[31:1]; - assign ifu_i0_pc4 = first4B; - assign ifu_i0_cinst[15:0] = aligndata[15:0]; - assign first4B = aligndata[1:0] == 2'b11; - assign first2B = ~first4B; - assign ifu_i0_valid = (first4B & alignval[1]) | (first2B & alignval[0]); - assign ifu_i0_icaf = (first4B & |alignicaf[1:0]) | (first2B & alignicaf[0]); - assign ifu_i0_icaf_type[1:0] = ((((first4B & ~f0val[1]) & f0val[0]) & ~alignicaf[0]) & ~aligndbecc[0] ? f1ictype[1:0] : f0ictype[1:0]); - assign icaf_eff[1:0] = alignicaf[1:0] | aligndbecc[1:0]; - assign ifu_i0_icaf_second = (first4B & ~icaf_eff[0]) & icaf_eff[1]; - assign ifu_i0_dbecc = (first4B & |aligndbecc[1:0]) | (first2B & aligndbecc[0]); - assign ifirst[31:0] = aligndata[31:0]; - assign ifu_i0_instr[31:0] = ({32 {first4B & alignval[1]}} & ifirst[31:0]) | ({32 {first2B & alignval[0]}} & uncompress0[31:0]); - generate - if (pt[2130-:5] == 1) begin - eb1_btb_addr_hash #(.pt(pt)) firsthash( - .pc(firstpc[pt[2079-:9]:pt[2106-:9]]), - .hash(firstpc_hash[pt[2172-:9]:pt[2163-:6]]) - ); - eb1_btb_addr_hash #(.pt(pt)) secondhash( - .pc(secondpc[pt[2079-:9]:pt[2106-:9]]), - .hash(secondpc_hash[pt[2172-:9]:pt[2163-:6]]) - ); - if (pt[2120-:5]) begin - assign firstbrtag_hash = firstpc; - assign secondbrtag_hash = secondpc; - end - else if (pt[2144-:5]) begin : btbfold - eb1_btb_tag_hash_fold #(.pt(pt)) first_brhash( - .pc(firstpc[(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]), - .hash(firstbrtag_hash[pt[2139-:9] - 1:0]) - ); - eb1_btb_tag_hash_fold #(.pt(pt)) second_brhash( - .pc(secondpc[(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]), - .hash(secondbrtag_hash[pt[2139-:9] - 1:0]) - ); - end - else begin - eb1_btb_tag_hash #(.pt(pt)) first_brhash( - .pc(firstpc[((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]), - .hash(firstbrtag_hash[pt[2139-:9] - 1:0]) - ); - eb1_btb_tag_hash #(.pt(pt)) second_brhash( - .pc(secondpc[((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]), - .hash(secondbrtag_hash[pt[2139-:9] - 1:0]) - ); - end - always @(*) begin - i0_brp = {51 {1'sb0}}; - i0_br_start_error = (first4B & alignval[1]) & alignbrend[0]; - i0_brp[50] = ((first2B & alignbrend[0]) | (first4B & alignbrend[1])) | i0_br_start_error; - i0_brp_pc4 = (first2B & alignpc4[0]) | (first4B & alignpc4[1]); - i0_brp[0] = (first2B & alignret[0]) | (first4B & alignret[1]); - i0_brp[1] = (first2B | alignbrend[0] ? alignway[0] : alignway[1]); - i0_brp[37] = (first2B & alignhist1[0]) | (first4B & alignhist1[1]); - i0_brp[36] = (first2B & alignhist0[0]) | (first4B & alignhist0[1]); - i0_ends_f1 = first4B & alignfromf1[1]; - i0_brp[49:38] = (i0_ends_f1 ? f1poffset[11:0] : f0poffset[11:0]); - i0_brp[32:2] = (i0_ends_f1 ? f1prett[31:1] : f0prett[31:1]); - i0_brp[34] = i0_br_start_error; - i0_brp[33] = (first2B | alignbrend[0] ? firstpc[1] : secondpc[1]); - i0_brp[35] = ((i0_brp[50] & i0_brp_pc4) & first2B) | ((i0_brp[50] & ~i0_brp_pc4) & first4B); - if (pt[2120-:5]) - ifu_i0_fa_index = (first2B | alignbrend[0] ? alignindex[0+:$clog2(pt[2061-:14])] : alignindex[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])]); - else - ifu_i0_fa_index = {$clog2(pt[2061-:14]) {1'sb0}}; - end - assign ifu_i0_bp_index[pt[2172-:9]:pt[2163-:6]] = (first2B | alignbrend[0] ? firstpc_hash[pt[2172-:9]:pt[2163-:6]] : secondpc_hash[pt[2172-:9]:pt[2163-:6]]); - assign ifu_i0_bp_fghr[pt[2236-:8] - 1:0] = (i0_ends_f1 ? f1fghr[pt[2236-:8] - 1:0] : f0fghr[pt[2236-:8] - 1:0]); - assign ifu_i0_bp_btag[pt[2139-:9] - 1:0] = (first2B | alignbrend[0] ? firstbrtag_hash[pt[2139-:9] - 1:0] : secondbrtag_hash[pt[2139-:9] - 1:0]); - end - else begin - wire [51:1] sv2v_tmp_B43E9; - assign sv2v_tmp_B43E9 = {51 {1'sb0}}; - always @(*) i0_brp = sv2v_tmp_B43E9; - assign ifu_i0_bp_index = {(pt[2172-:9] >= pt[2163-:6] ? (pt[2172-:9] - pt[2163-:6]) + 1 : (pt[2163-:6] - pt[2172-:9]) + 1) {1'sb0}}; - assign ifu_i0_bp_fghr = {pt[2236-:8] {1'sb0}}; - assign ifu_i0_bp_btag = {pt[2139-:9] {1'sb0}}; - end - endgenerate - eb1_ifu_compress_ctl #(.pt(pt)) compress0( - .din((first2B ? aligndata[15:0] : {16 {1'sb0}})), - .dout(uncompress0[31:0]) - ); - assign i0_shift = dec_i0_decode_d & ~error_stall; - assign ifu_pmu_instr_aligned = i0_shift; - assign shift_2B = i0_shift & first2B; - assign shift_4B = i0_shift & first4B; - assign f0_shift_2B = (shift_2B & f0val[0]) | ((shift_4B & f0val[0]) & ~f0val[1]); - assign f1_shift_2B = (f0val[0] & ~f0val[1]) & shift_4B; -endmodule -module eb1_ifu_bp_ctl ( - clk, - rst_l, - ic_hit_f, - ifc_fetch_addr_f, - ifc_fetch_req_f, - dec_tlu_br0_r_pkt, - exu_i0_br_fghr_r, - exu_i0_br_index_r, - dec_fa_error_index, - dec_tlu_flush_lower_wb, - dec_tlu_flush_leak_one_wb, - dec_tlu_bpred_disable, - exu_mp_pkt, - exu_mp_eghr, - exu_mp_fghr, - exu_mp_index, - exu_mp_btag, - exu_flush_final, - ifu_bp_hit_taken_f, - ifu_bp_btb_target_f, - ifu_bp_inst_mask_f, - ifu_bp_fghr_f, - ifu_bp_way_f, - ifu_bp_ret_f, - ifu_bp_hist1_f, - ifu_bp_hist0_f, - ifu_bp_pc4_f, - ifu_bp_valid_f, - ifu_bp_poffset_f, - ifu_bp_fa_index_f, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire ic_hit_f; - input wire [31:1] ifc_fetch_addr_f; - input wire ifc_fetch_req_f; - input wire [6:0] dec_tlu_br0_r_pkt; - input wire [pt[2236-:8] - 1:0] exu_i0_br_fghr_r; - input wire [pt[2172-:9]:pt[2163-:6]] exu_i0_br_index_r; - input wire [$clog2(pt[2061-:14]) - 1:0] dec_fa_error_index; - input wire dec_tlu_flush_lower_wb; - input wire dec_tlu_flush_leak_one_wb; - input wire dec_tlu_bpred_disable; - input wire [55:0] exu_mp_pkt; - input wire [pt[2236-:8] - 1:0] exu_mp_eghr; - input wire [pt[2236-:8] - 1:0] exu_mp_fghr; - input wire [pt[2172-:9]:pt[2163-:6]] exu_mp_index; - input wire [pt[2139-:9] - 1:0] exu_mp_btag; - input wire exu_flush_final; - output wire ifu_bp_hit_taken_f; - output wire [31:1] ifu_bp_btb_target_f; - output wire ifu_bp_inst_mask_f; - output wire [pt[2236-:8] - 1:0] ifu_bp_fghr_f; - output wire [1:0] ifu_bp_way_f; - output wire [1:0] ifu_bp_ret_f; - output wire [1:0] ifu_bp_hist1_f; - output wire [1:0] ifu_bp_hist0_f; - output wire [1:0] ifu_bp_pc4_f; - output wire [1:0] ifu_bp_valid_f; - output wire [11:0] ifu_bp_poffset_f; - output wire [(2 * $clog2(pt[2061-:14])) - 1:0] ifu_bp_fa_index_f; - input wire scan_mode; - localparam BTB_DWIDTH = (pt[2047-:9] + pt[2139-:9]) + 5; - function automatic signed [31:0] sv2v_cast_32_signed; - input reg signed [31:0] inp; - sv2v_cast_32_signed = inp; - endfunction - localparam BTB_DWIDTH_TOP = (sv2v_cast_32_signed(pt[2047-:9]) + sv2v_cast_32_signed(pt[2139-:9])) + 4; - localparam BTB_FA_INDEX = $clog2(pt[2061-:14]) - 1; - localparam FA_CMP_LOWER = $clog2(pt[1095-:11]); - localparam FA_TAG_END_UPPER = ((5 + sv2v_cast_32_signed(pt[2047-:9])) + FA_CMP_LOWER) - 1; - localparam FA_TAG_START_LOWER = (3 + sv2v_cast_32_signed(pt[2047-:9])) + FA_CMP_LOWER; - localparam FA_TAG_END_LOWER = 5 + sv2v_cast_32_signed(pt[2047-:9]); - localparam TAG_START = BTB_DWIDTH - 1; - localparam PC4 = 4; - localparam BOFF = 3; - localparam CALL = 2; - localparam RET = 1; - localparam BV = 0; - localparam LRU_SIZE = pt[2157-:13]; - localparam NUM_BHT_LOOP = (pt[2256-:15] > 16 ? 16 : pt[2256-:15]); - localparam NUM_BHT_LOOP_INNER_HI = (pt[2256-:15] > 16 ? pt[2262-:6] + 3 : pt[2270-:8]); - localparam NUM_BHT_LOOP_OUTER_LO = (pt[2256-:15] > 16 ? pt[2262-:6] + 4 : pt[2262-:6]); - localparam BHT_NO_ADDR_MATCH = pt[2256-:15] <= 16; - wire exu_mp_valid_write; - wire exu_mp_ataken; - wire exu_mp_valid; - wire exu_mp_boffset; - wire exu_mp_pc4; - wire exu_mp_call; - wire exu_mp_ret; - wire exu_mp_ja; - wire [1:0] exu_mp_hist; - wire [11:0] exu_mp_tgt; - wire [pt[2172-:9]:pt[2163-:6]] exu_mp_addr; - wire dec_tlu_br0_v_wb; - wire [1:0] dec_tlu_br0_hist_wb; - wire [pt[2172-:9]:pt[2163-:6]] dec_tlu_br0_addr_wb; - wire dec_tlu_br0_error_wb; - wire dec_tlu_br0_start_error_wb; - wire [pt[2236-:8] - 1:0] exu_i0_br_fghr_wb; - wire use_mp_way; - wire use_mp_way_p1; - wire [(pt[31-:8] * 32) - 1:0] rets_out; - wire [(pt[31-:8] * 32) - 1:0] rets_in; - wire [pt[31-:8] - 1:0] rsenable; - wire [11:0] btb_rd_tgt_f; - wire btb_rd_pc4_f; - wire btb_rd_call_f; - wire btb_rd_ret_f; - wire [1:1] bp_total_branch_offset_f; - wire [31:1] bp_btb_target_adder_f; - wire [31:1] bp_rs_call_target_f; - wire rs_push; - wire rs_pop; - wire rs_hold; - wire [pt[2172-:9]:pt[2163-:6]] btb_rd_addr_p1_f; - wire [pt[2172-:9]:pt[2163-:6]] btb_wr_addr; - wire [pt[2172-:9]:pt[2163-:6]] btb_rd_addr_f; - wire [pt[2139-:9] - 1:0] btb_wr_tag; - wire [pt[2139-:9] - 1:0] fetch_rd_tag_f; - wire [pt[2139-:9] - 1:0] fetch_rd_tag_p1_f; - wire [BTB_DWIDTH - 1:0] btb_wr_data; - wire btb_wr_en_way0; - wire btb_wr_en_way1; - wire dec_tlu_error_wb; - wire btb_valid; - wire dec_tlu_br0_middle_wb; - wire [pt[2172-:9]:pt[2163-:6]] btb_error_addr_wb; - wire branch_error_collision_f; - wire fetch_mp_collision_f; - wire branch_error_collision_p1_f; - wire fetch_mp_collision_p1_f; - wire branch_error_bank_conflict_f; - wire [pt[2236-:8] - 1:0] merged_ghr; - wire [pt[2236-:8] - 1:0] fghr_ns; - wire [pt[2236-:8] - 1:0] fghr; - wire [1:0] num_valids; - wire [LRU_SIZE - 1:0] btb_lru_b0_f; - wire [LRU_SIZE - 1:0] btb_lru_b0_hold; - wire [LRU_SIZE - 1:0] btb_lru_b0_ns; - wire [LRU_SIZE - 1:0] fetch_wrindex_dec; - wire [LRU_SIZE - 1:0] fetch_wrindex_p1_dec; - wire [LRU_SIZE - 1:0] fetch_wrlru_b0; - wire [LRU_SIZE - 1:0] fetch_wrlru_p1_b0; - wire [LRU_SIZE - 1:0] mp_wrindex_dec; - wire [LRU_SIZE - 1:0] mp_wrlru_b0; - wire btb_lru_rd_f; - wire btb_lru_rd_p1_f; - wire lru_update_valid_f; - wire tag_match_way0_f; - wire tag_match_way1_f; - wire [1:0] way_raw; - wire [1:0] bht_dir_f; - wire [1:0] btb_sel_f; - wire [1:0] wayhit_f; - wire [1:0] vwayhit_f; - wire [1:0] wayhit_p1_f; - wire [1:0] bht_valid_f; - wire [1:0] bht_force_taken_f; - wire leak_one_f; - wire leak_one_f_d1; - wire [(LRU_SIZE * BTB_DWIDTH) - 1:0] btb_bank0_rd_data_way0_out; - wire [(LRU_SIZE * BTB_DWIDTH) - 1:0] btb_bank0_rd_data_way1_out; - reg [BTB_DWIDTH - 1:0] btb_bank0_rd_data_way0_f; - reg [BTB_DWIDTH - 1:0] btb_bank0_rd_data_way1_f; - reg [BTB_DWIDTH - 1:0] btb_bank0_rd_data_way0_p1_f; - reg [BTB_DWIDTH - 1:0] btb_bank0_rd_data_way1_p1_f; - reg [BTB_DWIDTH - 1:0] btb_vbank0_rd_data_f; - reg [BTB_DWIDTH - 1:0] btb_vbank1_rd_data_f; - wire final_h; - wire btb_fg_crossing_f; - wire middle_of_bank; - wire [1:0] bht_vbank0_rd_data_f; - wire [1:0] bht_vbank1_rd_data_f; - wire branch_error_bank_conflict_p1_f; - wire tag_match_way0_p1_f; - wire tag_match_way1_p1_f; - wire [1:0] btb_vlru_rd_f; - wire [1:0] fetch_start_f; - wire [1:0] tag_match_vway1_expanded_f; - wire [1:0] tag_match_way0_expanded_p1_f; - wire [1:0] tag_match_way1_expanded_p1_f; - wire [31:2] fetch_addr_p1_f; - wire exu_mp_way; - wire exu_mp_way_f; - wire dec_tlu_br0_way_wb; - wire dec_tlu_way_wb; - wire [BTB_DWIDTH - 1:0] btb_bank0e_rd_data_f; - wire [BTB_DWIDTH - 1:0] btb_bank0e_rd_data_p1_f; - wire [BTB_DWIDTH - 1:0] btb_bank0o_rd_data_f; - wire [1:0] tag_match_way0_expanded_f; - wire [1:0] tag_match_way1_expanded_f; - reg [1:0] bht_bank0_rd_data_f; - reg [1:0] bht_bank1_rd_data_f; - reg [1:0] bht_bank0_rd_data_p1_f; - genvar j; - genvar i; - assign exu_mp_valid = exu_mp_pkt[55] & ~leak_one_f; - assign exu_mp_boffset = exu_mp_pkt[53]; - assign exu_mp_pc4 = exu_mp_pkt[52]; - assign exu_mp_call = exu_mp_pkt[34]; - assign exu_mp_ret = exu_mp_pkt[31]; - assign exu_mp_ja = exu_mp_pkt[33]; - assign exu_mp_way = exu_mp_pkt[32]; - assign exu_mp_hist[1:0] = exu_mp_pkt[51:50]; - assign exu_mp_tgt[11:0] = exu_mp_pkt[49:38]; - assign exu_mp_addr[pt[2172-:9]:pt[2163-:6]] = exu_mp_index[pt[2172-:9]:pt[2163-:6]]; - assign exu_mp_ataken = exu_mp_pkt[54]; - assign dec_tlu_br0_v_wb = dec_tlu_br0_r_pkt[6]; - assign dec_tlu_br0_hist_wb[1:0] = dec_tlu_br0_r_pkt[5:4]; - assign dec_tlu_br0_addr_wb[pt[2172-:9]:pt[2163-:6]] = exu_i0_br_index_r[pt[2172-:9]:pt[2163-:6]]; - assign dec_tlu_br0_error_wb = dec_tlu_br0_r_pkt[3]; - assign dec_tlu_br0_middle_wb = dec_tlu_br0_r_pkt[0]; - assign dec_tlu_br0_way_wb = dec_tlu_br0_r_pkt[1]; - assign dec_tlu_br0_start_error_wb = dec_tlu_br0_r_pkt[2]; - assign exu_i0_br_fghr_wb[pt[2236-:8] - 1:0] = exu_i0_br_fghr_r[pt[2236-:8] - 1:0]; - eb1_btb_addr_hash #(.pt(pt)) f1hash( - .pc(ifc_fetch_addr_f[pt[2079-:9]:pt[2106-:9]]), - .hash(btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]]) - ); - assign fetch_addr_p1_f[31:2] = ifc_fetch_addr_f[31:2] + 30'b000000000000000000000000000001; - eb1_btb_addr_hash #(.pt(pt)) f1hash_p1( - .pc(fetch_addr_p1_f[pt[2079-:9]:pt[2106-:9]]), - .hash(btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]]) - ); - assign btb_sel_f[1] = ~bht_dir_f[0]; - assign btb_sel_f[0] = bht_dir_f[0]; - assign fetch_start_f[1:0] = {ifc_fetch_addr_f[1], ~ifc_fetch_addr_f[1]}; - assign branch_error_collision_f = dec_tlu_error_wb & (btb_error_addr_wb[pt[2172-:9]:pt[2163-:6]] == btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]]); - assign branch_error_collision_p1_f = dec_tlu_error_wb & (btb_error_addr_wb[pt[2172-:9]:pt[2163-:6]] == btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]]); - assign branch_error_bank_conflict_f = branch_error_collision_f & dec_tlu_error_wb; - assign branch_error_bank_conflict_p1_f = branch_error_collision_p1_f & dec_tlu_error_wb; - assign leak_one_f = (dec_tlu_flush_leak_one_wb & dec_tlu_flush_lower_wb) | (leak_one_f_d1 & ~dec_tlu_flush_lower_wb); - wire exu_flush_final_d1; - generate - if (!pt[2120-:5]) begin - assign fetch_mp_collision_f = (((exu_mp_btag[pt[2139-:9] - 1:0] == fetch_rd_tag_f[pt[2139-:9] - 1:0]) & exu_mp_valid) & ifc_fetch_req_f) & (exu_mp_addr[pt[2172-:9]:pt[2163-:6]] == btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]]); - assign fetch_mp_collision_p1_f = (((exu_mp_btag[pt[2139-:9] - 1:0] == fetch_rd_tag_p1_f[pt[2139-:9] - 1:0]) & exu_mp_valid) & ifc_fetch_req_f) & (exu_mp_addr[pt[2172-:9]:pt[2163-:6]] == btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]]); - assign tag_match_way0_f = (((btb_bank0_rd_data_way0_f[BV] & (btb_bank0_rd_data_way0_f[TAG_START:17] == fetch_rd_tag_f[pt[2139-:9] - 1:0])) & ~(dec_tlu_way_wb & branch_error_bank_conflict_f)) & ifc_fetch_req_f) & ~leak_one_f; - assign tag_match_way1_f = (((btb_bank0_rd_data_way1_f[BV] & (btb_bank0_rd_data_way1_f[TAG_START:17] == fetch_rd_tag_f[pt[2139-:9] - 1:0])) & ~(dec_tlu_way_wb & branch_error_bank_conflict_f)) & ifc_fetch_req_f) & ~leak_one_f; - assign tag_match_way0_p1_f = (((btb_bank0_rd_data_way0_p1_f[BV] & (btb_bank0_rd_data_way0_p1_f[TAG_START:17] == fetch_rd_tag_p1_f[pt[2139-:9] - 1:0])) & ~(dec_tlu_way_wb & branch_error_bank_conflict_p1_f)) & ifc_fetch_req_f) & ~leak_one_f; - assign tag_match_way1_p1_f = (((btb_bank0_rd_data_way1_p1_f[BV] & (btb_bank0_rd_data_way1_p1_f[TAG_START:17] == fetch_rd_tag_p1_f[pt[2139-:9] - 1:0])) & ~(dec_tlu_way_wb & branch_error_bank_conflict_p1_f)) & ifc_fetch_req_f) & ~leak_one_f; - assign tag_match_way0_expanded_f[1:0] = {tag_match_way0_f & (btb_bank0_rd_data_way0_f[BOFF] ^ btb_bank0_rd_data_way0_f[PC4]), tag_match_way0_f & ~(btb_bank0_rd_data_way0_f[BOFF] ^ btb_bank0_rd_data_way0_f[PC4])}; - assign tag_match_way1_expanded_f[1:0] = {tag_match_way1_f & (btb_bank0_rd_data_way1_f[BOFF] ^ btb_bank0_rd_data_way1_f[PC4]), tag_match_way1_f & ~(btb_bank0_rd_data_way1_f[BOFF] ^ btb_bank0_rd_data_way1_f[PC4])}; - assign tag_match_way0_expanded_p1_f[1:0] = {tag_match_way0_p1_f & (btb_bank0_rd_data_way0_p1_f[BOFF] ^ btb_bank0_rd_data_way0_p1_f[PC4]), tag_match_way0_p1_f & ~(btb_bank0_rd_data_way0_p1_f[BOFF] ^ btb_bank0_rd_data_way0_p1_f[PC4])}; - assign tag_match_way1_expanded_p1_f[1:0] = {tag_match_way1_p1_f & (btb_bank0_rd_data_way1_p1_f[BOFF] ^ btb_bank0_rd_data_way1_p1_f[PC4]), tag_match_way1_p1_f & ~(btb_bank0_rd_data_way1_p1_f[BOFF] ^ btb_bank0_rd_data_way1_p1_f[PC4])}; - assign wayhit_f[1:0] = tag_match_way0_expanded_f[1:0] | tag_match_way1_expanded_f[1:0]; - assign wayhit_p1_f[1:0] = tag_match_way0_expanded_p1_f[1:0] | tag_match_way1_expanded_p1_f[1:0]; - assign btb_bank0o_rd_data_f[BTB_DWIDTH - 1:0] = ({17 + pt[2139-:9] {tag_match_way0_expanded_f[1]}} & btb_bank0_rd_data_way0_f[BTB_DWIDTH - 1:0]) | ({17 + pt[2139-:9] {tag_match_way1_expanded_f[1]}} & btb_bank0_rd_data_way1_f[BTB_DWIDTH - 1:0]); - assign btb_bank0e_rd_data_f[BTB_DWIDTH - 1:0] = ({17 + pt[2139-:9] {tag_match_way0_expanded_f[0]}} & btb_bank0_rd_data_way0_f[BTB_DWIDTH - 1:0]) | ({17 + pt[2139-:9] {tag_match_way1_expanded_f[0]}} & btb_bank0_rd_data_way1_f[BTB_DWIDTH - 1:0]); - assign btb_bank0e_rd_data_p1_f[BTB_DWIDTH - 1:0] = ({17 + pt[2139-:9] {tag_match_way0_expanded_p1_f[0]}} & btb_bank0_rd_data_way0_p1_f[BTB_DWIDTH - 1:0]) | ({17 + pt[2139-:9] {tag_match_way1_expanded_p1_f[0]}} & btb_bank0_rd_data_way1_p1_f[BTB_DWIDTH - 1:0]); - wire [BTB_DWIDTH:1] sv2v_tmp_F09CF; - assign sv2v_tmp_F09CF = ({17 + pt[2139-:9] {fetch_start_f[0]}} & btb_bank0e_rd_data_f[BTB_DWIDTH - 1:0]) | ({17 + pt[2139-:9] {fetch_start_f[1]}} & btb_bank0o_rd_data_f[BTB_DWIDTH - 1:0]); - always @(*) btb_vbank0_rd_data_f[BTB_DWIDTH - 1:0] = sv2v_tmp_F09CF; - wire [BTB_DWIDTH:1] sv2v_tmp_BEF15; - assign sv2v_tmp_BEF15 = ({17 + pt[2139-:9] {fetch_start_f[0]}} & btb_bank0o_rd_data_f[BTB_DWIDTH - 1:0]) | ({17 + pt[2139-:9] {fetch_start_f[1]}} & btb_bank0e_rd_data_p1_f[BTB_DWIDTH - 1:0]); - always @(*) btb_vbank1_rd_data_f[BTB_DWIDTH - 1:0] = sv2v_tmp_BEF15; - assign way_raw[1:0] = tag_match_vway1_expanded_f[1:0] | (~vwayhit_f[1:0] & btb_vlru_rd_f[1:0]); - assign mp_wrindex_dec[LRU_SIZE - 1:0] = {{LRU_SIZE - 1 {1'b0}}, 1'b1} << exu_mp_addr[pt[2172-:9]:pt[2163-:6]]; - assign fetch_wrindex_dec[LRU_SIZE - 1:0] = {{LRU_SIZE - 1 {1'b0}}, 1'b1} << btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]]; - assign fetch_wrindex_p1_dec[LRU_SIZE - 1:0] = {{LRU_SIZE - 1 {1'b0}}, 1'b1} << btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]]; - assign mp_wrlru_b0[LRU_SIZE - 1:0] = mp_wrindex_dec[LRU_SIZE - 1:0] & {LRU_SIZE {exu_mp_valid}}; - assign btb_lru_b0_hold[LRU_SIZE - 1:0] = ~mp_wrlru_b0[LRU_SIZE - 1:0] & ~fetch_wrlru_b0[LRU_SIZE - 1:0]; - assign use_mp_way = fetch_mp_collision_f; - assign use_mp_way_p1 = fetch_mp_collision_p1_f; - assign lru_update_valid_f = ((vwayhit_f[0] | vwayhit_f[1]) & ifc_fetch_req_f) & ~leak_one_f; - assign fetch_wrlru_b0[LRU_SIZE - 1:0] = fetch_wrindex_dec[LRU_SIZE - 1:0] & {LRU_SIZE {lru_update_valid_f}}; - assign fetch_wrlru_p1_b0[LRU_SIZE - 1:0] = fetch_wrindex_p1_dec[LRU_SIZE - 1:0] & {LRU_SIZE {lru_update_valid_f}}; - assign btb_lru_b0_ns[LRU_SIZE - 1:0] = (((btb_lru_b0_hold[LRU_SIZE - 1:0] & btb_lru_b0_f[LRU_SIZE - 1:0]) | (mp_wrlru_b0[LRU_SIZE - 1:0] & {LRU_SIZE {~exu_mp_way}})) | (fetch_wrlru_b0[LRU_SIZE - 1:0] & {LRU_SIZE {tag_match_way0_f}})) | (fetch_wrlru_p1_b0[LRU_SIZE - 1:0] & {LRU_SIZE {tag_match_way0_p1_f}}); - assign btb_lru_rd_f = (use_mp_way ? exu_mp_way_f : |(fetch_wrindex_dec[LRU_SIZE - 1:0] & btb_lru_b0_f[LRU_SIZE - 1:0])); - assign btb_lru_rd_p1_f = (use_mp_way_p1 ? exu_mp_way_f : |(fetch_wrindex_p1_dec[LRU_SIZE - 1:0] & btb_lru_b0_f[LRU_SIZE - 1:0])); - assign btb_vlru_rd_f[1:0] = ({2 {fetch_start_f[0]}} & {btb_lru_rd_f, btb_lru_rd_f}) | ({2 {fetch_start_f[1]}} & {btb_lru_rd_p1_f, btb_lru_rd_f}); - assign tag_match_vway1_expanded_f[1:0] = ({2 {fetch_start_f[0]}} & {tag_match_way1_expanded_f[1:0]}) | ({2 {fetch_start_f[1]}} & {tag_match_way1_expanded_p1_f[0], tag_match_way1_expanded_f[1]}); - rvdffe #(.WIDTH(LRU_SIZE)) btb_lru_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(ifc_fetch_req_f | exu_mp_valid), - .din(btb_lru_b0_ns[LRU_SIZE - 1:0]), - .dout(btb_lru_b0_f[LRU_SIZE - 1:0]) - ); - end - endgenerate - wire eoc_near; - wire eoc_mask; - assign eoc_near = &ifc_fetch_addr_f[pt[1182-:8]:3]; - assign eoc_mask = ~eoc_near | |(~ifc_fetch_addr_f[2:1]); - wire [16:1] btb_sel_data_f; - assign btb_rd_tgt_f[11:0] = btb_sel_data_f[16:5]; - assign btb_rd_pc4_f = btb_sel_data_f[4]; - assign btb_rd_call_f = btb_sel_data_f[2]; - assign btb_rd_ret_f = btb_sel_data_f[1]; - assign btb_sel_data_f[16:1] = ({16 {btb_sel_f[1]}} & btb_vbank1_rd_data_f[16:1]) | ({16 {btb_sel_f[0]}} & btb_vbank0_rd_data_f[16:1]); - wire [1:0] hist0_raw; - wire [1:0] hist1_raw; - wire [1:0] pc4_raw; - wire [1:0] pret_raw; - assign ifu_bp_hit_taken_f = ((|(vwayhit_f[1:0] & hist1_raw[1:0]) & ifc_fetch_req_f) & ~leak_one_f_d1) & ~dec_tlu_bpred_disable; - assign bht_force_taken_f[1:0] = {btb_vbank1_rd_data_f[CALL] | btb_vbank1_rd_data_f[RET], btb_vbank0_rd_data_f[CALL] | btb_vbank0_rd_data_f[RET]}; - assign bht_valid_f[1:0] = vwayhit_f[1:0]; - assign bht_vbank0_rd_data_f[1:0] = ({2 {fetch_start_f[0]}} & bht_bank0_rd_data_f[1:0]) | ({2 {fetch_start_f[1]}} & bht_bank1_rd_data_f[1:0]); - assign bht_vbank1_rd_data_f[1:0] = ({2 {fetch_start_f[0]}} & bht_bank1_rd_data_f[1:0]) | ({2 {fetch_start_f[1]}} & bht_bank0_rd_data_p1_f[1:0]); - assign bht_dir_f[1:0] = {(bht_force_taken_f[1] | bht_vbank1_rd_data_f[1]) & bht_valid_f[1], (bht_force_taken_f[0] | bht_vbank0_rd_data_f[1]) & bht_valid_f[0]}; - assign ifu_bp_inst_mask_f = (ifu_bp_hit_taken_f & btb_sel_f[1]) | ~ifu_bp_hit_taken_f; - assign hist1_raw[1:0] = bht_force_taken_f[1:0] | {bht_vbank1_rd_data_f[1], bht_vbank0_rd_data_f[1]}; - assign hist0_raw[1:0] = {bht_vbank1_rd_data_f[0], bht_vbank0_rd_data_f[0]}; - assign pc4_raw[1:0] = {vwayhit_f[1] & btb_vbank1_rd_data_f[PC4], vwayhit_f[0] & btb_vbank0_rd_data_f[PC4]}; - assign pret_raw[1:0] = {(vwayhit_f[1] & ~btb_vbank1_rd_data_f[CALL]) & btb_vbank1_rd_data_f[RET], (vwayhit_f[0] & ~btb_vbank0_rd_data_f[CALL]) & btb_vbank0_rd_data_f[RET]}; - function [1:0] countones; - input [1:0] valid; - countones[1:0] = {2'b00, valid[1]} + {2'b00, valid[0]}; - endfunction - assign num_valids[1:0] = countones(bht_valid_f[1:0]); - assign final_h = |(btb_sel_f[1:0] & bht_dir_f[1:0]); - assign merged_ghr[pt[2236-:8] - 1:0] = (({pt[2236-:8] {num_valids[1:0] == 2'h2}} & {fghr[pt[2236-:8] - 3:0], 1'b0, final_h}) | ({pt[2236-:8] {num_valids[1:0] == 2'h1}} & {fghr[pt[2236-:8] - 2:0], final_h})) | ({pt[2236-:8] {num_valids[1:0] == 2'h0}} & {fghr[pt[2236-:8] - 1:0]}); - wire [pt[2236-:8] - 1:0] exu_flush_ghr; - assign exu_flush_ghr[pt[2236-:8] - 1:0] = exu_mp_fghr[pt[2236-:8] - 1:0]; - assign fghr_ns[pt[2236-:8] - 1:0] = (({pt[2236-:8] {exu_flush_final_d1}} & exu_flush_ghr[pt[2236-:8] - 1:0]) | ({pt[2236-:8] {((~exu_flush_final_d1 & ifc_fetch_req_f) & ic_hit_f) & ~leak_one_f_d1}} & merged_ghr[pt[2236-:8] - 1:0])) | ({pt[2236-:8] {~exu_flush_final_d1 & ~((ifc_fetch_req_f & ic_hit_f) & ~leak_one_f_d1)}} & fghr[pt[2236-:8] - 1:0]); - rvdffie #( - .WIDTH(pt[2236-:8] + 3), - .OVERRIDE(1) - ) fetchghr( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din({exu_flush_final, exu_mp_way, leak_one_f, fghr_ns[pt[2236-:8] - 1:0]}), - .dout({exu_flush_final_d1, exu_mp_way_f, leak_one_f_d1, fghr[pt[2236-:8] - 1:0]}) - ); - assign ifu_bp_fghr_f[pt[2236-:8] - 1:0] = fghr[pt[2236-:8] - 1:0]; - assign ifu_bp_way_f[1:0] = way_raw[1:0]; - assign ifu_bp_hist1_f[1:0] = hist1_raw[1:0]; - assign ifu_bp_hist0_f[1:0] = hist0_raw[1:0]; - assign ifu_bp_pc4_f[1:0] = pc4_raw[1:0]; - assign ifu_bp_valid_f[1:0] = vwayhit_f[1:0] & ~{2 {dec_tlu_bpred_disable}}; - assign ifu_bp_ret_f[1:0] = pret_raw[1:0]; - wire [1:0] bloc_f; - wire use_fa_plus; - assign bloc_f[1] = (bht_dir_f[0] & ~fetch_start_f[0]) | (~bht_dir_f[0] & fetch_start_f[0]); - assign bloc_f[0] = (bht_dir_f[0] & fetch_start_f[0]) | (~bht_dir_f[0] & ~fetch_start_f[0]); - assign use_fa_plus = (~bht_dir_f[0] & ~fetch_start_f[0]) & ~btb_rd_pc4_f; - assign btb_fg_crossing_f = (fetch_start_f[0] & btb_sel_f[0]) & btb_rd_pc4_f; - assign bp_total_branch_offset_f = bloc_f[1] ^ btb_rd_pc4_f; - wire [31:2] adder_pc_in_f; - wire [31:2] ifc_fetch_adder_prior; - rvdfflie #( - .WIDTH(30), - .LEFT(19) - ) faddrf_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((ifc_fetch_req_f & ~ifu_bp_hit_taken_f) & ic_hit_f), - .din(ifc_fetch_addr_f[31:2]), - .dout(ifc_fetch_adder_prior[31:2]) - ); - assign ifu_bp_poffset_f[11:0] = btb_rd_tgt_f[11:0]; - assign adder_pc_in_f[31:2] = (({30 {use_fa_plus}} & fetch_addr_p1_f[31:2]) | ({30 {btb_fg_crossing_f}} & ifc_fetch_adder_prior[31:2])) | ({30 {~btb_fg_crossing_f & ~use_fa_plus}} & ifc_fetch_addr_f[31:2]); - rvbradder predtgt_addr( - .pc({adder_pc_in_f[31:2], bp_total_branch_offset_f}), - .offset(btb_rd_tgt_f[11:0]), - .dout(bp_btb_target_adder_f[31:1]) - ); - assign ifu_bp_btb_target_f[31:1] = ({31 {((btb_rd_ret_f & ~btb_rd_call_f) & rets_out[0]) & ifu_bp_hit_taken_f}} & rets_out[31-:31]) | ({31 {~((btb_rd_ret_f & ~btb_rd_call_f) & rets_out[0]) & ifu_bp_hit_taken_f}} & bp_btb_target_adder_f[31:1]); - rvbradder rs_addr( - .pc({adder_pc_in_f[31:2], bp_total_branch_offset_f}), - .offset({11'b00000000000, ~btb_rd_pc4_f}), - .dout(bp_rs_call_target_f[31:1]) - ); - assign rs_push = (btb_rd_call_f & ~btb_rd_ret_f) & ifu_bp_hit_taken_f; - assign rs_pop = (btb_rd_ret_f & ~btb_rd_call_f) & ifu_bp_hit_taken_f; - assign rs_hold = ~rs_push & ~rs_pop; - assign rets_in[31-:32] = ({32 {rs_push}} & {bp_rs_call_target_f[31:1], 1'b1}) | ({32 {rs_pop}} & rets_out[63-:32]); - assign rsenable[0] = ~rs_hold; - generate - for (i = 0; i < pt[31-:8]; i = i + 1) begin : retstack - if (i == (pt[31-:8] - 1)) begin - assign rets_in[(i * 32) + 31-:32] = rets_out[((i - 1) * 32) + 31-:32]; - assign rsenable[i] = rs_push; - end - else if (i > 0) begin - assign rets_in[(i * 32) + 31-:32] = ({32 {rs_push}} & rets_out[((i - 1) * 32) + 31-:32]) | ({32 {rs_pop}} & rets_out[((i + 1) * 32) + 31-:32]); - assign rsenable[i] = rs_push | rs_pop; - end - rvdffe #(.WIDTH(32)) rets_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(rsenable[i]), - .din(rets_in[(i * 32) + 31-:32]), - .dout(rets_out[(i * 32) + 31-:32]) - ); - end - endgenerate - assign dec_tlu_error_wb = dec_tlu_br0_start_error_wb | dec_tlu_br0_error_wb; - assign btb_error_addr_wb[pt[2172-:9]:pt[2163-:6]] = dec_tlu_br0_addr_wb[pt[2172-:9]:pt[2163-:6]]; - assign dec_tlu_way_wb = dec_tlu_br0_way_wb; - assign btb_valid = exu_mp_valid & ~dec_tlu_error_wb; - assign btb_wr_tag[pt[2139-:9] - 1:0] = exu_mp_btag[pt[2139-:9] - 1:0]; - generate - if (!pt[2120-:5]) begin - if (pt[2144-:5]) begin : btbfold - eb1_btb_tag_hash_fold #(.pt(pt)) rdtagf( - .hash(fetch_rd_tag_f[pt[2139-:9] - 1:0]), - .pc({ifc_fetch_addr_f[(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]}) - ); - eb1_btb_tag_hash_fold #(.pt(pt)) rdtagp1f( - .hash(fetch_rd_tag_p1_f[pt[2139-:9] - 1:0]), - .pc({fetch_addr_p1_f[(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]}) - ); - end - else begin - eb1_btb_tag_hash #(.pt(pt)) rdtagf( - .hash(fetch_rd_tag_f[pt[2139-:9] - 1:0]), - .pc({ifc_fetch_addr_f[((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]}) - ); - eb1_btb_tag_hash #(.pt(pt)) rdtagp1f( - .hash(fetch_rd_tag_p1_f[pt[2139-:9] - 1:0]), - .pc({fetch_addr_p1_f[((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1]}) - ); - end - assign btb_wr_en_way0 = {(~exu_mp_way & exu_mp_valid_write) & ~dec_tlu_error_wb} | {~dec_tlu_way_wb & dec_tlu_error_wb}; - assign btb_wr_en_way1 = {(exu_mp_way & exu_mp_valid_write) & ~dec_tlu_error_wb} | {dec_tlu_way_wb & dec_tlu_error_wb}; - assign btb_wr_addr[pt[2172-:9]:pt[2163-:6]] = (dec_tlu_error_wb ? btb_error_addr_wb[pt[2172-:9]:pt[2163-:6]] : exu_mp_addr[pt[2172-:9]:pt[2163-:6]]); - assign vwayhit_f[1:0] = (({2 {fetch_start_f[0]}} & {wayhit_f[1:0]}) | ({2 {fetch_start_f[1]}} & {wayhit_p1_f[0], wayhit_f[1]})) & {eoc_mask, 1'b1}; - end - endgenerate - assign btb_wr_data[BTB_DWIDTH - 1:0] = {btb_wr_tag[pt[2139-:9] - 1:0], exu_mp_tgt[pt[2047-:9] - 1:0], exu_mp_pc4, exu_mp_boffset, exu_mp_call | exu_mp_ja, exu_mp_ret | exu_mp_ja, btb_valid}; - assign exu_mp_valid_write = (exu_mp_valid & exu_mp_ataken) & ~exu_mp_pkt[37]; - wire [1:0] bht_wr_data0; - wire [1:0] bht_wr_data2; - wire [1:0] bht_wr_en0; - wire [1:0] bht_wr_en2; - assign middle_of_bank = exu_mp_pc4 ^ exu_mp_boffset; - assign bht_wr_en0[1:0] = {2 {((exu_mp_valid & ~exu_mp_call) & ~exu_mp_ret) & ~exu_mp_ja}} & {middle_of_bank, ~middle_of_bank}; - assign bht_wr_en2[1:0] = {2 {dec_tlu_br0_v_wb}} & {dec_tlu_br0_middle_wb, ~dec_tlu_br0_middle_wb}; - assign bht_wr_data0[1:0] = exu_mp_hist[1:0]; - assign bht_wr_data2[1:0] = dec_tlu_br0_hist_wb[1:0]; - wire [pt[2270-:8]:pt[2262-:6]] bht_rd_addr_f; - wire [pt[2270-:8]:pt[2262-:6]] bht_rd_addr_p1_f; - wire [pt[2270-:8]:pt[2262-:6]] bht_wr_addr0; - wire [pt[2270-:8]:pt[2262-:6]] bht_wr_addr2; - wire [pt[2270-:8]:pt[2262-:6]] mp_hashed; - wire [pt[2270-:8]:pt[2262-:6]] br0_hashed_wb; - wire [pt[2270-:8]:pt[2262-:6]] bht_rd_addr_hashed_f; - wire [pt[2270-:8]:pt[2262-:6]] bht_rd_addr_hashed_p1_f; - eb1_btb_ghr_hash #(.pt(pt)) mpghrhs( - .hashin(exu_mp_addr[pt[2172-:9]:pt[2163-:6]]), - .ghr(exu_mp_eghr[pt[2236-:8] - 1:0]), - .hash(mp_hashed[pt[2270-:8]:pt[2262-:6]]) - ); - eb1_btb_ghr_hash #(.pt(pt)) br0ghrhs( - .hashin(dec_tlu_br0_addr_wb[pt[2172-:9]:pt[2163-:6]]), - .ghr(exu_i0_br_fghr_wb[pt[2236-:8] - 1:0]), - .hash(br0_hashed_wb[pt[2270-:8]:pt[2262-:6]]) - ); - eb1_btb_ghr_hash #(.pt(pt)) fghrhs( - .hashin(btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]]), - .ghr(fghr[pt[2236-:8] - 1:0]), - .hash(bht_rd_addr_hashed_f[pt[2270-:8]:pt[2262-:6]]) - ); - eb1_btb_ghr_hash #(.pt(pt)) fghrhs_p1( - .hashin(btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]]), - .ghr(fghr[pt[2236-:8] - 1:0]), - .hash(bht_rd_addr_hashed_p1_f[pt[2270-:8]:pt[2262-:6]]) - ); - assign bht_wr_addr0[pt[2270-:8]:pt[2262-:6]] = mp_hashed[pt[2270-:8]:pt[2262-:6]]; - assign bht_wr_addr2[pt[2270-:8]:pt[2262-:6]] = br0_hashed_wb[pt[2270-:8]:pt[2262-:6]]; - assign bht_rd_addr_f[pt[2270-:8]:pt[2262-:6]] = bht_rd_addr_hashed_f[pt[2270-:8]:pt[2262-:6]]; - assign bht_rd_addr_p1_f[pt[2270-:8]:pt[2262-:6]] = bht_rd_addr_hashed_p1_f[pt[2270-:8]:pt[2262-:6]]; - generate - if (!pt[2120-:5]) begin - for (j = 0; j < LRU_SIZE; j = j + 1) begin : BTB_FLOPS - rvdffe #(.WIDTH(17 + pt[2139-:9])) btb_bank0_way0( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((btb_wr_addr[pt[2172-:9]:pt[2163-:6]] == j) & btb_wr_en_way0), - .din(btb_wr_data[BTB_DWIDTH - 1:0]), - .dout(btb_bank0_rd_data_way0_out[j * BTB_DWIDTH+:BTB_DWIDTH]) - ); - rvdffe #(.WIDTH(17 + pt[2139-:9])) btb_bank0_way1( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((btb_wr_addr[pt[2172-:9]:pt[2163-:6]] == j) & btb_wr_en_way1), - .din(btb_wr_data[BTB_DWIDTH - 1:0]), - .dout(btb_bank0_rd_data_way1_out[j * BTB_DWIDTH+:BTB_DWIDTH]) - ); - end - function automatic signed [((pt[2172-:9] - pt[2163-:6]) >= 0 ? (pt[2172-:9] - pt[2163-:6]) + 1 : 1 - (pt[2172-:9] - pt[2163-:6])) - 1:0] sv2v_cast_C4842_signed; - input reg signed [((pt[2172-:9] - pt[2163-:6]) >= 0 ? (pt[2172-:9] - pt[2163-:6]) + 1 : 1 - (pt[2172-:9] - pt[2163-:6])) - 1:0] inp; - sv2v_cast_C4842_signed = inp; - endfunction - always @(*) begin : BTB_rd_mux - btb_bank0_rd_data_way0_f[BTB_DWIDTH - 1:0] = {BTB_DWIDTH {1'sb0}}; - btb_bank0_rd_data_way1_f[BTB_DWIDTH - 1:0] = {BTB_DWIDTH {1'sb0}}; - btb_bank0_rd_data_way0_p1_f[BTB_DWIDTH - 1:0] = {BTB_DWIDTH {1'sb0}}; - btb_bank0_rd_data_way1_p1_f[BTB_DWIDTH - 1:0] = {BTB_DWIDTH {1'sb0}}; - begin : sv2v_autoblock_43 - reg signed [31:0] j; - for (j = 0; j < LRU_SIZE; j = j + 1) - if (btb_rd_addr_f[pt[2172-:9]:pt[2163-:6]] == j[6:0]) begin - btb_bank0_rd_data_way0_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way0_out[j * BTB_DWIDTH+:BTB_DWIDTH]; - btb_bank0_rd_data_way1_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way1_out[j * BTB_DWIDTH+:BTB_DWIDTH]; - end - end - begin : sv2v_autoblock_44 - reg signed [31:0] j; - for (j = 0; j < LRU_SIZE; j = j + 1) - if (btb_rd_addr_p1_f[pt[2172-:9]:pt[2163-:6]] == j[6:0]) begin - btb_bank0_rd_data_way0_p1_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way0_out[j * BTB_DWIDTH+:BTB_DWIDTH]; - btb_bank0_rd_data_way1_p1_f[BTB_DWIDTH - 1:0] = btb_bank0_rd_data_way1_out[j * BTB_DWIDTH+:BTB_DWIDTH]; - end - end - end - end - endgenerate - generate - if (pt[2120-:5]) begin : fa - reg found1; - reg hit0; - reg hit1; - wire btb_used_reset; - wire write_used; - reg [$clog2(pt[2061-:14]) - 1:0] btb_fa_wr_addr0; - reg [$clog2(pt[2061-:14]) - 1:0] hit0_index; - reg [$clog2(pt[2061-:14]) - 1:0] hit1_index; - reg [pt[2061-:14] - 1:0] btb_tag_hit; - reg [pt[2061-:14] - 1:0] btb_offset_0; - reg [pt[2061-:14] - 1:0] btb_offset_1; - wire [pt[2061-:14] - 1:0] btb_used_ns; - wire [pt[2061-:14] - 1:0] btb_used; - wire [pt[2061-:14] - 1:0] wr0_en; - reg [pt[2061-:14] - 1:0] btb_upper_hit; - wire [(pt[2061-:14] * BTB_DWIDTH) - 1:0] btbdata; - wire [FA_CMP_LOWER - 1:1] ifc_fetch_addr_p1_f; - assign ifc_fetch_addr_p1_f[FA_CMP_LOWER - 1:1] = ifc_fetch_addr_f[FA_CMP_LOWER - 1:1] + 1'b1; - assign fetch_mp_collision_f = (((exu_mp_btag[pt[2139-:9] - 1:0] == ifc_fetch_addr_f[31:1]) & exu_mp_valid) & ifc_fetch_req_f) & ~exu_mp_pkt[32]; - assign fetch_mp_collision_p1_f = (((exu_mp_btag[pt[2139-:9] - 1:0] == {ifc_fetch_addr_f[31:FA_CMP_LOWER], ifc_fetch_addr_p1_f[FA_CMP_LOWER - 1:1]}) & exu_mp_valid) & ifc_fetch_req_f) & ~exu_mp_pkt[32]; - function automatic signed [(BTB_FA_INDEX >= 0 ? BTB_FA_INDEX + 1 : 1 - BTB_FA_INDEX) - 1:0] sv2v_cast_50CAB_signed; - input reg signed [(BTB_FA_INDEX >= 0 ? BTB_FA_INDEX + 1 : 1 - BTB_FA_INDEX) - 1:0] inp; - sv2v_cast_50CAB_signed = inp; - endfunction - always @(*) begin - btb_vbank0_rd_data_f = {BTB_DWIDTH {1'sb0}}; - btb_vbank1_rd_data_f = {BTB_DWIDTH {1'sb0}}; - btb_tag_hit = {pt[2061-:14] {1'sb0}}; - btb_upper_hit = {pt[2061-:14] {1'sb0}}; - btb_offset_0 = {pt[2061-:14] {1'sb0}}; - btb_offset_1 = {pt[2061-:14] {1'sb0}}; - found1 = 1'b0; - hit0 = 1'b0; - hit1 = 1'b0; - hit0_index = {$clog2(pt[2061-:14]) {1'sb0}}; - hit1_index = {$clog2(pt[2061-:14]) {1'sb0}}; - btb_fa_wr_addr0 = {$clog2(pt[2061-:14]) {1'sb0}}; - begin : sv2v_autoblock_45 - reg signed [31:0] i; - for (i = 0; i < pt[2061-:14]; i = i + 1) - begin - btb_upper_hit[i] = ((btbdata[(i * BTB_DWIDTH) + (BTB_DWIDTH_TOP >= FA_TAG_END_UPPER ? BTB_DWIDTH_TOP : (BTB_DWIDTH_TOP + (BTB_DWIDTH_TOP >= FA_TAG_END_UPPER ? (BTB_DWIDTH_TOP - FA_TAG_END_UPPER) + 1 : (FA_TAG_END_UPPER - BTB_DWIDTH_TOP) + 1)) - 1)-:(BTB_DWIDTH_TOP >= FA_TAG_END_UPPER ? (BTB_DWIDTH_TOP - FA_TAG_END_UPPER) + 1 : (FA_TAG_END_UPPER - BTB_DWIDTH_TOP) + 1)] == ifc_fetch_addr_f[31:FA_CMP_LOWER]) & btbdata[i * BTB_DWIDTH]) & ~wr0_en[i]; - btb_offset_0[i] = (btbdata[(i * BTB_DWIDTH) + (FA_TAG_START_LOWER >= FA_TAG_END_LOWER ? FA_TAG_START_LOWER : (FA_TAG_START_LOWER + (FA_TAG_START_LOWER >= FA_TAG_END_LOWER ? (FA_TAG_START_LOWER - FA_TAG_END_LOWER) + 1 : (FA_TAG_END_LOWER - FA_TAG_START_LOWER) + 1)) - 1)-:(FA_TAG_START_LOWER >= FA_TAG_END_LOWER ? (FA_TAG_START_LOWER - FA_TAG_END_LOWER) + 1 : (FA_TAG_END_LOWER - FA_TAG_START_LOWER) + 1)] == ifc_fetch_addr_f[FA_CMP_LOWER - 1:1]) & btb_upper_hit[i]; - btb_offset_1[i] = (btbdata[(i * BTB_DWIDTH) + (FA_TAG_START_LOWER >= FA_TAG_END_LOWER ? FA_TAG_START_LOWER : (FA_TAG_START_LOWER + (FA_TAG_START_LOWER >= FA_TAG_END_LOWER ? (FA_TAG_START_LOWER - FA_TAG_END_LOWER) + 1 : (FA_TAG_END_LOWER - FA_TAG_START_LOWER) + 1)) - 1)-:(FA_TAG_START_LOWER >= FA_TAG_END_LOWER ? (FA_TAG_START_LOWER - FA_TAG_END_LOWER) + 1 : (FA_TAG_END_LOWER - FA_TAG_START_LOWER) + 1)] == ifc_fetch_addr_p1_f[FA_CMP_LOWER - 1:1]) & btb_upper_hit[i]; - if (~hit0) - if (btb_offset_0[i]) begin - hit0_index[BTB_FA_INDEX:0] = sv2v_cast_50CAB_signed(i); - hit0 = 1'b1; - end - if (~hit1) - if (btb_offset_1[i]) begin - hit1_index[BTB_FA_INDEX:0] = sv2v_cast_50CAB_signed(i); - hit1 = 1'b1; - end - if (btb_offset_0[i] == 1'b1) - btb_vbank0_rd_data_f[BTB_DWIDTH - 1:0] = (fetch_mp_collision_f ? btb_wr_data : btbdata[i * BTB_DWIDTH+:BTB_DWIDTH]); - if (btb_offset_1[i] == 1'b1) - btb_vbank1_rd_data_f[BTB_DWIDTH - 1:0] = (fetch_mp_collision_p1_f ? btb_wr_data : btbdata[i * BTB_DWIDTH+:BTB_DWIDTH]); - if (~found1) - if (~btb_used[i]) begin - btb_fa_wr_addr0[BTB_FA_INDEX:0] = i[BTB_FA_INDEX:0]; - found1 = 1'b1; - end - end - end - end - assign vwayhit_f[1:0] = {hit1, hit0} & {eoc_mask, 1'b1}; - assign way_raw[1:0] = vwayhit_f[1:0] | {fetch_mp_collision_p1_f, fetch_mp_collision_f}; - for (j = 0; j < pt[2061-:14]; j = j + 1) begin : BTB_FAFLOPS - assign wr0_en[j] = ((btb_fa_wr_addr0[BTB_FA_INDEX:0] == j) & (exu_mp_valid_write & ~exu_mp_pkt[32])) | ((dec_fa_error_index == j) & dec_tlu_error_wb); - rvdffe #(.WIDTH(BTB_DWIDTH)) btb_fa( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(wr0_en[j]), - .din(btb_wr_data[BTB_DWIDTH - 1:0]), - .dout(btbdata[j * BTB_DWIDTH+:BTB_DWIDTH]) - ); - end - assign ifu_bp_fa_index_f[$clog2(pt[2061-:14])+:$clog2(pt[2061-:14])] = (hit1 ? hit1_index : {$clog2(pt[2061-:14]) {1'sb0}}); - assign ifu_bp_fa_index_f[0+:$clog2(pt[2061-:14])] = (hit0 ? hit0_index : {$clog2(pt[2061-:14]) {1'sb0}}); - assign btb_used_reset = &btb_used[pt[2061-:14] - 1:0]; - assign btb_used_ns[pt[2061-:14] - 1:0] = ((((({pt[2061-:14] {vwayhit_f[1]}} & (32'b00000000000000000000000000000001 << hit1_index[BTB_FA_INDEX:0])) | ({pt[2061-:14] {vwayhit_f[0]}} & (32'b00000000000000000000000000000001 << hit0_index[BTB_FA_INDEX:0]))) | ({pt[2061-:14] {(exu_mp_valid_write & ~exu_mp_pkt[32]) & ~dec_tlu_error_wb}} & (32'b00000000000000000000000000000001 << btb_fa_wr_addr0[BTB_FA_INDEX:0]))) | ({pt[2061-:14] {btb_used_reset}} & {pt[2061-:14] {1'b0}})) | ({pt[2061-:14] {~btb_used_reset & dec_tlu_error_wb}} & (btb_used[pt[2061-:14] - 1:0] & ~(32'b00000000000000000000000000000001 << dec_fa_error_index[BTB_FA_INDEX:0])))) | (~{pt[2061-:14] {btb_used_reset | dec_tlu_error_wb}} & btb_used[pt[2061-:14] - 1:0]); - assign write_used = ((btb_used_reset | ifu_bp_hit_taken_f) | exu_mp_valid_write) | dec_tlu_error_wb; - rvdffe #(.WIDTH(pt[2061-:14])) btb_usedf( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(write_used), - .din(btb_used_ns[pt[2061-:14] - 1:0]), - .dout(btb_used[pt[2061-:14] - 1:0]) - ); - end - endgenerate - wire [(((2 * (pt[2256-:15] / NUM_BHT_LOOP)) * NUM_BHT_LOOP) * 2) - 1:0] bht_bank_wr_data; - wire [((2 * pt[2256-:15]) * 2) - 1:0] bht_bank_rd_data_out; - wire [(2 * (pt[2256-:15] / NUM_BHT_LOOP)) - 1:0] bht_bank_clken; - wire [(2 * (pt[2256-:15] / NUM_BHT_LOOP)) - 1:0] bht_bank_clk; - wire [((2 * (pt[2256-:15] / NUM_BHT_LOOP)) * NUM_BHT_LOOP) - 1:0] bht_bank_sel; - generate - for (i = 0; i < 2; i = i + 1) begin : BANKS - genvar k; - for (k = 0; k < (pt[2256-:15] / NUM_BHT_LOOP); k = k + 1) begin : BHT_CLK_GROUP - assign bht_bank_clken[(i * (pt[2256-:15] / NUM_BHT_LOOP)) + k] = (bht_wr_en0[i] & ((bht_wr_addr0[pt[2270-:8]:NUM_BHT_LOOP_OUTER_LO] == k) | BHT_NO_ADDR_MATCH)) | (bht_wr_en2[i] & ((bht_wr_addr2[pt[2270-:8]:NUM_BHT_LOOP_OUTER_LO] == k) | BHT_NO_ADDR_MATCH)); - rvclkhdr bht_bank_grp_cgc( - .en(bht_bank_clken[(i * (pt[2256-:15] / NUM_BHT_LOOP)) + k]), - .l1clk(bht_bank_clk[(i * (pt[2256-:15] / NUM_BHT_LOOP)) + k]), - .clk(clk), - .scan_mode(scan_mode) - ); - for (j = 0; j < NUM_BHT_LOOP; j = j + 1) begin : BHT_FLOPS - assign bht_bank_sel[(((i * (pt[2256-:15] / NUM_BHT_LOOP)) + k) * NUM_BHT_LOOP) + j] = ((bht_wr_en0[i] & (bht_wr_addr0[NUM_BHT_LOOP_INNER_HI:pt[2262-:6]] == j)) & ((bht_wr_addr0[pt[2270-:8]:NUM_BHT_LOOP_OUTER_LO] == k) | BHT_NO_ADDR_MATCH)) | ((bht_wr_en2[i] & (bht_wr_addr2[NUM_BHT_LOOP_INNER_HI:pt[2262-:6]] == j)) & ((bht_wr_addr2[pt[2270-:8]:NUM_BHT_LOOP_OUTER_LO] == k) | BHT_NO_ADDR_MATCH)); - assign bht_bank_wr_data[((((i * (pt[2256-:15] / NUM_BHT_LOOP)) + k) * NUM_BHT_LOOP) + j) * 2+:2] = ((bht_wr_en2[i] & (bht_wr_addr2[NUM_BHT_LOOP_INNER_HI:pt[2262-:6]] == j)) & ((bht_wr_addr2[pt[2270-:8]:NUM_BHT_LOOP_OUTER_LO] == k) | BHT_NO_ADDR_MATCH) ? bht_wr_data2[1:0] : bht_wr_data0[1:0]); - rvdffs_fpga #(.WIDTH(2)) bht_bank( - .rst_l(rst_l), - .clk(bht_bank_clk[(i * (pt[2256-:15] / NUM_BHT_LOOP)) + k]), - .en(bht_bank_sel[(((i * (pt[2256-:15] / NUM_BHT_LOOP)) + k) * NUM_BHT_LOOP) + j]), - .rawclk(clk), - .clken(bht_bank_sel[(((i * (pt[2256-:15] / NUM_BHT_LOOP)) + k) * NUM_BHT_LOOP) + j]), - .din(bht_bank_wr_data[((((i * (pt[2256-:15] / NUM_BHT_LOOP)) + k) * NUM_BHT_LOOP) + j) * 2+:2]), - .dout(bht_bank_rd_data_out[((i * pt[2256-:15]) + ((16 * k) + j)) * 2+:2]) - ); - end - end - end - endgenerate - function automatic signed [((pt[2270-:8] - pt[2262-:6]) >= 0 ? (pt[2270-:8] - pt[2262-:6]) + 1 : 1 - (pt[2270-:8] - pt[2262-:6])) - 1:0] sv2v_cast_AB44B_signed; - input reg signed [((pt[2270-:8] - pt[2262-:6]) >= 0 ? (pt[2270-:8] - pt[2262-:6]) + 1 : 1 - (pt[2270-:8] - pt[2262-:6])) - 1:0] inp; - sv2v_cast_AB44B_signed = inp; - endfunction - always @(*) begin : BHT_rd_mux - bht_bank0_rd_data_f[1:0] = {2 {1'sb0}}; - bht_bank1_rd_data_f[1:0] = {2 {1'sb0}}; - bht_bank0_rd_data_p1_f[1:0] = {2 {1'sb0}}; - begin : sv2v_autoblock_46 - reg signed [31:0] j; - for (j = 0; j < pt[2256-:15]; j = j + 1) - begin - if (bht_rd_addr_f[pt[2270-:8]:pt[2262-:6]] == sv2v_cast_AB44B_signed(j)) begin - bht_bank0_rd_data_f[1:0] = bht_bank_rd_data_out[j * 2+:2]; - bht_bank1_rd_data_f[1:0] = bht_bank_rd_data_out[(pt[2256-:15] + j) * 2+:2]; - end - if (bht_rd_addr_p1_f[pt[2270-:8]:pt[2262-:6]] == sv2v_cast_AB44B_signed(j)) - bht_bank0_rd_data_p1_f[1:0] = bht_bank_rd_data_out[j * 2+:2]; - end - end - end -endmodule -module eb1_ifu_compress_ctl ( - din, - dout -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [15:0] din; - output wire [31:0] dout; - wire legal; - wire [15:0] i; - wire [31:0] o; - wire [31:0] l1; - wire [31:0] l2; - wire [31:0] l3; - assign i[15:0] = din[15:0]; - wire [4:0] rs2d; - wire [4:0] rdd; - wire [4:0] rdpd; - wire [4:0] rs2pd; - wire rdrd; - wire rdrs1; - wire rs2rs2; - wire rdprd; - wire rdprs1; - wire rs2prs2; - wire rs2prd; - wire uimm9_2; - wire ulwimm6_2; - wire ulwspimm7_2; - wire rdeq2; - wire rdeq1; - wire rs1eq2; - wire sbroffset8_1; - wire simm9_4; - wire simm5_0; - wire sjaloffset11_1; - wire sluimm17_12; - wire uimm5_0; - wire uswimm6_2; - wire uswspimm7_2; - assign rs2d[4:0] = i[6:2]; - assign rdd[4:0] = i[11:7]; - assign rdpd[4:0] = {2'b01, i[9:7]}; - assign rs2pd[4:0] = {2'b01, i[4:2]}; - assign l1[6:0] = o[6:0]; - assign l1[11:7] = ((((o[11:7] | ({5 {rdrd}} & rdd[4:0])) | ({5 {rdprd}} & rdpd[4:0])) | ({5 {rs2prd}} & rs2pd[4:0])) | ({5 {rdeq1}} & 5'd1)) | ({5 {rdeq2}} & 5'd2); - assign l1[14:12] = o[14:12]; - assign l1[19:15] = ((o[19:15] | ({5 {rdrs1}} & rdd[4:0])) | ({5 {rdprs1}} & rdpd[4:0])) | ({5 {rs1eq2}} & 5'd2); - assign l1[24:20] = (o[24:20] | ({5 {rs2rs2}} & rs2d[4:0])) | ({5 {rs2prs2}} & rs2pd[4:0]); - assign l1[31:25] = o[31:25]; - wire [5:0] simm5d; - wire [9:2] uimm9d; - wire [9:4] simm9d; - wire [6:2] ulwimm6d; - wire [7:2] ulwspimm7d; - wire [5:0] uimm5d; - wire [20:1] sjald; - wire [31:12] sluimmd; - assign simm5d[5:0] = {i[12], i[6:2]}; - assign uimm9d[9:2] = {i[10:7], i[12:11], i[5], i[6]}; - assign simm9d[9:4] = {i[12], i[4:3], i[5], i[2], i[6]}; - assign ulwimm6d[6:2] = {i[5], i[12:10], i[6]}; - assign ulwspimm7d[7:2] = {i[3:2], i[12], i[6:4]}; - assign uimm5d[5:0] = {i[12], i[6:2]}; - assign sjald[11:1] = {i[12], i[8], i[10:9], i[6], i[7], i[2], i[11], i[5:4], i[3]}; - assign sjald[20:12] = {9 {i[12]}}; - assign sluimmd[31:12] = {{15 {i[12]}}, i[6:2]}; - assign l2[31:20] = (((((((l1[31:20] | ({12 {simm5_0}} & {{7 {simm5d[5]}}, simm5d[4:0]})) | ({12 {uimm9_2}} & {2'b00, uimm9d[9:2], 2'b00})) | ({12 {simm9_4}} & {{3 {simm9d[9]}}, simm9d[8:4], 4'b0000})) | ({12 {ulwimm6_2}} & {5'b00000, ulwimm6d[6:2], 2'b00})) | ({12 {ulwspimm7_2}} & {4'b0000, ulwspimm7d[7:2], 2'b00})) | ({12 {uimm5_0}} & {6'b000000, uimm5d[5:0]})) | ({12 {sjaloffset11_1}} & {sjald[20], sjald[10:1], sjald[11]})) | ({12 {sluimm17_12}} & sluimmd[31:20]); - assign l2[19:12] = (l1[19:12] | ({8 {sjaloffset11_1}} & sjald[19:12])) | ({8 {sluimm17_12}} & sluimmd[19:12]); - assign l2[11:0] = l1[11:0]; - wire [8:1] sbr8d; - wire [6:2] uswimm6d; - wire [7:2] uswspimm7d; - assign sbr8d[8:1] = {i[12], i[6], i[5], i[2], i[11], i[10], i[4], i[3]}; - assign uswimm6d[6:2] = {i[5], i[12:10], i[6]}; - assign uswspimm7d[7:2] = {i[8:7], i[12:9]}; - assign l3[31:25] = ((l2[31:25] | ({7 {sbroffset8_1}} & {{4 {sbr8d[8]}}, sbr8d[7:5]})) | ({7 {uswimm6_2}} & {5'b00000, uswimm6d[6:5]})) | ({7 {uswspimm7_2}} & {4'b0000, uswspimm7d[7:5]}); - assign l3[24:12] = l2[24:12]; - assign l3[11:7] = ((l2[11:7] | ({5 {sbroffset8_1}} & {sbr8d[4:1], sbr8d[8]})) | ({5 {uswimm6_2}} & {uswimm6d[4:2], 2'b00})) | ({5 {uswspimm7_2}} & {uswspimm7d[4:2], 2'b00}); - assign l3[6:0] = l2[6:0]; - assign dout[31:0] = l3[31:0] & {32 {legal}}; - assign rdrd = ((((((((((((!i[14] & i[6]) & i[1]) | (((!i[15] & i[14]) & i[11]) & i[0])) | ((!i[14] & i[5]) & i[1])) | (((!i[15] & i[14]) & i[10]) & i[0])) | ((!i[14] & i[4]) & i[1])) | (((!i[15] & i[14]) & i[9]) & i[0])) | ((!i[14] & i[3]) & i[1])) | (((!i[15] & i[14]) & !i[8]) & i[0])) | ((!i[14] & i[2]) & i[1])) | (((!i[15] & i[14]) & i[7]) & i[0])) | (!i[15] & i[1])) | ((!i[15] & !i[13]) & i[0]); - assign rdrs1 = ((((((((((((((!i[14] & i[12]) & i[11]) & i[1]) | (((!i[14] & i[12]) & i[10]) & i[1])) | (((!i[14] & i[12]) & i[9]) & i[1])) | (((!i[14] & i[12]) & i[8]) & i[1])) | (((!i[14] & i[12]) & i[7]) & i[1])) | (((((((!i[14] & !i[12]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | (((!i[14] & i[12]) & i[6]) & i[1])) | (((!i[14] & i[12]) & i[5]) & i[1])) | (((!i[14] & i[12]) & i[4]) & i[1])) | (((!i[14] & i[12]) & i[3]) & i[1])) | (((!i[14] & i[12]) & i[2]) & i[1])) | (((!i[15] & !i[14]) & !i[13]) & i[0])) | ((!i[15] & !i[14]) & i[1]); - assign rs2rs2 = ((((((i[15] & i[6]) & i[1]) | ((i[15] & i[5]) & i[1])) | ((i[15] & i[4]) & i[1])) | ((i[15] & i[3]) & i[1])) | ((i[15] & i[2]) & i[1])) | ((i[15] & i[14]) & i[1]); - assign rdprd = ((i[15] & !i[14]) & !i[13]) & i[0]; - assign rdprs1 = (((i[15] & !i[13]) & i[0]) | ((i[15] & i[14]) & i[0])) | ((i[14] & !i[1]) & !i[0]); - assign rs2prs2 = (((((i[15] & !i[14]) & !i[13]) & i[11]) & i[10]) & i[0]) | ((i[15] & !i[1]) & !i[0]); - assign rs2prd = (!i[15] & !i[1]) & !i[0]; - assign uimm9_2 = (!i[14] & !i[1]) & !i[0]; - assign ulwimm6_2 = ((!i[15] & i[14]) & !i[1]) & !i[0]; - assign ulwspimm7_2 = (!i[15] & i[14]) & i[1]; - assign rdeq2 = ((((((!i[15] & i[14]) & i[13]) & !i[11]) & !i[10]) & !i[9]) & i[8]) & !i[7]; - assign rdeq1 = ((((((((((((!i[14] & i[12]) & i[11]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1]) | ((((((((!i[14] & i[12]) & i[10]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((!i[14] & i[12]) & i[9]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((!i[14] & i[12]) & i[8]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((!i[14] & i[12]) & i[7]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((!i[15] & !i[14]) & i[13]); - assign rs1eq2 = ((((((((!i[15] & i[14]) & i[13]) & !i[11]) & !i[10]) & !i[9]) & i[8]) & !i[7]) | (i[14] & i[1])) | ((!i[14] & !i[1]) & !i[0]); - assign sbroffset8_1 = (i[15] & i[14]) & i[0]; - assign simm9_4 = ((((((!i[15] & i[14]) & i[13]) & !i[11]) & !i[10]) & !i[9]) & i[8]) & !i[7]; - assign simm5_0 = ((((!i[14] & !i[13]) & i[11]) & !i[10]) & i[0]) | ((!i[15] & !i[13]) & i[0]); - assign sjaloffset11_1 = !i[14] & i[13]; - assign sluimm17_12 = ((((((!i[15] & i[14]) & i[13]) & i[7]) | (((!i[15] & i[14]) & i[13]) & !i[8])) | (((!i[15] & i[14]) & i[13]) & i[9])) | (((!i[15] & i[14]) & i[13]) & i[10])) | (((!i[15] & i[14]) & i[13]) & i[11]); - assign uimm5_0 = ((((i[15] & !i[14]) & !i[13]) & !i[11]) & i[0]) | ((!i[15] & !i[14]) & i[1]); - assign uswimm6_2 = (i[15] & !i[1]) & !i[0]; - assign uswspimm7_2 = (i[15] & i[14]) & i[1]; - assign o[31] = 1'b0; - assign o[30] = ((((((i[15] & !i[14]) & !i[13]) & i[10]) & !i[6]) & !i[5]) & i[0]) | (((((i[15] & !i[14]) & !i[13]) & !i[11]) & i[10]) & i[0]); - assign o[29] = 1'b0; - assign o[28] = 1'b0; - assign o[27] = 1'b0; - assign o[26] = 1'b0; - assign o[25] = 1'b0; - assign o[24] = 1'b0; - assign o[23] = 1'b0; - assign o[22] = 1'b0; - assign o[21] = 1'b0; - assign o[20] = (((((((((((!i[14] & i[12]) & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1]; - assign o[19] = 1'b0; - assign o[18] = 1'b0; - assign o[17] = 1'b0; - assign o[16] = 1'b0; - assign o[15] = 1'b0; - assign o[14] = ((((((i[15] & !i[14]) & !i[13]) & !i[11]) & i[0]) | ((((i[15] & !i[14]) & !i[13]) & !i[10]) & i[0])) | ((((i[15] & !i[14]) & !i[13]) & i[6]) & i[0])) | ((((i[15] & !i[14]) & !i[13]) & i[5]) & i[0]); - assign o[13] = ((((((i[15] & !i[14]) & !i[13]) & i[11]) & !i[10]) & i[0]) | (((((i[15] & !i[14]) & !i[13]) & i[11]) & i[6]) & i[0])) | (i[14] & !i[0]); - assign o[12] = ((((((((i[15] & !i[14]) & !i[13]) & i[6]) & i[5]) & i[0]) | ((((i[15] & !i[14]) & !i[13]) & !i[11]) & i[0])) | ((((i[15] & !i[14]) & !i[13]) & !i[10]) & i[0])) | ((!i[15] & !i[14]) & i[1])) | ((i[15] & i[14]) & i[13]); - assign o[11] = 1'b0; - assign o[10] = 1'b0; - assign o[9] = 1'b0; - assign o[8] = 1'b0; - assign o[7] = 1'b0; - assign o[6] = ((((((((i[15] & !i[14]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & !i[0]) | (!i[14] & i[13])) | ((i[15] & i[14]) & i[0]); - assign o[5] = ((((((((i[15] & !i[0]) | ((i[15] & i[11]) & i[10])) | (i[13] & !i[8])) | (i[13] & i[7])) | (i[13] & i[9])) | (i[13] & i[10])) | (i[13] & i[11])) | (!i[14] & i[13])) | (i[15] & i[14]); - assign o[4] = (((((((((((((!i[14] & !i[11]) & !i[10]) & !i[9]) & !i[8]) & !i[7]) & !i[0]) | ((!i[15] & !i[14]) & !i[0])) | ((!i[14] & i[6]) & !i[0])) | ((!i[15] & i[14]) & i[0])) | ((!i[14] & i[5]) & !i[0])) | ((!i[14] & i[4]) & !i[0])) | ((!i[14] & !i[13]) & i[0])) | ((!i[14] & i[3]) & !i[0])) | ((!i[14] & i[2]) & !i[0]); - assign o[3] = !i[14] & i[13]; - assign o[2] = ((((((((((((((((((!i[14] & i[12]) & i[11]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1]) | ((((((((!i[14] & i[12]) & i[10]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((!i[14] & i[12]) & i[9]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((!i[14] & i[12]) & i[8]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((!i[14] & i[12]) & i[7]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & i[1])) | ((((((((i[15] & !i[14]) & !i[12]) & !i[6]) & !i[5]) & !i[4]) & !i[3]) & !i[2]) & !i[0])) | ((!i[15] & i[13]) & !i[8])) | ((!i[15] & i[13]) & i[7])) | ((!i[15] & i[13]) & i[9])) | ((!i[15] & i[13]) & i[10])) | ((!i[15] & i[13]) & i[11])) | (!i[14] & i[13]); - assign o[1] = 1'b1; - assign o[0] = 1'b1; - assign legal = (((((((((((((((((((((((((((((((((!i[13] & !i[12]) & i[11]) & i[1]) & !i[0]) | ((((!i[13] & !i[12]) & i[6]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[11]) & !i[1])) | ((((!i[13] & !i[12]) & i[5]) & i[1]) & !i[0])) | ((((!i[13] & !i[12]) & i[10]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[6]) & !i[1])) | (((i[15] & !i[12]) & !i[1]) & i[0])) | ((((!i[13] & !i[12]) & i[9]) & i[1]) & !i[0])) | (((!i[12] & i[6]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[5]) & !i[1])) | ((((!i[13] & !i[12]) & i[8]) & i[1]) & !i[0])) | (((!i[12] & i[5]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[10]) & !i[1])) | ((((!i[13] & !i[12]) & i[7]) & i[1]) & !i[0])) | ((((i[12] & i[11]) & !i[10]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[9]) & !i[1])) | ((((!i[13] & !i[12]) & i[4]) & i[1]) & !i[0])) | (((i[13] & i[12]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[8]) & !i[1])) | ((((!i[13] & !i[12]) & i[3]) & i[1]) & !i[0])) | (((i[13] & i[4]) & !i[1]) & i[0])) | ((((!i[13] & !i[12]) & i[2]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[7]) & !i[1])) | (((i[13] & i[3]) & !i[1]) & i[0])) | (((i[13] & i[2]) & !i[1]) & i[0])) | ((i[14] & !i[13]) & !i[1])) | (((!i[14] & !i[12]) & !i[1]) & i[0])) | ((((i[15] & !i[13]) & i[12]) & i[1]) & !i[0])) | ((((!i[15] & !i[13]) & !i[12]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[12]) & !i[1])) | ((i[14] & !i[13]) & !i[0]); -endmodule -module eb1_ifu_iccm_mem ( -`ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif - clk, - active_clk, - rst_l, - clk_override, - iccm_wren, - iccm_rden, - iccm_rw_addr, - iccm_buf_correct_ecc, - iccm_correction_state, - iccm_wr_size, - iccm_wr_data, - iccm_ext_in_pkt, - iccm_rd_data, - iccm_rd_data_ecc, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; -`ifdef USE_POWER_PINS - inout wire vccd1; - inout wire vssd1; -`endif - input wire clk; - input wire active_clk; - input wire rst_l; - input wire clk_override; - input wire iccm_wren; - input wire iccm_rden; - input wire [pt[936-:9] - 1:1] iccm_rw_addr; - input wire iccm_buf_correct_ecc; - input wire iccm_correction_state; - input wire [2:0] iccm_wr_size; - input wire [77:0] iccm_wr_data; - input wire [(pt[909-:9] * 12) - 1:0] iccm_ext_in_pkt; - output wire [63:0] iccm_rd_data; - output wire [77:0] iccm_rd_data_ecc; - input wire scan_mode; - wire [pt[909-:9] - 1:0] wren_bank; - wire [pt[909-:9] - 1:0] rden_bank; - wire [pt[909-:9] - 1:0] iccm_clken; - wire [((pt[936-:9] - 1) >= pt[945-:9] ? (pt[909-:9] * (((pt[936-:9] - 1) - pt[945-:9]) + 1)) + (pt[945-:9] - 1) : (pt[909-:9] * ((pt[945-:9] - (pt[936-:9] - 1)) + 1)) + (pt[936-:9] - 2)):((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1)] addr_bank; - wire [(pt[909-:9] * 39) - 1:0] iccm_bank_dout; - wire [(pt[909-:9] * 39) - 1:0] iccm_bank_dout_fn; - wire [(pt[909-:9] * 39) - 1:0] iccm_bank_wr_data; - wire [pt[936-:9] - 1:1] addr_bank_inc; - wire [pt[954-:9]:2] iccm_rd_addr_hi_q; - wire [pt[954-:9]:1] iccm_rd_addr_lo_q; - wire [63:0] iccm_rd_data_pre; - wire [63:0] iccm_data; - wire [1:0] addr_incr; - wire [(pt[909-:9] * 39) - 1:0] iccm_bank_wr_data_vec; - wire [((pt[936-:9] - 1) >= 2 ? (2 * (pt[936-:9] - 2)) + 1 : (2 * (4 - pt[936-:9])) + (pt[936-:9] - 2)):((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)] redundant_address; - wire [77:0] redundant_data; - wire [1:0] redundant_valid; - wire [pt[909-:9] - 1:0] sel_red1; - wire [pt[909-:9] - 1:0] sel_red0; - wire [pt[909-:9] - 1:0] sel_red1_q; - wire [pt[909-:9] - 1:0] sel_red0_q; - wire [38:0] redundant_data0_in; - wire [38:0] redundant_data1_in; - wire redundant_lru; - wire redundant_lru_in; - wire redundant_lru_en; - wire redundant_data0_en; - wire redundant_data1_en; - wire r0_addr_en; - wire r1_addr_en; - assign addr_incr[1:0] = (iccm_wr_size[1:0] == 2'b11 ? 2'b10 : 2'b01); - assign addr_bank_inc[pt[936-:9] - 1:1] = iccm_rw_addr[pt[936-:9] - 1:1] + addr_incr[1:0]; - generate - genvar i; - for (i = 0; i < (pt[909-:9] / 2); i = i + 1) begin : mem_bank_data - assign iccm_bank_wr_data_vec[(2 * i) * 39+:39] = iccm_wr_data[38:0]; - assign iccm_bank_wr_data_vec[((2 * i) + 1) * 39+:39] = iccm_wr_data[77:39]; - end - endgenerate - generate - for (i = 0; i < pt[909-:9]; i = i + 1) begin : mem_bank - assign wren_bank[i] = iccm_wren & ((iccm_rw_addr[pt[954-:9]:2] == i) | (addr_bank_inc[pt[954-:9]:2] == i)); - assign iccm_bank_wr_data[i * 39+:39] = iccm_bank_wr_data_vec[i * 39+:39]; - assign rden_bank[i] = iccm_rden & ((iccm_rw_addr[pt[954-:9]:2] == i) | (addr_bank_inc[pt[954-:9]:2] == i)); - assign iccm_clken[i] = (wren_bank[i] | rden_bank[i]) | clk_override; - assign addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) >= pt[945-:9] ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) - 1) : pt[945-:9] - (((pt[936-:9] - 1) >= pt[945-:9] ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) - 1) - (pt[936-:9] - 1))) : (((i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) >= pt[945-:9] ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) - 1) : pt[945-:9] - (((pt[936-:9] - 1) >= pt[945-:9] ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) - 1) - (pt[936-:9] - 1)))) + ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)) - 1)-:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)] = (wren_bank[i] ? iccm_rw_addr[pt[936-:9] - 1:pt[945-:9]] : (addr_bank_inc[pt[954-:9]:2] == i ? addr_bank_inc[pt[936-:9] - 1:pt[945-:9]] : iccm_rw_addr[pt[936-:9] - 1:pt[945-:9]])); - if (pt[917-:8] == 6) begin : iccm - ram_64x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else if (pt[917-:8] == 7) begin : iccm - ram_128x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else if (pt[917-:8] == 8) begin : iccm - /*sky130_sram_1kbyte_1rw1r_32x256_8 sram( - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(~iccm_clken[i]), - .web0(~wren_bank[i]), - .wmask0(4'hf), - .addr0(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .din0(iccm_bank_wr_data[(i * 39) + 31-:32]), - .dout0(iccm_bank_dout[(i * 39) + 31-:32]), - .clk1(clk), - .csb1(1'b1), - .addr1(8'h00), - .dout1() - );*/ - DFFRAM iccm - ( - `ifdef USE_POWER_PINS - .VPWR(vccd1), - .VGND(vssd1), - `endif - .CLK(clk), - .WE({4{wren_bank[i]}}), - .EN(iccm_clken[i]), - .Di(iccm_bank_wr_data[(i * 39) + 31-:32]), - .Do(iccm_bank_dout[(i * 39) + 31-:32]), - .A(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]) - ); - /*SRAM64x32 iccm( - `ifdef USE_POWER_PINS - .VPWR(vccd1), - .VGND(vssd1), - `endif - .CLK(clk), - .WE({4{wren_bank[i]}}), - .EN(iccm_clken[i]), - .Di(iccm_bank_wr_data[(i * 39) + 31-:32]), - .Do(iccm_bank_dout[(i * 39) + 31-:32]), - .A(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]) -);*/ - - end - else if (pt[917-:8] == 9) begin : iccm - ram_512x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else if (pt[917-:8] == 10) begin : iccm - sky130_sram_1kbyte_1rw1r_32x256_8 sram( - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(~iccm_clken[i]), - .web0(~wren_bank[i]), - .wmask0(4'hf), - .addr0(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .din0(iccm_bank_wr_data[i * 39+:39]), - .dout0(iccm_bank_dout[i * 39+:39]), - .clk1(clk), - .csb1(1'b1), - .addr1(8'h00), - .dout1() - ); - end - else if (pt[917-:8] == 11) begin : iccm - ram_2048x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else if (pt[917-:8] == 12) begin : iccm - ram_4096x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else if (pt[917-:8] == 13) begin : iccm - ram_8192x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else if (pt[917-:8] == 14) begin : iccm - ram_16384x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - else begin : iccm - ram_32768x39 iccm_bank( - .CLK(clk), - .ME(iccm_clken[i]), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]), - .D(iccm_bank_wr_data[(i * 39) + 38-:39]), - .Q(iccm_bank_dout[(i * 39) + 38-:39]), - .ROP(), - .TEST1(iccm_ext_in_pkt[(i * 12) + 11]), - .RME(iccm_ext_in_pkt[(i * 12) + 10]), - .RM(iccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(iccm_ext_in_pkt[(i * 12) + 5]), - .DS(iccm_ext_in_pkt[(i * 12) + 4]), - .SD(iccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(iccm_ext_in_pkt[(i * 12) + 2]), - .BC1(iccm_ext_in_pkt[(i * 12) + 1]), - .BC2(iccm_ext_in_pkt[i * 12]) - ); - end - assign sel_red1[i] = redundant_valid[1] & (((iccm_rw_addr[pt[936-:9] - 1:2] == redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : ((((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1)))) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])]) & (iccm_rw_addr[3:2] == i)) | ((addr_bank_inc[pt[936-:9] - 1:2] == redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : ((((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1)))) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])]) & (addr_bank_inc[3:2] == i))); - assign sel_red0[i] = redundant_valid[0] & (((iccm_rw_addr[pt[936-:9] - 1:2] == redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : (((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])]) & (iccm_rw_addr[3:2] == i)) | ((addr_bank_inc[pt[936-:9] - 1:2] == redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : (((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])]) & (addr_bank_inc[3:2] == i))); - rvdff #(.WIDTH(1)) selred0( - .rst_l(rst_l), - .clk(active_clk), - .din(sel_red0[i]), - .dout(sel_red0_q[i]) - ); - rvdff #(.WIDTH(1)) selred1( - .rst_l(rst_l), - .clk(active_clk), - .din(sel_red1[i]), - .dout(sel_red1_q[i]) - ); - assign iccm_bank_dout_fn[(i * 39) + 38-:39] = (({39 {sel_red1_q[i]}} & redundant_data[77-:39]) | ({39 {sel_red0_q[i]}} & redundant_data[38-:39])) | ({39 {~sel_red0_q[i] & ~sel_red1_q[i]}} & iccm_bank_dout[(i * 39) + 38-:39]); - end - endgenerate - assign r0_addr_en = ~redundant_lru & iccm_buf_correct_ecc; - assign r1_addr_en = redundant_lru & iccm_buf_correct_ecc; - assign redundant_lru_en = iccm_buf_correct_ecc | (((|sel_red0[pt[909-:9] - 1:0] | |sel_red1[pt[909-:9] - 1:0]) & iccm_rden) & iccm_correction_state); - assign redundant_lru_in = (iccm_buf_correct_ecc ? ~redundant_lru : (|sel_red0[pt[909-:9] - 1:0] ? 1'b1 : 1'b0)); - rvdffs red_lru( - .rst_l(rst_l), - .clk(active_clk), - .en(redundant_lru_en), - .din(redundant_lru_in), - .dout(redundant_lru) - ); - rvdffs #(.WIDTH(pt[936-:9] - 2)) r0_address( - .rst_l(rst_l), - .clk(active_clk), - .en(r0_addr_en), - .din(iccm_rw_addr[pt[936-:9] - 1:2]), - .dout(redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : (((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])]) - ); - rvdffs #(.WIDTH(pt[936-:9] - 2)) r1_address( - .rst_l(rst_l), - .clk(active_clk), - .en(r1_addr_en), - .din(iccm_rw_addr[pt[936-:9] - 1:2]), - .dout(redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : ((((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1) - (pt[936-:9] - 1)))) + ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9])]) - ); - rvdffs #(.WIDTH(1)) r0_valid( - .rst_l(rst_l), - .clk(active_clk), - .en(r0_addr_en), - .din(1'b1), - .dout(redundant_valid[0]) - ); - rvdffs #(.WIDTH(1)) r1_valid( - .rst_l(rst_l), - .clk(active_clk), - .en(r1_addr_en), - .din(1'b1), - .dout(redundant_valid[1]) - ); - assign redundant_data0_en = ((((iccm_rw_addr[pt[936-:9] - 1:3] == redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : (((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])]) & ((iccm_rw_addr[2] == redundant_address[((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)]) | (iccm_wr_size[1:0] == 2'b11))) & redundant_valid[0]) & iccm_wren) | (~redundant_lru & iccm_buf_correct_ecc); - assign redundant_data0_in[38:0] = (((iccm_rw_addr[2] == redundant_address[((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)]) & iccm_rw_addr[2]) | (redundant_address[((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)] & (iccm_wr_size[1:0] == 2'b11)) ? iccm_wr_data[77:39] : iccm_wr_data[38:0]); - rvdffs #(.WIDTH(39)) r0_data( - .rst_l(rst_l), - .clk(active_clk), - .en(redundant_data0_en), - .din(redundant_data0_in[38:0]), - .dout(redundant_data[38-:39]) - ); - assign redundant_data1_en = ((((iccm_rw_addr[pt[936-:9] - 1:3] == redundant_address[((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) - (pt[936-:9] - 1))) : ((((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) : 2 - (((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 1 : ((pt[936-:9] - 1) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1) - (pt[936-:9] - 1)))) + ((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])) - 1)-:((pt[936-:9] - 1) >= 3 ? pt[936-:9] - 3 : 5 - pt[936-:9])]) & ((iccm_rw_addr[2] == redundant_address[((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)]) | (iccm_wr_size[1:0] == 2'b11))) & redundant_valid[1]) & iccm_wren) | (redundant_lru & iccm_buf_correct_ecc); - assign redundant_data1_in[38:0] = (((iccm_rw_addr[2] == redundant_address[((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)]) & iccm_rw_addr[2]) | (redundant_address[((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) + ((pt[936-:9] - 1) >= 2 ? 2 : pt[936-:9] - 1)] & (iccm_wr_size[1:0] == 2'b11)) ? iccm_wr_data[77:39] : iccm_wr_data[38:0]); - rvdffs #(.WIDTH(39)) r1_data( - .rst_l(rst_l), - .clk(active_clk), - .en(redundant_data1_en), - .din(redundant_data1_in[38:0]), - .dout(redundant_data[77-:39]) - ); - rvdffs #(.WIDTH(pt[954-:9])) rd_addr_lo_ff( - .rst_l(rst_l), - .clk(active_clk), - .din(iccm_rw_addr[pt[954-:9]:1]), - .dout(iccm_rd_addr_lo_q[pt[954-:9]:1]), - .en(1'b1) - ); - rvdffs #(.WIDTH(pt[961-:7])) rd_addr_hi_ff( - .rst_l(rst_l), - .clk(active_clk), - .din(addr_bank_inc[pt[954-:9]:2]), - .dout(iccm_rd_addr_hi_q[pt[954-:9]:2]), - .en(1'b1) - ); - assign iccm_rd_data_pre[63:0] = {iccm_bank_dout_fn[(iccm_rd_addr_hi_q * 39) + 31-:32], iccm_bank_dout_fn[(iccm_rd_addr_lo_q[pt[954-:9]:2] * 39) + 31-:32]}; - function automatic [63:0] sv2v_cast_64; - input reg [63:0] inp; - sv2v_cast_64 = inp; - endfunction - assign iccm_data[63:0] = sv2v_cast_64({16'b0000000000000000, iccm_rd_data_pre[63:0] >> (16 * iccm_rd_addr_lo_q[1])}); - assign iccm_rd_data[63:0] = {iccm_data[63:0]}; - assign iccm_rd_data_ecc[77:0] = {iccm_bank_dout_fn[(iccm_rd_addr_hi_q * 39) + 38-:39], iccm_bank_dout_fn[(iccm_rd_addr_lo_q[pt[954-:9]:2] * 39) + 38-:39]}; -endmodule -module eb1_ifu_ifc_ctl ( - clk, - free_l2clk, - rst_l, - scan_mode, - ic_hit_f, - ifu_ic_mb_empty, - ifu_fb_consume1, - ifu_fb_consume2, - dec_tlu_flush_noredir_wb, - exu_flush_final, - exu_flush_path_final, - ifu_bp_hit_taken_f, - ifu_bp_btb_target_f, - ic_dma_active, - ic_write_stall, - dma_iccm_stall_any, - dec_tlu_mrac_ff, - ifc_fetch_addr_f, - ifc_fetch_addr_bf, - ifc_fetch_req_f, - ifu_pmu_fetch_stall, - ifc_fetch_uncacheable_bf, - ifc_fetch_req_bf, - ifc_fetch_req_bf_raw, - ifc_iccm_access_bf, - ifc_region_acc_fault_bf, - ifc_dma_access_ok -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire free_l2clk; - input wire rst_l; - input wire scan_mode; - input wire ic_hit_f; - input wire ifu_ic_mb_empty; - input wire ifu_fb_consume1; - input wire ifu_fb_consume2; - input wire dec_tlu_flush_noredir_wb; - input wire exu_flush_final; - input wire [31:1] exu_flush_path_final; - input wire ifu_bp_hit_taken_f; - input wire [31:1] ifu_bp_btb_target_f; - input wire ic_dma_active; - input wire ic_write_stall; - input wire dma_iccm_stall_any; - input wire [31:0] dec_tlu_mrac_ff; - output wire [31:1] ifc_fetch_addr_f; - output wire [31:1] ifc_fetch_addr_bf; - output wire ifc_fetch_req_f; - output wire ifu_pmu_fetch_stall; - output wire ifc_fetch_uncacheable_bf; - output wire ifc_fetch_req_bf; - output wire ifc_fetch_req_bf_raw; - output wire ifc_iccm_access_bf; - output wire ifc_region_acc_fault_bf; - output wire ifc_dma_access_ok; - wire [31:1] fetch_addr_bf; - wire [31:1] fetch_addr_next; - wire [3:0] fb_write_f; - wire [3:0] fb_write_ns; - wire fb_full_f_ns; - wire fb_full_f; - wire fb_right; - wire fb_right2; - wire fb_left; - wire wfm; - wire idle; - wire sel_last_addr_bf; - wire sel_next_addr_bf; - wire miss_f; - wire miss_a; - wire flush_fb; - wire dma_iccm_stall_any_f; - wire mb_empty_mod; - wire goto_idle; - wire leave_idle; - wire fetch_bf_en; - wire line_wrap; - wire fetch_addr_next_1; - wire [1:0] state; - wire [1:0] next_state; - wire dma_stall; - assign dma_stall = ic_dma_active | dma_iccm_stall_any_f; - generate - if (pt[2130-:5] == 1) begin - wire sel_btb_addr_bf; - assign sel_last_addr_bf = ~exu_flush_final & (~ifc_fetch_req_f | ~ic_hit_f); - assign sel_btb_addr_bf = ((~exu_flush_final & ifc_fetch_req_f) & ifu_bp_hit_taken_f) & ic_hit_f; - assign sel_next_addr_bf = ((~exu_flush_final & ifc_fetch_req_f) & ~ifu_bp_hit_taken_f) & ic_hit_f; - assign fetch_addr_bf[31:1] = ((({31 {exu_flush_final}} & exu_flush_path_final[31:1]) | ({31 {sel_last_addr_bf}} & ifc_fetch_addr_f[31:1])) | ({31 {sel_btb_addr_bf}} & {ifu_bp_btb_target_f[31:1]})) | ({31 {sel_next_addr_bf}} & {fetch_addr_next[31:1]}); - end - else begin - assign sel_last_addr_bf = ~exu_flush_final & (~ifc_fetch_req_f | ~ic_hit_f); - assign sel_next_addr_bf = (~exu_flush_final & ifc_fetch_req_f) & ic_hit_f; - assign fetch_addr_bf[31:1] = (({31 {exu_flush_final}} & exu_flush_path_final[31:1]) | ({31 {sel_last_addr_bf}} & ifc_fetch_addr_f[31:1])) | ({31 {sel_next_addr_bf}} & {fetch_addr_next[31:1]}); - end - endgenerate - assign fetch_addr_next[31:1] = {{ifc_fetch_addr_f[31:2]} + 31'b0000000000000000000000000000001, fetch_addr_next_1}; - assign line_wrap = fetch_addr_next[pt[998-:7]] ^ ifc_fetch_addr_f[pt[998-:7]]; - assign fetch_addr_next_1 = (line_wrap ? 1'b0 : ifc_fetch_addr_f[1]); - assign ifc_fetch_req_bf_raw = ~idle; - assign ifc_fetch_req_bf = (((ifc_fetch_req_bf_raw & ~(fb_full_f_ns & ~(ifu_fb_consume2 | ifu_fb_consume1))) & ~dma_stall) & ~ic_write_stall) & ~dec_tlu_flush_noredir_wb; - assign fetch_bf_en = exu_flush_final | ifc_fetch_req_f; - assign miss_f = (ifc_fetch_req_f & ~ic_hit_f) & ~exu_flush_final; - assign mb_empty_mod = (((ifu_ic_mb_empty | exu_flush_final) & ~dma_stall) & ~miss_f) & ~miss_a; - assign goto_idle = exu_flush_final & dec_tlu_flush_noredir_wb; - assign leave_idle = (exu_flush_final & ~dec_tlu_flush_noredir_wb) & idle; - assign next_state[1] = (((~state[1] & state[0]) & miss_f) & ~goto_idle) | ((state[1] & ~mb_empty_mod) & ~goto_idle); - assign next_state[0] = (~goto_idle & leave_idle) | (state[0] & ~goto_idle); - assign flush_fb = exu_flush_final; - assign fb_right = ((ifu_fb_consume1 & ~ifu_fb_consume2) & (~ifc_fetch_req_f | miss_f)) | (ifu_fb_consume2 & ifc_fetch_req_f); - assign fb_right2 = ifu_fb_consume2 & (~ifc_fetch_req_f | miss_f); - assign fb_left = (ifc_fetch_req_f & ~(ifu_fb_consume1 | ifu_fb_consume2)) & ~miss_f; - assign fb_write_ns[3:0] = (((({4 {flush_fb}} & 4'b0001) | ({4 {~flush_fb & fb_right}} & {1'b0, fb_write_f[3:1]})) | ({4 {~flush_fb & fb_right2}} & {2'b00, fb_write_f[3:2]})) | ({4 {~flush_fb & fb_left}} & {fb_write_f[2:0], 1'b0})) | ({4 {((~flush_fb & ~fb_right) & ~fb_right2) & ~fb_left}} & fb_write_f[3:0]); - assign fb_full_f_ns = fb_write_ns[3]; - localparam [1:0] IDLE = 2'b00; - assign idle = state == IDLE; - localparam [1:0] WFM = 2'b11; - assign wfm = state == WFM; - rvdffie #(.WIDTH(10)) fbwrite_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({dma_iccm_stall_any, miss_f, ifc_fetch_req_bf, next_state[1:0], fb_full_f_ns, fb_write_ns[3:0]}), - .dout({dma_iccm_stall_any_f, miss_a, ifc_fetch_req_f, state[1:0], fb_full_f, fb_write_f[3:0]}) - ); - assign ifu_pmu_fetch_stall = wfm | (ifc_fetch_req_bf_raw & ((fb_full_f & ~((ifu_fb_consume2 | ifu_fb_consume1) | exu_flush_final)) | dma_stall)); - assign ifc_fetch_addr_bf[31:1] = fetch_addr_bf[31:1]; - rvdffpcie #(.WIDTH(31)) faddrf1_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(fetch_bf_en), - .din(fetch_addr_bf[31:1]), - .dout(ifc_fetch_addr_f[31:1]) - ); - generate - if (pt[927-:5]) begin - wire iccm_acc_in_region_bf; - wire iccm_acc_in_range_bf; - rvrangecheck #( - .CCM_SADR(pt[887-:36]), - .CCM_SIZE(pt[851-:14]) - ) iccm_rangecheck( - .addr({ifc_fetch_addr_bf[31:1], 1'b0}), - .in_range(iccm_acc_in_range_bf), - .in_region(iccm_acc_in_region_bf) - ); - assign ifc_iccm_access_bf = iccm_acc_in_range_bf; - assign ifc_dma_access_ok = ((((~ifc_iccm_access_bf | (fb_full_f & ~(ifu_fb_consume2 | ifu_fb_consume1))) | (wfm & ~ifc_fetch_req_bf)) | idle) & ~exu_flush_final) | dma_iccm_stall_any_f; - assign ifc_region_acc_fault_bf = ~iccm_acc_in_range_bf & iccm_acc_in_region_bf; - end - else begin - assign ifc_iccm_access_bf = 1'b0; - assign ifc_dma_access_ok = 1'b0; - assign ifc_region_acc_fault_bf = 1'b0; - end - endgenerate - assign ifc_fetch_uncacheable_bf = ~dec_tlu_mrac_ff[{ifc_fetch_addr_bf[31:28], 1'b0}]; -endmodule -module eb1_ifu_mem_ctl ( - clk, - active_clk, - free_l2clk, - rst_l, - exu_flush_final, - dec_tlu_flush_lower_wb, - dec_tlu_flush_err_wb, - dec_tlu_i0_commit_cmt, - dec_tlu_force_halt, - ifc_fetch_addr_bf, - ifc_fetch_uncacheable_bf, - ifc_fetch_req_bf, - ifc_fetch_req_bf_raw, - ifc_iccm_access_bf, - ifc_region_acc_fault_bf, - ifc_dma_access_ok, - dec_tlu_fence_i_wb, - ifu_bp_hit_taken_f, - ifu_bp_inst_mask_f, - ifu_miss_state_idle, - ifu_ic_mb_empty, - ic_dma_active, - ic_write_stall, - ifu_pmu_ic_miss, - ifu_pmu_ic_hit, - ifu_pmu_bus_error, - ifu_pmu_bus_busy, - ifu_pmu_bus_trxn, - ifu_axi_awvalid, - ifu_axi_awid, - ifu_axi_awaddr, - ifu_axi_awregion, - ifu_axi_awlen, - ifu_axi_awsize, - ifu_axi_awburst, - ifu_axi_awlock, - ifu_axi_awcache, - ifu_axi_awprot, - ifu_axi_awqos, - ifu_axi_wvalid, - ifu_axi_wdata, - ifu_axi_wstrb, - ifu_axi_wlast, - ifu_axi_bready, - ifu_axi_arvalid, - ifu_axi_arready, - ifu_axi_arid, - ifu_axi_araddr, - ifu_axi_arregion, - ifu_axi_arlen, - ifu_axi_arsize, - ifu_axi_arburst, - ifu_axi_arlock, - ifu_axi_arcache, - ifu_axi_arprot, - ifu_axi_arqos, - ifu_axi_rvalid, - ifu_axi_rready, - ifu_axi_rid, - ifu_axi_rdata, - ifu_axi_rresp, - ifu_bus_clk_en, - dma_iccm_req, - dma_mem_addr, - dma_mem_sz, - dma_mem_write, - dma_mem_wdata, - dma_mem_tag, - iccm_dma_ecc_error, - iccm_dma_rvalid, - iccm_dma_rdata, - iccm_dma_rtag, - iccm_ready, - ic_rw_addr, - ic_wr_en, - ic_rd_en, - ic_wr_data, - ic_rd_data, - ic_debug_rd_data, - ictag_debug_rd_data, - ic_debug_wr_data, - ifu_ic_debug_rd_data, - ic_eccerr, - ic_parerr, - ic_debug_addr, - ic_debug_rd_en, - ic_debug_wr_en, - ic_debug_tag_array, - ic_debug_way, - ic_tag_valid, - ic_rd_hit, - ic_tag_perr, - iccm_rw_addr, - iccm_wren, - iccm_rden, - iccm_wr_data, - iccm_wr_size, - iccm_rd_data, - iccm_rd_data_ecc, - ifu_fetch_val, - ic_hit_f, - ic_access_fault_f, - ic_access_fault_type_f, - iccm_rd_ecc_single_err, - iccm_rd_ecc_double_err, - ic_error_start, - ifu_async_error_start, - iccm_dma_sb_error, - ic_fetch_val_f, - ic_data_f, - ic_premux_data, - ic_sel_premux_data, - dec_tlu_ic_diag_pkt, - dec_tlu_core_ecc_disable, - ifu_ic_debug_rd_data_valid, - iccm_buf_correct_ecc, - iccm_correction_state, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire active_clk; - input wire free_l2clk; - input wire rst_l; - input wire exu_flush_final; - input wire dec_tlu_flush_lower_wb; - input wire dec_tlu_flush_err_wb; - input wire dec_tlu_i0_commit_cmt; - input wire dec_tlu_force_halt; - input wire [31:1] ifc_fetch_addr_bf; - input wire ifc_fetch_uncacheable_bf; - input wire ifc_fetch_req_bf; - input wire ifc_fetch_req_bf_raw; - input wire ifc_iccm_access_bf; - input wire ifc_region_acc_fault_bf; - input wire ifc_dma_access_ok; - input wire dec_tlu_fence_i_wb; - input wire ifu_bp_hit_taken_f; - input wire ifu_bp_inst_mask_f; - output wire ifu_miss_state_idle; - output wire ifu_ic_mb_empty; - output wire ic_dma_active; - output wire ic_write_stall; - output wire ifu_pmu_ic_miss; - output wire ifu_pmu_ic_hit; - output wire ifu_pmu_bus_error; - output wire ifu_pmu_bus_busy; - output wire ifu_pmu_bus_trxn; - output wire ifu_axi_awvalid; - output wire [pt[826-:8] - 1:0] ifu_axi_awid; - output wire [31:0] ifu_axi_awaddr; - output wire [3:0] ifu_axi_awregion; - output wire [7:0] ifu_axi_awlen; - output wire [2:0] ifu_axi_awsize; - output wire [1:0] ifu_axi_awburst; - output wire ifu_axi_awlock; - output wire [3:0] ifu_axi_awcache; - output wire [2:0] ifu_axi_awprot; - output wire [3:0] ifu_axi_awqos; - output wire ifu_axi_wvalid; - output wire [63:0] ifu_axi_wdata; - output wire [7:0] ifu_axi_wstrb; - output wire ifu_axi_wlast; - output wire ifu_axi_bready; - output wire ifu_axi_arvalid; - input wire ifu_axi_arready; - output wire [pt[826-:8] - 1:0] ifu_axi_arid; - output wire [31:0] ifu_axi_araddr; - output wire [3:0] ifu_axi_arregion; - output wire [7:0] ifu_axi_arlen; - output wire [2:0] ifu_axi_arsize; - output wire [1:0] ifu_axi_arburst; - output wire ifu_axi_arlock; - output wire [3:0] ifu_axi_arcache; - output wire [2:0] ifu_axi_arprot; - output wire [3:0] ifu_axi_arqos; - input wire ifu_axi_rvalid; - output wire ifu_axi_rready; - input wire [pt[826-:8] - 1:0] ifu_axi_rid; - input wire [63:0] ifu_axi_rdata; - input wire [1:0] ifu_axi_rresp; - input wire ifu_bus_clk_en; - input wire dma_iccm_req; - input wire [31:0] dma_mem_addr; - input wire [2:0] dma_mem_sz; - input wire dma_mem_write; - input wire [63:0] dma_mem_wdata; - input wire [2:0] dma_mem_tag; - output wire iccm_dma_ecc_error; - output wire iccm_dma_rvalid; - output wire [63:0] iccm_dma_rdata; - output wire [2:0] iccm_dma_rtag; - output wire iccm_ready; - output wire [31:1] ic_rw_addr; - output wire [pt[1060-:7] - 1:0] ic_wr_en; - output wire ic_rd_en; - output wire [(pt[1189-:7] * 71) - 1:0] ic_wr_data; - input wire [63:0] ic_rd_data; - input wire [70:0] ic_debug_rd_data; - input wire [25:0] ictag_debug_rd_data; - output wire [70:0] ic_debug_wr_data; - output wire [70:0] ifu_ic_debug_rd_data; - input wire [pt[1189-:7] - 1:0] ic_eccerr; - input wire [pt[1189-:7] - 1:0] ic_parerr; - output wire [pt[1104-:9]:3] ic_debug_addr; - output wire ic_debug_rd_en; - output wire ic_debug_wr_en; - output wire ic_debug_tag_array; - output wire [pt[1060-:7] - 1:0] ic_debug_way; - output wire [pt[1060-:7] - 1:0] ic_tag_valid; - input wire [pt[1060-:7] - 1:0] ic_rd_hit; - input wire ic_tag_perr; - output wire [pt[936-:9] - 1:1] iccm_rw_addr; - output wire iccm_wren; - output wire iccm_rden; - output wire [77:0] iccm_wr_data; - output wire [2:0] iccm_wr_size; - input wire [63:0] iccm_rd_data; - input wire [77:0] iccm_rd_data_ecc; - input wire [1:0] ifu_fetch_val; - output wire ic_hit_f; - output wire [1:0] ic_access_fault_f; - output wire [1:0] ic_access_fault_type_f; - output wire iccm_rd_ecc_single_err; - output wire [1:0] iccm_rd_ecc_double_err; - output wire ic_error_start; - output wire ifu_async_error_start; - output wire iccm_dma_sb_error; - output wire [1:0] ic_fetch_val_f; - output wire [31:0] ic_data_f; - output wire [63:0] ic_premux_data; - output wire ic_sel_premux_data; - input wire [89:0] dec_tlu_ic_diag_pkt; - input wire dec_tlu_core_ecc_disable; - output wire ifu_ic_debug_rd_data_valid; - output wire iccm_buf_correct_ecc; - output reg iccm_correction_state; - input wire scan_mode; - localparam NUM_OF_BEATS = 8; - wire [31:3] ifu_ic_req_addr_f; - wire uncacheable_miss_in; - wire uncacheable_miss_ff; - wire bus_ifu_wr_en; - wire bus_ifu_wr_en_ff; - wire bus_ifu_wr_en_ff_q; - wire bus_ifu_wr_en_ff_wo_err; - wire [pt[1060-:7] - 1:0] bus_ic_wr_en; - wire reset_tag_valid_for_miss; - reg [pt[1027-:7] - 1:0] way_status; - wire [pt[1027-:7] - 1:0] way_status_mb_in; - wire [pt[1027-:7] - 1:0] way_status_rep_new; - wire [pt[1027-:7] - 1:0] way_status_mb_ff; - wire [pt[1027-:7] - 1:0] way_status_new; - wire [pt[1027-:7] - 1:0] way_status_hit_new; - wire [pt[1027-:7] - 1:0] way_status_new_w_debug; - wire [pt[1060-:7] - 1:0] tagv_mb_in; - wire [pt[1060-:7] - 1:0] tagv_mb_ff; - wire ifu_wr_data_comb_err; - wire ifu_byp_data_err_new; - wire [1:0] ifu_byp_data_err_f; - wire ifu_wr_cumulative_err_data; - wire ifu_wr_cumulative_err; - wire ifu_wr_data_comb_err_ff; - wire scnd_miss_index_match; - wire ifc_dma_access_q_ok; - wire ifc_iccm_access_f; - wire ifc_region_acc_fault_f; - wire ifc_region_acc_fault_final_f; - wire [1:0] ifc_bus_acc_fault_f; - wire ic_act_miss_f; - wire ic_miss_under_miss_f; - wire ic_ignore_2nd_miss_f; - wire ic_act_hit_f; - wire miss_pending; - wire [31:1] imb_in; - wire [31:1] imb_ff; - wire [31:pt[1182-:8] + 1] miss_addr_in; - wire [31:pt[1182-:8] + 1] miss_addr; - wire miss_wrap_f; - wire flush_final_f; - wire ifc_fetch_req_f; - wire ifc_fetch_req_f_raw; - wire fetch_req_f_qual; - wire ifc_fetch_req_qual_bf; - wire [pt[1060-:7] - 1:0] replace_way_mb_any; - wire last_beat; - wire reset_beat_cnt; - wire [pt[1182-:8]:3] ic_req_addr_bits_hi_3; - wire [pt[1182-:8]:3] ic_wr_addr_bits_hi_3; - wire [31:1] ifu_fetch_addr_int_f; - wire [31:1] ifu_ic_rw_int_addr; - wire crit_wd_byp_ok_ff; - wire ic_crit_wd_rdy_new_ff; - wire [79:0] ic_byp_data_only_pre_new; - wire [79:0] ic_byp_data_only_new; - wire ic_byp_hit_f; - wire ic_valid; - wire ic_valid_ff; - wire reset_all_tags; - wire ic_valid_w_debug; - wire [pt[1060-:7] - 1:0] ifu_tag_wren; - wire [pt[1060-:7] - 1:0] ifu_tag_wren_ff; - wire [pt[1060-:7] - 1:0] ic_debug_tag_wr_en; - wire [pt[1060-:7] - 1:0] ifu_tag_wren_w_debug; - wire [pt[1060-:7] - 1:0] ic_debug_way_ff; - wire ic_debug_rd_en_ff; - wire fetch_bf_f_c1_clken; - wire fetch_bf_f_c1_clk; - wire debug_c1_clken; - wire debug_c1_clk; - wire reset_ic_in; - wire reset_ic_ff; - wire [pt[1182-:8]:1] vaddr_f; - wire [31:1] ifu_status_wr_addr; - wire sel_mb_addr; - wire sel_mb_addr_ff; - wire sel_mb_status_addr; - wire [63:0] ic_final_data; - wire [pt[1104-:9]:pt[998-:7]] ifu_ic_rw_int_addr_ff; - wire [pt[1104-:9]:pt[998-:7]] ifu_status_wr_addr_ff; - wire [pt[1104-:9]:pt[998-:7]] ifu_ic_rw_int_addr_w_debug; - wire [pt[1104-:9]:pt[998-:7]] ifu_status_wr_addr_w_debug; - wire [pt[1027-:7] - 1:0] way_status_new_ff; - wire way_status_wr_en_ff; - wire [(pt[1015-:17] * pt[1027-:7]) - 1:0] way_status_out; - wire [1:0] ic_debug_way_enc; - wire [pt[826-:8] - 1:0] ifu_bus_rid_ff; - wire fetch_req_icache_f; - wire fetch_req_iccm_f; - wire ic_iccm_hit_f; - wire fetch_uncacheable_ff; - wire way_status_wr_en; - wire sel_byp_data; - wire sel_ic_data; - wire sel_iccm_data; - wire ic_rd_parity_final_err; - wire ic_act_miss_f_delayed; - wire bus_ifu_wr_data_error; - wire bus_ifu_wr_data_error_ff; - wire way_status_wr_en_w_debug; - wire ic_debug_tag_val_rd_out; - wire ifu_pmu_ic_miss_in; - wire ifu_pmu_ic_hit_in; - wire ifu_pmu_bus_error_in; - wire ifu_pmu_bus_trxn_in; - wire ifu_pmu_bus_busy_in; - wire ic_debug_ict_array_sel_in; - wire ic_debug_ict_array_sel_ff; - wire debug_data_clken; - wire last_data_recieved_in; - wire last_data_recieved_ff; - wire ifu_bus_rvalid; - wire ifu_bus_rvalid_ff; - wire ifu_bus_rvalid_unq_ff; - wire ifu_bus_arready_unq; - wire ifu_bus_arready_unq_ff; - wire ifu_bus_arvalid; - wire ifu_bus_arvalid_ff; - wire ifu_bus_arready; - wire ifu_bus_arready_ff; - wire [63:0] ifu_bus_rdata_ff; - wire [1:0] ifu_bus_rresp_ff; - wire ifu_bus_rsp_valid; - wire ifu_bus_rsp_ready; - wire [pt[826-:8] - 1:0] ifu_bus_rsp_tag; - wire [63:0] ifu_bus_rsp_rdata; - wire [1:0] ifu_bus_rsp_opc; - wire [pt[1084-:8] - 1:0] write_fill_data; - wire [pt[1084-:8] - 1:0] wr_data_c1_clk; - wire [pt[1084-:8] - 1:0] ic_miss_buff_data_valid_in; - wire [pt[1084-:8] - 1:0] ic_miss_buff_data_valid; - wire [pt[1084-:8] - 1:0] ic_miss_buff_data_error_in; - wire [pt[1084-:8] - 1:0] ic_miss_buff_data_error; - wire [pt[1182-:8]:1] byp_fetch_index; - wire [pt[1182-:8]:2] byp_fetch_index_0; - wire [pt[1182-:8]:2] byp_fetch_index_1; - wire [pt[1182-:8]:3] byp_fetch_index_inc; - wire [pt[1182-:8]:2] byp_fetch_index_inc_0; - wire [pt[1182-:8]:2] byp_fetch_index_inc_1; - wire miss_buff_hit_unq_f; - wire stream_hit_f; - wire stream_miss_f; - wire stream_eol_f; - wire crit_byp_hit_f; - wire [pt[826-:8] - 1:0] other_tag; - wire [((2 * pt[1084-:8]) * 32) - 1:0] ic_miss_buff_data; - wire [63:0] ic_miss_buff_half; - wire scnd_miss_req; - wire scnd_miss_req_q; - wire scnd_miss_req_in; - wire [pt[936-:9] - 1:2] iccm_ecc_corr_index_ff; - wire [pt[936-:9] - 1:2] iccm_ecc_corr_index_in; - wire [38:0] iccm_ecc_corr_data_ff; - wire iccm_ecc_write_status; - wire iccm_rd_ecc_single_err_ff; - wire iccm_error_start; - reg perr_state_en; - reg miss_state_en; - wire busclk; - wire busclk_force; - wire busclk_reset; - wire bus_ifu_bus_clk_en_ff; - wire bus_ifu_bus_clk_en; - wire ifc_bus_ic_req_ff_in; - wire ifu_bus_cmd_valid; - wire ifu_bus_cmd_ready; - wire bus_inc_data_beat_cnt; - wire bus_reset_data_beat_cnt; - wire bus_hold_data_beat_cnt; - wire bus_inc_cmd_beat_cnt; - wire bus_reset_cmd_beat_cnt_0; - wire bus_reset_cmd_beat_cnt_secondlast; - wire bus_hold_cmd_beat_cnt; - wire [pt[1174-:8] - 1:0] bus_new_data_beat_count; - wire [pt[1174-:8] - 1:0] bus_data_beat_count; - wire [pt[1174-:8] - 1:0] bus_new_cmd_beat_count; - wire [pt[1174-:8] - 1:0] bus_cmd_beat_count; - wire [pt[1174-:8] - 1:0] bus_new_rd_addr_count; - wire [pt[1174-:8] - 1:0] bus_rd_addr_count; - wire bus_cmd_sent; - wire bus_last_data_beat; - wire [pt[1060-:7] - 1:0] bus_wren; - wire [pt[1060-:7] - 1:0] bus_wren_last; - wire [pt[1060-:7] - 1:0] wren_reset_miss; - wire ifc_dma_access_ok_d; - wire ifc_dma_access_ok_prev; - wire bus_cmd_req_in; - wire bus_cmd_req_hold; - wire second_half_available; - wire write_ic_16_bytes; - wire ifc_region_acc_fault_final_bf; - wire ifc_region_acc_fault_memory_bf; - wire ifc_region_acc_fault_memory_f; - wire ifc_region_acc_okay; - wire iccm_correct_ecc; - wire dma_sb_err_state; - wire dma_sb_err_state_ff; - wire two_byte_instr; - wire [2:0] miss_state; - reg [2:0] miss_nxtstate; - wire [1:0] err_stop_state; - reg [1:0] err_stop_nxtstate; - reg err_stop_state_en; - reg err_stop_fetch; - wire ic_crit_wd_rdy; - wire ifu_bp_hit_taken_q_f; - wire ifu_bus_rvalid_unq; - wire bus_cmd_beat_en; - assign fetch_bf_f_c1_clken = (((ifc_fetch_req_bf_raw | ifc_fetch_req_f) | miss_pending) | exu_flush_final) | scnd_miss_req; - assign debug_c1_clken = ic_debug_rd_en | ic_debug_wr_en; - rvclkhdr fetch_bf_f_c1_cgc( - .en(fetch_bf_f_c1_clken), - .l1clk(fetch_bf_f_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr debug_c1_cgc( - .en(debug_c1_clken), - .l1clk(debug_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - wire [1:0] iccm_single_ecc_error; - wire dma_iccm_req_f; - assign iccm_dma_sb_error = |iccm_single_ecc_error[1:0] & dma_iccm_req_f; - assign ifu_async_error_start = iccm_rd_ecc_single_err | ic_error_start; - wire [2:0] perr_state; - reg [2:0] perr_nxtstate; - localparam [2:0] DMA_SB_ERR = 3'b100; - localparam [1:0] ERR_STOP_FETCH = 2'b11; - assign ic_dma_active = (((iccm_correct_ecc | (perr_state == DMA_SB_ERR)) | (err_stop_state == ERR_STOP_FETCH)) | err_stop_fetch) | dec_tlu_flush_err_wb; - localparam [2:0] SCND_MISS = 3'b101; - assign scnd_miss_req_in = (((((ifu_bus_rsp_valid & bus_ifu_bus_clk_en) & ifu_bus_rsp_ready) & &bus_new_data_beat_count[pt[1174-:8] - 1:0]) & ~uncacheable_miss_ff) & ((miss_state == SCND_MISS) | (miss_nxtstate == SCND_MISS))) & ~exu_flush_final; - assign ifu_bp_hit_taken_q_f = ifu_bp_hit_taken_f & ic_hit_f; - localparam [2:0] CRIT_BYP_OK = 3'b001; - localparam [2:0] CRIT_WRD_RDY = 3'b100; - localparam [2:0] HIT_U_MISS = 3'b010; - localparam [2:0] IDLE = 3'b000; - localparam [2:0] MISS_WAIT = 3'b011; - localparam [2:0] STALL_SCND_MISS = 3'b111; - localparam [2:0] STREAM = 3'b110; - always @(*) begin : MISS_SM - miss_nxtstate = IDLE; - miss_state_en = 1'b0; - case (miss_state) - IDLE: begin : idle - miss_nxtstate = (ic_act_miss_f & ~exu_flush_final ? CRIT_BYP_OK : HIT_U_MISS); - miss_state_en = ic_act_miss_f & ~dec_tlu_force_halt; - end - CRIT_BYP_OK: begin : crit_byp_ok - miss_nxtstate = (dec_tlu_force_halt ? IDLE : ((ic_byp_hit_f & (last_data_recieved_ff | (bus_ifu_wr_en_ff & last_beat))) & uncacheable_miss_ff ? IDLE : ((ic_byp_hit_f & ~last_data_recieved_ff) & uncacheable_miss_ff ? MISS_WAIT : (((~ic_byp_hit_f & ~exu_flush_final) & (bus_ifu_wr_en_ff & last_beat)) & uncacheable_miss_ff ? CRIT_WRD_RDY : ((bus_ifu_wr_en_ff & last_beat) & ~uncacheable_miss_ff ? IDLE : ((((ic_byp_hit_f & ~exu_flush_final) & ~(bus_ifu_wr_en_ff & last_beat)) & ~ifu_bp_hit_taken_q_f) & ~uncacheable_miss_ff ? STREAM : ((((bus_ifu_wr_en_ff & ~exu_flush_final) & ~(bus_ifu_wr_en_ff & last_beat)) & ~ifu_bp_hit_taken_q_f) & ~uncacheable_miss_ff ? STREAM : (((~ic_byp_hit_f & ~exu_flush_final) & (bus_ifu_wr_en_ff & last_beat)) & ~uncacheable_miss_ff ? IDLE : ((exu_flush_final | ifu_bp_hit_taken_q_f) & ~(bus_ifu_wr_en_ff & last_beat) ? HIT_U_MISS : IDLE))))))))); - miss_state_en = ((((dec_tlu_force_halt | exu_flush_final) | ic_byp_hit_f) | ifu_bp_hit_taken_q_f) | (bus_ifu_wr_en_ff & last_beat)) | (bus_ifu_wr_en_ff & ~uncacheable_miss_ff); - end - CRIT_WRD_RDY: begin : crit_wrd_rdy - miss_nxtstate = IDLE; - miss_state_en = ((exu_flush_final | flush_final_f) | ic_byp_hit_f) | dec_tlu_force_halt; - end - STREAM: begin : stream - miss_nxtstate = ((((exu_flush_final | ifu_bp_hit_taken_q_f) | stream_eol_f) & ~(bus_ifu_wr_en_ff & last_beat)) & ~dec_tlu_force_halt ? HIT_U_MISS : IDLE); - miss_state_en = (((exu_flush_final | ifu_bp_hit_taken_q_f) | stream_eol_f) | (bus_ifu_wr_en_ff & last_beat)) | dec_tlu_force_halt; - end - MISS_WAIT: begin : miss_wait - miss_nxtstate = ((exu_flush_final & ~(bus_ifu_wr_en_ff & last_beat)) & ~dec_tlu_force_halt ? HIT_U_MISS : IDLE); - miss_state_en = (exu_flush_final | (bus_ifu_wr_en_ff & last_beat)) | dec_tlu_force_halt; - end - HIT_U_MISS: begin : hit_u_miss - miss_nxtstate = ((ic_miss_under_miss_f & ~(bus_ifu_wr_en_ff & last_beat)) & ~dec_tlu_force_halt ? SCND_MISS : ((ic_ignore_2nd_miss_f & ~(bus_ifu_wr_en_ff & last_beat)) & ~dec_tlu_force_halt ? STALL_SCND_MISS : IDLE)); - miss_state_en = (((bus_ifu_wr_en_ff & last_beat) | ic_miss_under_miss_f) | ic_ignore_2nd_miss_f) | dec_tlu_force_halt; - end - SCND_MISS: begin : scnd_miss - miss_nxtstate = (dec_tlu_force_halt ? IDLE : (exu_flush_final ? (bus_ifu_wr_en_ff & last_beat ? IDLE : HIT_U_MISS) : CRIT_BYP_OK)); - miss_state_en = ((bus_ifu_wr_en_ff & last_beat) | exu_flush_final) | dec_tlu_force_halt; - end - STALL_SCND_MISS: begin : stall_scnd_miss - miss_nxtstate = (dec_tlu_force_halt ? IDLE : (exu_flush_final ? (bus_ifu_wr_en_ff & last_beat ? IDLE : HIT_U_MISS) : IDLE)); - miss_state_en = ((bus_ifu_wr_en_ff & last_beat) | exu_flush_final) | dec_tlu_force_halt; - end - default: begin : def_case - miss_nxtstate = IDLE; - miss_state_en = 1'b0; - end - endcase - end - rvdffs #(.WIDTH(3)) miss_state_ff( - .clk(active_clk), - .din(miss_nxtstate), - .dout({miss_state}), - .en(miss_state_en), - .rst_l(rst_l) - ); - wire sel_hold_imb; - assign miss_pending = miss_state != IDLE; - assign crit_wd_byp_ok_ff = (miss_state == CRIT_BYP_OK) | ((miss_state == CRIT_WRD_RDY) & ~flush_final_f); - assign sel_hold_imb = ((((miss_pending & ~(bus_ifu_wr_en_ff & last_beat)) & ~((miss_state == CRIT_WRD_RDY) & exu_flush_final)) & ~((miss_state == CRIT_WRD_RDY) & crit_byp_hit_f)) | ic_act_miss_f) | (miss_pending & (miss_nxtstate == CRIT_WRD_RDY)); - wire sel_hold_imb_scnd; - wire [31:1] imb_scnd_in; - wire [31:1] imb_scnd_ff; - wire uncacheable_miss_scnd_in; - wire uncacheable_miss_scnd_ff; - wire [pt[1060-:7] - 1:0] tagv_mb_scnd_in; - wire [pt[1060-:7] - 1:0] tagv_mb_scnd_ff; - wire [pt[1027-:7] - 1:0] way_status_mb_scnd_in; - wire [pt[1027-:7] - 1:0] way_status_mb_scnd_ff; - assign sel_hold_imb_scnd = ((miss_state == SCND_MISS) | ic_miss_under_miss_f) & ~flush_final_f; - assign way_status_mb_scnd_in[pt[1027-:7] - 1:0] = (miss_state == SCND_MISS ? way_status_mb_scnd_ff[pt[1027-:7] - 1:0] : {way_status[pt[1027-:7] - 1:0]}); - assign tagv_mb_scnd_in[pt[1060-:7] - 1:0] = (miss_state == SCND_MISS ? tagv_mb_scnd_ff[pt[1060-:7] - 1:0] : {ic_tag_valid[pt[1060-:7] - 1:0]} & {pt[1060-:7] {~reset_all_tags & ~exu_flush_final}}); - assign uncacheable_miss_scnd_in = (sel_hold_imb_scnd ? uncacheable_miss_scnd_ff : ifc_fetch_uncacheable_bf); - rvdff_fpga #(.WIDTH(1)) unc_miss_scnd_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din(uncacheable_miss_scnd_in), - .dout(uncacheable_miss_scnd_ff) - ); - rvdffpcie #(.WIDTH(31)) imb_f_scnd_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(fetch_bf_f_c1_clken), - .din({imb_scnd_in[31:1]}), - .dout({imb_scnd_ff[31:1]}) - ); - rvdff_fpga #(.WIDTH(pt[1027-:7])) mb_rep_wayf2_scnd_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din({way_status_mb_scnd_in[pt[1027-:7] - 1:0]}), - .dout({way_status_mb_scnd_ff[pt[1027-:7] - 1:0]}) - ); - rvdff_fpga #(.WIDTH(pt[1060-:7])) mb_tagv_scnd_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din({tagv_mb_scnd_in[pt[1060-:7] - 1:0]}), - .dout({tagv_mb_scnd_ff[pt[1060-:7] - 1:0]}) - ); - assign ic_req_addr_bits_hi_3[pt[1182-:8]:3] = bus_rd_addr_count[pt[1174-:8] - 1:0]; - assign ic_wr_addr_bits_hi_3[pt[1182-:8]:3] = ifu_bus_rid_ff[pt[1174-:8] - 1:0] & {pt[1174-:8] {bus_ifu_wr_en_ff}}; - assign fetch_req_icache_f = (ifc_fetch_req_f & ~ifc_iccm_access_f) & ~ifc_region_acc_fault_final_f; - assign fetch_req_iccm_f = ifc_fetch_req_f & ifc_iccm_access_f; - assign ic_iccm_hit_f = fetch_req_iccm_f & ((~miss_pending | (miss_state == HIT_U_MISS)) | (miss_state == STREAM)); - assign ic_byp_hit_f = ((crit_byp_hit_f | stream_hit_f) & fetch_req_icache_f) & miss_pending; - assign ic_act_hit_f = (((|ic_rd_hit[pt[1060-:7] - 1:0] & fetch_req_icache_f) & ~reset_all_tags) & (~miss_pending | (miss_state == HIT_U_MISS))) & ~sel_mb_addr_ff; - assign ic_act_miss_f = ((((~(|ic_rd_hit[pt[1060-:7] - 1:0]) | reset_all_tags) & fetch_req_icache_f) & ~miss_pending) | scnd_miss_req) & ~ifc_region_acc_fault_final_f; - assign ic_miss_under_miss_f = ((((((~(|ic_rd_hit[pt[1060-:7] - 1:0]) | reset_all_tags) & fetch_req_icache_f) & (miss_state == HIT_U_MISS)) & (imb_ff[31:pt[998-:7]] != ifu_fetch_addr_int_f[31:pt[998-:7]])) & ~uncacheable_miss_ff) & ~sel_mb_addr_ff) & ~ifc_region_acc_fault_final_f; - assign ic_ignore_2nd_miss_f = (((~(|ic_rd_hit[pt[1060-:7] - 1:0]) | reset_all_tags) & fetch_req_icache_f) & (miss_state == HIT_U_MISS)) & ((imb_ff[31:pt[998-:7]] == ifu_fetch_addr_int_f[31:pt[998-:7]]) | uncacheable_miss_ff); - assign ic_hit_f = ((ic_act_hit_f | ic_byp_hit_f) | ic_iccm_hit_f) | (ifc_region_acc_fault_final_f & ifc_fetch_req_f); - assign uncacheable_miss_in = (scnd_miss_req ? uncacheable_miss_scnd_ff : (sel_hold_imb ? uncacheable_miss_ff : ifc_fetch_uncacheable_bf)); - assign imb_in[31:1] = (scnd_miss_req ? imb_scnd_ff[31:1] : (sel_hold_imb ? imb_ff[31:1] : {ifc_fetch_addr_bf[31:1]})); - assign imb_scnd_in[31:1] = (sel_hold_imb_scnd ? imb_scnd_ff[31:1] : {ifc_fetch_addr_bf[31:1]}); - assign scnd_miss_index_match = ((imb_ff[pt[1104-:9]:pt[998-:7]] == imb_scnd_ff[pt[1104-:9]:pt[998-:7]]) & scnd_miss_req) & ~ifu_wr_cumulative_err_data; - assign way_status_mb_in[pt[1027-:7] - 1:0] = (scnd_miss_req & ~scnd_miss_index_match ? way_status_mb_scnd_ff[pt[1027-:7] - 1:0] : (scnd_miss_req & scnd_miss_index_match ? way_status_rep_new[pt[1027-:7] - 1:0] : (miss_pending ? way_status_mb_ff[pt[1027-:7] - 1:0] : {way_status[pt[1027-:7] - 1:0]}))); - assign tagv_mb_in[pt[1060-:7] - 1:0] = (scnd_miss_req ? tagv_mb_scnd_ff[pt[1060-:7] - 1:0] | ({pt[1060-:7] {scnd_miss_index_match}} & replace_way_mb_any[pt[1060-:7] - 1:0]) : (miss_pending ? tagv_mb_ff[pt[1060-:7] - 1:0] : {ic_tag_valid[pt[1060-:7] - 1:0]} & {pt[1060-:7] {~reset_all_tags & ~exu_flush_final}})); - assign reset_ic_in = (miss_pending & ~scnd_miss_req_q) & (reset_all_tags | reset_ic_ff); - rvdffpcie #(.WIDTH(31)) ifu_fetch_addr_f_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(fetch_bf_f_c1_clken), - .din({ifc_fetch_addr_bf[31:1]}), - .dout({ifu_fetch_addr_int_f[31:1]}) - ); - assign vaddr_f[pt[1182-:8]:1] = ifu_fetch_addr_int_f[pt[1182-:8]:1]; - rvdffpcie #(.WIDTH(31)) imb_f_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(fetch_bf_f_c1_clken), - .din(imb_in[31:1]), - .dout(imb_ff[31:1]) - ); - rvdff_fpga #(.WIDTH(1)) unc_miss_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din(uncacheable_miss_in), - .dout(uncacheable_miss_ff) - ); - assign miss_addr_in[31:pt[1182-:8] + 1] = (~miss_pending ? imb_ff[31:pt[1182-:8] + 1] : (scnd_miss_req_q ? imb_scnd_ff[31:pt[1182-:8] + 1] : miss_addr[31:pt[1182-:8] + 1])); - rvdfflie #( - .WIDTH(31 - pt[1182-:8]), - .LEFT((31 - pt[1182-:8]) - 8) - ) miss_f_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en((bus_ifu_bus_clk_en | ic_act_miss_f) | dec_tlu_force_halt), - .din({miss_addr_in[31:pt[1182-:8] + 1]}), - .dout({miss_addr[31:pt[1182-:8] + 1]}) - ); - rvdff_fpga #(.WIDTH(pt[1027-:7])) mb_rep_wayf2_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din({way_status_mb_in[pt[1027-:7] - 1:0]}), - .dout({way_status_mb_ff[pt[1027-:7] - 1:0]}) - ); - rvdff_fpga #(.WIDTH(pt[1060-:7])) mb_tagv_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din({tagv_mb_in[pt[1060-:7] - 1:0]}), - .dout({tagv_mb_ff[pt[1060-:7] - 1:0]}) - ); - assign ifc_fetch_req_qual_bf = (ifc_fetch_req_bf & ~((miss_state == CRIT_WRD_RDY) & flush_final_f)) & ~stream_miss_f; - assign ifc_fetch_req_f = ifc_fetch_req_f_raw & ~exu_flush_final; - rvdff_fpga #(.WIDTH(1)) ifu_iccm_acc_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din(ifc_iccm_access_bf), - .dout(ifc_iccm_access_f) - ); - rvdff_fpga #(.WIDTH(1)) ifu_iccm_reg_acc_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din(ifc_region_acc_fault_final_bf), - .dout(ifc_region_acc_fault_final_f) - ); - rvdff_fpga #(.WIDTH(1)) rgn_acc_ff( - .rst_l(rst_l), - .clk(fetch_bf_f_c1_clk), - .clken(fetch_bf_f_c1_clken), - .rawclk(clk), - .din(ifc_region_acc_fault_bf), - .dout(ifc_region_acc_fault_f) - ); - assign ifu_ic_req_addr_f[31:3] = {miss_addr[31:pt[1182-:8] + 1], ic_req_addr_bits_hi_3[pt[1182-:8]:3]}; - assign ifu_ic_mb_empty = (((miss_state == HIT_U_MISS) | (miss_state == STREAM)) & ~(bus_ifu_wr_en_ff & last_beat)) | ~miss_pending; - assign ifu_miss_state_idle = miss_state == IDLE; - assign sel_mb_addr = ((miss_pending & write_ic_16_bytes) & ~uncacheable_miss_ff) | reset_tag_valid_for_miss; - assign ifu_ic_rw_int_addr[31:1] = ({31 {sel_mb_addr}} & {imb_ff[31:pt[1182-:8] + 1], ic_wr_addr_bits_hi_3[pt[1182-:8]:3], imb_ff[2:1]}) | ({31 {~sel_mb_addr}} & ifc_fetch_addr_bf[31:1]); - assign sel_mb_status_addr = ((((miss_pending & write_ic_16_bytes) & ~uncacheable_miss_ff) & last_beat) & bus_ifu_wr_en_ff_q) | reset_tag_valid_for_miss; - assign ifu_status_wr_addr[31:1] = ({31 {sel_mb_status_addr}} & {imb_ff[31:pt[1182-:8] + 1], ic_wr_addr_bits_hi_3[pt[1182-:8]:3], imb_ff[2:1]}) | ({31 {~sel_mb_status_addr}} & ifu_fetch_addr_int_f[31:1]); - assign ic_rw_addr[31:1] = ifu_ic_rw_int_addr[31:1]; - generate - if (pt[1125-:5] == 1) begin : icache_ecc_1 - wire [6:0] ic_wr_ecc; - wire [6:0] ic_miss_buff_ecc; - wire [141:0] ic_wr_16bytes_data; - wire [70:0] ifu_ic_debug_rd_data_in; - rvecc_encode_64 ic_ecc_encode_64_bus( - .din(ifu_bus_rdata_ff[63:0]), - .ecc_out(ic_wr_ecc[6:0]) - ); - rvecc_encode_64 ic_ecc_encode_64_buff( - .din(ic_miss_buff_half[63:0]), - .ecc_out(ic_miss_buff_ecc[6:0]) - ); - genvar i; - for (i = 0; i < pt[1189-:7]; i = i + 1) begin : ic_wr_data_loop - assign ic_wr_data[(i * 71) + 70-:71] = ic_wr_16bytes_data[(71 * i) + 70:71 * i]; - end - assign ic_debug_wr_data[70:0] = {dec_tlu_ic_diag_pkt[89:19]}; - assign ic_error_start = (|ic_eccerr[pt[1189-:7] - 1:0] & ic_act_hit_f) | ic_rd_parity_final_err; - assign ifu_ic_debug_rd_data_in[70:0] = (ic_debug_ict_array_sel_ff ? {2'b00, ictag_debug_rd_data[25:21], 32'b00000000000000000000000000000000, ictag_debug_rd_data[20:0], {7 - pt[1027-:7] {1'b0}}, way_status[pt[1027-:7] - 1:0], 3'b000, ic_debug_tag_val_rd_out} : ic_debug_rd_data[70:0]); - rvdffe #(.WIDTH(71)) ifu_debug_data_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(debug_data_clken), - .din({ifu_ic_debug_rd_data_in[70:0]}), - .dout({ifu_ic_debug_rd_data[70:0]}) - ); - assign ic_wr_16bytes_data[141:0] = (ifu_bus_rid_ff[0] ? {ic_wr_ecc[6:0], ifu_bus_rdata_ff[63:0], ic_miss_buff_ecc[6:0], ic_miss_buff_half[63:0]} : {ic_miss_buff_ecc[6:0], ic_miss_buff_half[63:0], ic_wr_ecc[6:0], ifu_bus_rdata_ff[63:0]}); - end - else begin : icache_parity_1 - wire [3:0] ic_wr_parity; - wire [3:0] ic_miss_buff_parity; - wire [135:0] ic_wr_16bytes_data; - wire [70:0] ifu_ic_debug_rd_data_in; - genvar i; - for (i = 0; i < 4; i = i + 1) begin : DATA_PGEN - rveven_paritygen #(.WIDTH(16)) par_bus( - .data_in(ifu_bus_rdata_ff[(16 * i) + 15:16 * i]), - .parity_out(ic_wr_parity[i]) - ); - rveven_paritygen #(.WIDTH(16)) par_buff( - .data_in(ic_miss_buff_half[(16 * i) + 15:16 * i]), - .parity_out(ic_miss_buff_parity[i]) - ); - end - for (i = 0; i < pt[1189-:7]; i = i + 1) begin : ic_wr_data_loop - assign ic_wr_data[(i * 71) + 70-:71] = {3'b000, ic_wr_16bytes_data[(68 * i) + 67:68 * i]}; - end - assign ic_debug_wr_data[70:0] = {dec_tlu_ic_diag_pkt[89:19]}; - assign ic_error_start = (|ic_parerr[pt[1189-:7] - 1:0] & ic_act_hit_f) | ic_rd_parity_final_err; - assign ifu_ic_debug_rd_data_in[70:0] = (ic_debug_ict_array_sel_ff ? {6'b000000, ictag_debug_rd_data[21], 32'b00000000000000000000000000000000, ictag_debug_rd_data[20:0], {7 - pt[1027-:7] {1'b0}}, way_status[pt[1027-:7] - 1:0], 3'b000, ic_debug_tag_val_rd_out} : ic_debug_rd_data[70:0]); - rvdffe #(.WIDTH(71)) ifu_debug_data_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(debug_data_clken), - .din({ifu_ic_debug_rd_data_in[70:0]}), - .dout({ifu_ic_debug_rd_data[70:0]}) - ); - assign ic_wr_16bytes_data[135:0] = (ifu_bus_rid_ff[0] ? {ic_wr_parity[3:0], ifu_bus_rdata_ff[63:0], ic_miss_buff_parity[3:0], ic_miss_buff_half[63:0]} : {ic_miss_buff_parity[3:0], ic_miss_buff_half[63:0], ic_wr_parity[3:0], ifu_bus_rdata_ff[63:0]}); - end - endgenerate - assign ifu_wr_data_comb_err = bus_ifu_wr_data_error_ff; - assign ifu_wr_cumulative_err = (ifu_wr_data_comb_err | ifu_wr_data_comb_err_ff) & ~reset_beat_cnt; - assign ifu_wr_cumulative_err_data = ifu_wr_data_comb_err | ifu_wr_data_comb_err_ff; - assign sel_byp_data = (ic_crit_wd_rdy | (miss_state == STREAM)) | (miss_state == CRIT_BYP_OK); - assign sel_ic_data = (~(((ic_crit_wd_rdy | (miss_state == STREAM)) | (miss_state == CRIT_BYP_OK)) | (miss_state == MISS_WAIT)) & ~fetch_req_iccm_f) & ~ifc_region_acc_fault_final_f; - generate - if (pt[922-:5] == 1) begin : iccm_icache - assign sel_iccm_data = fetch_req_iccm_f; - assign ic_final_data[63:0] = {64 {(sel_byp_data | sel_iccm_data) | sel_ic_data}} & {ic_rd_data[63:0]}; - assign ic_premux_data[63:0] = ({64 {sel_byp_data}} & {ic_byp_data_only_new[63:0]}) | ({64 {sel_iccm_data}} & {iccm_rd_data[63:0]}); - assign ic_sel_premux_data = sel_iccm_data | sel_byp_data; - end - endgenerate - generate - if (pt[900-:5] == 1) begin : iccm_only - assign sel_iccm_data = fetch_req_iccm_f; - assign ic_final_data[63:0] = ({64 {sel_byp_data}} & {ic_byp_data_only_new[63:0]}) | ({64 {sel_iccm_data}} & {iccm_rd_data[63:0]}); - assign ic_premux_data = {64 {1'sb0}}; - assign ic_sel_premux_data = 1'b0; - end - endgenerate - generate - if (pt[1053-:5] == 1) begin : icache_only - assign ic_final_data[63:0] = {64 {sel_byp_data | sel_ic_data}} & {ic_rd_data[63:0]}; - assign ic_premux_data[63:0] = {64 {sel_byp_data}} & {ic_byp_data_only_new[63:0]}; - assign ic_sel_premux_data = sel_byp_data; - end - endgenerate - generate - if (pt[140-:5] == 1) begin : no_iccm_no_icache - assign ic_final_data[63:0] = {64 {sel_byp_data}} & {ic_byp_data_only_new[63:0]}; - assign ic_premux_data = 0; - assign ic_sel_premux_data = 1'b0; - end - endgenerate - assign ifc_bus_acc_fault_f[1:0] = {2 {ic_byp_hit_f}} & ifu_byp_data_err_f[1:0]; - assign ic_data_f[31:0] = ic_final_data[31:0]; - assign fetch_req_f_qual = ic_hit_f & ~exu_flush_final; - assign ic_access_fault_f[1:0] = ({2 {ifc_region_acc_fault_final_f}} | ifc_bus_acc_fault_f[1:0]) & {2 {~exu_flush_final}}; - assign ic_access_fault_type_f[1:0] = (|iccm_rd_ecc_double_err ? 2'b01 : (ifc_region_acc_fault_f ? 2'b10 : (ifc_region_acc_fault_memory_f ? 2'b11 : 2'b00))); - localparam [1:0] ERR_FETCH2 = 2'b10; - assign ic_fetch_val_f[1] = ((fetch_req_f_qual & ifu_bp_inst_mask_f) & ~(vaddr_f[pt[1182-:8]:1] == {pt[1182-:8] {1'b1}})) & (err_stop_state != ERR_FETCH2); - assign ic_fetch_val_f[0] = fetch_req_f_qual; - assign two_byte_instr = ic_data_f[1:0] != 2'b11; - wire [63:0] ic_miss_buff_data_in; - assign ic_miss_buff_data_in[63:0] = ifu_bus_rsp_rdata[63:0]; - generate - genvar i; - for (i = 0; i < pt[1084-:8]; i = i + 1) begin : wr_flop - function automatic signed [pt[826-:8] - 1:0] sv2v_cast_ADFF4_signed; - input reg signed [pt[826-:8] - 1:0] inp; - sv2v_cast_ADFF4_signed = inp; - endfunction - assign write_fill_data[i] = bus_ifu_wr_en & (sv2v_cast_ADFF4_signed(i) == ifu_bus_rsp_tag[pt[826-:8] - 1:0]); - rvdffe #(.WIDTH(32)) byp_data_0_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(write_fill_data[i]), - .din(ic_miss_buff_data_in[31:0]), - .dout(ic_miss_buff_data[((i * 2) * 32) + 31-:32]) - ); - rvdffe #(.WIDTH(32)) byp_data_1_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(write_fill_data[i]), - .din(ic_miss_buff_data_in[63:32]), - .dout(ic_miss_buff_data[(((i * 2) + 1) * 32) + 31-:32]) - ); - assign ic_miss_buff_data_valid_in[i] = (write_fill_data[i] ? 1'b1 : ic_miss_buff_data_valid[i] & ~ic_act_miss_f); - rvdff #(.WIDTH(1)) byp_data_valid_ff( - .rst_l(rst_l), - .clk(active_clk), - .din(ic_miss_buff_data_valid_in[i]), - .dout(ic_miss_buff_data_valid[i]) - ); - assign ic_miss_buff_data_error_in[i] = (write_fill_data[i] ? bus_ifu_wr_data_error : ic_miss_buff_data_error[i] & ~ic_act_miss_f); - rvdff #(.WIDTH(1)) byp_data_error_ff( - .rst_l(rst_l), - .clk(active_clk), - .din(ic_miss_buff_data_error_in[i]), - .dout(ic_miss_buff_data_error[i]) - ); - end - endgenerate - wire [pt[1182-:8]:1] bypass_index; - wire [pt[1182-:8]:3] bypass_index_5_3_inc; - wire bypass_data_ready_in; - wire ic_crit_wd_rdy_new_in; - assign bypass_index[pt[1182-:8]:1] = imb_ff[pt[1182-:8]:1]; - assign bypass_index_5_3_inc[pt[1182-:8]:3] = bypass_index[pt[1182-:8]:3] + 1; - assign bypass_data_ready_in = (((((ic_miss_buff_data_valid_in[bypass_index[pt[1182-:8]:3]] & ~bypass_index[2]) & ~bypass_index[1]) | ((ic_miss_buff_data_valid_in[bypass_index[pt[1182-:8]:3]] & ~bypass_index[2]) & bypass_index[1])) | ((ic_miss_buff_data_valid_in[bypass_index[pt[1182-:8]:3]] & bypass_index[2]) & ~bypass_index[1])) | (((ic_miss_buff_data_valid_in[bypass_index[pt[1182-:8]:3]] & ic_miss_buff_data_valid_in[bypass_index_5_3_inc[pt[1182-:8]:3]]) & bypass_index[2]) & bypass_index[1])) | (ic_miss_buff_data_valid_in[bypass_index[pt[1182-:8]:3]] & (bypass_index[pt[1182-:8]:3] == {pt[1182-:8] {1'b1}})); - assign ic_crit_wd_rdy_new_in = (((((bypass_data_ready_in & crit_wd_byp_ok_ff) & uncacheable_miss_ff) & ~exu_flush_final) & ~ifu_bp_hit_taken_q_f) | (((crit_wd_byp_ok_ff & ~uncacheable_miss_ff) & ~exu_flush_final) & ~ifu_bp_hit_taken_q_f)) | (((ic_crit_wd_rdy_new_ff & ~fetch_req_icache_f) & crit_wd_byp_ok_ff) & ~exu_flush_final); - assign byp_fetch_index[pt[1182-:8]:1] = ifu_fetch_addr_int_f[pt[1182-:8]:1]; - assign byp_fetch_index_0[pt[1182-:8]:2] = {ifu_fetch_addr_int_f[pt[1182-:8]:3], 1'b0}; - assign byp_fetch_index_1[pt[1182-:8]:2] = {ifu_fetch_addr_int_f[pt[1182-:8]:3], 1'b1}; - assign byp_fetch_index_inc[pt[1182-:8]:3] = ifu_fetch_addr_int_f[pt[1182-:8]:3] + 1'b1; - assign byp_fetch_index_inc_0[pt[1182-:8]:2] = {byp_fetch_index_inc[pt[1182-:8]:3], 1'b0}; - assign byp_fetch_index_inc_1[pt[1182-:8]:2] = {byp_fetch_index_inc[pt[1182-:8]:3], 1'b1}; - assign ifu_byp_data_err_new = ((((~ifu_fetch_addr_int_f[2] & ~ifu_fetch_addr_int_f[1]) & ic_miss_buff_data_error[byp_fetch_index[pt[1182-:8]:3]]) | ((~ifu_fetch_addr_int_f[2] & ifu_fetch_addr_int_f[1]) & ic_miss_buff_data_error[byp_fetch_index[pt[1182-:8]:3]])) | ((ifu_fetch_addr_int_f[2] & ~ifu_fetch_addr_int_f[1]) & ic_miss_buff_data_error[byp_fetch_index[pt[1182-:8]:3]])) | ((ifu_fetch_addr_int_f[2] & ifu_fetch_addr_int_f[1]) & (ic_miss_buff_data_error[byp_fetch_index_inc[pt[1182-:8]:3]] | ic_miss_buff_data_error[byp_fetch_index[pt[1182-:8]:3]])); - assign ifu_byp_data_err_f[1:0] = (ic_miss_buff_data_error[byp_fetch_index[pt[1182-:8]:3]] ? 2'b11 : (((ifu_fetch_addr_int_f[2] & ifu_fetch_addr_int_f[1]) & ~ic_miss_buff_data_error[byp_fetch_index[pt[1182-:8]:3]]) & (~miss_wrap_f & ic_miss_buff_data_error[byp_fetch_index_inc[pt[1182-:8]:3]]) ? 2'b10 : 2'b00)); - assign ic_byp_data_only_pre_new[79:0] = ({80 {~ifu_fetch_addr_int_f[2]}} & {ic_miss_buff_data[(byp_fetch_index_inc_0 * 32) + 15-:16], ic_miss_buff_data[(byp_fetch_index_1 * 32) + 31-:32], ic_miss_buff_data[(byp_fetch_index_0 * 32) + 31-:32]}) | ({80 {ifu_fetch_addr_int_f[2]}} & {ic_miss_buff_data[(byp_fetch_index_inc_1 * 32) + 15-:16], ic_miss_buff_data[(byp_fetch_index_inc_0 * 32) + 31-:32], ic_miss_buff_data[(byp_fetch_index_1 * 32) + 31-:32]}); - assign ic_byp_data_only_new[79:0] = (~ifu_fetch_addr_int_f[1] ? {ic_byp_data_only_pre_new[79:0]} : {16'b0000000000000000, ic_byp_data_only_pre_new[79:16]}); - assign miss_wrap_f = imb_ff[pt[998-:7]] != ifu_fetch_addr_int_f[pt[998-:7]]; - assign miss_buff_hit_unq_f = (((((ic_miss_buff_data_valid[byp_fetch_index[pt[1182-:8]:3]] & ~byp_fetch_index[2]) & ~byp_fetch_index[1]) | ((ic_miss_buff_data_valid[byp_fetch_index[pt[1182-:8]:3]] & ~byp_fetch_index[2]) & byp_fetch_index[1])) | ((ic_miss_buff_data_valid[byp_fetch_index[pt[1182-:8]:3]] & byp_fetch_index[2]) & ~byp_fetch_index[1])) | (((ic_miss_buff_data_valid[byp_fetch_index[pt[1182-:8]:3]] & ic_miss_buff_data_valid[byp_fetch_index_inc[pt[1182-:8]:3]]) & byp_fetch_index[2]) & byp_fetch_index[1])) | (ic_miss_buff_data_valid[byp_fetch_index[pt[1182-:8]:3]] & (byp_fetch_index[pt[1182-:8]:3] == {pt[1174-:8] {1'b1}})); - assign stream_hit_f = (miss_buff_hit_unq_f & ~miss_wrap_f) & (miss_state == STREAM); - assign stream_miss_f = (~(miss_buff_hit_unq_f & ~miss_wrap_f) & (miss_state == STREAM)) & ifc_fetch_req_f; - assign stream_eol_f = ((byp_fetch_index[pt[1182-:8]:2] == {pt[1174-:8] + 1 {1'b1}}) & ifc_fetch_req_f) & stream_hit_f; - assign crit_byp_hit_f = miss_buff_hit_unq_f & ((miss_state == CRIT_WRD_RDY) | (miss_state == CRIT_BYP_OK)); - assign other_tag[pt[826-:8] - 1:0] = {ifu_bus_rid_ff[pt[826-:8] - 1:1], ~ifu_bus_rid_ff[0]}; - assign second_half_available = ic_miss_buff_data_valid[other_tag]; - assign write_ic_16_bytes = second_half_available & bus_ifu_wr_en_ff; - assign ic_miss_buff_half[63:0] = {ic_miss_buff_data[{other_tag, 1'b1} * 32+:32], ic_miss_buff_data[{other_tag, 1'b0} * 32+:32]}; - assign ic_rd_parity_final_err = (((ic_tag_perr & ~exu_flush_final) & sel_ic_data) & ~(ifc_region_acc_fault_final_f | |ifc_bus_acc_fault_f)) & (((fetch_req_icache_f & ~reset_all_tags) & (~miss_pending | (miss_state == HIT_U_MISS))) & ~sel_mb_addr_ff); - wire [pt[1060-:7] - 1:0] perr_err_inv_way; - wire [pt[1104-:9]:pt[998-:7]] perr_ic_index_ff; - reg perr_sel_invalidate; - reg perr_sb_write_status; - rvdffe #( - .WIDTH((pt[1104-:9] - pt[998-:7]) + 1), - .OVERRIDE(1) - ) perr_dat_ff( - .din(ifu_ic_rw_int_addr_ff[pt[1104-:9]:pt[998-:7]]), - .dout(perr_ic_index_ff[pt[1104-:9]:pt[998-:7]]), - .en(perr_sb_write_status), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - assign perr_err_inv_way[pt[1060-:7] - 1:0] = {pt[1060-:7] {perr_sel_invalidate}}; - localparam [2:0] ECC_CORR = 3'b011; - assign iccm_correct_ecc = perr_state == ECC_CORR; - assign dma_sb_err_state = perr_state == DMA_SB_ERR; - assign iccm_buf_correct_ecc = iccm_correct_ecc & ~dma_sb_err_state_ff; - localparam [2:0] ECC_WFF = 3'b010; - localparam [2:0] ERR_IDLE = 3'b000; - localparam [2:0] IC_WFF = 3'b001; - always @(*) begin : ERROR_SM - perr_nxtstate = ERR_IDLE; - perr_state_en = 1'b0; - perr_sb_write_status = 1'b0; - perr_sel_invalidate = 1'b0; - case (perr_state) - ERR_IDLE: begin : err_idle - perr_nxtstate = (iccm_dma_sb_error ? DMA_SB_ERR : (ic_error_start & ~exu_flush_final ? IC_WFF : ECC_WFF)); - perr_state_en = (((iccm_error_start | ic_error_start) & ~exu_flush_final) | iccm_dma_sb_error) & ~dec_tlu_force_halt; - perr_sb_write_status = perr_state_en; - end - IC_WFF: begin : icache_wff - perr_nxtstate = ERR_IDLE; - perr_state_en = dec_tlu_flush_lower_wb | dec_tlu_force_halt; - perr_sel_invalidate = dec_tlu_flush_err_wb & dec_tlu_flush_lower_wb; - end - ECC_WFF: begin : ecc_wff - perr_nxtstate = ((~dec_tlu_flush_err_wb & dec_tlu_flush_lower_wb) | dec_tlu_force_halt ? ERR_IDLE : ECC_CORR); - perr_state_en = dec_tlu_flush_lower_wb | dec_tlu_force_halt; - end - DMA_SB_ERR: begin : dma_sb_ecc - perr_nxtstate = (dec_tlu_force_halt ? ERR_IDLE : ECC_CORR); - perr_state_en = 1'b1; - end - ECC_CORR: begin : ecc_corr - perr_nxtstate = ERR_IDLE; - perr_state_en = 1'b1; - end - default: begin : def_case - perr_nxtstate = ERR_IDLE; - perr_state_en = 1'b0; - perr_sb_write_status = 1'b0; - perr_sel_invalidate = 1'b0; - end - endcase - end - rvdffs #(.WIDTH(3)) perr_state_ff( - .clk(active_clk), - .din(perr_nxtstate), - .dout({perr_state}), - .en(perr_state_en), - .rst_l(rst_l) - ); - localparam [1:0] ERR_FETCH1 = 2'b01; - localparam [1:0] ERR_STOP_IDLE = 2'b00; - always @(*) begin : ERROR_STOP_FETCH - err_stop_nxtstate = ERR_STOP_IDLE; - err_stop_state_en = 1'b0; - err_stop_fetch = 1'b0; - iccm_correction_state = 1'b0; - case (err_stop_state) - ERR_STOP_IDLE: begin : err_stop_idle - err_stop_nxtstate = ERR_FETCH1; - err_stop_state_en = (dec_tlu_flush_err_wb & (perr_state == ECC_WFF)) & ~dec_tlu_force_halt; - end - ERR_FETCH1: begin : err_fetch1 - err_stop_nxtstate = ((dec_tlu_flush_lower_wb | dec_tlu_i0_commit_cmt) | dec_tlu_force_halt ? ERR_STOP_IDLE : ((ifu_fetch_val[1:0] == 2'b11) | (ifu_fetch_val[0] & two_byte_instr) ? ERR_STOP_FETCH : (ifu_fetch_val[0] ? ERR_FETCH2 : ERR_FETCH1))); - err_stop_state_en = (((dec_tlu_flush_lower_wb | dec_tlu_i0_commit_cmt) | ifu_fetch_val[0]) | ifu_bp_hit_taken_q_f) | dec_tlu_force_halt; - err_stop_fetch = ((ifu_fetch_val[1:0] == 2'b11) | (ifu_fetch_val[0] & two_byte_instr)) & ~(exu_flush_final | dec_tlu_i0_commit_cmt); - iccm_correction_state = 1'b1; - end - ERR_FETCH2: begin : err_fetch2 - err_stop_nxtstate = ((dec_tlu_flush_lower_wb | dec_tlu_i0_commit_cmt) | dec_tlu_force_halt ? ERR_STOP_IDLE : (ifu_fetch_val[0] ? ERR_STOP_FETCH : ERR_FETCH2)); - err_stop_state_en = ((dec_tlu_flush_lower_wb | dec_tlu_i0_commit_cmt) | ifu_fetch_val[0]) | dec_tlu_force_halt; - err_stop_fetch = (ifu_fetch_val[0] & ~exu_flush_final) & ~dec_tlu_i0_commit_cmt; - iccm_correction_state = 1'b1; - end - ERR_STOP_FETCH: begin : ecc_wff - err_stop_nxtstate = (((dec_tlu_flush_lower_wb & ~dec_tlu_flush_err_wb) | dec_tlu_i0_commit_cmt) | dec_tlu_force_halt ? ERR_STOP_IDLE : (dec_tlu_flush_err_wb ? ERR_FETCH1 : ERR_STOP_FETCH)); - err_stop_state_en = (dec_tlu_flush_lower_wb | dec_tlu_i0_commit_cmt) | dec_tlu_force_halt; - err_stop_fetch = 1'b1; - iccm_correction_state = 1'b1; - end - default: begin : def_case - err_stop_nxtstate = ERR_STOP_IDLE; - err_stop_state_en = 1'b0; - err_stop_fetch = 1'b0; - iccm_correction_state = 1'b1; - end - endcase - end - rvdffs #(.WIDTH(2)) err_stop_state_ff( - .clk(active_clk), - .din(err_stop_nxtstate), - .dout({err_stop_state}), - .en(err_stop_state_en), - .rst_l(rst_l) - ); - assign bus_ifu_bus_clk_en = ifu_bus_clk_en; - rvclkhdr bus_clk_f( - .en(bus_ifu_bus_clk_en), - .l1clk(busclk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr bus_clk( - .en(bus_ifu_bus_clk_en | dec_tlu_force_halt), - .l1clk(busclk_force), - .clk(clk), - .scan_mode(scan_mode) - ); - assign scnd_miss_req = scnd_miss_req_q & ~exu_flush_final; - assign ifc_bus_ic_req_ff_in = (((ic_act_miss_f | bus_cmd_req_hold) | ifu_bus_cmd_valid) & ~dec_tlu_force_halt) & ~((((bus_cmd_beat_count == {pt[1174-:8] {1'b1}}) & ifu_bus_cmd_valid) & ifu_bus_cmd_ready) & miss_pending); - rvdff_fpga #(.WIDTH(1)) bus_ic_req_ff2( - .rst_l(rst_l), - .clk(busclk_force), - .clken(bus_ifu_bus_clk_en | dec_tlu_force_halt), - .rawclk(clk), - .din(ifc_bus_ic_req_ff_in), - .dout(ifu_bus_cmd_valid) - ); - assign bus_cmd_req_in = ((ic_act_miss_f | bus_cmd_req_hold) & ~bus_cmd_sent) & ~dec_tlu_force_halt; - assign ifu_axi_arvalid = ifu_bus_cmd_valid; - function automatic [pt[826-:8] - 1:0] sv2v_cast_ADFF4; - input reg [pt[826-:8] - 1:0] inp; - sv2v_cast_ADFF4 = inp; - endfunction - assign ifu_axi_arid[pt[826-:8] - 1:0] = sv2v_cast_ADFF4(bus_rd_addr_count[pt[1174-:8] - 1:0]) & {pt[826-:8] {ifu_bus_cmd_valid}}; - assign ifu_axi_araddr[31:0] = {ifu_ic_req_addr_f[31:3], 3'b000} & {32 {ifu_bus_cmd_valid}}; - assign ifu_axi_arsize[2:0] = 3'b011; - assign ifu_axi_arprot[2:0] = 3'b101; - assign ifu_axi_arcache[3:0] = 4'b1111; - assign ifu_axi_arregion[3:0] = ifu_ic_req_addr_f[31:28]; - assign ifu_axi_arlen[7:0] = {8 {1'sb0}}; - assign ifu_axi_arburst[1:0] = 2'b01; - assign ifu_axi_arqos[3:0] = {4 {1'sb0}}; - assign ifu_axi_arlock = 1'b0; - assign ifu_axi_rready = 1'b1; - assign ifu_axi_awvalid = 1'b0; - assign ifu_axi_awid[pt[826-:8] - 1:0] = {pt[826-:8] {1'sb0}}; - assign ifu_axi_awaddr[31:0] = {32 {1'sb0}}; - assign ifu_axi_awsize[2:0] = {3 {1'sb0}}; - assign ifu_axi_awprot[2:0] = {3 {1'sb0}}; - assign ifu_axi_awcache[3:0] = {4 {1'sb0}}; - assign ifu_axi_awregion[3:0] = {4 {1'sb0}}; - assign ifu_axi_awlen[7:0] = {8 {1'sb0}}; - assign ifu_axi_awburst[1:0] = {2 {1'sb0}}; - assign ifu_axi_awqos[3:0] = {4 {1'sb0}}; - assign ifu_axi_awlock = 1'b0; - assign ifu_axi_wvalid = 1'b0; - assign ifu_axi_wstrb[7:0] = {8 {1'sb0}}; - assign ifu_axi_wdata[63:0] = {64 {1'sb0}}; - assign ifu_axi_wlast = 1'b0; - assign ifu_axi_bready = 1'b0; - assign ifu_bus_arready_unq = ifu_axi_arready; - assign ifu_bus_rvalid_unq = ifu_axi_rvalid; - assign ifu_bus_arvalid = ifu_axi_arvalid; - rvdff_fpga #(.WIDTH(1)) bus_rdy_ff( - .rst_l(rst_l), - .clk(busclk), - .clken(bus_ifu_bus_clk_en), - .rawclk(clk), - .din(ifu_bus_arready_unq), - .dout(ifu_bus_arready_unq_ff) - ); - rvdff_fpga #(.WIDTH(1)) bus_rsp_vld_ff( - .rst_l(rst_l), - .clk(busclk), - .clken(bus_ifu_bus_clk_en), - .rawclk(clk), - .din(ifu_bus_rvalid_unq), - .dout(ifu_bus_rvalid_unq_ff) - ); - rvdff_fpga #(.WIDTH(1)) bus_cmd_ff( - .rst_l(rst_l), - .clk(busclk), - .clken(bus_ifu_bus_clk_en), - .rawclk(clk), - .din(ifu_bus_arvalid), - .dout(ifu_bus_arvalid_ff) - ); - rvdff_fpga #(.WIDTH(2)) bus_rsp_cmd_ff( - .rst_l(rst_l), - .clk(busclk), - .clken(bus_ifu_bus_clk_en), - .rawclk(clk), - .din(ifu_axi_rresp[1:0]), - .dout(ifu_bus_rresp_ff[1:0]) - ); - rvdff_fpga #(.WIDTH(pt[826-:8])) bus_rsp_tag_ff( - .rst_l(rst_l), - .clk(busclk), - .clken(bus_ifu_bus_clk_en), - .rawclk(clk), - .din(ifu_axi_rid[pt[826-:8] - 1:0]), - .dout(ifu_bus_rid_ff[pt[826-:8] - 1:0]) - ); - rvdffe #(.WIDTH(64)) bus_data_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .din(ifu_axi_rdata[63:0]), - .dout(ifu_bus_rdata_ff[63:0]), - .en(ifu_bus_clk_en & ifu_axi_rvalid) - ); - assign ifu_bus_cmd_ready = ifu_axi_arready; - assign ifu_bus_rsp_valid = ifu_axi_rvalid; - assign ifu_bus_rsp_ready = ifu_axi_rready; - assign ifu_bus_rsp_tag[pt[826-:8] - 1:0] = ifu_axi_rid[pt[826-:8] - 1:0]; - assign ifu_bus_rsp_rdata[63:0] = ifu_axi_rdata[63:0]; - assign ifu_bus_rsp_opc[1:0] = {ifu_axi_rresp[1:0]}; - assign ifu_bus_rvalid = ifu_bus_rsp_valid & bus_ifu_bus_clk_en; - assign ifu_bus_arready = ifu_bus_arready_unq & bus_ifu_bus_clk_en; - assign ifu_bus_arready_ff = ifu_bus_arready_unq_ff & bus_ifu_bus_clk_en_ff; - assign ifu_bus_rvalid_ff = ifu_bus_rvalid_unq_ff & bus_ifu_bus_clk_en_ff; - assign bus_cmd_sent = ((ifu_bus_arvalid & ifu_bus_arready) & miss_pending) & ~dec_tlu_force_halt; - assign bus_inc_data_beat_cnt = (bus_ifu_wr_en_ff & ~bus_last_data_beat) & ~dec_tlu_force_halt; - assign bus_reset_data_beat_cnt = (ic_act_miss_f | (bus_ifu_wr_en_ff & bus_last_data_beat)) | dec_tlu_force_halt; - assign bus_hold_data_beat_cnt = ~bus_inc_data_beat_cnt & ~bus_reset_data_beat_cnt; - function automatic signed [pt[1174-:8] - 1:0] sv2v_cast_4BA5C_signed; - input reg signed [pt[1174-:8] - 1:0] inp; - sv2v_cast_4BA5C_signed = inp; - endfunction - assign bus_new_data_beat_count[pt[1174-:8] - 1:0] = (({pt[1174-:8] {bus_reset_data_beat_cnt}} & sv2v_cast_4BA5C_signed(0)) | ({pt[1174-:8] {bus_inc_data_beat_cnt}} & (bus_data_beat_count[pt[1174-:8] - 1:0] + {{pt[1174-:8] - 1 {1'b0}}, 1'b1}))) | ({pt[1174-:8] {bus_hold_data_beat_cnt}} & bus_data_beat_count[pt[1174-:8] - 1:0]); - assign last_data_recieved_in = ((bus_ifu_wr_en_ff & bus_last_data_beat) & ~scnd_miss_req) | (last_data_recieved_ff & ~ic_act_miss_f); - assign bus_new_rd_addr_count[pt[1174-:8] - 1:0] = (~miss_pending ? imb_ff[pt[1182-:8]:3] : (scnd_miss_req_q ? imb_scnd_ff[pt[1182-:8]:3] : (bus_cmd_sent ? bus_rd_addr_count[pt[1174-:8] - 1:0] + 3'b001 : bus_rd_addr_count[pt[1174-:8] - 1:0]))); - rvdff_fpga #(.WIDTH(pt[1174-:8])) bus_rd_addr_ff( - .rst_l(rst_l), - .clk(busclk_reset), - .clken((bus_ifu_bus_clk_en | ic_act_miss_f) | dec_tlu_force_halt), - .rawclk(clk), - .din({bus_new_rd_addr_count[pt[1174-:8] - 1:0]}), - .dout({bus_rd_addr_count[pt[1174-:8] - 1:0]}) - ); - assign bus_inc_cmd_beat_cnt = ((ifu_bus_cmd_valid & ifu_bus_cmd_ready) & miss_pending) & ~dec_tlu_force_halt; - assign bus_reset_cmd_beat_cnt_0 = (ic_act_miss_f & ~uncacheable_miss_in) | dec_tlu_force_halt; - assign bus_reset_cmd_beat_cnt_secondlast = ic_act_miss_f & uncacheable_miss_in; - assign bus_hold_cmd_beat_cnt = ~bus_inc_cmd_beat_cnt & ~((ic_act_miss_f | scnd_miss_req) | dec_tlu_force_halt); - assign bus_cmd_beat_en = (bus_inc_cmd_beat_cnt | ic_act_miss_f) | dec_tlu_force_halt; - function automatic [pt[1174-:8] - 1:0] sv2v_cast_4BA5C; - input reg [pt[1174-:8] - 1:0] inp; - sv2v_cast_4BA5C = inp; - endfunction - assign bus_new_cmd_beat_count[pt[1174-:8] - 1:0] = ((({pt[1174-:8] {bus_reset_cmd_beat_cnt_0}} & sv2v_cast_4BA5C_signed(0)) | ({pt[1174-:8] {bus_reset_cmd_beat_cnt_secondlast}} & sv2v_cast_4BA5C(pt[1048-:8]))) | ({pt[1174-:8] {bus_inc_cmd_beat_cnt}} & (bus_cmd_beat_count[pt[1174-:8] - 1:0] + {{pt[1174-:8] - 1 {1'b0}}, 1'b1}))) | ({pt[1174-:8] {bus_hold_cmd_beat_cnt}} & bus_cmd_beat_count[pt[1174-:8] - 1:0]); - rvclkhdr bus_clk_reset( - .en((bus_ifu_bus_clk_en | ic_act_miss_f) | dec_tlu_force_halt), - .l1clk(busclk_reset), - .clk(clk), - .scan_mode(scan_mode) - ); - rvdffs_fpga #(.WIDTH(pt[1174-:8])) bus_cmd_beat_ff( - .rst_l(rst_l), - .clk(busclk_reset), - .clken((bus_ifu_bus_clk_en | ic_act_miss_f) | dec_tlu_force_halt), - .rawclk(clk), - .en(bus_cmd_beat_en), - .din({bus_new_cmd_beat_count[pt[1174-:8] - 1:0]}), - .dout({bus_cmd_beat_count[pt[1174-:8] - 1:0]}) - ); - assign bus_last_data_beat = (uncacheable_miss_ff ? bus_data_beat_count[pt[1174-:8] - 1:0] == {{pt[1174-:8] - 1 {1'b0}}, 1'b1} : &bus_data_beat_count[pt[1174-:8] - 1:0]); - assign bus_ifu_wr_en = ifu_bus_rvalid & miss_pending; - assign bus_ifu_wr_en_ff = ifu_bus_rvalid_ff & miss_pending; - assign bus_ifu_wr_en_ff_q = (((ifu_bus_rvalid_ff & miss_pending) & ~uncacheable_miss_ff) & ~(|ifu_bus_rresp_ff[1:0])) & write_ic_16_bytes; - assign bus_ifu_wr_en_ff_wo_err = (ifu_bus_rvalid_ff & miss_pending) & ~uncacheable_miss_ff; - rvdffie #(.WIDTH(10)) misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({ic_act_miss_f, ifu_wr_cumulative_err, exu_flush_final, ic_crit_wd_rdy_new_in, bus_ifu_bus_clk_en, scnd_miss_req_in, bus_cmd_req_in, last_data_recieved_in, ifc_dma_access_ok_d, dma_iccm_req}), - .dout({ic_act_miss_f_delayed, ifu_wr_data_comb_err_ff, flush_final_f, ic_crit_wd_rdy_new_ff, bus_ifu_bus_clk_en_ff, scnd_miss_req_q, bus_cmd_req_hold, last_data_recieved_ff, ifc_dma_access_ok_prev, dma_iccm_req_f}) - ); - rvdffie #( - .WIDTH(pt[1174-:8] + 5), - .OVERRIDE(1) - ) misc1_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({reset_ic_in, sel_mb_addr, bus_new_data_beat_count[pt[1174-:8] - 1:0], ifc_region_acc_fault_memory_bf, ic_debug_rd_en, ic_debug_rd_en_ff}), - .dout({reset_ic_ff, sel_mb_addr_ff, bus_data_beat_count[pt[1174-:8] - 1:0], ifc_region_acc_fault_memory_f, ic_debug_rd_en_ff, ifu_ic_debug_rd_data_valid}) - ); - assign reset_tag_valid_for_miss = (ic_act_miss_f_delayed & (miss_state == CRIT_BYP_OK)) & ~uncacheable_miss_ff; - assign bus_ifu_wr_data_error = (|ifu_bus_rsp_opc[1:0] & ifu_bus_rvalid) & miss_pending; - assign bus_ifu_wr_data_error_ff = (|ifu_bus_rresp_ff[1:0] & ifu_bus_rvalid_ff) & miss_pending; - assign ic_crit_wd_rdy = ic_crit_wd_rdy_new_in | ic_crit_wd_rdy_new_ff; - assign last_beat = bus_last_data_beat & bus_ifu_wr_en_ff; - assign reset_beat_cnt = bus_reset_data_beat_cnt; - assign ifc_dma_access_ok_d = (ifc_dma_access_ok & ~iccm_correct_ecc) & ~iccm_dma_sb_error; - assign ifc_dma_access_q_ok = (((ifc_dma_access_ok & ~iccm_correct_ecc) & ifc_dma_access_ok_prev) & (perr_state == ERR_IDLE)) & ~iccm_dma_sb_error; - assign iccm_ready = ifc_dma_access_q_ok; - wire [1:0] iccm_ecc_word_enable; - generate - if (pt[927-:5] == 1) begin : iccm_enabled - wire [3:2] dma_mem_addr_ff; - wire iccm_dma_rden; - wire iccm_dma_ecc_error_in; - wire [13:0] dma_mem_ecc; - wire [63:0] iccm_dma_rdata_in; - wire [31:0] iccm_dma_rdata_1_muxed; - wire [63:0] iccm_corrected_data; - wire [13:0] iccm_corrected_ecc; - wire [1:0] iccm_double_ecc_error; - wire [pt[936-:9] - 1:2] iccm_rw_addr_f; - wire [31:0] iccm_corrected_data_f_mux; - wire [6:0] iccm_corrected_ecc_f_mux; - wire iccm_dma_rvalid_in; - wire [77:0] iccm_rdmux_data; - wire iccm_rd_ecc_single_err_hold_in; - wire [2:0] dma_mem_tag_ff; - assign iccm_wren = ((ifc_dma_access_q_ok & dma_iccm_req) & dma_mem_write) | iccm_correct_ecc; - assign iccm_rden = ((ifc_dma_access_q_ok & dma_iccm_req) & ~dma_mem_write) | (ifc_iccm_access_bf & ifc_fetch_req_bf); - assign iccm_dma_rden = (ifc_dma_access_q_ok & dma_iccm_req) & ~dma_mem_write; - assign iccm_wr_size[2:0] = {3 {dma_iccm_req}} & dma_mem_sz[2:0]; - rvecc_encode iccm_ecc_encode0( - .din(dma_mem_wdata[31:0]), - .ecc_out(dma_mem_ecc[6:0]) - ); - rvecc_encode iccm_ecc_encode1( - .din(dma_mem_wdata[63:32]), - .ecc_out(dma_mem_ecc[13:7]) - ); - assign iccm_wr_data[77:0] = (iccm_correct_ecc & ~(ifc_dma_access_q_ok & dma_iccm_req) ? {iccm_ecc_corr_data_ff[38:0], iccm_ecc_corr_data_ff[38:0]} : {dma_mem_ecc[13:7], dma_mem_wdata[63:32], dma_mem_ecc[6:0], dma_mem_wdata[31:0]}); - assign iccm_dma_rdata_1_muxed[31:0] = (dma_mem_addr_ff[2] ? iccm_corrected_data[31-:32] : iccm_corrected_data[63-:32]); - assign iccm_dma_rdata_in[63:0] = (iccm_dma_ecc_error_in ? {2 {dma_mem_addr[31:0]}} : {iccm_dma_rdata_1_muxed[31:0], iccm_corrected_data[0+:32]}); - assign iccm_dma_ecc_error_in = |iccm_double_ecc_error[1:0]; - rvdffe #(.WIDTH(64)) dma_data_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(clk), - .en(iccm_dma_rvalid_in), - .din(iccm_dma_rdata_in[63:0]), - .dout(iccm_dma_rdata[63:0]) - ); - rvdffie #(.WIDTH(11)) dma_misc_bits( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({dma_mem_tag[2:0], dma_mem_tag_ff[2:0], dma_mem_addr[3:2], iccm_dma_rden, iccm_dma_rvalid_in, iccm_dma_ecc_error_in}), - .dout({dma_mem_tag_ff[2:0], iccm_dma_rtag[2:0], dma_mem_addr_ff[3:2], iccm_dma_rvalid_in, iccm_dma_rvalid, iccm_dma_ecc_error}) - ); - assign iccm_rw_addr[pt[936-:9] - 1:1] = ((ifc_dma_access_q_ok & dma_iccm_req) & ~iccm_correct_ecc ? dma_mem_addr[pt[936-:9] - 1:1] : (~(ifc_dma_access_q_ok & dma_iccm_req) & iccm_correct_ecc ? {iccm_ecc_corr_index_ff[pt[936-:9] - 1:2], 1'b0} : ifc_fetch_addr_bf[pt[936-:9] - 1:1])); - wire [3:0] ic_fetch_val_int_f; - wire [3:0] ic_fetch_val_shift_right; - assign ic_fetch_val_int_f[3:0] = {2'b00, ic_fetch_val_f[1:0]}; - assign ic_fetch_val_shift_right[3:0] = {ic_fetch_val_int_f << ifu_fetch_addr_int_f[1]}; - assign iccm_rdmux_data[77:0] = iccm_rd_data_ecc[77:0]; - for (i = 0; i < 2; i = i + 1) begin : ICCM_ECC_CHECK - assign iccm_ecc_word_enable[i] = (((|ic_fetch_val_shift_right[(2 * i) + 1:2 * i] & ~exu_flush_final) & sel_iccm_data) | iccm_dma_rvalid_in) & ~dec_tlu_core_ecc_disable; - rvecc_decode ecc_decode( - .en(iccm_ecc_word_enable[i]), - .sed_ded(1'b0), - .din(iccm_rdmux_data[(39 * i) + 31:39 * i]), - .ecc_in(iccm_rdmux_data[(39 * i) + 38:(39 * i) + 32]), - .dout(iccm_corrected_data[(i * 32) + 31-:32]), - .ecc_out(iccm_corrected_ecc[(i * 7) + 6-:7]), - .single_ecc_error(iccm_single_ecc_error[i]), - .double_ecc_error(iccm_double_ecc_error[i]) - ); - end - assign iccm_rd_ecc_single_err = (|iccm_single_ecc_error[1:0] & ifc_iccm_access_f) & ifc_fetch_req_f; - assign iccm_rd_ecc_double_err[1:0] = (~ifu_fetch_addr_int_f[1] ? {iccm_double_ecc_error[0], iccm_double_ecc_error[0]} & {2 {ifc_iccm_access_f}} : {iccm_double_ecc_error[1], iccm_double_ecc_error[0]} & {2 {ifc_iccm_access_f}}); - assign iccm_corrected_data_f_mux[31:0] = (iccm_single_ecc_error[0] ? iccm_corrected_data[0+:32] : iccm_corrected_data[32+:32]); - assign iccm_corrected_ecc_f_mux[6:0] = (iccm_single_ecc_error[0] ? iccm_corrected_ecc[0+:7] : iccm_corrected_ecc[7+:7]); - assign iccm_ecc_write_status = ((iccm_rd_ecc_single_err & ~iccm_rd_ecc_single_err_ff) & ~exu_flush_final) | iccm_dma_sb_error; - assign iccm_rd_ecc_single_err_hold_in = (iccm_rd_ecc_single_err | iccm_rd_ecc_single_err_ff) & ~exu_flush_final; - assign iccm_error_start = iccm_rd_ecc_single_err; - assign iccm_ecc_corr_index_in[pt[936-:9] - 1:2] = (iccm_single_ecc_error[0] ? iccm_rw_addr_f[pt[936-:9] - 1:2] : iccm_rw_addr_f[pt[936-:9] - 1:2] + 1'b1); - rvdffie #(.WIDTH(pt[936-:9] - 1)) iccm_index_f( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({iccm_rw_addr[pt[936-:9] - 1:2], iccm_rd_ecc_single_err_hold_in}), - .dout({iccm_rw_addr_f[pt[936-:9] - 1:2], iccm_rd_ecc_single_err_ff}) - ); - rvdffe #(.WIDTH(pt[936-:9] + 37)) ecc_dat0_ff( - .clk(clk), - .din({iccm_corrected_ecc_f_mux[6:0], iccm_corrected_data_f_mux[31:0], iccm_ecc_corr_index_in[pt[936-:9] - 1:2]}), - .dout({iccm_ecc_corr_data_ff[38:0], iccm_ecc_corr_index_ff[pt[936-:9] - 1:2]}), - .en(iccm_ecc_write_status), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - end - else begin : iccm_disabled - assign iccm_dma_rvalid = 1'b0; - assign iccm_dma_ecc_error = 1'b0; - assign iccm_dma_rdata[63:0] = {64 {1'sb0}}; - assign iccm_single_ecc_error = {2 {1'sb0}}; - assign iccm_dma_rtag = {3 {1'sb0}}; - assign iccm_rd_ecc_single_err = 1'b0; - assign iccm_rd_ecc_double_err = {2 {1'sb0}}; - assign iccm_rd_ecc_single_err_ff = 1'b0; - assign iccm_error_start = 1'b0; - assign iccm_ecc_corr_index_ff[pt[936-:9] - 1:2] = {((pt[936-:9] - 1) >= 2 ? pt[936-:9] - 2 : 4 - pt[936-:9]) {1'sb0}}; - assign iccm_ecc_corr_data_ff[38:0] = {39 {1'sb0}}; - assign iccm_ecc_write_status = 1'b0; - end - endgenerate - assign ic_rd_en = (((ifc_fetch_req_bf & ~ifc_fetch_uncacheable_bf) & ~ifc_iccm_access_bf) & ~(((((((miss_state == STREAM) & ~miss_state_en) | ((miss_state == CRIT_BYP_OK) & ~miss_state_en)) | ((miss_state == STALL_SCND_MISS) & ~miss_state_en)) | ((miss_state == MISS_WAIT) & ~miss_state_en)) | ((miss_state == CRIT_WRD_RDY) & ~miss_state_en)) | (((miss_state == CRIT_BYP_OK) & miss_state_en) & (miss_nxtstate == MISS_WAIT)))) | (((ifc_fetch_req_bf & exu_flush_final) & ~ifc_fetch_uncacheable_bf) & ~ifc_iccm_access_bf); - wire ic_real_rd_wp_unused; - assign ic_real_rd_wp_unused = ((((((ifc_fetch_req_bf & ~ifc_iccm_access_bf) & ~ifc_region_acc_fault_final_bf) & ~dec_tlu_fence_i_wb) & ~stream_miss_f) & ~ic_act_miss_f) & ~(((((((((miss_state == STREAM) & ~miss_state_en) | (((miss_state == CRIT_BYP_OK) & ~miss_state_en) & ~(miss_nxtstate == MISS_WAIT))) | (((miss_state == CRIT_BYP_OK) & miss_state_en) & (miss_nxtstate == MISS_WAIT))) | ((miss_state == MISS_WAIT) & ~miss_state_en)) | ((miss_state == STALL_SCND_MISS) & ~miss_state_en)) | ((miss_state == CRIT_WRD_RDY) & ~miss_state_en)) | ((miss_nxtstate == STREAM) & miss_state_en)) | ((miss_state == SCND_MISS) & ~miss_state_en))) | (((((ifc_fetch_req_bf & ~ifc_iccm_access_bf) & ~ifc_region_acc_fault_final_bf) & ~dec_tlu_fence_i_wb) & ~stream_miss_f) & exu_flush_final); - assign ic_wr_en[pt[1060-:7] - 1:0] = bus_ic_wr_en[pt[1060-:7] - 1:0] & {pt[1060-:7] {write_ic_16_bytes}}; - assign ic_write_stall = write_ic_16_bytes & ~(((miss_state == CRIT_BYP_OK) | ((miss_state == STREAM) & ~((exu_flush_final | ifu_bp_hit_taken_q_f) | stream_eol_f))) & ~((bus_ifu_wr_en_ff & last_beat) & ~uncacheable_miss_ff)); - reg [pt[1060-:7] - 1:0] ic_tag_valid_unq; - generate - if (pt[1120-:5] == 1) begin : icache_enabled - assign ic_valid = (~ifu_wr_cumulative_err_data & ~(reset_ic_in | reset_ic_ff)) & ~reset_tag_valid_for_miss; - assign ifu_status_wr_addr_w_debug[pt[1104-:9]:pt[998-:7]] = ((ic_debug_rd_en | ic_debug_wr_en) & ic_debug_tag_array ? ic_debug_addr[pt[1104-:9]:pt[998-:7]] : ifu_status_wr_addr[pt[1104-:9]:pt[998-:7]]); - assign way_status_wr_en_w_debug = way_status_wr_en | (ic_debug_wr_en & ic_debug_tag_array); - assign way_status_new_w_debug[pt[1027-:7] - 1:0] = (ic_debug_wr_en & ic_debug_tag_array ? (pt[1027-:7] == 1 ? ic_debug_wr_data[4] : ic_debug_wr_data[6:4]) : way_status_new[pt[1027-:7] - 1:0]); - rvdffie #( - .WIDTH(((pt[991-:9] - pt[998-:7]) + 1) + pt[1027-:7]), - .OVERRIDE(1) - ) status_misc_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({ifu_status_wr_addr_w_debug[pt[1104-:9]:pt[998-:7]], way_status_wr_en_w_debug, way_status_new_w_debug[pt[1027-:7] - 1:0]}), - .dout({ifu_status_wr_addr_ff[pt[1104-:9]:pt[998-:7]], way_status_wr_en_ff, way_status_new_ff[pt[1027-:7] - 1:0]}) - ); - wire [(pt[1015-:17] / 8) - 1:0] way_status_clken; - wire [(pt[1015-:17] / 8) - 1:0] way_status_clk; - for (i = 0; i < (pt[1015-:17] / 8); i = i + 1) begin : CLK_GRP_WAY_STATUS - assign way_status_clken[i] = ifu_status_wr_addr_ff[pt[1104-:9]:pt[998-:7] + 3] == i; - rvclkhdr way_status_cgc( - .en(way_status_clken[i]), - .l1clk(way_status_clk[i]), - .clk(clk), - .scan_mode(scan_mode) - ); - genvar j; - for (j = 0; j < 8; j = j + 1) begin : WAY_STATUS - rvdffs_fpga #(.WIDTH(pt[1027-:7])) ic_way_status( - .rst_l(rst_l), - .clk(way_status_clk[i]), - .clken(way_status_clken[i]), - .rawclk(clk), - .en((ifu_status_wr_addr_ff[pt[998-:7] + 2:pt[998-:7]] == j) & way_status_wr_en_ff), - .din(way_status_new_ff[pt[1027-:7] - 1:0]), - .dout(way_status_out[((8 * i) + j) * pt[1027-:7]+:pt[1027-:7]]) - ); - end - end - function automatic signed [(pt[991-:9] - pt[998-:7]) - 1:0] sv2v_cast_46E4F_signed; - input reg signed [(pt[991-:9] - pt[998-:7]) - 1:0] inp; - sv2v_cast_46E4F_signed = inp; - endfunction - always @(*) begin : way_status_out_mux - way_status[pt[1027-:7] - 1:0] = {pt[1027-:7] {1'sb0}}; - begin : sv2v_autoblock_47 - reg signed [31:0] j; - for (j = 0; j < pt[1015-:17]; j = j + 1) - begin : status_mux_loop - if (ifu_ic_rw_int_addr_ff[pt[1104-:9]:pt[998-:7]] == sv2v_cast_46E4F_signed(j)) begin : mux_out - way_status[pt[1027-:7] - 1:0] = way_status_out[j * pt[1027-:7]+:pt[1027-:7]]; - end - end - end - end - assign ifu_ic_rw_int_addr_w_debug[pt[1104-:9]:pt[998-:7]] = ((ic_debug_rd_en | ic_debug_wr_en) & ic_debug_tag_array ? ic_debug_addr[pt[1104-:9]:pt[998-:7]] : ifu_ic_rw_int_addr[pt[1104-:9]:pt[998-:7]]); - assign ifu_tag_wren_w_debug[pt[1060-:7] - 1:0] = ifu_tag_wren[pt[1060-:7] - 1:0] | ic_debug_tag_wr_en[pt[1060-:7] - 1:0]; - assign ic_valid_w_debug = (ic_debug_wr_en & ic_debug_tag_array ? ic_debug_wr_data[0] : ic_valid); - rvdffie #(.WIDTH(((pt[991-:9] - pt[998-:7]) + pt[1060-:7]) + 1)) tag_addr_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({ifu_ic_rw_int_addr_w_debug[pt[1104-:9]:pt[998-:7]], ifu_tag_wren_w_debug[pt[1060-:7] - 1:0], ic_valid_w_debug}), - .dout({ifu_ic_rw_int_addr_ff[pt[1104-:9]:pt[998-:7]], ifu_tag_wren_ff[pt[1060-:7] - 1:0], ic_valid_ff}) - ); - wire [(pt[1060-:7] * pt[1015-:17]) - 1:0] ic_tag_valid_out; - wire [((pt[1015-:17] / 32) * pt[1060-:7]) - 1:0] tag_valid_clken; - wire [((pt[1015-:17] / 32) * pt[1060-:7]) - 1:0] tag_valid_clk; - for (i = 0; i < (pt[1015-:17] / 32); i = i + 1) begin : CLK_GRP_TAG_VALID - genvar j; - for (j = 0; j < pt[1060-:7]; j = j + 1) begin : way_clken - if (pt[1015-:17] == 32) begin - assign tag_valid_clken[(i * pt[1060-:7]) + j] = (ifu_tag_wren_ff[j] | perr_err_inv_way[j]) | reset_all_tags; - end - else assign tag_valid_clken[(i * pt[1060-:7]) + j] = (((ifu_ic_rw_int_addr_ff[pt[1104-:9]:pt[998-:7] + 5] == i) & ifu_tag_wren_ff[j]) | ((perr_ic_index_ff[pt[1104-:9]:pt[998-:7] + 5] == i) & perr_err_inv_way[j])) | reset_all_tags; - rvclkhdr way_status_cgc( - .en(tag_valid_clken[(i * pt[1060-:7]) + j]), - .l1clk(tag_valid_clk[(i * pt[1060-:7]) + j]), - .clk(clk), - .scan_mode(scan_mode) - ); - genvar k; - for (k = 0; k < 32; k = k + 1) begin : TAG_VALID - rvdffs_fpga #(.WIDTH(1)) ic_way_tagvalid_dup( - .rst_l(rst_l), - .clk(tag_valid_clk[(i * pt[1060-:7]) + j]), - .clken(tag_valid_clken[(i * pt[1060-:7]) + j]), - .rawclk(clk), - .en((((ifu_ic_rw_int_addr_ff[pt[1104-:9]:pt[998-:7]] == (k + (32 * i))) & ifu_tag_wren_ff[j]) | ((perr_ic_index_ff[pt[1104-:9]:pt[998-:7]] == (k + (32 * i))) & perr_err_inv_way[j])) | reset_all_tags), - .din((ic_valid_ff & ~reset_all_tags) & ~perr_sel_invalidate), - .dout(ic_tag_valid_out[(j * pt[1015-:17]) + ((32 * i) + k)]) - ); - end - end - end - always @(*) begin : tag_valid_out_mux - ic_tag_valid_unq[pt[1060-:7] - 1:0] = {pt[1060-:7] {1'sb0}}; - begin : sv2v_autoblock_48 - reg signed [31:0] j; - for (j = 0; j < pt[1015-:17]; j = j + 1) - begin : tag_valid_loop - if (ifu_ic_rw_int_addr_ff[pt[1104-:9]:pt[998-:7]] == sv2v_cast_46E4F_signed(j)) begin : valid_out - begin : sv2v_autoblock_49 - reg signed [31:0] k; - for (k = 0; k < pt[1060-:7]; k = k + 1) - ic_tag_valid_unq[k] = ic_tag_valid_unq[k] | ic_tag_valid_out[(k * pt[1015-:17]) + j]; - end - end - end - end - end - if (pt[1060-:7] == 4) begin : four_way_plru - assign replace_way_mb_any[3] = ((way_status_mb_ff[2] & way_status_mb_ff[0]) & &tagv_mb_ff[3:0]) | (((~tagv_mb_ff[3] & tagv_mb_ff[2]) & tagv_mb_ff[1]) & tagv_mb_ff[0]); - assign replace_way_mb_any[2] = ((~way_status_mb_ff[2] & way_status_mb_ff[0]) & &tagv_mb_ff[3:0]) | ((~tagv_mb_ff[2] & tagv_mb_ff[1]) & tagv_mb_ff[0]); - assign replace_way_mb_any[1] = ((way_status_mb_ff[1] & ~way_status_mb_ff[0]) & &tagv_mb_ff[3:0]) | (~tagv_mb_ff[1] & tagv_mb_ff[0]); - assign replace_way_mb_any[0] = ((~way_status_mb_ff[1] & ~way_status_mb_ff[0]) & &tagv_mb_ff[3:0]) | ~tagv_mb_ff[0]; - assign way_status_hit_new[pt[1027-:7] - 1:0] = ((({3 {~exu_flush_final & ic_rd_hit[0]}} & {way_status[2], 1'b1, 1'b1}) | ({3 {~exu_flush_final & ic_rd_hit[1]}} & {way_status[2], 1'b0, 1'b1})) | ({3 {~exu_flush_final & ic_rd_hit[2]}} & {1'b1, way_status[1], 1'b0})) | ({3 {~exu_flush_final & ic_rd_hit[3]}} & {1'b0, way_status[1], 1'b0}); - assign way_status_rep_new[pt[1027-:7] - 1:0] = ((({3 {replace_way_mb_any[0]}} & {way_status_mb_ff[2], 1'b1, 1'b1}) | ({3 {replace_way_mb_any[1]}} & {way_status_mb_ff[2], 1'b0, 1'b1})) | ({3 {replace_way_mb_any[2]}} & {1'b1, way_status_mb_ff[1], 1'b0})) | ({3 {replace_way_mb_any[3]}} & {1'b0, way_status_mb_ff[1], 1'b0}); - end - else begin : two_ways_plru - assign replace_way_mb_any[0] = ((~way_status_mb_ff & tagv_mb_ff[0]) & tagv_mb_ff[1]) | ~tagv_mb_ff[0]; - assign replace_way_mb_any[1] = ((way_status_mb_ff & tagv_mb_ff[0]) & tagv_mb_ff[1]) | (~tagv_mb_ff[1] & tagv_mb_ff[0]); - assign way_status_hit_new[pt[1027-:7] - 1:0] = ic_rd_hit[0]; - assign way_status_rep_new[pt[1027-:7] - 1:0] = replace_way_mb_any[0]; - end - assign way_status_new[pt[1027-:7] - 1:0] = (bus_ifu_wr_en_ff_q & last_beat ? way_status_rep_new[pt[1027-:7] - 1:0] : way_status_hit_new[pt[1027-:7] - 1:0]); - assign way_status_wr_en = (bus_ifu_wr_en_ff_q & last_beat) | ic_act_hit_f; - for (i = 0; i < pt[1060-:7]; i = i + 1) begin : bus_wren_loop - assign bus_wren[i] = (bus_ifu_wr_en_ff_q & replace_way_mb_any[i]) & miss_pending; - assign bus_wren_last[i] = ((bus_ifu_wr_en_ff_wo_err & replace_way_mb_any[i]) & miss_pending) & bus_last_data_beat; - assign ifu_tag_wren[i] = bus_wren_last[i] | wren_reset_miss[i]; - assign wren_reset_miss[i] = replace_way_mb_any[i] & reset_tag_valid_for_miss; - end - assign bus_ic_wr_en[pt[1060-:7] - 1:0] = bus_wren[pt[1060-:7] - 1:0]; - end - else begin : icache_disabled - wire [pt[1060-:7]:1] sv2v_tmp_602A9; - assign sv2v_tmp_602A9 = {pt[1060-:7] {1'sb0}}; - always @(*) ic_tag_valid_unq[pt[1060-:7] - 1:0] = sv2v_tmp_602A9; - wire [pt[1027-:7]:1] sv2v_tmp_89B17; - assign sv2v_tmp_89B17 = {pt[1027-:7] {1'sb0}}; - always @(*) way_status[pt[1027-:7] - 1:0] = sv2v_tmp_89B17; - assign replace_way_mb_any[pt[1060-:7] - 1:0] = {pt[1060-:7] {1'sb0}}; - assign way_status_hit_new[pt[1027-:7] - 1:0] = {pt[1027-:7] {1'sb0}}; - assign way_status_rep_new[pt[1027-:7] - 1:0] = {pt[1027-:7] {1'sb0}}; - assign way_status_new[pt[1027-:7] - 1:0] = {pt[1027-:7] {1'sb0}}; - assign way_status_wr_en = 1'b0; - assign bus_wren[pt[1060-:7] - 1:0] = {pt[1060-:7] {1'sb0}}; - end - endgenerate - assign ic_tag_valid[pt[1060-:7] - 1:0] = ic_tag_valid_unq[pt[1060-:7] - 1:0] & {pt[1060-:7] {~fetch_uncacheable_ff & ifc_fetch_req_f_raw}}; - assign ic_debug_tag_val_rd_out = |((ic_tag_valid_unq[pt[1060-:7] - 1:0] & ic_debug_way_ff[pt[1060-:7] - 1:0]) & {pt[1060-:7] {ic_debug_rd_en_ff}}); - assign ifu_pmu_ic_miss_in = ic_act_miss_f; - assign ifu_pmu_ic_hit_in = ic_act_hit_f; - assign ifu_pmu_bus_error_in = |ifc_bus_acc_fault_f; - assign ifu_pmu_bus_trxn_in = bus_cmd_sent; - assign ifu_pmu_bus_busy_in = (ifu_bus_arvalid_ff & ~ifu_bus_arready_ff) & miss_pending; - rvdffie #(.WIDTH(9)) ifu_pmu_sigs_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .clk(free_l2clk), - .din({ifc_fetch_uncacheable_bf, ifc_fetch_req_qual_bf, dma_sb_err_state, dec_tlu_fence_i_wb, ifu_pmu_ic_miss_in, ifu_pmu_ic_hit_in, ifu_pmu_bus_error_in, ifu_pmu_bus_busy_in, ifu_pmu_bus_trxn_in}), - .dout({fetch_uncacheable_ff, ifc_fetch_req_f_raw, dma_sb_err_state_ff, reset_all_tags, ifu_pmu_ic_miss, ifu_pmu_ic_hit, ifu_pmu_bus_error, ifu_pmu_bus_busy, ifu_pmu_bus_trxn}) - ); - assign ic_debug_addr[pt[1104-:9]:3] = dec_tlu_ic_diag_pkt[pt[1104-:9] - 1:2]; - assign ic_debug_way_enc[1:0] = dec_tlu_ic_diag_pkt[17:16]; - assign ic_debug_tag_array = dec_tlu_ic_diag_pkt[18]; - assign ic_debug_rd_en = dec_tlu_ic_diag_pkt[1]; - assign ic_debug_wr_en = dec_tlu_ic_diag_pkt[0]; - assign ic_debug_way[pt[1060-:7] - 1:0] = {ic_debug_way_enc[1:0] == 2'b11, ic_debug_way_enc[1:0] == 2'b10, ic_debug_way_enc[1:0] == 2'b01, ic_debug_way_enc[1:0] == 2'b00}; - assign ic_debug_tag_wr_en[pt[1060-:7] - 1:0] = {pt[1060-:7] {ic_debug_wr_en & ic_debug_tag_array}} & ic_debug_way[pt[1060-:7] - 1:0]; - assign ic_debug_ict_array_sel_in = ic_debug_rd_en & ic_debug_tag_array; - rvdff_fpga #(.WIDTH(1 + pt[1060-:7])) ifu_debug_sel_ff( - .rst_l(rst_l), - .clk(debug_c1_clk), - .clken(debug_c1_clken), - .rawclk(clk), - .din({ic_debug_ict_array_sel_in, ic_debug_way[pt[1060-:7] - 1:0]}), - .dout({ic_debug_ict_array_sel_ff, ic_debug_way_ff[pt[1060-:7] - 1:0]}) - ); - assign debug_data_clken = ic_debug_rd_en_ff; - assign ifc_region_acc_okay = (((((((~(|{pt[530-:5], pt[525-:5], pt[520-:5], pt[515-:5], pt[510-:5], pt[505-:5], pt[500-:5], pt[495-:5]}) | (pt[530-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[490-:36]) == (pt[818-:36] | pt[490-:36])))) | (pt[525-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[454-:36]) == (pt[782-:36] | pt[454-:36])))) | (pt[520-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[418-:36]) == (pt[746-:36] | pt[418-:36])))) | (pt[515-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[382-:36]) == (pt[710-:36] | pt[382-:36])))) | (pt[510-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[346-:36]) == (pt[674-:36] | pt[346-:36])))) | (pt[505-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[310-:36]) == (pt[638-:36] | pt[310-:36])))) | (pt[500-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[274-:36]) == (pt[602-:36] | pt[274-:36])))) | (pt[495-:5] & (({ifc_fetch_addr_bf[31:1], 1'b0} | pt[238-:36]) == (pt[566-:36] | pt[238-:36]))); - assign ifc_region_acc_fault_memory_bf = (~ifc_iccm_access_bf & ~ifc_region_acc_okay) & ifc_fetch_req_bf; - assign ifc_region_acc_fault_final_bf = ifc_region_acc_fault_bf | ifc_region_acc_fault_memory_bf; -endmodule -module eb1_lsu ( - clk_override, - dec_tlu_flush_lower_r, - dec_tlu_i0_kill_writeb_r, - dec_tlu_force_halt, - dec_tlu_external_ldfwd_disable, - dec_tlu_wb_coalescing_disable, - dec_tlu_sideeffect_posted_disable, - dec_tlu_core_ecc_disable, - exu_lsu_rs1_d, - exu_lsu_rs2_d, - dec_lsu_offset_d, - lsu_p, - dec_lsu_valid_raw_d, - dec_tlu_mrac_ff, - lsu_result_m, - lsu_result_corr_r, - lsu_load_stall_any, - lsu_store_stall_any, - lsu_fastint_stall_any, - lsu_idle_any, - lsu_active, - lsu_fir_addr, - lsu_fir_error, - lsu_single_ecc_error_incr, - lsu_error_pkt_r, - lsu_imprecise_error_load_any, - lsu_imprecise_error_store_any, - lsu_imprecise_error_addr_any, - lsu_nonblock_load_valid_m, - lsu_nonblock_load_tag_m, - lsu_nonblock_load_inv_r, - lsu_nonblock_load_inv_tag_r, - lsu_nonblock_load_data_valid, - lsu_nonblock_load_data_error, - lsu_nonblock_load_data_tag, - lsu_nonblock_load_data, - lsu_pmu_load_external_m, - lsu_pmu_store_external_m, - lsu_pmu_misaligned_m, - lsu_pmu_bus_trxn, - lsu_pmu_bus_misaligned, - lsu_pmu_bus_error, - lsu_pmu_bus_busy, - trigger_pkt_any, - lsu_trigger_match_m, - dccm_wren, - dccm_rden, - dccm_wr_addr_lo, - dccm_wr_addr_hi, - dccm_rd_addr_lo, - dccm_rd_addr_hi, - dccm_wr_data_lo, - dccm_wr_data_hi, - dccm_rd_data_lo, - dccm_rd_data_hi, - picm_wren, - picm_rden, - picm_mken, - picm_rdaddr, - picm_wraddr, - picm_wr_data, - picm_rd_data, - lsu_axi_awvalid, - lsu_axi_awready, - lsu_axi_awid, - lsu_axi_awaddr, - lsu_axi_awregion, - lsu_axi_awlen, - lsu_axi_awsize, - lsu_axi_awburst, - lsu_axi_awlock, - lsu_axi_awcache, - lsu_axi_awprot, - lsu_axi_awqos, - lsu_axi_wvalid, - lsu_axi_wready, - lsu_axi_wdata, - lsu_axi_wstrb, - lsu_axi_wlast, - lsu_axi_bvalid, - lsu_axi_bready, - lsu_axi_bresp, - lsu_axi_bid, - lsu_axi_arvalid, - lsu_axi_arready, - lsu_axi_arid, - lsu_axi_araddr, - lsu_axi_arregion, - lsu_axi_arlen, - lsu_axi_arsize, - lsu_axi_arburst, - lsu_axi_arlock, - lsu_axi_arcache, - lsu_axi_arprot, - lsu_axi_arqos, - lsu_axi_rvalid, - lsu_axi_rready, - lsu_axi_rid, - lsu_axi_rdata, - lsu_axi_rresp, - lsu_axi_rlast, - lsu_bus_clk_en, - dma_dccm_req, - dma_mem_tag, - dma_mem_addr, - dma_mem_sz, - dma_mem_write, - dma_mem_wdata, - dccm_dma_rvalid, - dccm_dma_ecc_error, - dccm_dma_rtag, - dccm_dma_rdata, - dccm_ready, - scan_mode, - clk, - active_clk, - rst_l -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk_override; - input wire dec_tlu_flush_lower_r; - input wire dec_tlu_i0_kill_writeb_r; - input wire dec_tlu_force_halt; - input wire dec_tlu_external_ldfwd_disable; - input wire dec_tlu_wb_coalescing_disable; - input wire dec_tlu_sideeffect_posted_disable; - input wire dec_tlu_core_ecc_disable; - input wire [31:0] exu_lsu_rs1_d; - input wire [31:0] exu_lsu_rs2_d; - input wire [11:0] dec_lsu_offset_d; - input wire [13:0] lsu_p; - input wire dec_lsu_valid_raw_d; - input wire [31:0] dec_tlu_mrac_ff; - output wire [31:0] lsu_result_m; - output wire [31:0] lsu_result_corr_r; - output wire lsu_load_stall_any; - output wire lsu_store_stall_any; - output wire lsu_fastint_stall_any; - output wire lsu_idle_any; - output wire lsu_active; - output wire [31:1] lsu_fir_addr; - output wire [1:0] lsu_fir_error; - output wire lsu_single_ecc_error_incr; - output wire [39:0] lsu_error_pkt_r; - output wire lsu_imprecise_error_load_any; - output wire lsu_imprecise_error_store_any; - output wire [31:0] lsu_imprecise_error_addr_any; - output wire lsu_nonblock_load_valid_m; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_tag_m; - output wire lsu_nonblock_load_inv_r; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_inv_tag_r; - output wire lsu_nonblock_load_data_valid; - output wire lsu_nonblock_load_data_error; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_data_tag; - output wire [31:0] lsu_nonblock_load_data; - output wire lsu_pmu_load_external_m; - output wire lsu_pmu_store_external_m; - output wire lsu_pmu_misaligned_m; - output wire lsu_pmu_bus_trxn; - output wire lsu_pmu_bus_misaligned; - output wire lsu_pmu_bus_error; - output wire lsu_pmu_bus_busy; - input wire [151:0] trigger_pkt_any; - output wire [3:0] lsu_trigger_match_m; - output wire dccm_wren; - output wire dccm_rden; - output wire [pt[1398-:9] - 1:0] dccm_wr_addr_lo; - output wire [pt[1398-:9] - 1:0] dccm_wr_addr_hi; - output wire [pt[1398-:9] - 1:0] dccm_rd_addr_lo; - output wire [pt[1398-:9] - 1:0] dccm_rd_addr_hi; - output wire [pt[1360-:10] - 1:0] dccm_wr_data_lo; - output wire [pt[1360-:10] - 1:0] dccm_wr_data_hi; - input wire [pt[1360-:10] - 1:0] dccm_rd_data_lo; - input wire [pt[1360-:10] - 1:0] dccm_rd_data_hi; - output wire picm_wren; - output wire picm_rden; - output wire picm_mken; - output wire [31:0] picm_rdaddr; - output wire [31:0] picm_wraddr; - output wire [31:0] picm_wr_data; - input wire [31:0] picm_rd_data; - output wire lsu_axi_awvalid; - input wire lsu_axi_awready; - output wire [pt[181-:8] - 1:0] lsu_axi_awid; - output wire [31:0] lsu_axi_awaddr; - output wire [3:0] lsu_axi_awregion; - output wire [7:0] lsu_axi_awlen; - output wire [2:0] lsu_axi_awsize; - output wire [1:0] lsu_axi_awburst; - output wire lsu_axi_awlock; - output wire [3:0] lsu_axi_awcache; - output wire [2:0] lsu_axi_awprot; - output wire [3:0] lsu_axi_awqos; - output wire lsu_axi_wvalid; - input wire lsu_axi_wready; - output wire [63:0] lsu_axi_wdata; - output wire [7:0] lsu_axi_wstrb; - output wire lsu_axi_wlast; - input wire lsu_axi_bvalid; - output wire lsu_axi_bready; - input wire [1:0] lsu_axi_bresp; - input wire [pt[181-:8] - 1:0] lsu_axi_bid; - output wire lsu_axi_arvalid; - input wire lsu_axi_arready; - output wire [pt[181-:8] - 1:0] lsu_axi_arid; - output wire [31:0] lsu_axi_araddr; - output wire [3:0] lsu_axi_arregion; - output wire [7:0] lsu_axi_arlen; - output wire [2:0] lsu_axi_arsize; - output wire [1:0] lsu_axi_arburst; - output wire lsu_axi_arlock; - output wire [3:0] lsu_axi_arcache; - output wire [2:0] lsu_axi_arprot; - output wire [3:0] lsu_axi_arqos; - input wire lsu_axi_rvalid; - output wire lsu_axi_rready; - input wire [pt[181-:8] - 1:0] lsu_axi_rid; - input wire [63:0] lsu_axi_rdata; - input wire [1:0] lsu_axi_rresp; - input wire lsu_axi_rlast; - input wire lsu_bus_clk_en; - input wire dma_dccm_req; - input wire [2:0] dma_mem_tag; - input wire [31:0] dma_mem_addr; - input wire [2:0] dma_mem_sz; - input wire dma_mem_write; - input wire [63:0] dma_mem_wdata; - output wire dccm_dma_rvalid; - output wire dccm_dma_ecc_error; - output wire [2:0] dccm_dma_rtag; - output wire [63:0] dccm_dma_rdata; - output wire dccm_ready; - input wire scan_mode; - input wire clk; - input wire active_clk; - input wire rst_l; - wire lsu_dccm_rden_m; - wire lsu_dccm_rden_r; - wire [31:0] store_data_m; - wire [31:0] store_data_r; - wire [31:0] store_data_hi_r; - wire [31:0] store_data_lo_r; - wire [31:0] store_datafn_hi_r; - wire [31:0] store_datafn_lo_r; - wire [31:0] sec_data_lo_m; - wire [31:0] sec_data_hi_m; - wire [31:0] sec_data_lo_r; - wire [31:0] sec_data_hi_r; - wire [31:0] lsu_ld_data_m; - wire [31:0] dccm_rdata_hi_m; - wire [31:0] dccm_rdata_lo_m; - wire [6:0] dccm_data_ecc_hi_m; - wire [6:0] dccm_data_ecc_lo_m; - wire lsu_single_ecc_error_m; - wire lsu_double_ecc_error_m; - wire [31:0] lsu_ld_data_r; - wire [31:0] lsu_ld_data_corr_r; - wire [31:0] dccm_rdata_hi_r; - wire [31:0] dccm_rdata_lo_r; - wire [6:0] dccm_data_ecc_hi_r; - wire [6:0] dccm_data_ecc_lo_r; - wire single_ecc_error_hi_r; - wire single_ecc_error_lo_r; - wire lsu_single_ecc_error_r; - wire lsu_double_ecc_error_r; - wire ld_single_ecc_error_r; - wire ld_single_ecc_error_r_ff; - wire [31:0] picm_mask_data_m; - wire [31:0] lsu_addr_d; - wire [31:0] lsu_addr_m; - wire [31:0] lsu_addr_r; - wire [31:0] end_addr_d; - wire [31:0] end_addr_m; - wire [31:0] end_addr_r; - wire [13:0] lsu_pkt_d; - wire [13:0] lsu_pkt_m; - wire [13:0] lsu_pkt_r; - wire lsu_i0_valid_d; - wire lsu_i0_valid_m; - wire lsu_i0_valid_r; - wire store_stbuf_reqvld_r; - wire ldst_stbuf_reqvld_r; - wire lsu_commit_r; - wire lsu_exc_m; - wire addr_in_dccm_d; - wire addr_in_dccm_m; - wire addr_in_dccm_r; - wire addr_in_pic_d; - wire addr_in_pic_m; - wire addr_in_pic_r; - wire ldst_dual_d; - wire ldst_dual_m; - wire ldst_dual_r; - wire addr_external_m; - wire stbuf_reqvld_any; - wire stbuf_reqvld_flushed_any; - wire [pt[157-:9] - 1:0] stbuf_addr_any; - wire [pt[1382-:10] - 1:0] stbuf_data_any; - wire [pt[1372-:7] - 1:0] stbuf_ecc_any; - wire [pt[1382-:10] - 1:0] sec_data_lo_r_ff; - wire [pt[1382-:10] - 1:0] sec_data_hi_r_ff; - wire [pt[1372-:7] - 1:0] sec_data_ecc_hi_r_ff; - wire [pt[1372-:7] - 1:0] sec_data_ecc_lo_r_ff; - wire lsu_cmpen_m; - wire [pt[1382-:10] - 1:0] stbuf_fwddata_hi_m; - wire [pt[1382-:10] - 1:0] stbuf_fwddata_lo_m; - wire [pt[1389-:7] - 1:0] stbuf_fwdbyteen_hi_m; - wire [pt[1389-:7] - 1:0] stbuf_fwdbyteen_lo_m; - wire lsu_stbuf_commit_any; - wire lsu_stbuf_empty_any; - wire lsu_stbuf_full_any; - wire lsu_busreq_r; - wire lsu_bus_buffer_pend_any; - wire lsu_bus_buffer_empty_any; - wire lsu_bus_buffer_full_any; - wire lsu_busreq_m; - wire [31:0] bus_read_data_m; - wire flush_m_up; - wire flush_r; - wire is_sideeffects_m; - wire [2:0] dma_mem_tag_d; - wire [2:0] dma_mem_tag_m; - wire ldst_nodma_mtor; - wire dma_dccm_wen; - wire dma_pic_wen; - wire [31:0] dma_dccm_wdata_lo; - wire [31:0] dma_dccm_wdata_hi; - wire [pt[1372-:7] - 1:0] dma_dccm_wdata_ecc_lo; - wire [pt[1372-:7] - 1:0] dma_dccm_wdata_ecc_hi; - wire lsu_busm_clken; - wire lsu_bus_obuf_c1_clken; - wire lsu_c1_m_clk; - wire lsu_c1_r_clk; - wire lsu_c2_m_clk; - wire lsu_c2_r_clk; - wire lsu_store_c1_m_clk; - wire lsu_store_c1_r_clk; - wire lsu_stbuf_c1_clk; - wire lsu_bus_ibuf_c1_clk; - wire lsu_bus_obuf_c1_clk; - wire lsu_bus_buf_c1_clk; - wire lsu_busm_clk; - wire lsu_free_c2_clk; - wire lsu_raw_fwd_lo_m; - wire lsu_raw_fwd_hi_m; - wire lsu_raw_fwd_lo_r; - wire lsu_raw_fwd_hi_r; - assign lsu_raw_fwd_lo_m = |stbuf_fwdbyteen_lo_m[pt[1389-:7] - 1:0]; - assign lsu_raw_fwd_hi_m = |stbuf_fwdbyteen_hi_m[pt[1389-:7] - 1:0]; - eb1_lsu_lsc_ctl #(.pt(pt)) lsu_lsc_ctl( - .rst_l(rst_l), - .clk_override(clk_override), - .clk(clk), - .lsu_c1_m_clk(lsu_c1_m_clk), - .lsu_c1_r_clk(lsu_c1_r_clk), - .lsu_c2_m_clk(lsu_c2_m_clk), - .lsu_c2_r_clk(lsu_c2_r_clk), - .lsu_store_c1_m_clk(lsu_store_c1_m_clk), - .lsu_ld_data_r(lsu_ld_data_r), - .lsu_ld_data_corr_r(lsu_ld_data_corr_r), - .lsu_single_ecc_error_r(lsu_single_ecc_error_r), - .lsu_double_ecc_error_r(lsu_double_ecc_error_r), - .lsu_ld_data_m(lsu_ld_data_m), - .lsu_single_ecc_error_m(lsu_single_ecc_error_m), - .lsu_double_ecc_error_m(lsu_double_ecc_error_m), - .flush_m_up(flush_m_up), - .flush_r(flush_r), - .ldst_dual_d(ldst_dual_d), - .ldst_dual_m(ldst_dual_m), - .ldst_dual_r(ldst_dual_r), - .exu_lsu_rs1_d(exu_lsu_rs1_d), - .exu_lsu_rs2_d(exu_lsu_rs2_d), - .lsu_p(lsu_p), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .dec_lsu_offset_d(dec_lsu_offset_d), - .picm_mask_data_m(picm_mask_data_m), - .bus_read_data_m(bus_read_data_m), - .lsu_result_m(lsu_result_m), - .lsu_result_corr_r(lsu_result_corr_r), - .lsu_addr_d(lsu_addr_d), - .lsu_addr_m(lsu_addr_m), - .lsu_addr_r(lsu_addr_r), - .end_addr_d(end_addr_d), - .end_addr_m(end_addr_m), - .end_addr_r(end_addr_r), - .store_data_m(store_data_m), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .lsu_exc_m(lsu_exc_m), - .is_sideeffects_m(is_sideeffects_m), - .lsu_commit_r(lsu_commit_r), - .lsu_single_ecc_error_incr(lsu_single_ecc_error_incr), - .lsu_error_pkt_r(lsu_error_pkt_r), - .lsu_fir_addr(lsu_fir_addr), - .lsu_fir_error(lsu_fir_error), - .addr_in_dccm_d(addr_in_dccm_d), - .addr_in_dccm_m(addr_in_dccm_m), - .addr_in_dccm_r(addr_in_dccm_r), - .addr_in_pic_d(addr_in_pic_d), - .addr_in_pic_m(addr_in_pic_m), - .addr_in_pic_r(addr_in_pic_r), - .addr_external_m(addr_external_m), - .dma_dccm_req(dma_dccm_req), - .dma_mem_addr(dma_mem_addr), - .dma_mem_sz(dma_mem_sz), - .dma_mem_write(dma_mem_write), - .dma_mem_wdata(dma_mem_wdata), - .lsu_pkt_d(lsu_pkt_d), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_r(lsu_pkt_r), - .scan_mode(scan_mode) - ); - assign lsu_store_stall_any = (lsu_stbuf_full_any | lsu_bus_buffer_full_any) | ld_single_ecc_error_r_ff; - assign lsu_load_stall_any = lsu_bus_buffer_full_any | ld_single_ecc_error_r_ff; - assign lsu_fastint_stall_any = ld_single_ecc_error_r; - assign dma_mem_tag_d[2:0] = dma_mem_tag[2:0]; - assign ldst_nodma_mtor = ((lsu_pkt_m[0] & ~lsu_pkt_m[4]) & (addr_in_dccm_m | addr_in_pic_m)) & lsu_pkt_m[6]; - assign dccm_ready = ~((dec_lsu_valid_raw_d | ldst_nodma_mtor) | ld_single_ecc_error_r_ff); - assign dma_dccm_wen = ((dma_dccm_req & dma_mem_write) & addr_in_dccm_d) & dma_mem_sz[1]; - assign dma_pic_wen = (dma_dccm_req & dma_mem_write) & addr_in_pic_d; - assign {dma_dccm_wdata_hi[31:0], dma_dccm_wdata_lo[31:0]} = dma_mem_wdata[63:0] >> {dma_mem_addr[2:0], 3'b000}; - assign flush_m_up = dec_tlu_flush_lower_r; - assign flush_r = dec_tlu_i0_kill_writeb_r; - assign lsu_idle_any = ~((lsu_pkt_m[0] & ~lsu_pkt_m[4]) | (lsu_pkt_r[0] & ~lsu_pkt_r[4])) & lsu_bus_buffer_empty_any; - assign lsu_active = ((lsu_pkt_m[0] | lsu_pkt_r[0]) | ld_single_ecc_error_r_ff) | ~lsu_bus_buffer_empty_any; - assign store_stbuf_reqvld_r = (((lsu_pkt_r[0] & lsu_pkt_r[6]) & addr_in_dccm_r) & ~flush_r) & (~lsu_pkt_r[4] | ((lsu_pkt_r[11] | lsu_pkt_r[10]) & ~lsu_double_ecc_error_r)); - assign lsu_cmpen_m = (lsu_pkt_m[0] & (lsu_pkt_m[7] | lsu_pkt_m[6])) & (addr_in_dccm_m | addr_in_pic_m); - assign lsu_busreq_m = (((lsu_pkt_m[0] & ((lsu_pkt_m[7] | lsu_pkt_m[6]) & addr_external_m)) & ~flush_m_up) & ~lsu_exc_m) & ~lsu_pkt_m[13]; - assign ldst_dual_d = lsu_addr_d[2] != end_addr_d[2]; - assign ldst_dual_m = lsu_addr_m[2] != end_addr_m[2]; - assign ldst_dual_r = lsu_addr_r[2] != end_addr_r[2]; - assign lsu_pmu_misaligned_m = lsu_pkt_m[0] & ((lsu_pkt_m[10] & lsu_addr_m[0]) | (lsu_pkt_m[9] & |lsu_addr_m[1:0])); - assign lsu_pmu_load_external_m = (lsu_pkt_m[0] & lsu_pkt_m[7]) & addr_external_m; - assign lsu_pmu_store_external_m = (lsu_pkt_m[0] & lsu_pkt_m[6]) & addr_external_m; - eb1_lsu_dccm_ctl #(.pt(pt)) dccm_ctl( - .lsu_addr_d(lsu_addr_d[31:0]), - .end_addr_d(end_addr_d[pt[1398-:9] - 1:0]), - .lsu_addr_m(lsu_addr_m[pt[1398-:9] - 1:0]), - .lsu_addr_r(lsu_addr_r[31:0]), - .end_addr_m(end_addr_m[pt[1398-:9] - 1:0]), - .end_addr_r(end_addr_r[pt[1398-:9] - 1:0]), - .lsu_c2_m_clk(lsu_c2_m_clk), - .lsu_c2_r_clk(lsu_c2_r_clk), - .lsu_c1_r_clk(lsu_c1_r_clk), - .lsu_store_c1_r_clk(lsu_store_c1_r_clk), - .lsu_free_c2_clk(lsu_free_c2_clk), - .clk_override(clk_override), - .clk(clk), - .rst_l(rst_l), - .lsu_pkt_r(lsu_pkt_r), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_d(lsu_pkt_d), - .addr_in_dccm_d(addr_in_dccm_d), - .addr_in_pic_d(addr_in_pic_d), - .addr_in_pic_m(addr_in_pic_m), - .addr_in_dccm_m(addr_in_dccm_m), - .addr_in_dccm_r(addr_in_dccm_r), - .addr_in_pic_r(addr_in_pic_r), - .lsu_raw_fwd_lo_r(lsu_raw_fwd_lo_r), - .lsu_raw_fwd_hi_r(lsu_raw_fwd_hi_r), - .lsu_commit_r(lsu_commit_r), - .ldst_dual_m(ldst_dual_m), - .ldst_dual_r(ldst_dual_r), - .stbuf_reqvld_any(stbuf_reqvld_any), - .stbuf_addr_any(stbuf_addr_any), - .stbuf_data_any(stbuf_data_any), - .stbuf_ecc_any(stbuf_ecc_any), - .stbuf_fwddata_hi_m(stbuf_fwddata_hi_m), - .stbuf_fwddata_lo_m(stbuf_fwddata_lo_m), - .stbuf_fwdbyteen_hi_m(stbuf_fwdbyteen_hi_m), - .stbuf_fwdbyteen_lo_m(stbuf_fwdbyteen_lo_m), - .dccm_rdata_hi_r(dccm_rdata_hi_r), - .dccm_rdata_lo_r(dccm_rdata_lo_r), - .dccm_data_ecc_hi_r(dccm_data_ecc_hi_r), - .dccm_data_ecc_lo_r(dccm_data_ecc_lo_r), - .lsu_ld_data_r(lsu_ld_data_r), - .lsu_ld_data_corr_r(lsu_ld_data_corr_r), - .lsu_double_ecc_error_r(lsu_double_ecc_error_r), - .single_ecc_error_hi_r(single_ecc_error_hi_r), - .single_ecc_error_lo_r(single_ecc_error_lo_r), - .sec_data_hi_r(sec_data_hi_r), - .sec_data_lo_r(sec_data_lo_r), - .sec_data_hi_r_ff(sec_data_hi_r_ff), - .sec_data_lo_r_ff(sec_data_lo_r_ff), - .sec_data_ecc_hi_r_ff(sec_data_ecc_hi_r_ff), - .sec_data_ecc_lo_r_ff(sec_data_ecc_lo_r_ff), - .dccm_rdata_hi_m(dccm_rdata_hi_m), - .dccm_rdata_lo_m(dccm_rdata_lo_m), - .dccm_data_ecc_hi_m(dccm_data_ecc_hi_m), - .dccm_data_ecc_lo_m(dccm_data_ecc_lo_m), - .lsu_ld_data_m(lsu_ld_data_m), - .lsu_double_ecc_error_m(lsu_double_ecc_error_m), - .sec_data_hi_m(sec_data_hi_m), - .sec_data_lo_m(sec_data_lo_m), - .store_data_m(store_data_m), - .dma_dccm_wen(dma_dccm_wen), - .dma_pic_wen(dma_pic_wen), - .dma_mem_tag_m(dma_mem_tag_m), - .dma_mem_addr(dma_mem_addr), - .dma_mem_wdata(dma_mem_wdata), - .dma_dccm_wdata_lo(dma_dccm_wdata_lo), - .dma_dccm_wdata_hi(dma_dccm_wdata_hi), - .dma_dccm_wdata_ecc_hi(dma_dccm_wdata_ecc_hi), - .dma_dccm_wdata_ecc_lo(dma_dccm_wdata_ecc_lo), - .store_data_hi_r(store_data_hi_r), - .store_data_lo_r(store_data_lo_r), - .store_datafn_hi_r(store_datafn_hi_r), - .store_datafn_lo_r(store_datafn_lo_r), - .store_data_r(store_data_r), - .ld_single_ecc_error_r(ld_single_ecc_error_r), - .ld_single_ecc_error_r_ff(ld_single_ecc_error_r_ff), - .picm_mask_data_m(picm_mask_data_m), - .lsu_stbuf_commit_any(lsu_stbuf_commit_any), - .lsu_dccm_rden_m(lsu_dccm_rden_m), - .lsu_dccm_rden_r(lsu_dccm_rden_r), - .dccm_dma_rvalid(dccm_dma_rvalid), - .dccm_dma_ecc_error(dccm_dma_ecc_error), - .dccm_dma_rtag(dccm_dma_rtag), - .dccm_dma_rdata(dccm_dma_rdata), - .dccm_wren(dccm_wren), - .dccm_rden(dccm_rden), - .dccm_wr_addr_lo(dccm_wr_addr_lo), - .dccm_wr_addr_hi(dccm_wr_addr_hi), - .dccm_rd_addr_lo(dccm_rd_addr_lo), - .dccm_rd_addr_hi(dccm_rd_addr_hi), - .dccm_wr_data_lo(dccm_wr_data_lo), - .dccm_wr_data_hi(dccm_wr_data_hi), - .dccm_rd_data_lo(dccm_rd_data_lo), - .dccm_rd_data_hi(dccm_rd_data_hi), - .picm_wren(picm_wren), - .picm_rden(picm_rden), - .picm_mken(picm_mken), - .picm_rdaddr(picm_rdaddr), - .picm_wraddr(picm_wraddr), - .picm_wr_data(picm_wr_data), - .picm_rd_data(picm_rd_data), - .scan_mode(scan_mode) - ); - eb1_lsu_stbuf #(.pt(pt)) stbuf( - .lsu_addr_d(lsu_addr_d[pt[157-:9] - 1:0]), - .end_addr_d(end_addr_d[pt[157-:9] - 1:0]), - .clk(clk), - .rst_l(rst_l), - .lsu_stbuf_c1_clk(lsu_stbuf_c1_clk), - .lsu_free_c2_clk(lsu_free_c2_clk), - .store_stbuf_reqvld_r(store_stbuf_reqvld_r), - .lsu_commit_r(lsu_commit_r), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .store_data_hi_r(store_data_hi_r), - .store_data_lo_r(store_data_lo_r), - .store_datafn_hi_r(store_datafn_hi_r), - .store_datafn_lo_r(store_datafn_lo_r), - .stbuf_reqvld_any(stbuf_reqvld_any), - .stbuf_reqvld_flushed_any(stbuf_reqvld_flushed_any), - .stbuf_addr_any(stbuf_addr_any), - .stbuf_data_any(stbuf_data_any), - .lsu_stbuf_commit_any(lsu_stbuf_commit_any), - .lsu_stbuf_full_any(lsu_stbuf_full_any), - .lsu_stbuf_empty_any(lsu_stbuf_empty_any), - .ldst_stbuf_reqvld_r(ldst_stbuf_reqvld_r), - .lsu_addr_m(lsu_addr_m), - .lsu_addr_r(lsu_addr_r), - .end_addr_m(end_addr_m), - .end_addr_r(end_addr_r), - .ldst_dual_d(ldst_dual_d), - .ldst_dual_m(ldst_dual_m), - .ldst_dual_r(ldst_dual_r), - .addr_in_dccm_m(addr_in_dccm_m), - .addr_in_dccm_r(addr_in_dccm_r), - .lsu_cmpen_m(lsu_cmpen_m), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_r(lsu_pkt_r), - .stbuf_fwddata_hi_m(stbuf_fwddata_hi_m), - .stbuf_fwddata_lo_m(stbuf_fwddata_lo_m), - .stbuf_fwdbyteen_hi_m(stbuf_fwdbyteen_hi_m), - .stbuf_fwdbyteen_lo_m(stbuf_fwdbyteen_lo_m), - .scan_mode(scan_mode) - ); - eb1_lsu_ecc #(.pt(pt)) ecc( - .lsu_addr_r(lsu_addr_r[pt[1398-:9] - 1:0]), - .end_addr_r(end_addr_r[pt[1398-:9] - 1:0]), - .lsu_addr_m(lsu_addr_m[pt[1398-:9] - 1:0]), - .end_addr_m(end_addr_m[pt[1398-:9] - 1:0]), - .clk(clk), - .lsu_c2_r_clk(lsu_c2_r_clk), - .clk_override(clk_override), - .rst_l(rst_l), - .scan_mode(scan_mode), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_r(lsu_pkt_r), - .stbuf_data_any(stbuf_data_any), - .dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable), - .lsu_dccm_rden_r(lsu_dccm_rden_r), - .addr_in_dccm_r(addr_in_dccm_r), - .dccm_rdata_hi_r(dccm_rdata_hi_r), - .dccm_rdata_lo_r(dccm_rdata_lo_r), - .dccm_data_ecc_hi_r(dccm_data_ecc_hi_r), - .dccm_data_ecc_lo_r(dccm_data_ecc_lo_r), - .sec_data_hi_r(sec_data_hi_r), - .sec_data_lo_r(sec_data_lo_r), - .sec_data_hi_r_ff(sec_data_hi_r_ff), - .sec_data_lo_r_ff(sec_data_lo_r_ff), - .ld_single_ecc_error_r(ld_single_ecc_error_r), - .ld_single_ecc_error_r_ff(ld_single_ecc_error_r_ff), - .lsu_dccm_rden_m(lsu_dccm_rden_m), - .addr_in_dccm_m(addr_in_dccm_m), - .dccm_rdata_hi_m(dccm_rdata_hi_m), - .dccm_rdata_lo_m(dccm_rdata_lo_m), - .dccm_data_ecc_hi_m(dccm_data_ecc_hi_m), - .dccm_data_ecc_lo_m(dccm_data_ecc_lo_m), - .sec_data_hi_m(sec_data_hi_m), - .sec_data_lo_m(sec_data_lo_m), - .dma_dccm_wen(dma_dccm_wen), - .dma_dccm_wdata_lo(dma_dccm_wdata_lo), - .dma_dccm_wdata_hi(dma_dccm_wdata_hi), - .dma_dccm_wdata_ecc_hi(dma_dccm_wdata_ecc_hi), - .dma_dccm_wdata_ecc_lo(dma_dccm_wdata_ecc_lo), - .stbuf_ecc_any(stbuf_ecc_any), - .sec_data_ecc_hi_r_ff(sec_data_ecc_hi_r_ff), - .sec_data_ecc_lo_r_ff(sec_data_ecc_lo_r_ff), - .single_ecc_error_hi_r(single_ecc_error_hi_r), - .single_ecc_error_lo_r(single_ecc_error_lo_r), - .lsu_single_ecc_error_r(lsu_single_ecc_error_r), - .lsu_double_ecc_error_r(lsu_double_ecc_error_r), - .lsu_single_ecc_error_m(lsu_single_ecc_error_m), - .lsu_double_ecc_error_m(lsu_double_ecc_error_m) - ); - eb1_lsu_trigger #(.pt(pt)) trigger( - .store_data_m(store_data_m[31:0]), - .trigger_pkt_any(trigger_pkt_any), - .lsu_pkt_m(lsu_pkt_m), - .lsu_addr_m(lsu_addr_m), - .lsu_trigger_match_m(lsu_trigger_match_m) - ); - eb1_lsu_clkdomain #(.pt(pt)) clkdomain( - .clk(clk), - .active_clk(active_clk), - .rst_l(rst_l), - .dec_tlu_force_halt(dec_tlu_force_halt), - .clk_override(clk_override), - .dma_dccm_req(dma_dccm_req), - .ldst_stbuf_reqvld_r(ldst_stbuf_reqvld_r), - .stbuf_reqvld_any(stbuf_reqvld_any), - .stbuf_reqvld_flushed_any(stbuf_reqvld_flushed_any), - .lsu_busreq_r(lsu_busreq_r), - .lsu_bus_buffer_pend_any(lsu_bus_buffer_pend_any), - .lsu_bus_buffer_empty_any(lsu_bus_buffer_empty_any), - .lsu_stbuf_empty_any(lsu_stbuf_empty_any), - .lsu_bus_clk_en(lsu_bus_clk_en), - .lsu_p(lsu_p), - .lsu_pkt_d(lsu_pkt_d), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_r(lsu_pkt_r), - .lsu_bus_obuf_c1_clken(lsu_bus_obuf_c1_clken), - .lsu_busm_clken(lsu_busm_clken), - .lsu_c1_m_clk(lsu_c1_m_clk), - .lsu_c1_r_clk(lsu_c1_r_clk), - .lsu_c2_m_clk(lsu_c2_m_clk), - .lsu_c2_r_clk(lsu_c2_r_clk), - .lsu_store_c1_m_clk(lsu_store_c1_m_clk), - .lsu_store_c1_r_clk(lsu_store_c1_r_clk), - .lsu_stbuf_c1_clk(lsu_stbuf_c1_clk), - .lsu_bus_obuf_c1_clk(lsu_bus_obuf_c1_clk), - .lsu_bus_ibuf_c1_clk(lsu_bus_ibuf_c1_clk), - .lsu_bus_buf_c1_clk(lsu_bus_buf_c1_clk), - .lsu_busm_clk(lsu_busm_clk), - .lsu_free_c2_clk(lsu_free_c2_clk), - .scan_mode(scan_mode) - ); - eb1_lsu_bus_intf #(.pt(pt)) bus_intf( - .lsu_addr_m(lsu_addr_m[31:0] & {32 {addr_external_m & lsu_pkt_m[0]}}), - .lsu_addr_r(lsu_addr_r[31:0] & {32 {lsu_busreq_r}}), - .end_addr_m(end_addr_m[31:0] & {32 {addr_external_m & lsu_pkt_m[0]}}), - .end_addr_r(end_addr_r[31:0] & {32 {lsu_busreq_r}}), - .store_data_r(store_data_r[31:0] & {32 {lsu_busreq_r}}), - .clk(clk), - .clk_override(clk_override), - .rst_l(rst_l), - .scan_mode(scan_mode), - .dec_tlu_external_ldfwd_disable(dec_tlu_external_ldfwd_disable), - .dec_tlu_wb_coalescing_disable(dec_tlu_wb_coalescing_disable), - .dec_tlu_sideeffect_posted_disable(dec_tlu_sideeffect_posted_disable), - .lsu_bus_obuf_c1_clken(lsu_bus_obuf_c1_clken), - .lsu_busm_clken(lsu_busm_clken), - .lsu_c1_r_clk(lsu_c1_r_clk), - .lsu_c2_r_clk(lsu_c2_r_clk), - .lsu_bus_ibuf_c1_clk(lsu_bus_ibuf_c1_clk), - .lsu_bus_obuf_c1_clk(lsu_bus_obuf_c1_clk), - .lsu_bus_buf_c1_clk(lsu_bus_buf_c1_clk), - .lsu_free_c2_clk(lsu_free_c2_clk), - .active_clk(active_clk), - .lsu_busm_clk(lsu_busm_clk), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .lsu_busreq_m(lsu_busreq_m), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_r(lsu_pkt_r), - .dec_tlu_force_halt(dec_tlu_force_halt), - .lsu_commit_r(lsu_commit_r), - .is_sideeffects_m(is_sideeffects_m), - .flush_m_up(flush_m_up), - .flush_r(flush_r), - .ldst_dual_d(ldst_dual_d), - .ldst_dual_m(ldst_dual_m), - .ldst_dual_r(ldst_dual_r), - .lsu_busreq_r(lsu_busreq_r), - .lsu_bus_buffer_pend_any(lsu_bus_buffer_pend_any), - .lsu_bus_buffer_full_any(lsu_bus_buffer_full_any), - .lsu_bus_buffer_empty_any(lsu_bus_buffer_empty_any), - .bus_read_data_m(bus_read_data_m), - .lsu_imprecise_error_load_any(lsu_imprecise_error_load_any), - .lsu_imprecise_error_store_any(lsu_imprecise_error_store_any), - .lsu_imprecise_error_addr_any(lsu_imprecise_error_addr_any), - .lsu_nonblock_load_valid_m(lsu_nonblock_load_valid_m), - .lsu_nonblock_load_tag_m(lsu_nonblock_load_tag_m), - .lsu_nonblock_load_inv_r(lsu_nonblock_load_inv_r), - .lsu_nonblock_load_inv_tag_r(lsu_nonblock_load_inv_tag_r), - .lsu_nonblock_load_data_valid(lsu_nonblock_load_data_valid), - .lsu_nonblock_load_data_error(lsu_nonblock_load_data_error), - .lsu_nonblock_load_data_tag(lsu_nonblock_load_data_tag), - .lsu_nonblock_load_data(lsu_nonblock_load_data), - .lsu_pmu_bus_trxn(lsu_pmu_bus_trxn), - .lsu_pmu_bus_misaligned(lsu_pmu_bus_misaligned), - .lsu_pmu_bus_error(lsu_pmu_bus_error), - .lsu_pmu_bus_busy(lsu_pmu_bus_busy), - .lsu_axi_awvalid(lsu_axi_awvalid), - .lsu_axi_awready(lsu_axi_awready), - .lsu_axi_awid(lsu_axi_awid), - .lsu_axi_awaddr(lsu_axi_awaddr), - .lsu_axi_awregion(lsu_axi_awregion), - .lsu_axi_awlen(lsu_axi_awlen), - .lsu_axi_awsize(lsu_axi_awsize), - .lsu_axi_awburst(lsu_axi_awburst), - .lsu_axi_awlock(lsu_axi_awlock), - .lsu_axi_awcache(lsu_axi_awcache), - .lsu_axi_awprot(lsu_axi_awprot), - .lsu_axi_awqos(lsu_axi_awqos), - .lsu_axi_wvalid(lsu_axi_wvalid), - .lsu_axi_wready(lsu_axi_wready), - .lsu_axi_wdata(lsu_axi_wdata), - .lsu_axi_wstrb(lsu_axi_wstrb), - .lsu_axi_wlast(lsu_axi_wlast), - .lsu_axi_bvalid(lsu_axi_bvalid), - .lsu_axi_bready(lsu_axi_bready), - .lsu_axi_bresp(lsu_axi_bresp), - .lsu_axi_bid(lsu_axi_bid), - .lsu_axi_arvalid(lsu_axi_arvalid), - .lsu_axi_arready(lsu_axi_arready), - .lsu_axi_arid(lsu_axi_arid), - .lsu_axi_araddr(lsu_axi_araddr), - .lsu_axi_arregion(lsu_axi_arregion), - .lsu_axi_arlen(lsu_axi_arlen), - .lsu_axi_arsize(lsu_axi_arsize), - .lsu_axi_arburst(lsu_axi_arburst), - .lsu_axi_arlock(lsu_axi_arlock), - .lsu_axi_arcache(lsu_axi_arcache), - .lsu_axi_arprot(lsu_axi_arprot), - .lsu_axi_arqos(lsu_axi_arqos), - .lsu_axi_rvalid(lsu_axi_rvalid), - .lsu_axi_rready(lsu_axi_rready), - .lsu_axi_rid(lsu_axi_rid), - .lsu_axi_rdata(lsu_axi_rdata), - .lsu_axi_rresp(lsu_axi_rresp), - .lsu_bus_clk_en(lsu_bus_clk_en) - ); - rvdff #(.WIDTH(3)) dma_mem_tag_mff( - .rst_l(rst_l), - .din(dma_mem_tag_d[2:0]), - .dout(dma_mem_tag_m[2:0]), - .clk(lsu_c1_m_clk) - ); - rvdff #(.WIDTH(2)) lsu_raw_fwd_r_ff( - .rst_l(rst_l), - .din({lsu_raw_fwd_hi_m, lsu_raw_fwd_lo_m}), - .dout({lsu_raw_fwd_hi_r, lsu_raw_fwd_lo_r}), - .clk(lsu_c2_r_clk) - ); -endmodule -module eb1_lsu_addrcheck ( - lsu_c2_m_clk, - rst_l, - start_addr_d, - end_addr_d, - lsu_pkt_d, - dec_tlu_mrac_ff, - rs1_region_d, - rs1_d, - is_sideeffects_m, - addr_in_dccm_d, - addr_in_pic_d, - addr_external_d, - access_fault_d, - misaligned_fault_d, - exc_mscause_d, - fir_dccm_access_error_d, - fir_nondccm_access_error_d, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire lsu_c2_m_clk; - input wire rst_l; - input wire [31:0] start_addr_d; - input wire [31:0] end_addr_d; - input wire [13:0] lsu_pkt_d; - input wire [31:0] dec_tlu_mrac_ff; - input wire [3:0] rs1_region_d; - input wire [31:0] rs1_d; - output wire is_sideeffects_m; - output wire addr_in_dccm_d; - output wire addr_in_pic_d; - output wire addr_external_d; - output wire access_fault_d; - output wire misaligned_fault_d; - output wire [3:0] exc_mscause_d; - output wire fir_dccm_access_error_d; - output wire fir_nondccm_access_error_d; - input wire scan_mode; - wire non_dccm_access_ok; - wire is_sideeffects_d; - wire is_aligned_d; - wire start_addr_in_dccm_d; - wire end_addr_in_dccm_d; - wire start_addr_in_dccm_region_d; - wire end_addr_in_dccm_region_d; - wire start_addr_in_pic_d; - wire end_addr_in_pic_d; - wire start_addr_in_pic_region_d; - wire end_addr_in_pic_region_d; - wire [4:0] csr_idx; - wire addr_in_iccm; - wire start_addr_dccm_or_pic; - wire base_reg_dccm_or_pic; - wire unmapped_access_fault_d; - wire mpu_access_fault_d; - wire picm_access_fault_d; - wire regpred_access_fault_d; - wire regcross_misaligned_fault_d; - wire sideeffect_misaligned_fault_d; - wire [3:0] access_fault_mscause_d; - wire [3:0] misaligned_fault_mscause_d; - generate - if (pt[1365-:5] == 1) begin : Gen_dccm_enable - rvrangecheck #( - .CCM_SADR(pt[1325-:36]), - .CCM_SIZE(pt[1289-:14]) - ) start_addr_dccm_rangecheck( - .addr(start_addr_d[31:0]), - .in_range(start_addr_in_dccm_d), - .in_region(start_addr_in_dccm_region_d) - ); - rvrangecheck #( - .CCM_SADR(pt[1325-:36]), - .CCM_SIZE(pt[1289-:14]) - ) end_addr_dccm_rangecheck( - .addr(end_addr_d[31:0]), - .in_range(end_addr_in_dccm_d), - .in_region(end_addr_in_dccm_region_d) - ); - end - else begin : Gen_dccm_disable - assign start_addr_in_dccm_d = 1'b0; - assign start_addr_in_dccm_region_d = 1'b0; - assign end_addr_in_dccm_d = 1'b0; - assign end_addr_in_dccm_region_d = 1'b0; - end - endgenerate - generate - if (pt[927-:5] == 1) begin : check_iccm - assign addr_in_iccm = start_addr_d[31:28] == pt[895-:8]; - end - else assign addr_in_iccm = 1'b0; - endgenerate - rvrangecheck #( - .CCM_SADR(pt[130-:36]), - .CCM_SIZE(pt[69-:13]) - ) start_addr_pic_rangecheck( - .addr(start_addr_d[31:0]), - .in_range(start_addr_in_pic_d), - .in_region(start_addr_in_pic_region_d) - ); - rvrangecheck #( - .CCM_SADR(pt[130-:36]), - .CCM_SIZE(pt[69-:13]) - ) end_addr_pic_rangecheck( - .addr(end_addr_d[31:0]), - .in_range(end_addr_in_pic_d), - .in_region(end_addr_in_pic_region_d) - ); - assign start_addr_dccm_or_pic = start_addr_in_dccm_region_d | start_addr_in_pic_region_d; - assign base_reg_dccm_or_pic = ((rs1_region_d[3:0] == pt[1333-:8]) & pt[1365-:5]) | (rs1_region_d[3:0] == pt[77-:8]); - assign addr_in_dccm_d = start_addr_in_dccm_d & end_addr_in_dccm_d; - assign addr_in_pic_d = start_addr_in_pic_d & end_addr_in_pic_d; - assign addr_external_d = ~(start_addr_in_dccm_region_d | start_addr_in_pic_region_d); - assign csr_idx[4:0] = {start_addr_d[31:28], 1'b1}; - assign is_sideeffects_d = ((dec_tlu_mrac_ff[csr_idx] & ~((start_addr_in_dccm_region_d | start_addr_in_pic_region_d) | addr_in_iccm)) & lsu_pkt_d[0]) & (lsu_pkt_d[6] | lsu_pkt_d[7]); - assign is_aligned_d = ((lsu_pkt_d[9] & (start_addr_d[1:0] == 2'b00)) | (lsu_pkt_d[10] & (start_addr_d[0] == 1'b0))) | lsu_pkt_d[11]; - assign non_dccm_access_ok = ~(|{pt[1733-:5], pt[1728-:5], pt[1723-:5], pt[1718-:5], pt[1713-:5], pt[1708-:5], pt[1703-:5], pt[1698-:5]}) | (((((((((pt[1733-:5] & ((start_addr_d[31:0] | pt[1693-:36]) == (pt[2021-:36] | pt[1693-:36]))) | (pt[1728-:5] & ((start_addr_d[31:0] | pt[1657-:36]) == (pt[1985-:36] | pt[1657-:36])))) | (pt[1723-:5] & ((start_addr_d[31:0] | pt[1621-:36]) == (pt[1949-:36] | pt[1621-:36])))) | (pt[1718-:5] & ((start_addr_d[31:0] | pt[1585-:36]) == (pt[1913-:36] | pt[1585-:36])))) | (pt[1713-:5] & ((start_addr_d[31:0] | pt[1549-:36]) == (pt[1877-:36] | pt[1549-:36])))) | (pt[1708-:5] & ((start_addr_d[31:0] | pt[1513-:36]) == (pt[1841-:36] | pt[1513-:36])))) | (pt[1703-:5] & ((start_addr_d[31:0] | pt[1477-:36]) == (pt[1805-:36] | pt[1477-:36])))) | (pt[1698-:5] & ((start_addr_d[31:0] | pt[1441-:36]) == (pt[1769-:36] | pt[1441-:36])))) & ((((((((pt[1733-:5] & ((end_addr_d[31:0] | pt[1693-:36]) == (pt[2021-:36] | pt[1693-:36]))) | (pt[1728-:5] & ((end_addr_d[31:0] | pt[1657-:36]) == (pt[1985-:36] | pt[1657-:36])))) | (pt[1723-:5] & ((end_addr_d[31:0] | pt[1621-:36]) == (pt[1949-:36] | pt[1621-:36])))) | (pt[1718-:5] & ((end_addr_d[31:0] | pt[1585-:36]) == (pt[1913-:36] | pt[1585-:36])))) | (pt[1713-:5] & ((end_addr_d[31:0] | pt[1549-:36]) == (pt[1877-:36] | pt[1549-:36])))) | (pt[1708-:5] & ((end_addr_d[31:0] | pt[1513-:36]) == (pt[1841-:36] | pt[1513-:36])))) | (pt[1703-:5] & ((end_addr_d[31:0] | pt[1477-:36]) == (pt[1805-:36] | pt[1477-:36])))) | (pt[1698-:5] & ((end_addr_d[31:0] | pt[1441-:36]) == (pt[1769-:36] | pt[1441-:36]))))); - assign regpred_access_fault_d = start_addr_dccm_or_pic ^ base_reg_dccm_or_pic; - assign picm_access_fault_d = addr_in_pic_d & ((start_addr_d[1:0] != 2'b00) | ~lsu_pkt_d[9]); - generate - if (pt[1365-:5] & (pt[1333-:8] == pt[77-:8])) begin - assign unmapped_access_fault_d = (((start_addr_in_dccm_region_d & ~(start_addr_in_dccm_d | start_addr_in_pic_d)) | (end_addr_in_dccm_region_d & ~(end_addr_in_dccm_d | end_addr_in_pic_d))) | (start_addr_in_dccm_d & end_addr_in_pic_d)) | (start_addr_in_pic_d & end_addr_in_dccm_d); - assign mpu_access_fault_d = ~start_addr_in_dccm_region_d & ~non_dccm_access_ok; - end - else begin - assign unmapped_access_fault_d = (((start_addr_in_dccm_region_d & ~start_addr_in_dccm_d) | (end_addr_in_dccm_region_d & ~end_addr_in_dccm_d)) | (start_addr_in_pic_region_d & ~start_addr_in_pic_d)) | (end_addr_in_pic_region_d & ~end_addr_in_pic_d); - assign mpu_access_fault_d = (~start_addr_in_pic_region_d & ~start_addr_in_dccm_region_d) & ~non_dccm_access_ok; - end - endgenerate - assign access_fault_d = ((((unmapped_access_fault_d | mpu_access_fault_d) | picm_access_fault_d) | regpred_access_fault_d) & lsu_pkt_d[0]) & ~lsu_pkt_d[4]; - assign access_fault_mscause_d[3:0] = (unmapped_access_fault_d ? 4'h2 : (mpu_access_fault_d ? 4'h3 : (regpred_access_fault_d ? 4'h5 : (picm_access_fault_d ? 4'h6 : 4'h0)))); - assign regcross_misaligned_fault_d = start_addr_d[31:28] != end_addr_d[31:28]; - assign sideeffect_misaligned_fault_d = is_sideeffects_d & ~is_aligned_d; - assign misaligned_fault_d = ((regcross_misaligned_fault_d | (sideeffect_misaligned_fault_d & addr_external_d)) & lsu_pkt_d[0]) & ~lsu_pkt_d[4]; - assign misaligned_fault_mscause_d[3:0] = (regcross_misaligned_fault_d ? 4'h2 : (sideeffect_misaligned_fault_d ? 4'h1 : 4'h0)); - assign exc_mscause_d[3:0] = (misaligned_fault_d ? misaligned_fault_mscause_d[3:0] : access_fault_mscause_d[3:0]); - assign fir_dccm_access_error_d = (((start_addr_in_dccm_region_d & ~start_addr_in_dccm_d) | (end_addr_in_dccm_region_d & ~end_addr_in_dccm_d)) & lsu_pkt_d[0]) & lsu_pkt_d[13]; - assign fir_nondccm_access_error_d = (~(start_addr_in_dccm_region_d & end_addr_in_dccm_region_d) & lsu_pkt_d[0]) & lsu_pkt_d[13]; - rvdff #(.WIDTH(1)) is_sideeffects_mff( - .din(is_sideeffects_d), - .dout(is_sideeffects_m), - .clk(lsu_c2_m_clk), - .rst_l(rst_l) - ); -endmodule -module eb1_lsu_bus_buffer ( - clk, - clk_override, - rst_l, - scan_mode, - dec_tlu_external_ldfwd_disable, - dec_tlu_wb_coalescing_disable, - dec_tlu_sideeffect_posted_disable, - dec_tlu_force_halt, - lsu_bus_obuf_c1_clken, - lsu_busm_clken, - lsu_c2_r_clk, - lsu_bus_ibuf_c1_clk, - lsu_bus_obuf_c1_clk, - lsu_bus_buf_c1_clk, - lsu_free_c2_clk, - lsu_busm_clk, - dec_lsu_valid_raw_d, - lsu_pkt_m, - lsu_pkt_r, - lsu_addr_m, - end_addr_m, - lsu_addr_r, - end_addr_r, - store_data_r, - no_word_merge_r, - no_dword_merge_r, - lsu_busreq_m, - lsu_busreq_r, - ld_full_hit_m, - flush_m_up, - flush_r, - lsu_commit_r, - is_sideeffects_r, - ldst_dual_d, - ldst_dual_m, - ldst_dual_r, - ldst_byteen_ext_m, - lsu_bus_buffer_pend_any, - lsu_bus_buffer_full_any, - lsu_bus_buffer_empty_any, - ld_byte_hit_buf_lo, - ld_byte_hit_buf_hi, - ld_fwddata_buf_lo, - ld_fwddata_buf_hi, - lsu_imprecise_error_load_any, - lsu_imprecise_error_store_any, - lsu_imprecise_error_addr_any, - lsu_nonblock_load_valid_m, - lsu_nonblock_load_tag_m, - lsu_nonblock_load_inv_r, - lsu_nonblock_load_inv_tag_r, - lsu_nonblock_load_data_valid, - lsu_nonblock_load_data_error, - lsu_nonblock_load_data_tag, - lsu_nonblock_load_data, - lsu_pmu_bus_trxn, - lsu_pmu_bus_misaligned, - lsu_pmu_bus_error, - lsu_pmu_bus_busy, - lsu_axi_awvalid, - lsu_axi_awready, - lsu_axi_awid, - lsu_axi_awaddr, - lsu_axi_awregion, - lsu_axi_awlen, - lsu_axi_awsize, - lsu_axi_awburst, - lsu_axi_awlock, - lsu_axi_awcache, - lsu_axi_awprot, - lsu_axi_awqos, - lsu_axi_wvalid, - lsu_axi_wready, - lsu_axi_wdata, - lsu_axi_wstrb, - lsu_axi_wlast, - lsu_axi_bvalid, - lsu_axi_bready, - lsu_axi_bresp, - lsu_axi_bid, - lsu_axi_arvalid, - lsu_axi_arready, - lsu_axi_arid, - lsu_axi_araddr, - lsu_axi_arregion, - lsu_axi_arlen, - lsu_axi_arsize, - lsu_axi_arburst, - lsu_axi_arlock, - lsu_axi_arcache, - lsu_axi_arprot, - lsu_axi_arqos, - lsu_axi_rvalid, - lsu_axi_rready, - lsu_axi_rid, - lsu_axi_rdata, - lsu_axi_rresp, - lsu_bus_clk_en, - lsu_bus_clk_en_q -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire clk_override; - input wire rst_l; - input wire scan_mode; - input wire dec_tlu_external_ldfwd_disable; - input wire dec_tlu_wb_coalescing_disable; - input wire dec_tlu_sideeffect_posted_disable; - input wire dec_tlu_force_halt; - input wire lsu_bus_obuf_c1_clken; - input wire lsu_busm_clken; - input wire lsu_c2_r_clk; - input wire lsu_bus_ibuf_c1_clk; - input wire lsu_bus_obuf_c1_clk; - input wire lsu_bus_buf_c1_clk; - input wire lsu_free_c2_clk; - input wire lsu_busm_clk; - input wire dec_lsu_valid_raw_d; - input wire [13:0] lsu_pkt_m; - input wire [13:0] lsu_pkt_r; - input wire [31:0] lsu_addr_m; - input wire [31:0] end_addr_m; - input wire [31:0] lsu_addr_r; - input wire [31:0] end_addr_r; - input wire [31:0] store_data_r; - input wire no_word_merge_r; - input wire no_dword_merge_r; - input wire lsu_busreq_m; - output wire lsu_busreq_r; - input wire ld_full_hit_m; - input wire flush_m_up; - input wire flush_r; - input wire lsu_commit_r; - input wire is_sideeffects_r; - input wire ldst_dual_d; - input wire ldst_dual_m; - input wire ldst_dual_r; - input wire [7:0] ldst_byteen_ext_m; - output wire lsu_bus_buffer_pend_any; - output wire lsu_bus_buffer_full_any; - output wire lsu_bus_buffer_empty_any; - output wire [3:0] ld_byte_hit_buf_lo; - output wire [3:0] ld_byte_hit_buf_hi; - output reg [31:0] ld_fwddata_buf_lo; - output reg [31:0] ld_fwddata_buf_hi; - output wire lsu_imprecise_error_load_any; - output reg lsu_imprecise_error_store_any; - output wire [31:0] lsu_imprecise_error_addr_any; - output wire lsu_nonblock_load_valid_m; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_tag_m; - output wire lsu_nonblock_load_inv_r; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_inv_tag_r; - output wire lsu_nonblock_load_data_valid; - output reg lsu_nonblock_load_data_error; - output reg [pt[164-:7] - 1:0] lsu_nonblock_load_data_tag; - output wire [31:0] lsu_nonblock_load_data; - output wire lsu_pmu_bus_trxn; - output wire lsu_pmu_bus_misaligned; - output wire lsu_pmu_bus_error; - output wire lsu_pmu_bus_busy; - output wire lsu_axi_awvalid; - input wire lsu_axi_awready; - output wire [pt[181-:8] - 1:0] lsu_axi_awid; - output wire [31:0] lsu_axi_awaddr; - output wire [3:0] lsu_axi_awregion; - output wire [7:0] lsu_axi_awlen; - output wire [2:0] lsu_axi_awsize; - output wire [1:0] lsu_axi_awburst; - output wire lsu_axi_awlock; - output wire [3:0] lsu_axi_awcache; - output wire [2:0] lsu_axi_awprot; - output wire [3:0] lsu_axi_awqos; - output wire lsu_axi_wvalid; - input wire lsu_axi_wready; - output wire [63:0] lsu_axi_wdata; - output wire [7:0] lsu_axi_wstrb; - output wire lsu_axi_wlast; - input wire lsu_axi_bvalid; - output wire lsu_axi_bready; - input wire [1:0] lsu_axi_bresp; - input wire [pt[181-:8] - 1:0] lsu_axi_bid; - output wire lsu_axi_arvalid; - input wire lsu_axi_arready; - output wire [pt[181-:8] - 1:0] lsu_axi_arid; - output wire [31:0] lsu_axi_araddr; - output wire [3:0] lsu_axi_arregion; - output wire [7:0] lsu_axi_arlen; - output wire [2:0] lsu_axi_arsize; - output wire [1:0] lsu_axi_arburst; - output wire lsu_axi_arlock; - output wire [3:0] lsu_axi_arcache; - output wire [2:0] lsu_axi_arprot; - output wire [3:0] lsu_axi_arqos; - input wire lsu_axi_rvalid; - output wire lsu_axi_rready; - input wire [pt[181-:8] - 1:0] lsu_axi_rid; - input wire [63:0] lsu_axi_rdata; - input wire [1:0] lsu_axi_rresp; - input wire lsu_bus_clk_en; - input wire lsu_bus_clk_en_q; - localparam DEPTH = pt[173-:9]; - localparam DEPTH_LOG2 = pt[164-:7]; - localparam TIMER = 8; - localparam TIMER_MAX = 7; - localparam TIMER_LOG2 = 3; - wire [3:0] ldst_byteen_hi_m; - wire [3:0] ldst_byteen_lo_m; - wire [DEPTH - 1:0] ld_addr_hitvec_lo; - wire [DEPTH - 1:0] ld_addr_hitvec_hi; - wire [(4 * DEPTH) - 1:0] ld_byte_hitvec_lo; - wire [(4 * DEPTH) - 1:0] ld_byte_hitvec_hi; - wire [(4 * DEPTH) - 1:0] ld_byte_hitvecfn_lo; - wire [(4 * DEPTH) - 1:0] ld_byte_hitvecfn_hi; - wire ld_addr_ibuf_hit_lo; - wire ld_addr_ibuf_hit_hi; - wire [3:0] ld_byte_ibuf_hit_lo; - wire [3:0] ld_byte_ibuf_hit_hi; - wire [3:0] ldst_byteen_r; - wire [3:0] ldst_byteen_hi_r; - wire [3:0] ldst_byteen_lo_r; - wire [31:0] store_data_hi_r; - wire [31:0] store_data_lo_r; - wire is_aligned_r; - wire ldst_samedw_r; - wire lsu_nonblock_load_valid_r; - reg [31:0] lsu_nonblock_load_data_hi; - reg [31:0] lsu_nonblock_load_data_lo; - wire [31:0] lsu_nonblock_data_unalgn; - wire [1:0] lsu_nonblock_addr_offset; - wire [1:0] lsu_nonblock_sz; - wire lsu_nonblock_unsign; - reg lsu_nonblock_load_data_ready; - wire [DEPTH - 1:0] CmdPtr0Dec; - wire [DEPTH - 1:0] CmdPtr1Dec; - wire [DEPTH - 1:0] RspPtrDec; - wire [DEPTH_LOG2 - 1:0] CmdPtr0; - wire [DEPTH_LOG2 - 1:0] CmdPtr1; - wire [DEPTH_LOG2 - 1:0] RspPtr; - reg [DEPTH_LOG2 - 1:0] WrPtr0_m; - wire [DEPTH_LOG2 - 1:0] WrPtr0_r; - reg [DEPTH_LOG2 - 1:0] WrPtr1_m; - wire [DEPTH_LOG2 - 1:0] WrPtr1_r; - reg found_wrptr0; - reg found_wrptr1; - wire found_cmdptr0; - wire found_cmdptr1; - reg [3:0] buf_numvld_any; - reg [3:0] buf_numvld_wrcmd_any; - reg [3:0] buf_numvld_cmd_any; - reg [3:0] buf_numvld_pend_any; - reg any_done_wait_state; - reg bus_sideeffect_pend; - wire bus_coalescing_disable; - reg bus_addr_match_pending; - wire bus_cmd_sent; - wire bus_cmd_ready; - wire bus_wcmd_sent; - wire bus_wdata_sent; - wire bus_rsp_read; - wire bus_rsp_write; - wire [pt[181-:8] - 1:0] bus_rsp_read_tag; - wire [pt[181-:8] - 1:0] bus_rsp_write_tag; - wire bus_rsp_read_error; - wire bus_rsp_write_error; - wire [63:0] bus_rsp_rdata; - wire [(DEPTH * 3) - 1:0] buf_state; - wire [(DEPTH * 2) - 1:0] buf_sz; - wire [(DEPTH * 32) - 1:0] buf_addr; - wire [(DEPTH * 4) - 1:0] buf_byteen; - wire [DEPTH - 1:0] buf_sideeffect; - wire [DEPTH - 1:0] buf_write; - wire [DEPTH - 1:0] buf_unsign; - wire [DEPTH - 1:0] buf_dual; - wire [DEPTH - 1:0] buf_samedw; - wire [DEPTH - 1:0] buf_nomerge; - wire [DEPTH - 1:0] buf_dualhi; - wire [(DEPTH * DEPTH_LOG2) - 1:0] buf_dualtag; - wire [DEPTH - 1:0] buf_ldfwd; - wire [(DEPTH * DEPTH_LOG2) - 1:0] buf_ldfwdtag; - wire [DEPTH - 1:0] buf_error; - wire [(DEPTH * 32) - 1:0] buf_data; - wire [(DEPTH * DEPTH) - 1:0] buf_age; - wire [(DEPTH * DEPTH) - 1:0] buf_age_younger; - wire [(DEPTH * DEPTH) - 1:0] buf_rspage; - wire [(DEPTH * DEPTH) - 1:0] buf_rsp_pickage; - reg [(DEPTH * 3) - 1:0] buf_nxtstate; - reg [DEPTH - 1:0] buf_rst; - reg [DEPTH - 1:0] buf_state_en; - reg [DEPTH - 1:0] buf_cmd_state_bus_en; - reg [DEPTH - 1:0] buf_resp_state_bus_en; - reg [DEPTH - 1:0] buf_state_bus_en; - wire [DEPTH - 1:0] buf_dual_in; - wire [DEPTH - 1:0] buf_samedw_in; - wire [DEPTH - 1:0] buf_nomerge_in; - wire [DEPTH - 1:0] buf_sideeffect_in; - wire [DEPTH - 1:0] buf_unsign_in; - wire [(DEPTH * 2) - 1:0] buf_sz_in; - wire [DEPTH - 1:0] buf_write_in; - reg [DEPTH - 1:0] buf_wr_en; - wire [DEPTH - 1:0] buf_dualhi_in; - wire [(DEPTH * DEPTH_LOG2) - 1:0] buf_dualtag_in; - reg [DEPTH - 1:0] buf_ldfwd_en; - reg [DEPTH - 1:0] buf_ldfwd_in; - reg [(DEPTH * DEPTH_LOG2) - 1:0] buf_ldfwdtag_in; - wire [(DEPTH * 4) - 1:0] buf_byteen_in; - wire [(DEPTH * 32) - 1:0] buf_addr_in; - reg [(DEPTH * 32) - 1:0] buf_data_in; - reg [DEPTH - 1:0] buf_error_en; - reg [DEPTH - 1:0] buf_data_en; - wire [(DEPTH * DEPTH) - 1:0] buf_age_in; - wire [(DEPTH * DEPTH) - 1:0] buf_ageQ; - wire [(DEPTH * DEPTH) - 1:0] buf_rspage_set; - wire [(DEPTH * DEPTH) - 1:0] buf_rspage_in; - wire [(DEPTH * DEPTH) - 1:0] buf_rspageQ; - wire ibuf_valid; - wire ibuf_dual; - wire ibuf_samedw; - wire ibuf_nomerge; - wire [DEPTH_LOG2 - 1:0] ibuf_tag; - wire [DEPTH_LOG2 - 1:0] ibuf_dualtag; - wire ibuf_sideeffect; - wire ibuf_unsign; - wire ibuf_write; - wire [1:0] ibuf_sz; - wire [3:0] ibuf_byteen; - wire [31:0] ibuf_addr; - wire [31:0] ibuf_data; - wire [2:0] ibuf_timer; - wire ibuf_byp; - wire ibuf_wr_en; - wire ibuf_rst; - wire ibuf_force_drain; - wire ibuf_drain_vld; - wire [DEPTH - 1:0] ibuf_drainvec_vld; - wire [DEPTH_LOG2 - 1:0] ibuf_tag_in; - wire [DEPTH_LOG2 - 1:0] ibuf_dualtag_in; - wire [1:0] ibuf_sz_in; - wire [31:0] ibuf_addr_in; - wire [3:0] ibuf_byteen_in; - wire [31:0] ibuf_data_in; - wire [2:0] ibuf_timer_in; - wire [3:0] ibuf_byteen_out; - wire [31:0] ibuf_data_out; - wire ibuf_merge_en; - wire ibuf_merge_in; - wire obuf_valid; - wire obuf_write; - wire obuf_nosend; - wire obuf_rdrsp_pend; - wire obuf_sideeffect; - wire [31:0] obuf_addr; - wire [63:0] obuf_data; - wire [1:0] obuf_sz; - wire [7:0] obuf_byteen; - wire obuf_merge; - wire obuf_cmd_done; - wire obuf_data_done; - wire [pt[181-:8] - 1:0] obuf_tag0; - wire [pt[181-:8] - 1:0] obuf_tag1; - wire [pt[181-:8] - 1:0] obuf_rdrsp_tag; - wire ibuf_buf_byp; - wire obuf_force_wr_en; - wire obuf_wr_wait; - wire obuf_wr_en; - wire obuf_wr_enQ; - wire obuf_rst; - wire obuf_write_in; - wire obuf_nosend_in; - wire obuf_rdrsp_pend_en; - wire obuf_rdrsp_pend_in; - wire obuf_sideeffect_in; - wire obuf_aligned_in; - wire [31:0] obuf_addr_in; - wire [63:0] obuf_data_in; - wire [1:0] obuf_sz_in; - wire [7:0] obuf_byteen_in; - wire obuf_merge_in; - wire obuf_cmd_done_in; - wire obuf_data_done_in; - wire [pt[181-:8] - 1:0] obuf_tag0_in; - wire [pt[181-:8] - 1:0] obuf_tag1_in; - wire [pt[181-:8] - 1:0] obuf_rdrsp_tag_in; - wire obuf_merge_en; - wire [2:0] obuf_wr_timer; - wire [2:0] obuf_wr_timer_in; - wire [7:0] obuf_byteen0_in; - wire [7:0] obuf_byteen1_in; - wire [63:0] obuf_data0_in; - wire [63:0] obuf_data1_in; - wire lsu_axi_awvalid_q; - wire lsu_axi_awready_q; - wire lsu_axi_wvalid_q; - wire lsu_axi_wready_q; - wire lsu_axi_arvalid_q; - wire lsu_axi_arready_q; - wire lsu_axi_bvalid_q; - wire lsu_axi_bready_q; - wire lsu_axi_rvalid_q; - wire lsu_axi_rready_q; - wire [pt[181-:8] - 1:0] lsu_axi_bid_q; - wire [pt[181-:8] - 1:0] lsu_axi_rid_q; - wire [1:0] lsu_axi_bresp_q; - wire [1:0] lsu_axi_rresp_q; - reg [pt[181-:8] - 1:0] lsu_imprecise_error_store_tag; - wire [63:0] lsu_axi_rdata_q; - function automatic [2:0] f_Enc8to3; - input reg [7:0] Dec_value; - reg [2:0] Enc_value; - begin - Enc_value[0] = ((Dec_value[1] | Dec_value[3]) | Dec_value[5]) | Dec_value[7]; - Enc_value[1] = ((Dec_value[2] | Dec_value[3]) | Dec_value[6]) | Dec_value[7]; - Enc_value[2] = ((Dec_value[4] | Dec_value[5]) | Dec_value[6]) | Dec_value[7]; - f_Enc8to3 = Enc_value[2:0]; - end - endfunction - assign ldst_byteen_hi_m[3:0] = ldst_byteen_ext_m[7:4]; - assign ldst_byteen_lo_m[3:0] = ldst_byteen_ext_m[3:0]; - localparam [2:0] IDLE = 3'b000; - generate - genvar i; - for (i = 0; i < DEPTH; i = i + 1) begin - assign ld_addr_hitvec_lo[i] = (((lsu_addr_m[31:2] == buf_addr[(i * 32) + 31-:30]) & buf_write[i]) & (buf_state[i * 3+:3] != IDLE)) & lsu_busreq_m; - assign ld_addr_hitvec_hi[i] = (((end_addr_m[31:2] == buf_addr[(i * 32) + 31-:30]) & buf_write[i]) & (buf_state[i * 3+:3] != IDLE)) & lsu_busreq_m; - end - endgenerate - generate - genvar j; - for (j = 0; j < 4; j = j + 1) begin - assign ld_byte_hit_buf_lo[j] = |ld_byte_hitvecfn_lo[j * DEPTH+:DEPTH] | ld_byte_ibuf_hit_lo[j]; - assign ld_byte_hit_buf_hi[j] = |ld_byte_hitvecfn_hi[j * DEPTH+:DEPTH] | ld_byte_ibuf_hit_hi[j]; - for (i = 0; i < DEPTH; i = i + 1) begin - assign ld_byte_hitvec_lo[(j * DEPTH) + i] = (ld_addr_hitvec_lo[i] & buf_byteen[(i * 4) + j]) & ldst_byteen_lo_m[j]; - assign ld_byte_hitvec_hi[(j * DEPTH) + i] = (ld_addr_hitvec_hi[i] & buf_byteen[(i * 4) + j]) & ldst_byteen_hi_m[j]; - assign ld_byte_hitvecfn_lo[(j * DEPTH) + i] = (ld_byte_hitvec_lo[(j * DEPTH) + i] & ~(|(ld_byte_hitvec_lo[j * DEPTH+:DEPTH] & buf_age_younger[i * DEPTH+:DEPTH]))) & ~ld_byte_ibuf_hit_lo[j]; - assign ld_byte_hitvecfn_hi[(j * DEPTH) + i] = (ld_byte_hitvec_hi[(j * DEPTH) + i] & ~(|(ld_byte_hitvec_hi[j * DEPTH+:DEPTH] & buf_age_younger[i * DEPTH+:DEPTH]))) & ~ld_byte_ibuf_hit_hi[j]; - end - end - endgenerate - assign ld_addr_ibuf_hit_lo = (((lsu_addr_m[31:2] == ibuf_addr[31:2]) & ibuf_write) & ibuf_valid) & lsu_busreq_m; - assign ld_addr_ibuf_hit_hi = (((end_addr_m[31:2] == ibuf_addr[31:2]) & ibuf_write) & ibuf_valid) & lsu_busreq_m; - generate - for (i = 0; i < 4; i = i + 1) begin - assign ld_byte_ibuf_hit_lo[i] = (ld_addr_ibuf_hit_lo & ibuf_byteen[i]) & ldst_byteen_lo_m[i]; - assign ld_byte_ibuf_hit_hi[i] = (ld_addr_ibuf_hit_hi & ibuf_byteen[i]) & ldst_byteen_hi_m[i]; - end - endgenerate - always @(*) begin - ld_fwddata_buf_lo[31:0] = {{8 {ld_byte_ibuf_hit_lo[3]}}, {8 {ld_byte_ibuf_hit_lo[2]}}, {8 {ld_byte_ibuf_hit_lo[1]}}, {8 {ld_byte_ibuf_hit_lo[0]}}} & ibuf_data[31:0]; - ld_fwddata_buf_hi[31:0] = {{8 {ld_byte_ibuf_hit_hi[3]}}, {8 {ld_byte_ibuf_hit_hi[2]}}, {8 {ld_byte_ibuf_hit_hi[1]}}, {8 {ld_byte_ibuf_hit_hi[0]}}} & ibuf_data[31:0]; - begin : sv2v_autoblock_50 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - begin - ld_fwddata_buf_lo[7:0] = ld_fwddata_buf_lo[7:0] | ({8 {ld_byte_hitvecfn_lo[i]}} & buf_data[(i * 32) + 7-:8]); - ld_fwddata_buf_lo[15:8] = ld_fwddata_buf_lo[15:8] | ({8 {ld_byte_hitvecfn_lo[DEPTH + i]}} & buf_data[(i * 32) + 15-:8]); - ld_fwddata_buf_lo[23:16] = ld_fwddata_buf_lo[23:16] | ({8 {ld_byte_hitvecfn_lo[(2 * DEPTH) + i]}} & buf_data[(i * 32) + 23-:8]); - ld_fwddata_buf_lo[31:24] = ld_fwddata_buf_lo[31:24] | ({8 {ld_byte_hitvecfn_lo[(3 * DEPTH) + i]}} & buf_data[(i * 32) + 31-:8]); - ld_fwddata_buf_hi[7:0] = ld_fwddata_buf_hi[7:0] | ({8 {ld_byte_hitvecfn_hi[i]}} & buf_data[(i * 32) + 7-:8]); - ld_fwddata_buf_hi[15:8] = ld_fwddata_buf_hi[15:8] | ({8 {ld_byte_hitvecfn_hi[DEPTH + i]}} & buf_data[(i * 32) + 15-:8]); - ld_fwddata_buf_hi[23:16] = ld_fwddata_buf_hi[23:16] | ({8 {ld_byte_hitvecfn_hi[(2 * DEPTH) + i]}} & buf_data[(i * 32) + 23-:8]); - ld_fwddata_buf_hi[31:24] = ld_fwddata_buf_hi[31:24] | ({8 {ld_byte_hitvecfn_hi[(3 * DEPTH) + i]}} & buf_data[(i * 32) + 31-:8]); - end - end - end - assign bus_coalescing_disable = dec_tlu_wb_coalescing_disable | pt[2038]; - assign ldst_byteen_r[3:0] = (({4 {lsu_pkt_r[11]}} & 4'b0001) | ({4 {lsu_pkt_r[10]}} & 4'b0011)) | ({4 {lsu_pkt_r[9]}} & 4'b1111); - assign {ldst_byteen_hi_r[3:0], ldst_byteen_lo_r[3:0]} = {4'b0000, ldst_byteen_r[3:0]} << lsu_addr_r[1:0]; - assign {store_data_hi_r[31:0], store_data_lo_r[31:0]} = {32'b00000000000000000000000000000000, store_data_r[31:0]} << (8 * lsu_addr_r[1:0]); - assign ldst_samedw_r = lsu_addr_r[3] == end_addr_r[3]; - assign is_aligned_r = ((lsu_pkt_r[9] & (lsu_addr_r[1:0] == 2'b00)) | (lsu_pkt_r[10] & (lsu_addr_r[0] == 1'b0))) | lsu_pkt_r[11]; - assign ibuf_byp = (lsu_busreq_r & (lsu_pkt_r[7] | no_word_merge_r)) & ~ibuf_valid; - assign ibuf_wr_en = (lsu_busreq_r & lsu_commit_r) & ~ibuf_byp; - assign ibuf_rst = (ibuf_drain_vld & ~ibuf_wr_en) | dec_tlu_force_halt; - assign ibuf_force_drain = ((lsu_busreq_m & ~lsu_busreq_r) & ibuf_valid) & (lsu_pkt_m[7] | (ibuf_addr[31:2] != lsu_addr_m[31:2])); - assign ibuf_drain_vld = ibuf_valid & (((((((ibuf_wr_en | (ibuf_timer == TIMER_MAX)) & ~(ibuf_merge_en & ibuf_merge_in)) | ibuf_byp) | ibuf_force_drain) | ibuf_sideeffect) | ~ibuf_write) | bus_coalescing_disable); - assign ibuf_tag_in[DEPTH_LOG2 - 1:0] = (ibuf_merge_en & ibuf_merge_in ? ibuf_tag[DEPTH_LOG2 - 1:0] : (ldst_dual_r ? WrPtr1_r : WrPtr0_r)); - assign ibuf_dualtag_in[DEPTH_LOG2 - 1:0] = WrPtr0_r; - assign ibuf_sz_in[1:0] = {lsu_pkt_r[9], lsu_pkt_r[10]}; - assign ibuf_addr_in[31:0] = (ldst_dual_r ? end_addr_r[31:0] : lsu_addr_r[31:0]); - assign ibuf_byteen_in[3:0] = (ibuf_merge_en & ibuf_merge_in ? ibuf_byteen[3:0] | ldst_byteen_lo_r[3:0] : (ldst_dual_r ? ldst_byteen_hi_r[3:0] : ldst_byteen_lo_r[3:0])); - generate - for (i = 0; i < 4; i = i + 1) assign ibuf_data_in[(8 * i) + 7:8 * i] = (ibuf_merge_en & ibuf_merge_in ? (ldst_byteen_lo_r[i] ? store_data_lo_r[(8 * i) + 7:8 * i] : ibuf_data[(8 * i) + 7:8 * i]) : (ldst_dual_r ? store_data_hi_r[(8 * i) + 7:8 * i] : store_data_lo_r[(8 * i) + 7:8 * i])); - endgenerate - assign ibuf_timer_in = (ibuf_wr_en ? {3 {1'sb0}} : (ibuf_timer < TIMER_MAX ? ibuf_timer + 1'b1 : ibuf_timer)); - assign ibuf_merge_en = ((((((lsu_busreq_r & lsu_commit_r) & lsu_pkt_r[6]) & ibuf_valid) & ibuf_write) & (lsu_addr_r[31:2] == ibuf_addr[31:2])) & ~is_sideeffects_r) & ~bus_coalescing_disable; - assign ibuf_merge_in = ~ldst_dual_r; - generate - for (i = 0; i < 4; i = i + 1) begin - assign ibuf_byteen_out[i] = (ibuf_merge_en & ~ibuf_merge_in ? ibuf_byteen[i] | ldst_byteen_lo_r[i] : ibuf_byteen[i]); - assign ibuf_data_out[(8 * i) + 7:8 * i] = (ibuf_merge_en & ~ibuf_merge_in ? (ldst_byteen_lo_r[i] ? store_data_lo_r[(8 * i) + 7:8 * i] : ibuf_data[(8 * i) + 7:8 * i]) : ibuf_data[(8 * i) + 7:8 * i]); - end - endgenerate - rvdffsc #(.WIDTH(1)) ibuf_valid_ff( - .din(1'b1), - .dout(ibuf_valid), - .en(ibuf_wr_en), - .clear(ibuf_rst), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_LOG2)) ibuf_tagff( - .din(ibuf_tag_in), - .dout(ibuf_tag), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_LOG2)) ibuf_dualtagff( - .din(ibuf_dualtag_in), - .dout(ibuf_dualtag), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) ibuf_dualff( - .din(ldst_dual_r), - .dout(ibuf_dual), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) ibuf_samedwff( - .din(ldst_samedw_r), - .dout(ibuf_samedw), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) ibuf_nomergeff( - .din(no_dword_merge_r), - .dout(ibuf_nomerge), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) ibuf_sideeffectff( - .din(is_sideeffects_r), - .dout(ibuf_sideeffect), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) ibuf_unsignff( - .din(lsu_pkt_r[5]), - .dout(ibuf_unsign), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) ibuf_writeff( - .din(lsu_pkt_r[6]), - .dout(ibuf_write), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(2)) ibuf_szff( - .din(ibuf_sz_in[1:0]), - .dout(ibuf_sz), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) ibuf_addrff( - .din(ibuf_addr_in[31:0]), - .dout(ibuf_addr), - .en(ibuf_wr_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs #(.WIDTH(4)) ibuf_byteenff( - .din(ibuf_byteen_in[3:0]), - .dout(ibuf_byteen), - .en(ibuf_wr_en), - .clk(lsu_bus_ibuf_c1_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) ibuf_dataff( - .din(ibuf_data_in[31:0]), - .dout(ibuf_data), - .en(ibuf_wr_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdff #(.WIDTH(TIMER_LOG2)) ibuf_timerff( - .din(ibuf_timer_in), - .dout(ibuf_timer), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - assign obuf_wr_wait = ((((((buf_numvld_wrcmd_any[3:0] == 4'b0001) & (buf_numvld_cmd_any[3:0] == 4'b0001)) & (obuf_wr_timer != TIMER_MAX)) & ~bus_coalescing_disable) & ~buf_nomerge[CmdPtr0]) & ~buf_sideeffect[CmdPtr0]) & ~obuf_force_wr_en; - assign obuf_wr_timer_in = (obuf_wr_en ? 3'b000 : ((buf_numvld_cmd_any > 4'b0000) & (obuf_wr_timer < TIMER_MAX) ? obuf_wr_timer + 1'b1 : obuf_wr_timer)); - assign obuf_force_wr_en = (((lsu_busreq_m & ~lsu_busreq_r) & ~ibuf_valid) & (buf_numvld_cmd_any[3:0] == 4'b0001)) & (lsu_addr_m[31:2] != buf_addr[(CmdPtr0 * 32) + 31-:30]); - assign ibuf_buf_byp = (ibuf_byp & (buf_numvld_pend_any[3:0] == 4'b0000)) & (~lsu_pkt_r[6] | no_dword_merge_r); - localparam [2:0] CMD = 3'b010; - assign obuf_wr_en = ((((((ibuf_buf_byp & lsu_commit_r) & ~(is_sideeffects_r & bus_sideeffect_pend)) | (((((buf_state[CmdPtr0 * 3+:3] == CMD) & found_cmdptr0) & ~buf_cmd_state_bus_en[CmdPtr0]) & ~(buf_sideeffect[CmdPtr0] & bus_sideeffect_pend)) & (((~((buf_dual[CmdPtr0] & buf_samedw[CmdPtr0]) & ~buf_write[CmdPtr0]) | found_cmdptr1) | buf_nomerge[CmdPtr0]) | obuf_force_wr_en))) & ((bus_cmd_ready | ~obuf_valid) | obuf_nosend)) & ~obuf_wr_wait) & ~bus_addr_match_pending) & lsu_bus_clk_en; - assign obuf_rst = (((bus_cmd_sent | (obuf_valid & obuf_nosend)) & ~obuf_wr_en) & lsu_bus_clk_en) | dec_tlu_force_halt; - assign obuf_write_in = (ibuf_buf_byp ? lsu_pkt_r[6] : buf_write[CmdPtr0]); - assign obuf_sideeffect_in = (ibuf_buf_byp ? is_sideeffects_r : buf_sideeffect[CmdPtr0]); - assign obuf_addr_in[31:0] = (ibuf_buf_byp ? lsu_addr_r[31:0] : buf_addr[CmdPtr0 * 32+:32]); - assign obuf_sz_in[1:0] = (ibuf_buf_byp ? {lsu_pkt_r[9], lsu_pkt_r[10]} : buf_sz[CmdPtr0 * 2+:2]); - assign obuf_merge_in = obuf_merge_en; - function automatic [pt[181-:8] - 1:0] sv2v_cast_72B45; - input reg [pt[181-:8] - 1:0] inp; - sv2v_cast_72B45 = inp; - endfunction - assign obuf_tag0_in[pt[181-:8] - 1:0] = (ibuf_buf_byp ? sv2v_cast_72B45(WrPtr0_r) : sv2v_cast_72B45(CmdPtr0)); - assign obuf_tag1_in[pt[181-:8] - 1:0] = (ibuf_buf_byp ? sv2v_cast_72B45(WrPtr1_r) : sv2v_cast_72B45(CmdPtr1)); - assign obuf_cmd_done_in = ~(obuf_wr_en | obuf_rst) & (obuf_cmd_done | bus_wcmd_sent); - assign obuf_data_done_in = ~(obuf_wr_en | obuf_rst) & (obuf_data_done | bus_wdata_sent); - assign obuf_aligned_in = (ibuf_buf_byp ? is_aligned_r : ((obuf_sz_in[1:0] == 2'b00) | (obuf_sz_in[0] & ~obuf_addr_in[0])) | (obuf_sz_in[1] & ~(|obuf_addr_in[1:0]))); - assign obuf_rdrsp_pend_in = (((~(obuf_wr_en & ~obuf_nosend_in) & obuf_rdrsp_pend) & ~(bus_rsp_read & (bus_rsp_read_tag == obuf_rdrsp_tag))) | (bus_cmd_sent & ~obuf_write)) & ~dec_tlu_force_halt; - assign obuf_rdrsp_pend_en = lsu_bus_clk_en | dec_tlu_force_halt; - assign obuf_rdrsp_tag_in[pt[181-:8] - 1:0] = (bus_cmd_sent & ~obuf_write ? obuf_tag0[pt[181-:8] - 1:0] : obuf_rdrsp_tag[pt[181-:8] - 1:0]); - assign obuf_nosend_in = ((((((obuf_addr_in[31:3] == obuf_addr[31:3]) & obuf_aligned_in) & ~obuf_sideeffect) & ~obuf_write) & ~obuf_write_in) & ~dec_tlu_external_ldfwd_disable) & ((obuf_valid & ~obuf_nosend) | (obuf_rdrsp_pend & ~(bus_rsp_read & (bus_rsp_read_tag == obuf_rdrsp_tag)))); - assign obuf_byteen0_in[7:0] = (ibuf_buf_byp ? (lsu_addr_r[2] ? {ldst_byteen_lo_r[3:0], 4'b0000} : {4'b0000, ldst_byteen_lo_r[3:0]}) : (buf_addr[(CmdPtr0 * 32) + 2] ? {buf_byteen[CmdPtr0 * 4+:4], 4'b0000} : {4'b0000, buf_byteen[CmdPtr0 * 4+:4]})); - assign obuf_byteen1_in[7:0] = (ibuf_buf_byp ? (end_addr_r[2] ? {ldst_byteen_hi_r[3:0], 4'b0000} : {4'b0000, ldst_byteen_hi_r[3:0]}) : (buf_addr[(CmdPtr1 * 32) + 2] ? {buf_byteen[CmdPtr1 * 4+:4], 4'b0000} : {4'b0000, buf_byteen[CmdPtr1 * 4+:4]})); - assign obuf_data0_in[63:0] = (ibuf_buf_byp ? (lsu_addr_r[2] ? {store_data_lo_r[31:0], 32'b00000000000000000000000000000000} : {32'b00000000000000000000000000000000, store_data_lo_r[31:0]}) : (buf_addr[(CmdPtr0 * 32) + 2] ? {buf_data[CmdPtr0 * 32+:32], 32'b00000000000000000000000000000000} : {32'b00000000000000000000000000000000, buf_data[CmdPtr0 * 32+:32]})); - assign obuf_data1_in[63:0] = (ibuf_buf_byp ? (end_addr_r[2] ? {store_data_hi_r[31:0], 32'b00000000000000000000000000000000} : {32'b00000000000000000000000000000000, store_data_hi_r[31:0]}) : (buf_addr[(CmdPtr1 * 32) + 2] ? {buf_data[CmdPtr1 * 32+:32], 32'b00000000000000000000000000000000} : {32'b00000000000000000000000000000000, buf_data[CmdPtr1 * 32+:32]})); - generate - for (i = 0; i < 8; i = i + 1) begin - assign obuf_byteen_in[i] = obuf_byteen0_in[i] | (obuf_merge_en & obuf_byteen1_in[i]); - assign obuf_data_in[(8 * i) + 7:8 * i] = (obuf_merge_en & obuf_byteen1_in[i] ? obuf_data1_in[(8 * i) + 7:8 * i] : obuf_data0_in[(8 * i) + 7:8 * i]); - end - endgenerate - assign obuf_merge_en = ((((((((CmdPtr0 != CmdPtr1) & found_cmdptr0) & found_cmdptr1) & (buf_state[CmdPtr0 * 3+:3] == CMD)) & (buf_state[CmdPtr1 * 3+:3] == CMD)) & ~buf_cmd_state_bus_en[CmdPtr0]) & ~buf_sideeffect[CmdPtr0]) & (((~buf_write[CmdPtr0] & buf_dual[CmdPtr0]) & ~buf_dualhi[CmdPtr0]) & buf_samedw[CmdPtr0])) | ((ibuf_buf_byp & ldst_samedw_r) & ldst_dual_r); - rvdff_fpga #(.WIDTH(1)) obuf_wren_ff( - .din(obuf_wr_en), - .dout(obuf_wr_enQ), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(1)) obuf_valid_ff( - .din(1'b1), - .dout(obuf_valid), - .en(obuf_wr_en), - .clear(obuf_rst), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) obuf_nosend_ff( - .din(obuf_nosend_in), - .dout(obuf_nosend), - .en(obuf_wr_en), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) obuf_rdrsp_pend_ff( - .din(obuf_rdrsp_pend_in), - .dout(obuf_rdrsp_pend), - .en(obuf_rdrsp_pend_en), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) obuf_cmd_done_ff( - .din(obuf_cmd_done_in), - .dout(obuf_cmd_done), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) obuf_data_done_ff( - .din(obuf_data_done_in), - .dout(obuf_data_done), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(pt[181-:8])) obuf_rdrsp_tagff( - .din(obuf_rdrsp_tag_in), - .dout(obuf_rdrsp_tag), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(pt[181-:8])) obuf_tag0ff( - .din(obuf_tag0_in), - .dout(obuf_tag0), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(pt[181-:8])) obuf_tag1ff( - .din(obuf_tag1_in), - .dout(obuf_tag1), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) obuf_mergeff( - .din(obuf_merge_in), - .dout(obuf_merge), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) obuf_writeff( - .din(obuf_write_in), - .dout(obuf_write), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(1)) obuf_sideeffectff( - .din(obuf_sideeffect_in), - .dout(obuf_sideeffect), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(2)) obuf_szff( - .din(obuf_sz_in[1:0]), - .dout(obuf_sz), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffs_fpga #(.WIDTH(8)) obuf_byteenff( - .din(obuf_byteen_in[7:0]), - .dout(obuf_byteen), - .en(obuf_wr_en), - .clk(lsu_bus_obuf_c1_clk), - .clken(lsu_bus_obuf_c1_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) obuf_addrff( - .din(obuf_addr_in[31:0]), - .dout(obuf_addr), - .en(obuf_wr_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffe #(.WIDTH(64)) obuf_dataff( - .din(obuf_data_in[63:0]), - .dout(obuf_data), - .en(obuf_wr_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdff_fpga #(.WIDTH(TIMER_LOG2)) obuf_timerff( - .din(obuf_wr_timer_in), - .dout(obuf_wr_timer), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - function automatic signed [DEPTH_LOG2 - 1:0] sv2v_cast_63A9F_signed; - input reg signed [DEPTH_LOG2 - 1:0] inp; - sv2v_cast_63A9F_signed = inp; - endfunction - always @(*) begin - WrPtr0_m[DEPTH_LOG2 - 1:0] = {DEPTH_LOG2 {1'sb0}}; - WrPtr1_m[DEPTH_LOG2 - 1:0] = {DEPTH_LOG2 {1'sb0}}; - found_wrptr0 = 1'b0; - found_wrptr1 = 1'b0; - begin : sv2v_autoblock_51 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - if (~found_wrptr0) begin - WrPtr0_m[DEPTH_LOG2 - 1:0] = sv2v_cast_63A9F_signed(i); - found_wrptr0 = (buf_state[i * 3+:3] == IDLE) & ~((ibuf_valid & (ibuf_tag == i)) | (lsu_busreq_r & ((WrPtr0_r == i) | (ldst_dual_r & (WrPtr1_r == i))))); - end - end - begin : sv2v_autoblock_52 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - if (~found_wrptr1) begin - WrPtr1_m[DEPTH_LOG2 - 1:0] = sv2v_cast_63A9F_signed(i); - found_wrptr1 = (buf_state[i * 3+:3] == IDLE) & ~(((ibuf_valid & (ibuf_tag == i)) | (lsu_busreq_m & (WrPtr0_m == i))) | (lsu_busreq_r & ((WrPtr0_r == i) | (ldst_dual_r & (WrPtr1_r == i))))); - end - end - end - localparam [2:0] DONE_WAIT = 3'b101; - generate - for (i = 0; i < DEPTH; i = i + 1) begin - assign CmdPtr0Dec[i] = (~(|buf_age[i * DEPTH+:DEPTH]) & (buf_state[i * 3+:3] == CMD)) & ~buf_cmd_state_bus_en[i]; - assign CmdPtr1Dec[i] = ((~(|(buf_age[i * DEPTH+:DEPTH] & ~CmdPtr0Dec)) & ~CmdPtr0Dec[i]) & (buf_state[i * 3+:3] == CMD)) & ~buf_cmd_state_bus_en[i]; - assign RspPtrDec[i] = ~(|buf_rsp_pickage[i * DEPTH+:DEPTH]) & (buf_state[i * 3+:3] == DONE_WAIT); - end - endgenerate - assign found_cmdptr0 = |CmdPtr0Dec; - assign found_cmdptr1 = |CmdPtr1Dec; - function automatic [7:0] sv2v_cast_8; - input reg [7:0] inp; - sv2v_cast_8 = inp; - endfunction - assign CmdPtr0 = f_Enc8to3(sv2v_cast_8(CmdPtr0Dec[DEPTH - 1:0])); - assign CmdPtr1 = f_Enc8to3(sv2v_cast_8(CmdPtr1Dec[DEPTH - 1:0])); - assign RspPtr = f_Enc8to3(sv2v_cast_8(RspPtrDec[DEPTH - 1:0])); - localparam [2:0] WAIT = 3'b001; - generate - for (i = 0; i < DEPTH; i = i + 1) begin : GenAgeVec - for (j = 0; j < DEPTH; j = j + 1) begin - assign buf_age_in[(i * DEPTH) + j] = (((buf_state[i * 3+:3] == IDLE) & buf_state_en[i]) & ((((buf_state[j * 3+:3] == WAIT) | ((buf_state[j * 3+:3] == CMD) & ~buf_cmd_state_bus_en[j])) | ((((ibuf_drain_vld & lsu_busreq_r) & (ibuf_byp | ldst_dual_r)) & (i == WrPtr0_r)) & (j == ibuf_tag))) | ((((ibuf_byp & lsu_busreq_r) & ldst_dual_r) & (i == WrPtr1_r)) & (j == WrPtr0_r)))) | buf_age[(i * DEPTH) + j]; - assign buf_age[(i * DEPTH) + j] = (buf_ageQ[(i * DEPTH) + j] & ~((buf_state[j * 3+:3] == CMD) & buf_cmd_state_bus_en[j])) & ~dec_tlu_force_halt; - assign buf_age_younger[(i * DEPTH) + j] = (i == j ? 1'b0 : ~buf_age[(i * DEPTH) + j] & (buf_state[j * 3+:3] != IDLE)); - end - end - endgenerate - localparam [2:0] DONE = 3'b110; - generate - for (i = 0; i < DEPTH; i = i + 1) begin : GenRspAgeVec - for (j = 0; j < DEPTH; j = j + 1) begin - function automatic signed [DEPTH_LOG2 - 1:0] sv2v_cast_63A9F_signed; - input reg signed [DEPTH_LOG2 - 1:0] inp; - sv2v_cast_63A9F_signed = inp; - endfunction - assign buf_rspage_set[(i * DEPTH) + j] = ((buf_state[i * 3+:3] == IDLE) & buf_state_en[i]) & ((~((buf_state[j * 3+:3] == IDLE) | (buf_state[j * 3+:3] == DONE)) | ((((ibuf_drain_vld & lsu_busreq_r) & (ibuf_byp | ldst_dual_r)) & (sv2v_cast_63A9F_signed(i) == WrPtr0_r)) & (sv2v_cast_63A9F_signed(j) == ibuf_tag))) | ((((ibuf_byp & lsu_busreq_r) & ldst_dual_r) & (sv2v_cast_63A9F_signed(i) == WrPtr1_r)) & (sv2v_cast_63A9F_signed(j) == WrPtr0_r))); - assign buf_rspage_in[(i * DEPTH) + j] = buf_rspage_set[(i * DEPTH) + j] | buf_rspage[(i * DEPTH) + j]; - assign buf_rspage[(i * DEPTH) + j] = (buf_rspageQ[(i * DEPTH) + j] & ~((buf_state[j * 3+:3] == DONE) | (buf_state[j * 3+:3] == IDLE))) & ~dec_tlu_force_halt; - assign buf_rsp_pickage[(i * DEPTH) + j] = buf_rspageQ[(i * DEPTH) + j] & (buf_state[j * 3+:3] == DONE_WAIT); - end - end - endgenerate - localparam [2:0] DONE_PARTIAL = 3'b100; - localparam [2:0] RESP = 3'b011; - generate - for (i = 0; i < DEPTH; i = i + 1) begin - assign ibuf_drainvec_vld[i] = ibuf_drain_vld & (i == ibuf_tag); - assign buf_byteen_in[i * 4+:4] = (ibuf_drainvec_vld[i] ? ibuf_byteen_out[3:0] : ((ibuf_byp & ldst_dual_r) & (i == WrPtr1_r) ? ldst_byteen_hi_r[3:0] : ldst_byteen_lo_r[3:0])); - assign buf_addr_in[i * 32+:32] = (ibuf_drainvec_vld[i] ? ibuf_addr[31:0] : ((ibuf_byp & ldst_dual_r) & (i == WrPtr1_r) ? end_addr_r[31:0] : lsu_addr_r[31:0])); - assign buf_dual_in[i] = (ibuf_drainvec_vld[i] ? ibuf_dual : ldst_dual_r); - assign buf_samedw_in[i] = (ibuf_drainvec_vld[i] ? ibuf_samedw : ldst_samedw_r); - assign buf_nomerge_in[i] = (ibuf_drainvec_vld[i] ? ibuf_nomerge | ibuf_force_drain : no_dword_merge_r); - assign buf_dualhi_in[i] = (ibuf_drainvec_vld[i] ? ibuf_dual : (ibuf_byp & ldst_dual_r) & (i == WrPtr1_r)); - assign buf_dualtag_in[i * DEPTH_LOG2+:DEPTH_LOG2] = (ibuf_drainvec_vld[i] ? ibuf_dualtag : ((ibuf_byp & ldst_dual_r) & (i == WrPtr1_r) ? WrPtr0_r : WrPtr1_r)); - assign buf_sideeffect_in[i] = (ibuf_drainvec_vld[i] ? ibuf_sideeffect : is_sideeffects_r); - assign buf_unsign_in[i] = (ibuf_drainvec_vld[i] ? ibuf_unsign : lsu_pkt_r[5]); - assign buf_sz_in[i * 2+:2] = (ibuf_drainvec_vld[i] ? ibuf_sz : {lsu_pkt_r[9], lsu_pkt_r[10]}); - assign buf_write_in[i] = (ibuf_drainvec_vld[i] ? ibuf_write : lsu_pkt_r[6]); - function automatic [DEPTH_LOG2 - 1:0] sv2v_cast_63A9F; - input reg [DEPTH_LOG2 - 1:0] inp; - sv2v_cast_63A9F = inp; - endfunction - function automatic signed [pt[181-:8] - 1:0] sv2v_cast_72B45_signed; - input reg signed [pt[181-:8] - 1:0] inp; - sv2v_cast_72B45_signed = inp; - endfunction - function automatic [pt[181-:8] - 1:0] sv2v_cast_72B45; - input reg [pt[181-:8] - 1:0] inp; - sv2v_cast_72B45 = inp; - endfunction - function automatic signed [DEPTH_LOG2 - 1:0] sv2v_cast_63A9F_signed; - input reg signed [DEPTH_LOG2 - 1:0] inp; - sv2v_cast_63A9F_signed = inp; - endfunction - always @(*) begin - buf_nxtstate[i * 3+:3] = IDLE; - buf_state_en[i] = 1'b0; - buf_resp_state_bus_en[i] = 1'b0; - buf_state_bus_en[i] = 1'b0; - buf_wr_en[i] = 1'b0; - buf_data_in[i * 32+:32] = {32 {1'sb0}}; - buf_data_en[i] = 1'b0; - buf_error_en[i] = 1'b0; - buf_rst[i] = dec_tlu_force_halt; - buf_ldfwd_en[i] = dec_tlu_force_halt; - buf_ldfwd_in[i] = 1'b0; - buf_ldfwdtag_in[i * DEPTH_LOG2+:DEPTH_LOG2] = {DEPTH_LOG2 {1'sb0}}; - case (buf_state[i * 3+:3]) - IDLE: begin - buf_nxtstate[i * 3+:3] = (lsu_bus_clk_en ? CMD : WAIT); - buf_state_en[i] = ((lsu_busreq_r & lsu_commit_r) & ((((ibuf_byp | ldst_dual_r) & ~ibuf_merge_en) & (i == WrPtr0_r)) | ((ibuf_byp & ldst_dual_r) & (i == WrPtr1_r)))) | (ibuf_drain_vld & (i == ibuf_tag)); - buf_wr_en[i] = buf_state_en[i]; - buf_data_en[i] = buf_state_en[i]; - buf_data_in[i * 32+:32] = (ibuf_drain_vld & (i == ibuf_tag) ? ibuf_data_out[31:0] : store_data_lo_r[31:0]); - buf_cmd_state_bus_en[i] = 1'b0; - end - WAIT: begin - buf_nxtstate[i * 3+:3] = (dec_tlu_force_halt ? IDLE : CMD); - buf_state_en[i] = lsu_bus_clk_en | dec_tlu_force_halt; - buf_cmd_state_bus_en[i] = 1'b0; - end - CMD: begin - buf_nxtstate[i * 3+:3] = (dec_tlu_force_halt ? IDLE : ((obuf_nosend & bus_rsp_read) & (bus_rsp_read_tag == obuf_rdrsp_tag) ? DONE_WAIT : RESP)); - buf_cmd_state_bus_en[i] = (((obuf_tag0 == i) | (obuf_merge & (obuf_tag1 == i))) & obuf_valid) & obuf_wr_enQ; - buf_state_bus_en[i] = buf_cmd_state_bus_en[i]; - buf_state_en[i] = (buf_state_bus_en[i] & lsu_bus_clk_en) | dec_tlu_force_halt; - buf_ldfwd_in[i] = 1'b1; - buf_ldfwd_en[i] = ((buf_state_en[i] & ~buf_write[i]) & obuf_nosend) & ~dec_tlu_force_halt; - buf_ldfwdtag_in[i * DEPTH_LOG2+:DEPTH_LOG2] = sv2v_cast_63A9F(obuf_rdrsp_tag[pt[181-:8] - 2:0]); - buf_data_en[i] = ((buf_state_bus_en[i] & lsu_bus_clk_en) & obuf_nosend) & bus_rsp_read; - buf_error_en[i] = ((buf_state_bus_en[i] & lsu_bus_clk_en) & obuf_nosend) & bus_rsp_read_error; - buf_data_in[i * 32+:32] = (buf_error_en[i] ? bus_rsp_rdata[31:0] : (buf_addr[(i * 32) + 2] ? bus_rsp_rdata[63:32] : bus_rsp_rdata[31:0])); - end - RESP: begin - buf_nxtstate[i * 3+:3] = (dec_tlu_force_halt | (buf_write[i] & ~bus_rsp_write_error) ? IDLE : (((buf_dual[i] & ~buf_samedw[i]) & ~buf_write[i]) & (buf_state[buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2] * 3+:3] != DONE_PARTIAL) ? DONE_PARTIAL : ((buf_ldfwd[i] | any_done_wait_state) | (((((buf_dual[i] & ~buf_samedw[i]) & ~buf_write[i]) & buf_ldfwd[buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2]]) & (buf_state[buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2] * 3+:3] == DONE_PARTIAL)) & any_done_wait_state) ? DONE_WAIT : DONE))); - buf_resp_state_bus_en[i] = (bus_rsp_write & (bus_rsp_write_tag == sv2v_cast_72B45_signed(i))) | (bus_rsp_read & (((bus_rsp_read_tag == sv2v_cast_72B45_signed(i)) | (buf_ldfwd[i] & (bus_rsp_read_tag == sv2v_cast_72B45(buf_ldfwdtag[i * DEPTH_LOG2+:DEPTH_LOG2])))) | ((((buf_dual[i] & buf_dualhi[i]) & ~buf_write[i]) & buf_samedw[i]) & (bus_rsp_read_tag == sv2v_cast_72B45(buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2]))))); - buf_state_bus_en[i] = buf_resp_state_bus_en[i]; - buf_state_en[i] = (buf_state_bus_en[i] & lsu_bus_clk_en) | dec_tlu_force_halt; - buf_data_en[i] = (buf_state_bus_en[i] & bus_rsp_read) & lsu_bus_clk_en; - buf_error_en[i] = (buf_state_bus_en[i] & lsu_bus_clk_en) & (((bus_rsp_read_error & (bus_rsp_read_tag == sv2v_cast_72B45_signed(i))) | ((bus_rsp_read_error & buf_ldfwd[i]) & (bus_rsp_read_tag == sv2v_cast_72B45(buf_ldfwdtag[i * DEPTH_LOG2+:DEPTH_LOG2])))) | (bus_rsp_write_error & (bus_rsp_write_tag == sv2v_cast_72B45_signed(i)))); - buf_data_in[(i * 32) + 31-:32] = (buf_state_en[i] & ~buf_error_en[i] ? (buf_addr[(i * 32) + 2] ? bus_rsp_rdata[63:32] : bus_rsp_rdata[31:0]) : bus_rsp_rdata[31:0]); - buf_cmd_state_bus_en[i] = 1'b0; - end - DONE_PARTIAL: begin - buf_nxtstate[i * 3+:3] = (dec_tlu_force_halt ? IDLE : ((buf_ldfwd[i] | buf_ldfwd[buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2]]) | any_done_wait_state ? DONE_WAIT : DONE)); - buf_state_bus_en[i] = bus_rsp_read & ((bus_rsp_read_tag == sv2v_cast_72B45(buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2])) | (buf_ldfwd[buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2]] & (bus_rsp_read_tag == sv2v_cast_72B45(buf_ldfwdtag[buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2] * DEPTH_LOG2+:DEPTH_LOG2])))); - buf_state_en[i] = (buf_state_bus_en[i] & lsu_bus_clk_en) | dec_tlu_force_halt; - buf_cmd_state_bus_en[i] = 1'b0; - end - DONE_WAIT: begin - buf_nxtstate[i * 3+:3] = (dec_tlu_force_halt ? IDLE : DONE); - buf_state_en[i] = ((RspPtr == sv2v_cast_63A9F_signed(i)) | (buf_dual[i] & (buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2] == RspPtr))) | dec_tlu_force_halt; - buf_cmd_state_bus_en[i] = 1'b0; - end - DONE: begin - buf_nxtstate[i * 3+:3] = IDLE; - buf_rst[i] = 1'b1; - buf_state_en[i] = 1'b1; - buf_ldfwd_in[i] = 1'b0; - buf_ldfwd_en[i] = buf_state_en[i]; - buf_cmd_state_bus_en[i] = 1'b0; - end - default: begin - buf_nxtstate[i * 3+:3] = IDLE; - buf_state_en[i] = 1'b0; - buf_resp_state_bus_en[i] = 1'b0; - buf_state_bus_en[i] = 1'b0; - buf_wr_en[i] = 1'b0; - buf_data_in[i * 32+:32] = {32 {1'sb0}}; - buf_data_en[i] = 1'b0; - buf_error_en[i] = 1'b0; - buf_rst[i] = 1'b0; - buf_cmd_state_bus_en[i] = 1'b0; - end - endcase - end - rvdffs #(.WIDTH(3)) buf_state_ff( - .din(buf_nxtstate[i * 3+:3]), - .dout({buf_state[i * 3+:3]}), - .en(buf_state_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(DEPTH)) buf_ageff( - .din(buf_age_in[i * DEPTH+:DEPTH]), - .dout(buf_ageQ[i * DEPTH+:DEPTH]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(DEPTH)) buf_rspageff( - .din(buf_rspage_in[i * DEPTH+:DEPTH]), - .dout(buf_rspageQ[i * DEPTH+:DEPTH]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_LOG2)) buf_dualtagff( - .din(buf_dualtag_in[i * DEPTH_LOG2+:DEPTH_LOG2]), - .dout(buf_dualtag[i * DEPTH_LOG2+:DEPTH_LOG2]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_dualff( - .din(buf_dual_in[i]), - .dout(buf_dual[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_samedwff( - .din(buf_samedw_in[i]), - .dout(buf_samedw[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_nomergeff( - .din(buf_nomerge_in[i]), - .dout(buf_nomerge[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_dualhiff( - .din(buf_dualhi_in[i]), - .dout(buf_dualhi[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_ldfwdff( - .din(buf_ldfwd_in[i]), - .dout(buf_ldfwd[i]), - .en(buf_ldfwd_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_LOG2)) buf_ldfwdtagff( - .din(buf_ldfwdtag_in[i * DEPTH_LOG2+:DEPTH_LOG2]), - .dout(buf_ldfwdtag[i * DEPTH_LOG2+:DEPTH_LOG2]), - .en(buf_ldfwd_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_sideeffectff( - .din(buf_sideeffect_in[i]), - .dout(buf_sideeffect[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_unsignff( - .din(buf_unsign_in[i]), - .dout(buf_unsign[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(1)) buf_writeff( - .din(buf_write_in[i]), - .dout(buf_write[i]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(2)) buf_szff( - .din(buf_sz_in[i * 2+:2]), - .dout(buf_sz[i * 2+:2]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) buf_addrff( - .din(buf_addr_in[(i * 32) + 31-:32]), - .dout(buf_addr[i * 32+:32]), - .en(buf_wr_en[i]), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffs #(.WIDTH(4)) buf_byteenff( - .din(buf_byteen_in[(i * 4) + 3-:4]), - .dout(buf_byteen[i * 4+:4]), - .en(buf_wr_en[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) buf_dataff( - .din(buf_data_in[(i * 32) + 31-:32]), - .dout(buf_data[i * 32+:32]), - .en(buf_data_en[i]), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffsc #(.WIDTH(1)) buf_errorff( - .din(1'b1), - .dout(buf_error[i]), - .en(buf_error_en[i]), - .clear(buf_rst[i]), - .clk(lsu_bus_buf_c1_clk), - .rst_l(rst_l) - ); - end - endgenerate - always @(*) begin - buf_numvld_any[3:0] = (({1'b0, lsu_busreq_m} << ldst_dual_m) + ({1'b0, lsu_busreq_r} << ldst_dual_r)) + ibuf_valid; - buf_numvld_wrcmd_any[3:0] = 4'b0000; - buf_numvld_cmd_any[3:0] = 4'b0000; - buf_numvld_pend_any[3:0] = 4'b0000; - any_done_wait_state = 1'b0; - begin : sv2v_autoblock_53 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - begin - buf_numvld_any[3:0] = buf_numvld_any[3:0] + {3'b000, buf_state[i * 3+:3] != IDLE}; - buf_numvld_wrcmd_any[3:0] = buf_numvld_wrcmd_any[3:0] + {3'b000, (buf_write[i] & (buf_state[i * 3+:3] == CMD)) & ~buf_cmd_state_bus_en[i]}; - buf_numvld_cmd_any[3:0] = buf_numvld_cmd_any[3:0] + {3'b000, (buf_state[i * 3+:3] == CMD) & ~buf_cmd_state_bus_en[i]}; - buf_numvld_pend_any[3:0] = buf_numvld_pend_any[3:0] + {3'b000, (buf_state[i * 3+:3] == WAIT) | ((buf_state[i * 3+:3] == CMD) & ~buf_cmd_state_bus_en[i])}; - any_done_wait_state = any_done_wait_state | (buf_state[i * 3+:3] == DONE_WAIT); - end - end - end - assign lsu_bus_buffer_pend_any = buf_numvld_pend_any != 0; - assign lsu_bus_buffer_full_any = (ldst_dual_d & dec_lsu_valid_raw_d ? buf_numvld_any[3:0] >= (DEPTH - 1) : buf_numvld_any[3:0] == DEPTH); - assign lsu_bus_buffer_empty_any = (~(|buf_state[3 * ((DEPTH - 1) - (DEPTH - 1))+:3 * DEPTH]) & ~ibuf_valid) & ~obuf_valid; - assign lsu_nonblock_load_valid_m = (((lsu_busreq_m & lsu_pkt_m[0]) & lsu_pkt_m[7]) & ~flush_m_up) & ~ld_full_hit_m; - assign lsu_nonblock_load_tag_m[DEPTH_LOG2 - 1:0] = WrPtr0_m[DEPTH_LOG2 - 1:0]; - assign lsu_nonblock_load_inv_r = lsu_nonblock_load_valid_r & ~lsu_commit_r; - assign lsu_nonblock_load_inv_tag_r[DEPTH_LOG2 - 1:0] = WrPtr0_r[DEPTH_LOG2 - 1:0]; - always @(*) begin - lsu_nonblock_load_data_ready = 1'b0; - lsu_nonblock_load_data_error = 1'b0; - lsu_nonblock_load_data_tag[DEPTH_LOG2 - 1:0] = {DEPTH_LOG2 {1'sb0}}; - lsu_nonblock_load_data_lo[31:0] = {32 {1'sb0}}; - lsu_nonblock_load_data_hi[31:0] = {32 {1'sb0}}; - begin : sv2v_autoblock_54 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - begin - lsu_nonblock_load_data_ready = lsu_nonblock_load_data_ready | ((buf_state[i * 3+:3] == DONE) & ~buf_write[i]); - lsu_nonblock_load_data_error = lsu_nonblock_load_data_error | (((buf_state[i * 3+:3] == DONE) & buf_error[i]) & ~buf_write[i]); - lsu_nonblock_load_data_tag[DEPTH_LOG2 - 1:0] = lsu_nonblock_load_data_tag[DEPTH_LOG2 - 1:0] | (sv2v_cast_63A9F_signed(i) & {DEPTH_LOG2 {((buf_state[i * 3+:3] == DONE) & ~buf_write[i]) & (~buf_dual[i] | ~buf_dualhi[i])}}); - lsu_nonblock_load_data_lo[31:0] = lsu_nonblock_load_data_lo[31:0] | (buf_data[(i * 32) + 31-:32] & {32 {((buf_state[i * 3+:3] == DONE) & ~buf_write[i]) & (~buf_dual[i] | ~buf_dualhi[i])}}); - lsu_nonblock_load_data_hi[31:0] = lsu_nonblock_load_data_hi[31:0] | (buf_data[(i * 32) + 31-:32] & {32 {((buf_state[i * 3+:3] == DONE) & ~buf_write[i]) & (buf_dual[i] & buf_dualhi[i])}}); - end - end - end - assign lsu_nonblock_addr_offset[1:0] = buf_addr[(lsu_nonblock_load_data_tag * 32) + 1-:2]; - assign lsu_nonblock_sz[1:0] = buf_sz[(lsu_nonblock_load_data_tag * 2) + 1-:2]; - assign lsu_nonblock_unsign = buf_unsign[lsu_nonblock_load_data_tag]; - function automatic [31:0] sv2v_cast_32; - input reg [31:0] inp; - sv2v_cast_32 = inp; - endfunction - assign lsu_nonblock_data_unalgn[31:0] = sv2v_cast_32({lsu_nonblock_load_data_hi[31:0], lsu_nonblock_load_data_lo[31:0]} >> (8 * lsu_nonblock_addr_offset[1:0])); - assign lsu_nonblock_load_data_valid = lsu_nonblock_load_data_ready & ~lsu_nonblock_load_data_error; - assign lsu_nonblock_load_data[31:0] = (((({32 {lsu_nonblock_unsign & (lsu_nonblock_sz[1:0] == 2'b00)}} & {24'b000000000000000000000000, lsu_nonblock_data_unalgn[7:0]}) | ({32 {lsu_nonblock_unsign & (lsu_nonblock_sz[1:0] == 2'b01)}} & {16'b0000000000000000, lsu_nonblock_data_unalgn[15:0]})) | ({32 {~lsu_nonblock_unsign & (lsu_nonblock_sz[1:0] == 2'b00)}} & {{24 {lsu_nonblock_data_unalgn[7]}}, lsu_nonblock_data_unalgn[7:0]})) | ({32 {~lsu_nonblock_unsign & (lsu_nonblock_sz[1:0] == 2'b01)}} & {{16 {lsu_nonblock_data_unalgn[15]}}, lsu_nonblock_data_unalgn[15:0]})) | ({32 {lsu_nonblock_sz[1:0] == 2'b10}} & lsu_nonblock_data_unalgn[31:0]); - always @(*) begin - bus_sideeffect_pend = (obuf_valid & obuf_sideeffect) & dec_tlu_sideeffect_posted_disable; - begin : sv2v_autoblock_55 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - bus_sideeffect_pend = bus_sideeffect_pend | (((buf_state[i * 3+:3] == RESP) & buf_sideeffect[i]) & dec_tlu_sideeffect_posted_disable); - end - end - function automatic signed [pt[181-:8] - 1:0] sv2v_cast_72B45_signed; - input reg signed [pt[181-:8] - 1:0] inp; - sv2v_cast_72B45_signed = inp; - endfunction - always @(*) begin - bus_addr_match_pending = 1'b0; - begin : sv2v_autoblock_56 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - bus_addr_match_pending = bus_addr_match_pending | (((obuf_valid & (obuf_addr[31:3] == buf_addr[(i * 32) + 31-:29])) & (buf_state[i * 3+:3] == RESP)) & ~((obuf_tag0 == sv2v_cast_72B45_signed(i)) | (obuf_merge & (obuf_tag1 == sv2v_cast_72B45_signed(i))))); - end - end - assign bus_cmd_ready = (obuf_write ? (obuf_cmd_done | obuf_data_done ? (obuf_cmd_done ? lsu_axi_wready : lsu_axi_awready) : lsu_axi_awready & lsu_axi_wready) : lsu_axi_arready); - assign bus_wcmd_sent = lsu_axi_awvalid & lsu_axi_awready; - assign bus_wdata_sent = lsu_axi_wvalid & lsu_axi_wready; - assign bus_cmd_sent = ((obuf_cmd_done | bus_wcmd_sent) & (obuf_data_done | bus_wdata_sent)) | (lsu_axi_arvalid & lsu_axi_arready); - assign bus_rsp_read = lsu_axi_rvalid & lsu_axi_rready; - assign bus_rsp_write = lsu_axi_bvalid & lsu_axi_bready; - assign bus_rsp_read_tag[pt[181-:8] - 1:0] = lsu_axi_rid[pt[181-:8] - 1:0]; - assign bus_rsp_write_tag[pt[181-:8] - 1:0] = lsu_axi_bid[pt[181-:8] - 1:0]; - assign bus_rsp_write_error = bus_rsp_write & (lsu_axi_bresp[1:0] != 2'b00); - assign bus_rsp_read_error = bus_rsp_read & (lsu_axi_rresp[1:0] != 2'b00); - assign bus_rsp_rdata[63:0] = lsu_axi_rdata[63:0]; - assign lsu_axi_awvalid = ((obuf_valid & obuf_write) & ~obuf_cmd_done) & ~bus_addr_match_pending; - assign lsu_axi_awid[pt[181-:8] - 1:0] = sv2v_cast_72B45(obuf_tag0); - assign lsu_axi_awaddr[31:0] = (obuf_sideeffect ? obuf_addr[31:0] : {obuf_addr[31:3], 3'b000}); - assign lsu_axi_awsize[2:0] = (obuf_sideeffect ? {1'b0, obuf_sz[1:0]} : 3'b011); - assign lsu_axi_awprot[2:0] = 3'b001; - assign lsu_axi_awcache[3:0] = (obuf_sideeffect ? 4'b0000 : 4'b1111); - assign lsu_axi_awregion[3:0] = obuf_addr[31:28]; - assign lsu_axi_awlen[7:0] = {8 {1'sb0}}; - assign lsu_axi_awburst[1:0] = 2'b01; - assign lsu_axi_awqos[3:0] = {4 {1'sb0}}; - assign lsu_axi_awlock = 1'b0; - assign lsu_axi_wvalid = ((obuf_valid & obuf_write) & ~obuf_data_done) & ~bus_addr_match_pending; - assign lsu_axi_wstrb[7:0] = obuf_byteen[7:0] & {8 {obuf_write}}; - assign lsu_axi_wdata[63:0] = obuf_data[63:0]; - assign lsu_axi_wlast = 1'b1; - assign lsu_axi_arvalid = ((obuf_valid & ~obuf_write) & ~obuf_nosend) & ~bus_addr_match_pending; - assign lsu_axi_arid[pt[181-:8] - 1:0] = sv2v_cast_72B45(obuf_tag0); - assign lsu_axi_araddr[31:0] = (obuf_sideeffect ? obuf_addr[31:0] : {obuf_addr[31:3], 3'b000}); - assign lsu_axi_arsize[2:0] = (obuf_sideeffect ? {1'b0, obuf_sz[1:0]} : 3'b011); - assign lsu_axi_arprot[2:0] = 3'b001; - assign lsu_axi_arcache[3:0] = (obuf_sideeffect ? 4'b0000 : 4'b1111); - assign lsu_axi_arregion[3:0] = obuf_addr[31:28]; - assign lsu_axi_arlen[7:0] = {8 {1'sb0}}; - assign lsu_axi_arburst[1:0] = 2'b01; - assign lsu_axi_arqos[3:0] = {4 {1'sb0}}; - assign lsu_axi_arlock = 1'b0; - assign lsu_axi_bready = 1; - assign lsu_axi_rready = 1; - always @(*) begin - lsu_imprecise_error_store_any = 1'b0; - lsu_imprecise_error_store_tag = {pt[181-:8] {1'sb0}}; - begin : sv2v_autoblock_57 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - begin - lsu_imprecise_error_store_any = lsu_imprecise_error_store_any | (((lsu_bus_clk_en_q & (buf_state[i * 3+:3] == DONE)) & buf_error[i]) & buf_write[i]); - lsu_imprecise_error_store_tag = lsu_imprecise_error_store_tag | (sv2v_cast_63A9F_signed(i) & {DEPTH_LOG2 {((buf_state[i * 3+:3] == DONE) & buf_error[i]) & buf_write[i]}}); - end - end - end - assign lsu_imprecise_error_load_any = lsu_nonblock_load_data_error & ~lsu_imprecise_error_store_any; - assign lsu_imprecise_error_addr_any[31:0] = (lsu_imprecise_error_store_any ? buf_addr[lsu_imprecise_error_store_tag * 32+:32] : buf_addr[lsu_nonblock_load_data_tag * 32+:32]); - assign lsu_pmu_bus_trxn = ((lsu_axi_awvalid & lsu_axi_awready) | (lsu_axi_wvalid & lsu_axi_wready)) | (lsu_axi_arvalid & lsu_axi_arready); - assign lsu_pmu_bus_misaligned = (lsu_busreq_r & ldst_dual_r) & lsu_commit_r; - assign lsu_pmu_bus_error = lsu_imprecise_error_load_any | lsu_imprecise_error_store_any; - assign lsu_pmu_bus_busy = ((lsu_axi_awvalid & ~lsu_axi_awready) | (lsu_axi_wvalid & ~lsu_axi_wready)) | (lsu_axi_arvalid & ~lsu_axi_arready); - rvdff_fpga #(.WIDTH(1)) lsu_axi_awvalid_ff( - .din(lsu_axi_awvalid), - .dout(lsu_axi_awvalid_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_awready_ff( - .din(lsu_axi_awready), - .dout(lsu_axi_awready_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_wvalid_ff( - .din(lsu_axi_wvalid), - .dout(lsu_axi_wvalid_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_wready_ff( - .din(lsu_axi_wready), - .dout(lsu_axi_wready_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_arvalid_ff( - .din(lsu_axi_arvalid), - .dout(lsu_axi_arvalid_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_arready_ff( - .din(lsu_axi_arready), - .dout(lsu_axi_arready_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_bvalid_ff( - .din(lsu_axi_bvalid), - .dout(lsu_axi_bvalid_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_bready_ff( - .din(lsu_axi_bready), - .dout(lsu_axi_bready_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(2)) lsu_axi_bresp_ff( - .din(lsu_axi_bresp[1:0]), - .dout(lsu_axi_bresp_q[1:0]), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(pt[181-:8])) lsu_axi_bid_ff( - .din(lsu_axi_bid[pt[181-:8] - 1:0]), - .dout(lsu_axi_bid_q[pt[181-:8] - 1:0]), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(64)) lsu_axi_rdata_ff( - .din(lsu_axi_rdata[63:0]), - .dout(lsu_axi_rdata_q[63:0]), - .en((lsu_axi_rvalid | clk_override) & lsu_bus_clk_en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_rvalid_ff( - .din(lsu_axi_rvalid), - .dout(lsu_axi_rvalid_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(1)) lsu_axi_rready_ff( - .din(lsu_axi_rready), - .dout(lsu_axi_rready_q), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(2)) lsu_axi_rresp_ff( - .din(lsu_axi_rresp[1:0]), - .dout(lsu_axi_rresp_q[1:0]), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff_fpga #(.WIDTH(pt[181-:8])) lsu_axi_rid_ff( - .din(lsu_axi_rid[pt[181-:8] - 1:0]), - .dout(lsu_axi_rid_q[pt[181-:8] - 1:0]), - .clk(lsu_busm_clk), - .clken(lsu_busm_clken), - .rawclk(clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(DEPTH_LOG2)) lsu_WrPtr0_rff( - .din(WrPtr0_m), - .dout(WrPtr0_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(DEPTH_LOG2)) lsu_WrPtr1_rff( - .din(WrPtr1_m), - .dout(WrPtr1_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) lsu_busreq_rff( - .din((lsu_busreq_m & ~flush_r) & ~ld_full_hit_m), - .dout(lsu_busreq_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) lsu_nonblock_load_valid_rff( - .din(lsu_nonblock_load_valid_m), - .dout(lsu_nonblock_load_valid_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); -endmodule -module eb1_lsu_bus_intf ( - clk, - clk_override, - rst_l, - scan_mode, - dec_tlu_external_ldfwd_disable, - dec_tlu_wb_coalescing_disable, - dec_tlu_sideeffect_posted_disable, - lsu_bus_obuf_c1_clken, - lsu_busm_clken, - lsu_c1_r_clk, - lsu_c2_r_clk, - lsu_bus_ibuf_c1_clk, - lsu_bus_obuf_c1_clk, - lsu_bus_buf_c1_clk, - lsu_free_c2_clk, - active_clk, - lsu_busm_clk, - dec_lsu_valid_raw_d, - lsu_busreq_m, - lsu_pkt_m, - lsu_pkt_r, - lsu_addr_m, - lsu_addr_r, - end_addr_m, - end_addr_r, - store_data_r, - dec_tlu_force_halt, - lsu_commit_r, - is_sideeffects_m, - flush_m_up, - flush_r, - ldst_dual_d, - ldst_dual_m, - ldst_dual_r, - lsu_busreq_r, - lsu_bus_buffer_pend_any, - lsu_bus_buffer_full_any, - lsu_bus_buffer_empty_any, - bus_read_data_m, - lsu_imprecise_error_load_any, - lsu_imprecise_error_store_any, - lsu_imprecise_error_addr_any, - lsu_nonblock_load_valid_m, - lsu_nonblock_load_tag_m, - lsu_nonblock_load_inv_r, - lsu_nonblock_load_inv_tag_r, - lsu_nonblock_load_data_valid, - lsu_nonblock_load_data_error, - lsu_nonblock_load_data_tag, - lsu_nonblock_load_data, - lsu_pmu_bus_trxn, - lsu_pmu_bus_misaligned, - lsu_pmu_bus_error, - lsu_pmu_bus_busy, - lsu_axi_awvalid, - lsu_axi_awready, - lsu_axi_awid, - lsu_axi_awaddr, - lsu_axi_awregion, - lsu_axi_awlen, - lsu_axi_awsize, - lsu_axi_awburst, - lsu_axi_awlock, - lsu_axi_awcache, - lsu_axi_awprot, - lsu_axi_awqos, - lsu_axi_wvalid, - lsu_axi_wready, - lsu_axi_wdata, - lsu_axi_wstrb, - lsu_axi_wlast, - lsu_axi_bvalid, - lsu_axi_bready, - lsu_axi_bresp, - lsu_axi_bid, - lsu_axi_arvalid, - lsu_axi_arready, - lsu_axi_arid, - lsu_axi_araddr, - lsu_axi_arregion, - lsu_axi_arlen, - lsu_axi_arsize, - lsu_axi_arburst, - lsu_axi_arlock, - lsu_axi_arcache, - lsu_axi_arprot, - lsu_axi_arqos, - lsu_axi_rvalid, - lsu_axi_rready, - lsu_axi_rid, - lsu_axi_rdata, - lsu_axi_rresp, - lsu_bus_clk_en -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire clk_override; - input wire rst_l; - input wire scan_mode; - input wire dec_tlu_external_ldfwd_disable; - input wire dec_tlu_wb_coalescing_disable; - input wire dec_tlu_sideeffect_posted_disable; - input wire lsu_bus_obuf_c1_clken; - input wire lsu_busm_clken; - input wire lsu_c1_r_clk; - input wire lsu_c2_r_clk; - input wire lsu_bus_ibuf_c1_clk; - input wire lsu_bus_obuf_c1_clk; - input wire lsu_bus_buf_c1_clk; - input wire lsu_free_c2_clk; - input wire active_clk; - input wire lsu_busm_clk; - input wire dec_lsu_valid_raw_d; - input wire lsu_busreq_m; - input wire [13:0] lsu_pkt_m; - input wire [13:0] lsu_pkt_r; - input wire [31:0] lsu_addr_m; - input wire [31:0] lsu_addr_r; - input wire [31:0] end_addr_m; - input wire [31:0] end_addr_r; - input wire [31:0] store_data_r; - input wire dec_tlu_force_halt; - input wire lsu_commit_r; - input wire is_sideeffects_m; - input wire flush_m_up; - input wire flush_r; - input wire ldst_dual_d; - input wire ldst_dual_m; - input wire ldst_dual_r; - output wire lsu_busreq_r; - output wire lsu_bus_buffer_pend_any; - output wire lsu_bus_buffer_full_any; - output wire lsu_bus_buffer_empty_any; - output wire [31:0] bus_read_data_m; - output wire lsu_imprecise_error_load_any; - output wire lsu_imprecise_error_store_any; - output wire [31:0] lsu_imprecise_error_addr_any; - output wire lsu_nonblock_load_valid_m; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_tag_m; - output wire lsu_nonblock_load_inv_r; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_inv_tag_r; - output wire lsu_nonblock_load_data_valid; - output wire lsu_nonblock_load_data_error; - output wire [pt[164-:7] - 1:0] lsu_nonblock_load_data_tag; - output wire [31:0] lsu_nonblock_load_data; - output wire lsu_pmu_bus_trxn; - output wire lsu_pmu_bus_misaligned; - output wire lsu_pmu_bus_error; - output wire lsu_pmu_bus_busy; - output wire lsu_axi_awvalid; - input wire lsu_axi_awready; - output wire [pt[181-:8] - 1:0] lsu_axi_awid; - output wire [31:0] lsu_axi_awaddr; - output wire [3:0] lsu_axi_awregion; - output wire [7:0] lsu_axi_awlen; - output wire [2:0] lsu_axi_awsize; - output wire [1:0] lsu_axi_awburst; - output wire lsu_axi_awlock; - output wire [3:0] lsu_axi_awcache; - output wire [2:0] lsu_axi_awprot; - output wire [3:0] lsu_axi_awqos; - output wire lsu_axi_wvalid; - input wire lsu_axi_wready; - output wire [63:0] lsu_axi_wdata; - output wire [7:0] lsu_axi_wstrb; - output wire lsu_axi_wlast; - input wire lsu_axi_bvalid; - output wire lsu_axi_bready; - input wire [1:0] lsu_axi_bresp; - input wire [pt[181-:8] - 1:0] lsu_axi_bid; - output wire lsu_axi_arvalid; - input wire lsu_axi_arready; - output wire [pt[181-:8] - 1:0] lsu_axi_arid; - output wire [31:0] lsu_axi_araddr; - output wire [3:0] lsu_axi_arregion; - output wire [7:0] lsu_axi_arlen; - output wire [2:0] lsu_axi_arsize; - output wire [1:0] lsu_axi_arburst; - output wire lsu_axi_arlock; - output wire [3:0] lsu_axi_arcache; - output wire [2:0] lsu_axi_arprot; - output wire [3:0] lsu_axi_arqos; - input wire lsu_axi_rvalid; - output wire lsu_axi_rready; - input wire [pt[181-:8] - 1:0] lsu_axi_rid; - input wire [63:0] lsu_axi_rdata; - input wire [1:0] lsu_axi_rresp; - input wire lsu_bus_clk_en; - wire lsu_bus_clk_en_q; - wire [3:0] ldst_byteen_m; - wire [3:0] ldst_byteen_r; - wire [7:0] ldst_byteen_ext_m; - wire [7:0] ldst_byteen_ext_r; - wire [3:0] ldst_byteen_hi_m; - wire [3:0] ldst_byteen_hi_r; - wire [3:0] ldst_byteen_lo_m; - wire [3:0] ldst_byteen_lo_r; - wire is_sideeffects_r; - wire [63:0] store_data_ext_r; - wire [31:0] store_data_hi_r; - wire [31:0] store_data_lo_r; - wire addr_match_dw_lo_r_m; - wire addr_match_word_lo_r_m; - wire no_word_merge_r; - wire no_dword_merge_r; - wire ld_addr_rhit_lo_lo; - wire ld_addr_rhit_hi_lo; - wire ld_addr_rhit_lo_hi; - wire ld_addr_rhit_hi_hi; - wire [3:0] ld_byte_rhit_lo_lo; - wire [3:0] ld_byte_rhit_hi_lo; - wire [3:0] ld_byte_rhit_lo_hi; - wire [3:0] ld_byte_rhit_hi_hi; - wire [3:0] ld_byte_hit_lo; - wire [3:0] ld_byte_rhit_lo; - wire [3:0] ld_byte_hit_hi; - wire [3:0] ld_byte_rhit_hi; - wire [31:0] ld_fwddata_rpipe_lo; - wire [31:0] ld_fwddata_rpipe_hi; - wire [3:0] ld_byte_hit_buf_lo; - wire [3:0] ld_byte_hit_buf_hi; - wire [31:0] ld_fwddata_buf_lo; - wire [31:0] ld_fwddata_buf_hi; - wire [63:0] ld_fwddata_lo; - wire [63:0] ld_fwddata_hi; - wire [63:0] ld_fwddata_m; - reg ld_full_hit_hi_m; - reg ld_full_hit_lo_m; - wire ld_full_hit_m; - assign ldst_byteen_m[3:0] = (({4 {lsu_pkt_m[11]}} & 4'b0001) | ({4 {lsu_pkt_m[10]}} & 4'b0011)) | ({4 {lsu_pkt_m[9]}} & 4'b1111); - eb1_lsu_bus_buffer #(.pt(pt)) bus_buffer( - .clk(clk), - .clk_override(clk_override), - .rst_l(rst_l), - .scan_mode(scan_mode), - .dec_tlu_external_ldfwd_disable(dec_tlu_external_ldfwd_disable), - .dec_tlu_wb_coalescing_disable(dec_tlu_wb_coalescing_disable), - .dec_tlu_sideeffect_posted_disable(dec_tlu_sideeffect_posted_disable), - .dec_tlu_force_halt(dec_tlu_force_halt), - .lsu_bus_obuf_c1_clken(lsu_bus_obuf_c1_clken), - .lsu_busm_clken(lsu_busm_clken), - .lsu_c2_r_clk(lsu_c2_r_clk), - .lsu_bus_ibuf_c1_clk(lsu_bus_ibuf_c1_clk), - .lsu_bus_obuf_c1_clk(lsu_bus_obuf_c1_clk), - .lsu_bus_buf_c1_clk(lsu_bus_buf_c1_clk), - .lsu_free_c2_clk(lsu_free_c2_clk), - .lsu_busm_clk(lsu_busm_clk), - .dec_lsu_valid_raw_d(dec_lsu_valid_raw_d), - .lsu_pkt_m(lsu_pkt_m), - .lsu_pkt_r(lsu_pkt_r), - .lsu_addr_m(lsu_addr_m), - .end_addr_m(end_addr_m), - .lsu_addr_r(lsu_addr_r), - .end_addr_r(end_addr_r), - .store_data_r(store_data_r), - .no_word_merge_r(no_word_merge_r), - .no_dword_merge_r(no_dword_merge_r), - .lsu_busreq_m(lsu_busreq_m), - .lsu_busreq_r(lsu_busreq_r), - .ld_full_hit_m(ld_full_hit_m), - .flush_m_up(flush_m_up), - .flush_r(flush_r), - .lsu_commit_r(lsu_commit_r), - .is_sideeffects_r(is_sideeffects_r), - .ldst_dual_d(ldst_dual_d), - .ldst_dual_m(ldst_dual_m), - .ldst_dual_r(ldst_dual_r), - .ldst_byteen_ext_m(ldst_byteen_ext_m), - .lsu_bus_buffer_pend_any(lsu_bus_buffer_pend_any), - .lsu_bus_buffer_full_any(lsu_bus_buffer_full_any), - .lsu_bus_buffer_empty_any(lsu_bus_buffer_empty_any), - .ld_byte_hit_buf_lo(ld_byte_hit_buf_lo), - .ld_byte_hit_buf_hi(ld_byte_hit_buf_hi), - .ld_fwddata_buf_lo(ld_fwddata_buf_lo), - .ld_fwddata_buf_hi(ld_fwddata_buf_hi), - .lsu_imprecise_error_load_any(lsu_imprecise_error_load_any), - .lsu_imprecise_error_store_any(lsu_imprecise_error_store_any), - .lsu_imprecise_error_addr_any(lsu_imprecise_error_addr_any), - .lsu_nonblock_load_valid_m(lsu_nonblock_load_valid_m), - .lsu_nonblock_load_tag_m(lsu_nonblock_load_tag_m), - .lsu_nonblock_load_inv_r(lsu_nonblock_load_inv_r), - .lsu_nonblock_load_inv_tag_r(lsu_nonblock_load_inv_tag_r), - .lsu_nonblock_load_data_valid(lsu_nonblock_load_data_valid), - .lsu_nonblock_load_data_error(lsu_nonblock_load_data_error), - .lsu_nonblock_load_data_tag(lsu_nonblock_load_data_tag), - .lsu_nonblock_load_data(lsu_nonblock_load_data), - .lsu_pmu_bus_trxn(lsu_pmu_bus_trxn), - .lsu_pmu_bus_misaligned(lsu_pmu_bus_misaligned), - .lsu_pmu_bus_error(lsu_pmu_bus_error), - .lsu_pmu_bus_busy(lsu_pmu_bus_busy), - .lsu_axi_awvalid(lsu_axi_awvalid), - .lsu_axi_awready(lsu_axi_awready), - .lsu_axi_awid(lsu_axi_awid), - .lsu_axi_awaddr(lsu_axi_awaddr), - .lsu_axi_awregion(lsu_axi_awregion), - .lsu_axi_awlen(lsu_axi_awlen), - .lsu_axi_awsize(lsu_axi_awsize), - .lsu_axi_awburst(lsu_axi_awburst), - .lsu_axi_awlock(lsu_axi_awlock), - .lsu_axi_awcache(lsu_axi_awcache), - .lsu_axi_awprot(lsu_axi_awprot), - .lsu_axi_awqos(lsu_axi_awqos), - .lsu_axi_wvalid(lsu_axi_wvalid), - .lsu_axi_wready(lsu_axi_wready), - .lsu_axi_wdata(lsu_axi_wdata), - .lsu_axi_wstrb(lsu_axi_wstrb), - .lsu_axi_wlast(lsu_axi_wlast), - .lsu_axi_bvalid(lsu_axi_bvalid), - .lsu_axi_bready(lsu_axi_bready), - .lsu_axi_bresp(lsu_axi_bresp), - .lsu_axi_bid(lsu_axi_bid), - .lsu_axi_arvalid(lsu_axi_arvalid), - .lsu_axi_arready(lsu_axi_arready), - .lsu_axi_arid(lsu_axi_arid), - .lsu_axi_araddr(lsu_axi_araddr), - .lsu_axi_arregion(lsu_axi_arregion), - .lsu_axi_arlen(lsu_axi_arlen), - .lsu_axi_arsize(lsu_axi_arsize), - .lsu_axi_arburst(lsu_axi_arburst), - .lsu_axi_arlock(lsu_axi_arlock), - .lsu_axi_arcache(lsu_axi_arcache), - .lsu_axi_arprot(lsu_axi_arprot), - .lsu_axi_arqos(lsu_axi_arqos), - .lsu_axi_rvalid(lsu_axi_rvalid), - .lsu_axi_rready(lsu_axi_rready), - .lsu_axi_rid(lsu_axi_rid), - .lsu_axi_rdata(lsu_axi_rdata), - .lsu_axi_rresp(lsu_axi_rresp), - .lsu_bus_clk_en(lsu_bus_clk_en), - .lsu_bus_clk_en_q(lsu_bus_clk_en_q) - ); - assign addr_match_dw_lo_r_m = lsu_addr_r[31:3] == lsu_addr_m[31:3]; - assign addr_match_word_lo_r_m = addr_match_dw_lo_r_m & ~(lsu_addr_r[2] ^ lsu_addr_m[2]); - assign no_word_merge_r = ((lsu_busreq_r & ~ldst_dual_r) & lsu_busreq_m) & (lsu_pkt_m[7] | ~addr_match_word_lo_r_m); - assign no_dword_merge_r = ((lsu_busreq_r & ~ldst_dual_r) & lsu_busreq_m) & (lsu_pkt_m[7] | ~addr_match_dw_lo_r_m); - assign ldst_byteen_ext_m[7:0] = {4'b0000, ldst_byteen_m[3:0]} << lsu_addr_m[1:0]; - assign ldst_byteen_ext_r[7:0] = {4'b0000, ldst_byteen_r[3:0]} << lsu_addr_r[1:0]; - assign store_data_ext_r[63:0] = {32'b00000000000000000000000000000000, store_data_r[31:0]} << {lsu_addr_r[1:0], 3'b000}; - assign ldst_byteen_hi_m[3:0] = ldst_byteen_ext_m[7:4]; - assign ldst_byteen_lo_m[3:0] = ldst_byteen_ext_m[3:0]; - assign ldst_byteen_hi_r[3:0] = ldst_byteen_ext_r[7:4]; - assign ldst_byteen_lo_r[3:0] = ldst_byteen_ext_r[3:0]; - assign store_data_hi_r[31:0] = store_data_ext_r[63:32]; - assign store_data_lo_r[31:0] = store_data_ext_r[31:0]; - assign ld_addr_rhit_lo_lo = (((lsu_addr_m[31:2] == lsu_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & lsu_busreq_m; - assign ld_addr_rhit_lo_hi = (((end_addr_m[31:2] == lsu_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & lsu_busreq_m; - assign ld_addr_rhit_hi_lo = (((lsu_addr_m[31:2] == end_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & lsu_busreq_m; - assign ld_addr_rhit_hi_hi = (((end_addr_m[31:2] == end_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & lsu_busreq_m; - generate - genvar i; - for (i = 0; i < 4; i = i + 1) begin : GenBusBufFwd - assign ld_byte_rhit_lo_lo[i] = (ld_addr_rhit_lo_lo & ldst_byteen_lo_r[i]) & ldst_byteen_lo_m[i]; - assign ld_byte_rhit_lo_hi[i] = (ld_addr_rhit_lo_hi & ldst_byteen_lo_r[i]) & ldst_byteen_hi_m[i]; - assign ld_byte_rhit_hi_lo[i] = (ld_addr_rhit_hi_lo & ldst_byteen_hi_r[i]) & ldst_byteen_lo_m[i]; - assign ld_byte_rhit_hi_hi[i] = (ld_addr_rhit_hi_hi & ldst_byteen_hi_r[i]) & ldst_byteen_hi_m[i]; - assign ld_byte_hit_lo[i] = (ld_byte_rhit_lo_lo[i] | ld_byte_rhit_hi_lo[i]) | ld_byte_hit_buf_lo[i]; - assign ld_byte_hit_hi[i] = (ld_byte_rhit_lo_hi[i] | ld_byte_rhit_hi_hi[i]) | ld_byte_hit_buf_hi[i]; - assign ld_byte_rhit_lo[i] = ld_byte_rhit_lo_lo[i] | ld_byte_rhit_hi_lo[i]; - assign ld_byte_rhit_hi[i] = ld_byte_rhit_lo_hi[i] | ld_byte_rhit_hi_hi[i]; - assign ld_fwddata_rpipe_lo[(8 * i) + 7:8 * i] = ({8 {ld_byte_rhit_lo_lo[i]}} & store_data_lo_r[(8 * i) + 7:8 * i]) | ({8 {ld_byte_rhit_hi_lo[i]}} & store_data_hi_r[(8 * i) + 7:8 * i]); - assign ld_fwddata_rpipe_hi[(8 * i) + 7:8 * i] = ({8 {ld_byte_rhit_lo_hi[i]}} & store_data_lo_r[(8 * i) + 7:8 * i]) | ({8 {ld_byte_rhit_hi_hi[i]}} & store_data_hi_r[(8 * i) + 7:8 * i]); - assign ld_fwddata_lo[(8 * i) + 7:8 * i] = (ld_byte_rhit_lo[i] ? ld_fwddata_rpipe_lo[(8 * i) + 7:8 * i] : ld_fwddata_buf_lo[(8 * i) + 7:8 * i]); - assign ld_fwddata_hi[(8 * i) + 7:8 * i] = (ld_byte_rhit_hi[i] ? ld_fwddata_rpipe_hi[(8 * i) + 7:8 * i] : ld_fwddata_buf_hi[(8 * i) + 7:8 * i]); - end - endgenerate - always @(*) begin - ld_full_hit_lo_m = 1'b1; - ld_full_hit_hi_m = 1'b1; - begin : sv2v_autoblock_58 - reg signed [31:0] i; - for (i = 0; i < 4; i = i + 1) - begin - ld_full_hit_lo_m = ld_full_hit_lo_m & (ld_byte_hit_lo[i] | ~ldst_byteen_lo_m[i]); - ld_full_hit_hi_m = ld_full_hit_hi_m & (ld_byte_hit_hi[i] | ~ldst_byteen_hi_m[i]); - end - end - end - assign ld_full_hit_m = (((ld_full_hit_lo_m & ld_full_hit_hi_m) & lsu_busreq_m) & lsu_pkt_m[7]) & ~is_sideeffects_m; - assign ld_fwddata_m[63:0] = {ld_fwddata_hi[31:0], ld_fwddata_lo[31:0]} >> (8 * lsu_addr_m[1:0]); - assign bus_read_data_m[31:0] = ld_fwddata_m[31:0]; - rvdff #(.WIDTH(1)) clken_ff( - .din(lsu_bus_clk_en), - .dout(lsu_bus_clk_en_q), - .clk(active_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) is_sideeffects_rff( - .din(is_sideeffects_m), - .dout(is_sideeffects_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(4)) lsu_byten_rff( - .rst_l(rst_l), - .din(ldst_byteen_m[3:0]), - .dout(ldst_byteen_r[3:0]), - .clk(lsu_c1_r_clk) - ); -endmodule -module eb1_lsu_clkdomain ( - clk, - active_clk, - rst_l, - dec_tlu_force_halt, - clk_override, - dma_dccm_req, - ldst_stbuf_reqvld_r, - stbuf_reqvld_any, - stbuf_reqvld_flushed_any, - lsu_busreq_r, - lsu_bus_buffer_pend_any, - lsu_bus_buffer_empty_any, - lsu_stbuf_empty_any, - lsu_bus_clk_en, - lsu_p, - lsu_pkt_d, - lsu_pkt_m, - lsu_pkt_r, - lsu_bus_obuf_c1_clken, - lsu_busm_clken, - lsu_c1_m_clk, - lsu_c1_r_clk, - lsu_c2_m_clk, - lsu_c2_r_clk, - lsu_store_c1_m_clk, - lsu_store_c1_r_clk, - lsu_stbuf_c1_clk, - lsu_bus_obuf_c1_clk, - lsu_bus_ibuf_c1_clk, - lsu_bus_buf_c1_clk, - lsu_busm_clk, - lsu_free_c2_clk, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire active_clk; - input wire rst_l; - input wire dec_tlu_force_halt; - input wire clk_override; - input wire dma_dccm_req; - input wire ldst_stbuf_reqvld_r; - input wire stbuf_reqvld_any; - input wire stbuf_reqvld_flushed_any; - input wire lsu_busreq_r; - input wire lsu_bus_buffer_pend_any; - input wire lsu_bus_buffer_empty_any; - input wire lsu_stbuf_empty_any; - input wire lsu_bus_clk_en; - input wire [13:0] lsu_p; - input wire [13:0] lsu_pkt_d; - input wire [13:0] lsu_pkt_m; - input wire [13:0] lsu_pkt_r; - output wire lsu_bus_obuf_c1_clken; - output wire lsu_busm_clken; - output wire lsu_c1_m_clk; - output wire lsu_c1_r_clk; - output wire lsu_c2_m_clk; - output wire lsu_c2_r_clk; - output wire lsu_store_c1_m_clk; - output wire lsu_store_c1_r_clk; - output wire lsu_stbuf_c1_clk; - output wire lsu_bus_obuf_c1_clk; - output wire lsu_bus_ibuf_c1_clk; - output wire lsu_bus_buf_c1_clk; - output wire lsu_busm_clk; - output wire lsu_free_c2_clk; - input wire scan_mode; - wire lsu_c1_m_clken; - wire lsu_c1_r_clken; - wire lsu_c2_m_clken; - wire lsu_c2_r_clken; - wire lsu_c1_m_clken_q; - wire lsu_c1_r_clken_q; - wire lsu_store_c1_m_clken; - wire lsu_store_c1_r_clken; - wire lsu_stbuf_c1_clken; - wire lsu_bus_ibuf_c1_clken; - wire lsu_bus_buf_c1_clken; - wire lsu_free_c1_clken; - wire lsu_free_c1_clken_q; - wire lsu_free_c2_clken; - assign lsu_c1_m_clken = (lsu_p[0] | dma_dccm_req) | clk_override; - assign lsu_c1_r_clken = (lsu_pkt_m[0] | lsu_c1_m_clken_q) | clk_override; - assign lsu_c2_m_clken = (lsu_c1_m_clken | lsu_c1_m_clken_q) | clk_override; - assign lsu_c2_r_clken = (lsu_c1_r_clken | lsu_c1_r_clken_q) | clk_override; - assign lsu_store_c1_m_clken = (lsu_c1_m_clken & lsu_pkt_d[6]) | clk_override; - assign lsu_store_c1_r_clken = (lsu_c1_r_clken & lsu_pkt_m[6]) | clk_override; - assign lsu_stbuf_c1_clken = ((ldst_stbuf_reqvld_r | stbuf_reqvld_any) | stbuf_reqvld_flushed_any) | clk_override; - assign lsu_bus_ibuf_c1_clken = lsu_busreq_r | clk_override; - assign lsu_bus_obuf_c1_clken = ((lsu_bus_buffer_pend_any | lsu_busreq_r) | clk_override) & lsu_bus_clk_en; - assign lsu_bus_buf_c1_clken = ((~lsu_bus_buffer_empty_any | lsu_busreq_r) | dec_tlu_force_halt) | clk_override; - assign lsu_free_c1_clken = (((((lsu_p[0] | lsu_pkt_d[0]) | lsu_pkt_m[0]) | lsu_pkt_r[0]) | ~lsu_bus_buffer_empty_any) | ~lsu_stbuf_empty_any) | clk_override; - assign lsu_free_c2_clken = (lsu_free_c1_clken | lsu_free_c1_clken_q) | clk_override; - rvdff #(.WIDTH(1)) lsu_free_c1_clkenff( - .din(lsu_free_c1_clken), - .dout(lsu_free_c1_clken_q), - .clk(active_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) lsu_c1_m_clkenff( - .din(lsu_c1_m_clken), - .dout(lsu_c1_m_clken_q), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) lsu_c1_r_clkenff( - .din(lsu_c1_r_clken), - .dout(lsu_c1_r_clken_q), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvoclkhdr lsu_c1m_cgc( - .en(lsu_c1_m_clken), - .l1clk(lsu_c1_m_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_c1r_cgc( - .en(lsu_c1_r_clken), - .l1clk(lsu_c1_r_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_c2m_cgc( - .en(lsu_c2_m_clken), - .l1clk(lsu_c2_m_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_c2r_cgc( - .en(lsu_c2_r_clken), - .l1clk(lsu_c2_r_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_store_c1m_cgc( - .en(lsu_store_c1_m_clken), - .l1clk(lsu_store_c1_m_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_store_c1r_cgc( - .en(lsu_store_c1_r_clken), - .l1clk(lsu_store_c1_r_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_stbuf_c1_cgc( - .en(lsu_stbuf_c1_clken), - .l1clk(lsu_stbuf_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_bus_ibuf_c1_cgc( - .en(lsu_bus_ibuf_c1_clken), - .l1clk(lsu_bus_ibuf_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_bus_buf_c1_cgc( - .en(lsu_bus_buf_c1_clken), - .l1clk(lsu_bus_buf_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - assign lsu_busm_clken = ((~lsu_bus_buffer_empty_any | lsu_busreq_r) | clk_override) & lsu_bus_clk_en; - rvclkhdr lsu_bus_obuf_c1_cgc( - .en(lsu_bus_obuf_c1_clken), - .l1clk(lsu_bus_obuf_c1_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvclkhdr lsu_busm_cgc( - .en(lsu_busm_clken), - .l1clk(lsu_busm_clk), - .clk(clk), - .scan_mode(scan_mode) - ); - rvoclkhdr lsu_free_cgc( - .en(lsu_free_c2_clken), - .l1clk(lsu_free_c2_clk), - .clk(clk), - .scan_mode(scan_mode) - ); -endmodule -module eb1_lsu_dccm_ctl ( - lsu_c2_m_clk, - lsu_c2_r_clk, - lsu_c1_r_clk, - lsu_store_c1_r_clk, - lsu_free_c2_clk, - clk_override, - clk, - rst_l, - lsu_pkt_r, - lsu_pkt_m, - lsu_pkt_d, - addr_in_dccm_d, - addr_in_pic_d, - addr_in_pic_m, - addr_in_dccm_m, - addr_in_dccm_r, - addr_in_pic_r, - lsu_raw_fwd_lo_r, - lsu_raw_fwd_hi_r, - lsu_commit_r, - ldst_dual_m, - ldst_dual_r, - lsu_addr_d, - lsu_addr_m, - lsu_addr_r, - end_addr_d, - end_addr_m, - end_addr_r, - stbuf_reqvld_any, - stbuf_addr_any, - stbuf_data_any, - stbuf_ecc_any, - stbuf_fwddata_hi_m, - stbuf_fwddata_lo_m, - stbuf_fwdbyteen_hi_m, - stbuf_fwdbyteen_lo_m, - dccm_rdata_hi_r, - dccm_rdata_lo_r, - dccm_data_ecc_hi_r, - dccm_data_ecc_lo_r, - lsu_ld_data_r, - lsu_ld_data_corr_r, - lsu_double_ecc_error_r, - single_ecc_error_hi_r, - single_ecc_error_lo_r, - sec_data_hi_r, - sec_data_lo_r, - sec_data_hi_r_ff, - sec_data_lo_r_ff, - sec_data_ecc_hi_r_ff, - sec_data_ecc_lo_r_ff, - dccm_rdata_hi_m, - dccm_rdata_lo_m, - dccm_data_ecc_hi_m, - dccm_data_ecc_lo_m, - lsu_ld_data_m, - lsu_double_ecc_error_m, - sec_data_hi_m, - sec_data_lo_m, - store_data_m, - dma_dccm_wen, - dma_pic_wen, - dma_mem_tag_m, - dma_mem_addr, - dma_mem_wdata, - dma_dccm_wdata_lo, - dma_dccm_wdata_hi, - dma_dccm_wdata_ecc_hi, - dma_dccm_wdata_ecc_lo, - store_data_hi_r, - store_data_lo_r, - store_datafn_hi_r, - store_datafn_lo_r, - store_data_r, - ld_single_ecc_error_r, - ld_single_ecc_error_r_ff, - picm_mask_data_m, - lsu_stbuf_commit_any, - lsu_dccm_rden_m, - lsu_dccm_rden_r, - dccm_dma_rvalid, - dccm_dma_ecc_error, - dccm_dma_rtag, - dccm_dma_rdata, - dccm_wren, - dccm_rden, - dccm_wr_addr_lo, - dccm_wr_addr_hi, - dccm_rd_addr_lo, - dccm_rd_addr_hi, - dccm_wr_data_lo, - dccm_wr_data_hi, - dccm_rd_data_lo, - dccm_rd_data_hi, - picm_wren, - picm_rden, - picm_mken, - picm_rdaddr, - picm_wraddr, - picm_wr_data, - picm_rd_data, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire lsu_c2_m_clk; - input wire lsu_c2_r_clk; - input wire lsu_c1_r_clk; - input wire lsu_store_c1_r_clk; - input wire lsu_free_c2_clk; - input wire clk_override; - input wire clk; - input wire rst_l; - input wire [13:0] lsu_pkt_r; - input wire [13:0] lsu_pkt_m; - input wire [13:0] lsu_pkt_d; - input wire addr_in_dccm_d; - input wire addr_in_pic_d; - input wire addr_in_pic_m; - input wire addr_in_dccm_m; - input wire addr_in_dccm_r; - input wire addr_in_pic_r; - input wire lsu_raw_fwd_lo_r; - input wire lsu_raw_fwd_hi_r; - input wire lsu_commit_r; - input wire ldst_dual_m; - input wire ldst_dual_r; - input wire [31:0] lsu_addr_d; - input wire [pt[1398-:9] - 1:0] lsu_addr_m; - input wire [31:0] lsu_addr_r; - input wire [pt[1398-:9] - 1:0] end_addr_d; - input wire [pt[1398-:9] - 1:0] end_addr_m; - input wire [pt[1398-:9] - 1:0] end_addr_r; - input wire stbuf_reqvld_any; - input wire [pt[157-:9] - 1:0] stbuf_addr_any; - input wire [pt[1382-:10] - 1:0] stbuf_data_any; - input wire [pt[1372-:7] - 1:0] stbuf_ecc_any; - input wire [pt[1382-:10] - 1:0] stbuf_fwddata_hi_m; - input wire [pt[1382-:10] - 1:0] stbuf_fwddata_lo_m; - input wire [pt[1389-:7] - 1:0] stbuf_fwdbyteen_hi_m; - input wire [pt[1389-:7] - 1:0] stbuf_fwdbyteen_lo_m; - output wire [pt[1382-:10] - 1:0] dccm_rdata_hi_r; - output wire [pt[1382-:10] - 1:0] dccm_rdata_lo_r; - output wire [pt[1372-:7] - 1:0] dccm_data_ecc_hi_r; - output wire [pt[1372-:7] - 1:0] dccm_data_ecc_lo_r; - output wire [pt[1382-:10] - 1:0] lsu_ld_data_r; - output wire [pt[1382-:10] - 1:0] lsu_ld_data_corr_r; - input wire lsu_double_ecc_error_r; - input wire single_ecc_error_hi_r; - input wire single_ecc_error_lo_r; - input wire [pt[1382-:10] - 1:0] sec_data_hi_r; - input wire [pt[1382-:10] - 1:0] sec_data_lo_r; - input wire [pt[1382-:10] - 1:0] sec_data_hi_r_ff; - input wire [pt[1382-:10] - 1:0] sec_data_lo_r_ff; - input wire [pt[1372-:7] - 1:0] sec_data_ecc_hi_r_ff; - input wire [pt[1372-:7] - 1:0] sec_data_ecc_lo_r_ff; - output wire [pt[1382-:10] - 1:0] dccm_rdata_hi_m; - output wire [pt[1382-:10] - 1:0] dccm_rdata_lo_m; - output wire [pt[1372-:7] - 1:0] dccm_data_ecc_hi_m; - output wire [pt[1372-:7] - 1:0] dccm_data_ecc_lo_m; - output wire [pt[1382-:10] - 1:0] lsu_ld_data_m; - input wire lsu_double_ecc_error_m; - input wire [pt[1382-:10] - 1:0] sec_data_hi_m; - input wire [pt[1382-:10] - 1:0] sec_data_lo_m; - input wire [31:0] store_data_m; - input wire dma_dccm_wen; - input wire dma_pic_wen; - input wire [2:0] dma_mem_tag_m; - input wire [31:0] dma_mem_addr; - input wire [63:0] dma_mem_wdata; - input wire [31:0] dma_dccm_wdata_lo; - input wire [31:0] dma_dccm_wdata_hi; - input wire [pt[1372-:7] - 1:0] dma_dccm_wdata_ecc_hi; - input wire [pt[1372-:7] - 1:0] dma_dccm_wdata_ecc_lo; - output wire [pt[1382-:10] - 1:0] store_data_hi_r; - output wire [pt[1382-:10] - 1:0] store_data_lo_r; - output wire [pt[1382-:10] - 1:0] store_datafn_hi_r; - output wire [pt[1382-:10] - 1:0] store_datafn_lo_r; - output wire [31:0] store_data_r; - output wire ld_single_ecc_error_r; - output wire ld_single_ecc_error_r_ff; - output wire [31:0] picm_mask_data_m; - output wire lsu_stbuf_commit_any; - output wire lsu_dccm_rden_m; - output wire lsu_dccm_rden_r; - output wire dccm_dma_rvalid; - output wire dccm_dma_ecc_error; - output wire [2:0] dccm_dma_rtag; - output wire [63:0] dccm_dma_rdata; - output wire dccm_wren; - output wire dccm_rden; - output wire [pt[1398-:9] - 1:0] dccm_wr_addr_lo; - output wire [pt[1398-:9] - 1:0] dccm_wr_addr_hi; - output wire [pt[1398-:9] - 1:0] dccm_rd_addr_lo; - output wire [pt[1398-:9] - 1:0] dccm_rd_addr_hi; - output wire [pt[1360-:10] - 1:0] dccm_wr_data_lo; - output wire [pt[1360-:10] - 1:0] dccm_wr_data_hi; - input wire [pt[1360-:10] - 1:0] dccm_rd_data_lo; - input wire [pt[1360-:10] - 1:0] dccm_rd_data_hi; - output wire picm_wren; - output wire picm_rden; - output wire picm_mken; - output wire [31:0] picm_rdaddr; - output wire [31:0] picm_wraddr; - output wire [31:0] picm_wr_data; - input wire [31:0] picm_rd_data; - input wire scan_mode; - localparam DCCM_WIDTH_BITS = $clog2(pt[1389-:7]); - wire lsu_dccm_rden_d; - wire lsu_dccm_wren_d; - wire ld_single_ecc_error_lo_r; - wire ld_single_ecc_error_hi_r; - wire ld_single_ecc_error_lo_r_ns; - wire ld_single_ecc_error_hi_r_ns; - wire ld_single_ecc_error_lo_r_ff; - wire ld_single_ecc_error_hi_r_ff; - wire lsu_double_ecc_error_r_ff; - wire [pt[1398-:9] - 1:0] ld_sec_addr_lo_r_ff; - wire [pt[1398-:9] - 1:0] ld_sec_addr_hi_r_ff; - wire [pt[1382-:10] - 1:0] store_data_lo_r_in; - wire [pt[1382-:10] - 1:0] store_data_hi_r_in; - wire [63:0] picm_rd_data_m; - wire dccm_wr_bypass_d_m_hi; - wire dccm_wr_bypass_d_r_hi; - wire dccm_wr_bypass_d_m_lo; - wire dccm_wr_bypass_d_r_lo; - wire kill_ecc_corr_lo_r; - wire kill_ecc_corr_hi_r; - wire [3:0] store_byteen_m; - wire [3:0] store_byteen_r; - wire [7:0] store_byteen_ext_m; - wire [7:0] store_byteen_ext_r; - generate - if (pt[202-:5] == 1) begin : L2U_Plus1_1 - wire [63:0] lsu_rdata_r; - wire [63:0] lsu_rdata_corr_r; - wire [63:0] dccm_rdata_r; - wire [63:0] dccm_rdata_corr_r; - wire [63:0] stbuf_fwddata_r; - wire [7:0] stbuf_fwdbyteen_r; - wire [31:0] stbuf_fwddata_lo_r; - wire [31:0] stbuf_fwddata_hi_r; - wire [3:0] stbuf_fwdbyteen_lo_r; - wire [3:0] stbuf_fwdbyteen_hi_r; - wire [31:0] lsu_rdata_lo_r; - wire [31:0] lsu_rdata_hi_r; - wire [63:0] picm_rd_data_r; - wire [63:32] lsu_ld_data_r_nc; - wire [63:32] lsu_ld_data_corr_r_nc; - wire [2:0] dma_mem_tag_r; - wire stbuf_fwddata_en; - assign dccm_dma_rvalid = (lsu_pkt_r[0] & lsu_pkt_r[7]) & lsu_pkt_r[4]; - assign dccm_dma_ecc_error = lsu_double_ecc_error_r; - assign dccm_dma_rtag[2:0] = dma_mem_tag_r[2:0]; - assign dccm_dma_rdata[63:0] = (ldst_dual_r ? lsu_rdata_corr_r[63:0] : {2 {lsu_rdata_corr_r[31:0]}}); - assign {lsu_ld_data_r_nc[63:32], lsu_ld_data_r[31:0]} = lsu_rdata_r[63:0] >> (8 * lsu_addr_r[1:0]); - assign {lsu_ld_data_corr_r_nc[63:32], lsu_ld_data_corr_r[31:0]} = lsu_rdata_corr_r[63:0] >> (8 * lsu_addr_r[1:0]); - assign picm_rd_data_r[63:32] = picm_rd_data_r[31:0]; - assign dccm_rdata_r[63:0] = {dccm_rdata_hi_r[31:0], dccm_rdata_lo_r[31:0]}; - assign dccm_rdata_corr_r[63:0] = {sec_data_hi_r[31:0], sec_data_lo_r[31:0]}; - assign stbuf_fwddata_r[63:0] = {stbuf_fwddata_hi_r[31:0], stbuf_fwddata_lo_r[31:0]}; - assign stbuf_fwdbyteen_r[7:0] = {stbuf_fwdbyteen_hi_r[3:0], stbuf_fwdbyteen_lo_r[3:0]}; - assign stbuf_fwddata_en = (|stbuf_fwdbyteen_hi_m[3:0] | |stbuf_fwdbyteen_lo_m[3:0]) | clk_override; - genvar i; - for (i = 0; i < 8; i = i + 1) begin : GenDMAData - assign lsu_rdata_corr_r[(8 * i) + 7:8 * i] = (stbuf_fwdbyteen_r[i] ? stbuf_fwddata_r[(8 * i) + 7:8 * i] : (addr_in_pic_r ? picm_rd_data_r[(8 * i) + 7:8 * i] : {8 {addr_in_dccm_r}} & dccm_rdata_corr_r[(8 * i) + 7:8 * i])); - assign lsu_rdata_r[(8 * i) + 7:8 * i] = (stbuf_fwdbyteen_r[i] ? stbuf_fwddata_r[(8 * i) + 7:8 * i] : (addr_in_pic_r ? picm_rd_data_r[(8 * i) + 7:8 * i] : {8 {addr_in_dccm_r}} & dccm_rdata_r[(8 * i) + 7:8 * i])); - end - rvdffe #(.WIDTH(pt[1382-:10])) dccm_rdata_hi_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(dccm_rdata_hi_m[pt[1382-:10] - 1:0]), - .dout(dccm_rdata_hi_r[pt[1382-:10] - 1:0]), - .en((lsu_dccm_rden_m & ldst_dual_m) | clk_override) - ); - rvdffe #(.WIDTH(pt[1382-:10])) dccm_rdata_lo_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(dccm_rdata_lo_m[pt[1382-:10] - 1:0]), - .dout(dccm_rdata_lo_r[pt[1382-:10] - 1:0]), - .en(lsu_dccm_rden_m | clk_override) - ); - rvdffe #(.WIDTH(2 * pt[1372-:7])) dccm_data_ecc_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din({dccm_data_ecc_hi_m[pt[1372-:7] - 1:0], dccm_data_ecc_lo_m[pt[1372-:7] - 1:0]}), - .dout({dccm_data_ecc_hi_r[pt[1372-:7] - 1:0], dccm_data_ecc_lo_r[pt[1372-:7] - 1:0]}), - .en(lsu_dccm_rden_m | clk_override) - ); - rvdff #(.WIDTH(8)) stbuf_fwdbyteen_ff( - .rst_l(rst_l), - .din({stbuf_fwdbyteen_hi_m[3:0], stbuf_fwdbyteen_lo_m[3:0]}), - .dout({stbuf_fwdbyteen_hi_r[3:0], stbuf_fwdbyteen_lo_r[3:0]}), - .clk(lsu_c2_r_clk) - ); - rvdffe #(.WIDTH(64)) stbuf_fwddata_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din({stbuf_fwddata_hi_m[31:0], stbuf_fwddata_lo_m[31:0]}), - .dout({stbuf_fwddata_hi_r[31:0], stbuf_fwddata_lo_r[31:0]}), - .en(stbuf_fwddata_en) - ); - rvdffe #(.WIDTH(32)) picm_rddata_rff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(picm_rd_data_m[31:0]), - .dout(picm_rd_data_r[31:0]), - .en(addr_in_pic_m | clk_override) - ); - rvdff #(.WIDTH(3)) dma_mem_tag_rff( - .rst_l(rst_l), - .din(dma_mem_tag_m[2:0]), - .dout(dma_mem_tag_r[2:0]), - .clk(lsu_c1_r_clk) - ); - end - else begin : L2U_Plus1_0 - wire [63:0] lsu_rdata_m; - wire [63:0] lsu_rdata_corr_m; - wire [63:0] dccm_rdata_m; - wire [63:0] dccm_rdata_corr_m; - wire [63:0] stbuf_fwddata_m; - wire [7:0] stbuf_fwdbyteen_m; - wire [63:32] lsu_ld_data_m_nc; - wire [63:32] lsu_ld_data_corr_m_nc; - wire [31:0] lsu_ld_data_corr_m; - assign dccm_dma_rvalid = (lsu_pkt_m[0] & lsu_pkt_m[7]) & lsu_pkt_m[4]; - assign dccm_dma_ecc_error = lsu_double_ecc_error_m; - assign dccm_dma_rtag[2:0] = dma_mem_tag_m[2:0]; - assign dccm_dma_rdata[63:0] = (ldst_dual_m ? lsu_rdata_corr_m[63:0] : {2 {lsu_rdata_corr_m[31:0]}}); - assign {lsu_ld_data_m_nc[63:32], lsu_ld_data_m[31:0]} = lsu_rdata_m[63:0] >> (8 * lsu_addr_m[1:0]); - assign {lsu_ld_data_corr_m_nc[63:32], lsu_ld_data_corr_m[31:0]} = lsu_rdata_corr_m[63:0] >> (8 * lsu_addr_m[1:0]); - assign dccm_rdata_m[63:0] = {dccm_rdata_hi_m[31:0], dccm_rdata_lo_m[31:0]}; - assign dccm_rdata_corr_m[63:0] = {sec_data_hi_m[31:0], sec_data_lo_m[31:0]}; - assign stbuf_fwddata_m[63:0] = {stbuf_fwddata_hi_m[31:0], stbuf_fwddata_lo_m[31:0]}; - assign stbuf_fwdbyteen_m[7:0] = {stbuf_fwdbyteen_hi_m[3:0], stbuf_fwdbyteen_lo_m[3:0]}; - genvar i; - for (i = 0; i < 8; i = i + 1) begin : GenLoop - assign lsu_rdata_corr_m[(8 * i) + 7:8 * i] = (stbuf_fwdbyteen_m[i] ? stbuf_fwddata_m[(8 * i) + 7:8 * i] : (addr_in_pic_m ? picm_rd_data_m[(8 * i) + 7:8 * i] : {8 {addr_in_dccm_m}} & dccm_rdata_corr_m[(8 * i) + 7:8 * i])); - assign lsu_rdata_m[(8 * i) + 7:8 * i] = (stbuf_fwdbyteen_m[i] ? stbuf_fwddata_m[(8 * i) + 7:8 * i] : (addr_in_pic_m ? picm_rd_data_m[(8 * i) + 7:8 * i] : {8 {addr_in_dccm_m}} & dccm_rdata_m[(8 * i) + 7:8 * i])); - end - rvdffe #(.WIDTH(32)) lsu_ld_data_corr_rff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(lsu_ld_data_corr_m[31:0]), - .dout(lsu_ld_data_corr_r[31:0]), - .en(((lsu_pkt_m[0] & lsu_pkt_m[7]) & (addr_in_pic_m | addr_in_dccm_m)) | clk_override) - ); - end - endgenerate - assign kill_ecc_corr_lo_r = ((((((lsu_addr_d[pt[1398-:9] - 1:2] == lsu_addr_r[pt[1398-:9] - 1:2]) | (end_addr_d[pt[1398-:9] - 1:2] == lsu_addr_r[pt[1398-:9] - 1:2])) & lsu_pkt_d[0]) & lsu_pkt_d[6]) & lsu_pkt_d[4]) & addr_in_dccm_d) | ((((((lsu_addr_m[pt[1398-:9] - 1:2] == lsu_addr_r[pt[1398-:9] - 1:2]) | (end_addr_m[pt[1398-:9] - 1:2] == lsu_addr_r[pt[1398-:9] - 1:2])) & lsu_pkt_m[0]) & lsu_pkt_m[6]) & lsu_pkt_m[4]) & addr_in_dccm_m); - assign kill_ecc_corr_hi_r = ((((((lsu_addr_d[pt[1398-:9] - 1:2] == end_addr_r[pt[1398-:9] - 1:2]) | (end_addr_d[pt[1398-:9] - 1:2] == end_addr_r[pt[1398-:9] - 1:2])) & lsu_pkt_d[0]) & lsu_pkt_d[6]) & lsu_pkt_d[4]) & addr_in_dccm_d) | ((((((lsu_addr_m[pt[1398-:9] - 1:2] == end_addr_r[pt[1398-:9] - 1:2]) | (end_addr_m[pt[1398-:9] - 1:2] == end_addr_r[pt[1398-:9] - 1:2])) & lsu_pkt_m[0]) & lsu_pkt_m[6]) & lsu_pkt_m[4]) & addr_in_dccm_m); - assign ld_single_ecc_error_lo_r = (lsu_pkt_r[7] & single_ecc_error_lo_r) & ~lsu_raw_fwd_lo_r; - assign ld_single_ecc_error_hi_r = (lsu_pkt_r[7] & single_ecc_error_hi_r) & ~lsu_raw_fwd_hi_r; - assign ld_single_ecc_error_r = (ld_single_ecc_error_lo_r | ld_single_ecc_error_hi_r) & ~lsu_double_ecc_error_r; - assign ld_single_ecc_error_lo_r_ns = (ld_single_ecc_error_lo_r & (lsu_commit_r | lsu_pkt_r[4])) & ~kill_ecc_corr_lo_r; - assign ld_single_ecc_error_hi_r_ns = (ld_single_ecc_error_hi_r & (lsu_commit_r | lsu_pkt_r[4])) & ~kill_ecc_corr_hi_r; - assign ld_single_ecc_error_r_ff = (ld_single_ecc_error_lo_r_ff | ld_single_ecc_error_hi_r_ff) & ~lsu_double_ecc_error_r_ff; - assign lsu_stbuf_commit_any = stbuf_reqvld_any & (~((lsu_dccm_rden_d | lsu_dccm_wren_d) | ld_single_ecc_error_r_ff) | (lsu_dccm_rden_d & ~((stbuf_addr_any[pt[1275-:6]+:pt[1405-:7]] == lsu_addr_d[pt[1275-:6]+:pt[1405-:7]]) | (stbuf_addr_any[pt[1275-:6]+:pt[1405-:7]] == end_addr_d[pt[1275-:6]+:pt[1405-:7]])))); - assign lsu_dccm_rden_d = (lsu_pkt_d[0] & (lsu_pkt_d[7] | (lsu_pkt_d[6] & (~(lsu_pkt_d[9] | lsu_pkt_d[8]) | (lsu_addr_d[1:0] != 2'b00))))) & addr_in_dccm_d; - assign lsu_dccm_wren_d = dma_dccm_wen; - assign dccm_wren = (lsu_dccm_wren_d | lsu_stbuf_commit_any) | ld_single_ecc_error_r_ff; - assign dccm_rden = lsu_dccm_rden_d & addr_in_dccm_d; - assign dccm_wr_addr_lo[pt[1398-:9] - 1:0] = (ld_single_ecc_error_r_ff ? (ld_single_ecc_error_lo_r_ff ? ld_sec_addr_lo_r_ff[pt[1398-:9] - 1:0] : ld_sec_addr_hi_r_ff[pt[1398-:9] - 1:0]) : (lsu_dccm_wren_d ? lsu_addr_d[pt[1398-:9] - 1:0] : stbuf_addr_any[pt[1398-:9] - 1:0])); - assign dccm_wr_addr_hi[pt[1398-:9] - 1:0] = (ld_single_ecc_error_r_ff ? (ld_single_ecc_error_hi_r_ff ? ld_sec_addr_hi_r_ff[pt[1398-:9] - 1:0] : ld_sec_addr_lo_r_ff[pt[1398-:9] - 1:0]) : (lsu_dccm_wren_d ? end_addr_d[pt[1398-:9] - 1:0] : stbuf_addr_any[pt[1398-:9] - 1:0])); - assign dccm_rd_addr_lo[pt[1398-:9] - 1:0] = lsu_addr_d[pt[1398-:9] - 1:0]; - assign dccm_rd_addr_hi[pt[1398-:9] - 1:0] = end_addr_d[pt[1398-:9] - 1:0]; - assign dccm_wr_data_lo[pt[1360-:10] - 1:0] = (ld_single_ecc_error_r_ff ? (ld_single_ecc_error_lo_r_ff ? {sec_data_ecc_lo_r_ff[pt[1372-:7] - 1:0], sec_data_lo_r_ff[pt[1382-:10] - 1:0]} : {sec_data_ecc_hi_r_ff[pt[1372-:7] - 1:0], sec_data_hi_r_ff[pt[1382-:10] - 1:0]}) : (dma_dccm_wen ? {dma_dccm_wdata_ecc_lo[pt[1372-:7] - 1:0], dma_dccm_wdata_lo[pt[1382-:10] - 1:0]} : {stbuf_ecc_any[pt[1372-:7] - 1:0], stbuf_data_any[pt[1382-:10] - 1:0]})); - assign dccm_wr_data_hi[pt[1360-:10] - 1:0] = (ld_single_ecc_error_r_ff ? (ld_single_ecc_error_hi_r_ff ? {sec_data_ecc_hi_r_ff[pt[1372-:7] - 1:0], sec_data_hi_r_ff[pt[1382-:10] - 1:0]} : {sec_data_ecc_lo_r_ff[pt[1372-:7] - 1:0], sec_data_lo_r_ff[pt[1382-:10] - 1:0]}) : (dma_dccm_wen ? {dma_dccm_wdata_ecc_hi[pt[1372-:7] - 1:0], dma_dccm_wdata_hi[pt[1382-:10] - 1:0]} : {stbuf_ecc_any[pt[1372-:7] - 1:0], stbuf_data_any[pt[1382-:10] - 1:0]})); - assign store_byteen_m[3:0] = {4 {lsu_pkt_m[6]}} & ((({4 {lsu_pkt_m[11]}} & 4'b0001) | ({4 {lsu_pkt_m[10]}} & 4'b0011)) | ({4 {lsu_pkt_m[9]}} & 4'b1111)); - assign store_byteen_r[3:0] = {4 {lsu_pkt_r[6]}} & ((({4 {lsu_pkt_r[11]}} & 4'b0001) | ({4 {lsu_pkt_r[10]}} & 4'b0011)) | ({4 {lsu_pkt_r[9]}} & 4'b1111)); - assign store_byteen_ext_m[7:0] = {4'b0000, store_byteen_m[3:0]} << lsu_addr_m[1:0]; - assign store_byteen_ext_r[7:0] = {4'b0000, store_byteen_r[3:0]} << lsu_addr_r[1:0]; - assign dccm_wr_bypass_d_m_lo = (stbuf_addr_any[pt[1398-:9] - 1:2] == lsu_addr_m[pt[1398-:9] - 1:2]) & addr_in_dccm_m; - assign dccm_wr_bypass_d_m_hi = (stbuf_addr_any[pt[1398-:9] - 1:2] == end_addr_m[pt[1398-:9] - 1:2]) & addr_in_dccm_m; - assign dccm_wr_bypass_d_r_lo = (stbuf_addr_any[pt[1398-:9] - 1:2] == lsu_addr_r[pt[1398-:9] - 1:2]) & addr_in_dccm_r; - assign dccm_wr_bypass_d_r_hi = (stbuf_addr_any[pt[1398-:9] - 1:2] == end_addr_r[pt[1398-:9] - 1:2]) & addr_in_dccm_r; - generate - if (pt[202-:5] == 1) begin : L2U1_Plus1_1 - wire dccm_wren_Q; - wire [31:0] dccm_wr_data_Q; - wire dccm_wr_bypass_d_m_lo_Q; - wire dccm_wr_bypass_d_m_hi_Q; - wire [31:0] store_data_pre_hi_r; - wire [31:0] store_data_pre_lo_r; - assign {store_data_pre_hi_r[31:0], store_data_pre_lo_r[31:0]} = {32'b00000000000000000000000000000000, store_data_r[31:0]} << (8 * lsu_addr_r[1:0]); - genvar i; - for (i = 0; i < 4; i = i + 1) begin - assign store_data_lo_r[(8 * i) + 7:8 * i] = (store_byteen_ext_r[i] ? store_data_pre_lo_r[(8 * i) + 7:8 * i] : (dccm_wren_Q & dccm_wr_bypass_d_m_lo_Q ? dccm_wr_data_Q[(8 * i) + 7:8 * i] : sec_data_lo_r[(8 * i) + 7:8 * i])); - assign store_data_hi_r[(8 * i) + 7:8 * i] = (store_byteen_ext_r[i + 4] ? store_data_pre_hi_r[(8 * i) + 7:8 * i] : (dccm_wren_Q & dccm_wr_bypass_d_m_hi_Q ? dccm_wr_data_Q[(8 * i) + 7:8 * i] : sec_data_hi_r[(8 * i) + 7:8 * i])); - assign store_datafn_lo_r[(8 * i) + 7:8 * i] = (store_byteen_ext_r[i] ? store_data_pre_lo_r[(8 * i) + 7:8 * i] : (lsu_stbuf_commit_any & dccm_wr_bypass_d_r_lo ? stbuf_data_any[(8 * i) + 7:8 * i] : (dccm_wren_Q & dccm_wr_bypass_d_m_lo_Q ? dccm_wr_data_Q[(8 * i) + 7:8 * i] : sec_data_lo_r[(8 * i) + 7:8 * i]))); - assign store_datafn_hi_r[(8 * i) + 7:8 * i] = (store_byteen_ext_r[i + 4] ? store_data_pre_hi_r[(8 * i) + 7:8 * i] : (lsu_stbuf_commit_any & dccm_wr_bypass_d_r_hi ? stbuf_data_any[(8 * i) + 7:8 * i] : (dccm_wren_Q & dccm_wr_bypass_d_m_hi_Q ? dccm_wr_data_Q[(8 * i) + 7:8 * i] : sec_data_hi_r[(8 * i) + 7:8 * i]))); - end - rvdff #(.WIDTH(1)) dccm_wren_ff( - .rst_l(rst_l), - .din(lsu_stbuf_commit_any), - .dout(dccm_wren_Q), - .clk(lsu_free_c2_clk) - ); - rvdffe #(.WIDTH(32)) dccm_wrdata_ff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(stbuf_data_any[31:0]), - .dout(dccm_wr_data_Q[31:0]), - .en(lsu_stbuf_commit_any | clk_override), - .clk(clk) - ); - rvdff #(.WIDTH(1)) dccm_wrbyp_dm_loff( - .rst_l(rst_l), - .din(dccm_wr_bypass_d_m_lo), - .dout(dccm_wr_bypass_d_m_lo_Q), - .clk(lsu_free_c2_clk) - ); - rvdff #(.WIDTH(1)) dccm_wrbyp_dm_hiff( - .rst_l(rst_l), - .din(dccm_wr_bypass_d_m_hi), - .dout(dccm_wr_bypass_d_m_hi_Q), - .clk(lsu_free_c2_clk) - ); - rvdff #(.WIDTH(32)) store_data_rff( - .rst_l(rst_l), - .din(store_data_m[31:0]), - .dout(store_data_r[31:0]), - .clk(lsu_store_c1_r_clk) - ); - end - else begin : L2U1_Plus1_0 - wire [31:0] store_data_hi_m; - wire [31:0] store_data_lo_m; - wire [63:0] store_data_mask; - assign {store_data_hi_m[31:0], store_data_lo_m[31:0]} = {32'b00000000000000000000000000000000, store_data_m[31:0]} << (8 * lsu_addr_m[1:0]); - genvar i; - for (i = 0; i < 4; i = i + 1) begin - assign store_data_hi_r_in[(8 * i) + 7:8 * i] = (store_byteen_ext_m[i + 4] ? store_data_hi_m[(8 * i) + 7:8 * i] : (lsu_stbuf_commit_any & dccm_wr_bypass_d_m_hi ? stbuf_data_any[(8 * i) + 7:8 * i] : sec_data_hi_m[(8 * i) + 7:8 * i])); - assign store_data_lo_r_in[(8 * i) + 7:8 * i] = (store_byteen_ext_m[i] ? store_data_lo_m[(8 * i) + 7:8 * i] : (lsu_stbuf_commit_any & dccm_wr_bypass_d_m_lo ? stbuf_data_any[(8 * i) + 7:8 * i] : sec_data_lo_m[(8 * i) + 7:8 * i])); - assign store_datafn_lo_r[(8 * i) + 7:8 * i] = ((lsu_stbuf_commit_any & dccm_wr_bypass_d_r_lo) & ~store_byteen_ext_r[i] ? stbuf_data_any[(8 * i) + 7:8 * i] : store_data_lo_r[(8 * i) + 7:8 * i]); - assign store_datafn_hi_r[(8 * i) + 7:8 * i] = ((lsu_stbuf_commit_any & dccm_wr_bypass_d_r_hi) & ~store_byteen_ext_r[i + 4] ? stbuf_data_any[(8 * i) + 7:8 * i] : store_data_hi_r[(8 * i) + 7:8 * i]); - end - for (i = 0; i < 4; i = i + 1) assign store_data_mask[(8 * i) + 7:8 * i] = {8 {store_byteen_r[i]}}; - function automatic [31:0] sv2v_cast_32; - input reg [31:0] inp; - sv2v_cast_32 = inp; - endfunction - assign store_data_r[31:0] = sv2v_cast_32({store_data_hi_r[31:0], store_data_lo_r[31:0]} >> (8 * lsu_addr_r[1:0])) & store_data_mask[31:0]; - rvdffe #(.WIDTH(pt[1382-:10])) store_data_hi_rff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(store_data_hi_r_in[pt[1382-:10] - 1:0]), - .dout(store_data_hi_r[pt[1382-:10] - 1:0]), - .en(((ldst_dual_m & lsu_pkt_m[0]) & lsu_pkt_m[6]) | clk_override), - .clk(clk) - ); - rvdff #(.WIDTH(pt[1382-:10])) store_data_lo_rff( - .rst_l(rst_l), - .din(store_data_lo_r_in[pt[1382-:10] - 1:0]), - .dout(store_data_lo_r[pt[1382-:10] - 1:0]), - .clk(lsu_store_c1_r_clk) - ); - end - endgenerate - assign dccm_rdata_lo_m[pt[1382-:10] - 1:0] = dccm_rd_data_lo[pt[1382-:10] - 1:0]; - assign dccm_rdata_hi_m[pt[1382-:10] - 1:0] = dccm_rd_data_hi[pt[1382-:10] - 1:0]; - assign dccm_data_ecc_lo_m[pt[1372-:7] - 1:0] = dccm_rd_data_lo[pt[1360-:10] - 1:pt[1382-:10]]; - assign dccm_data_ecc_hi_m[pt[1372-:7] - 1:0] = dccm_rd_data_hi[pt[1360-:10] - 1:pt[1382-:10]]; - assign picm_wren = (((lsu_pkt_r[0] & lsu_pkt_r[6]) & addr_in_pic_r) & lsu_commit_r) | dma_pic_wen; - assign picm_rden = (lsu_pkt_d[0] & lsu_pkt_d[7]) & addr_in_pic_d; - assign picm_mken = (lsu_pkt_d[0] & lsu_pkt_d[6]) & addr_in_pic_d; - assign picm_rdaddr[31:0] = pt[130-:36] | {{32 - pt[94-:9] {1'b0}}, lsu_addr_d[pt[94-:9] - 1:0]}; - assign picm_wraddr[31:0] = pt[130-:36] | {{32 - pt[94-:9] {1'b0}}, (dma_pic_wen ? dma_mem_addr[pt[94-:9] - 1:0] : lsu_addr_r[pt[94-:9] - 1:0])}; - assign picm_wr_data[31:0] = (dma_pic_wen ? dma_mem_wdata[31:0] : store_datafn_lo_r[31:0]); - assign picm_mask_data_m[31:0] = picm_rd_data_m[31:0]; - assign picm_rd_data_m[63:0] = {picm_rd_data[31:0], picm_rd_data[31:0]}; - generate - if (pt[1365-:5] == 1) begin : Gen_dccm_enable - rvdff #(.WIDTH(1)) dccm_rden_mff( - .rst_l(rst_l), - .din(lsu_dccm_rden_d), - .dout(lsu_dccm_rden_m), - .clk(lsu_c2_m_clk) - ); - rvdff #(.WIDTH(1)) dccm_rden_rff( - .rst_l(rst_l), - .din(lsu_dccm_rden_m), - .dout(lsu_dccm_rden_r), - .clk(lsu_c2_r_clk) - ); - rvdff #(.WIDTH(1)) ld_double_ecc_error_rff( - .rst_l(rst_l), - .din(lsu_double_ecc_error_r), - .dout(lsu_double_ecc_error_r_ff), - .clk(lsu_free_c2_clk) - ); - rvdff #(.WIDTH(1)) ld_single_ecc_error_hi_rff( - .rst_l(rst_l), - .din(ld_single_ecc_error_hi_r_ns), - .dout(ld_single_ecc_error_hi_r_ff), - .clk(lsu_free_c2_clk) - ); - rvdff #(.WIDTH(1)) ld_single_ecc_error_lo_rff( - .rst_l(rst_l), - .din(ld_single_ecc_error_lo_r_ns), - .dout(ld_single_ecc_error_lo_r_ff), - .clk(lsu_free_c2_clk) - ); - rvdffe #(.WIDTH(pt[1398-:9])) ld_sec_addr_hi_rff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(end_addr_r[pt[1398-:9] - 1:0]), - .dout(ld_sec_addr_hi_r_ff[pt[1398-:9] - 1:0]), - .en(ld_single_ecc_error_r | clk_override), - .clk(clk) - ); - rvdffe #(.WIDTH(pt[1398-:9])) ld_sec_addr_lo_rff( - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(lsu_addr_r[pt[1398-:9] - 1:0]), - .dout(ld_sec_addr_lo_r_ff[pt[1398-:9] - 1:0]), - .en(ld_single_ecc_error_r | clk_override), - .clk(clk) - ); - end - else begin : Gen_dccm_disable - assign lsu_dccm_rden_m = 1'b0; - assign lsu_dccm_rden_r = 1'b0; - assign lsu_double_ecc_error_r_ff = 1'b0; - assign ld_single_ecc_error_hi_r_ff = 1'b0; - assign ld_single_ecc_error_lo_r_ff = 1'b0; - assign ld_sec_addr_hi_r_ff[pt[1398-:9] - 1:0] = {pt[1398-:9] {1'sb0}}; - assign ld_sec_addr_lo_r_ff[pt[1398-:9] - 1:0] = {pt[1398-:9] {1'sb0}}; - end - endgenerate -endmodule -module eb1_lsu_dccm_mem ( -`ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif - clk, - active_clk, - rst_l, - clk_override, - dccm_wren, - dccm_rden, - dccm_wr_addr_lo, - dccm_wr_addr_hi, - dccm_rd_addr_lo, - dccm_rd_addr_hi, - dccm_wr_data_lo, - dccm_wr_data_hi, - dccm_ext_in_pkt, - dccm_rd_data_lo, - dccm_rd_data_hi, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; -`ifdef USE_POWER_PINS - inout wire vccd1; - inout wire vssd1; -`endif - input wire clk; - input wire active_clk; - input wire rst_l; - input wire clk_override; - input wire dccm_wren; - input wire dccm_rden; - input wire [pt[1398-:9] - 1:0] dccm_wr_addr_lo; - input wire [pt[1398-:9] - 1:0] dccm_wr_addr_hi; - input wire [pt[1398-:9] - 1:0] dccm_rd_addr_lo; - input wire [pt[1398-:9] - 1:0] dccm_rd_addr_hi; - input wire [pt[1360-:10] - 1:0] dccm_wr_data_lo; - input wire [pt[1360-:10] - 1:0] dccm_wr_data_hi; - input wire [(pt[1342-:9] * 12) - 1:0] dccm_ext_in_pkt; - output wire [pt[1360-:10] - 1:0] dccm_rd_data_lo; - output wire [pt[1360-:10] - 1:0] dccm_rd_data_hi; - input wire scan_mode; - localparam DCCM_WIDTH_BITS = $clog2(pt[1389-:7]); - localparam DCCM_INDEX_BITS = (pt[1398-:9] - pt[1405-:7]) - pt[1275-:6]; - localparam DCCM_INDEX_DEPTH = (pt[1289-:14] * 1024) / (pt[1389-:7] * pt[1342-:9]); - wire [pt[1342-:9] - 1:0] wren_bank; - wire [pt[1342-:9] - 1:0] rden_bank; - wire [((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? (pt[1342-:9] * (((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1)) + (pt[1405-:7] + 1) : (pt[1342-:9] * (((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)) + (pt[1398-:9] - 2)):((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1)] addr_bank; - wire [pt[1398-:9] - 1:pt[1405-:7] + DCCM_WIDTH_BITS] rd_addr_even; - wire [pt[1398-:9] - 1:pt[1405-:7] + DCCM_WIDTH_BITS] rd_addr_odd; - wire rd_unaligned; - wire wr_unaligned; - wire [(pt[1342-:9] * pt[1360-:10]) - 1:0] dccm_bank_dout; - wire [pt[1360-:10] - 1:0] wrdata; - wire [(pt[1342-:9] * pt[1360-:10]) - 1:0] wr_data_bank; - wire [(DCCM_WIDTH_BITS + pt[1405-:7]) - 1:DCCM_WIDTH_BITS] dccm_rd_addr_lo_q; - wire [(DCCM_WIDTH_BITS + pt[1405-:7]) - 1:DCCM_WIDTH_BITS] dccm_rd_addr_hi_q; - wire [pt[1342-:9] - 1:0] dccm_clken; - assign rd_unaligned = dccm_rd_addr_lo[DCCM_WIDTH_BITS+:pt[1405-:7]] != dccm_rd_addr_hi[DCCM_WIDTH_BITS+:pt[1405-:7]]; - assign wr_unaligned = dccm_wr_addr_lo[DCCM_WIDTH_BITS+:pt[1405-:7]] != dccm_wr_addr_hi[DCCM_WIDTH_BITS+:pt[1405-:7]]; - assign dccm_rd_data_lo[pt[1360-:10] - 1:0] = dccm_bank_dout[(dccm_rd_addr_lo_q[pt[1275-:6]+:pt[1405-:7]] * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]; - assign dccm_rd_data_hi[pt[1360-:10] - 1:0] = dccm_bank_dout[(dccm_rd_addr_hi_q[DCCM_WIDTH_BITS+:pt[1405-:7]] * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]; - generate - genvar i; - for (i = 0; i < pt[1342-:9]; i = i + 1) begin : mem_bank - assign wren_bank[i] = dccm_wren & ((dccm_wr_addr_hi[2+:pt[1405-:7]] == i) | (dccm_wr_addr_lo[2+:pt[1405-:7]] == i)); - assign rden_bank[i] = dccm_rden & ((dccm_rd_addr_hi[2+:pt[1405-:7]] == i) | (dccm_rd_addr_lo[2+:pt[1405-:7]] == i)); - assign addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)) + ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + DCCM_WIDTH_BITS : (pt[1405-:7] + 2) - ((pt[1405-:7] + DCCM_WIDTH_BITS) - (pt[1398-:9] - 1))) : (((i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)) + ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + DCCM_WIDTH_BITS : (pt[1405-:7] + 2) - ((pt[1405-:7] + DCCM_WIDTH_BITS) - (pt[1398-:9] - 1)))) - DCCM_INDEX_BITS) + 1)+:DCCM_INDEX_BITS] = (wren_bank[i] ? ((dccm_wr_addr_hi[2+:pt[1405-:7]] == i) & wr_unaligned ? dccm_wr_addr_hi[pt[1405-:7] + DCCM_WIDTH_BITS+:DCCM_INDEX_BITS] : dccm_wr_addr_lo[pt[1405-:7] + DCCM_WIDTH_BITS+:DCCM_INDEX_BITS]) : ((dccm_rd_addr_hi[2+:pt[1405-:7]] == i) & rd_unaligned ? dccm_rd_addr_hi[pt[1405-:7] + DCCM_WIDTH_BITS+:DCCM_INDEX_BITS] : dccm_rd_addr_lo[pt[1405-:7] + DCCM_WIDTH_BITS+:DCCM_INDEX_BITS])); - assign wr_data_bank[i * pt[1360-:10]+:pt[1360-:10]] = ((dccm_wr_addr_hi[2+:pt[1405-:7]] == i) & wr_unaligned ? dccm_wr_data_hi[pt[1360-:10] - 1:0] : dccm_wr_data_lo[pt[1360-:10] - 1:0]); - assign dccm_clken[i] = (wren_bank[i] | rden_bank[i]) | clk_override; - if (DCCM_INDEX_DEPTH == 32768) begin : dccm - ram_32768x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 16384) begin : dccm - ram_16384x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 8192) begin : dccm - ram_8192x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 4096) begin : dccm - ram_4096x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 3072) begin : dccm - ram_3072x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 2048) begin : dccm - ram_2048x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 1024) begin : dccm - sky130_sram_1kbyte_1rw1r_32x256_8 sram( - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(~dccm_clken[i]), - .web0(~wren_bank[i]), - .wmask0(4'hf), - .addr0(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .din0(wr_data_bank[i * pt[1360-:10]+:pt[1360-:10]]), - .dout0(dccm_bank_dout[i * pt[1360-:10]+:pt[1360-:10]]), - .clk1(clk), - .csb1(1'b1), - .addr1(8'h00), - .dout1() - ); - end - else if (DCCM_INDEX_DEPTH == 512) begin : dccm - ram_512x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - else if (DCCM_INDEX_DEPTH == 256) begin : dccm - /*sky130_sram_1kbyte_1rw1r_32x256_8 sram( - `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(~dccm_clken[i]), - .web0(~wren_bank[i]), - .wmask0(4'hf), - .addr0(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .din0(wr_data_bank[(i * pt[1360-:10]) + 31-:32]), - .dout0(dccm_bank_dout[(i * pt[1360-:10]) + 31-:32]), - .clk1(clk), - .csb1(1'b1), - .addr1(8'h00), - .dout1() - );*/ - /*SRAM64x32 dccm( - `ifdef USE_POWER_PINS - .VPWR(vccd1), - .VGND(vssd1), - `endif - .CLK(clk), - .WE({4{wren_bank[i]}}), - .EN(dccm_clken[i]), - .Di(wr_data_bank[(i * pt[1360-:10]) + 31-:32]), - .Do(dccm_bank_dout[(i * pt[1360-:10]) + 31-:32]), - .A(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]) -);*/ - - DFFRAM dccm - ( - `ifdef USE_POWER_PINS - .VPWR(vccd1), - .VGND(vssd1), - `endif - .CLK(clk), - .WE({4{wren_bank[i]}}), - .EN(dccm_clken[i]), - .Di(wr_data_bank[(i * pt[1360-:10]) + 31-:32]), - .Do(dccm_bank_dout[(i * pt[1360-:10]) + 31-:32]), - .A(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]) - ); - end - else if (DCCM_INDEX_DEPTH == 128) begin : dccm - ram_128x39 dccm_bank( - .ME(dccm_clken[i]), - .CLK(clk), - .WE(wren_bank[i]), - .ADR(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]), - .D(wr_data_bank[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .Q(dccm_bank_dout[(i * pt[1360-:10]) + (pt[1360-:10] - 1)-:pt[1360-:10]]), - .ROP(), - .TEST1(dccm_ext_in_pkt[(i * 12) + 11]), - .RME(dccm_ext_in_pkt[(i * 12) + 10]), - .RM(dccm_ext_in_pkt[(i * 12) + 9-:4]), - .LS(dccm_ext_in_pkt[(i * 12) + 5]), - .DS(dccm_ext_in_pkt[(i * 12) + 4]), - .SD(dccm_ext_in_pkt[(i * 12) + 3]), - .TEST_RNM(dccm_ext_in_pkt[(i * 12) + 2]), - .BC1(dccm_ext_in_pkt[(i * 12) + 1]), - .BC2(dccm_ext_in_pkt[i * 12]), - .* - ); - end - end - endgenerate - rvdff #(.WIDTH(pt[1405-:7])) rd_addr_lo_ff( - .rst_l(rst_l), - .din(dccm_rd_addr_lo[DCCM_WIDTH_BITS+:pt[1405-:7]]), - .dout(dccm_rd_addr_lo_q[DCCM_WIDTH_BITS+:pt[1405-:7]]), - .clk(active_clk) - ); - rvdff #(.WIDTH(pt[1405-:7])) rd_addr_hi_ff( - .rst_l(rst_l), - .din(dccm_rd_addr_hi[DCCM_WIDTH_BITS+:pt[1405-:7]]), - .dout(dccm_rd_addr_hi_q[DCCM_WIDTH_BITS+:pt[1405-:7]]), - .clk(active_clk) - ); -endmodule -module eb1_lsu_ecc ( - clk, - lsu_c2_r_clk, - clk_override, - rst_l, - scan_mode, - lsu_pkt_m, - lsu_pkt_r, - stbuf_data_any, - dec_tlu_core_ecc_disable, - lsu_dccm_rden_r, - addr_in_dccm_r, - lsu_addr_r, - end_addr_r, - dccm_rdata_hi_r, - dccm_rdata_lo_r, - dccm_data_ecc_hi_r, - dccm_data_ecc_lo_r, - sec_data_hi_r, - sec_data_lo_r, - sec_data_hi_r_ff, - sec_data_lo_r_ff, - ld_single_ecc_error_r, - ld_single_ecc_error_r_ff, - lsu_dccm_rden_m, - addr_in_dccm_m, - lsu_addr_m, - end_addr_m, - dccm_rdata_hi_m, - dccm_rdata_lo_m, - dccm_data_ecc_hi_m, - dccm_data_ecc_lo_m, - sec_data_hi_m, - sec_data_lo_m, - dma_dccm_wen, - dma_dccm_wdata_lo, - dma_dccm_wdata_hi, - dma_dccm_wdata_ecc_hi, - dma_dccm_wdata_ecc_lo, - stbuf_ecc_any, - sec_data_ecc_hi_r_ff, - sec_data_ecc_lo_r_ff, - single_ecc_error_hi_r, - single_ecc_error_lo_r, - lsu_single_ecc_error_r, - lsu_double_ecc_error_r, - lsu_single_ecc_error_m, - lsu_double_ecc_error_m -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire lsu_c2_r_clk; - input wire clk_override; - input wire rst_l; - input wire scan_mode; - input wire [13:0] lsu_pkt_m; - input wire [13:0] lsu_pkt_r; - input wire [pt[1382-:10] - 1:0] stbuf_data_any; - input wire dec_tlu_core_ecc_disable; - input wire lsu_dccm_rden_r; - input wire addr_in_dccm_r; - input wire [pt[1398-:9] - 1:0] lsu_addr_r; - input wire [pt[1398-:9] - 1:0] end_addr_r; - input wire [pt[1382-:10] - 1:0] dccm_rdata_hi_r; - input wire [pt[1382-:10] - 1:0] dccm_rdata_lo_r; - input wire [pt[1372-:7] - 1:0] dccm_data_ecc_hi_r; - input wire [pt[1372-:7] - 1:0] dccm_data_ecc_lo_r; - output wire [pt[1382-:10] - 1:0] sec_data_hi_r; - output wire [pt[1382-:10] - 1:0] sec_data_lo_r; - output wire [pt[1382-:10] - 1:0] sec_data_hi_r_ff; - output wire [pt[1382-:10] - 1:0] sec_data_lo_r_ff; - input wire ld_single_ecc_error_r; - input wire ld_single_ecc_error_r_ff; - input wire lsu_dccm_rden_m; - input wire addr_in_dccm_m; - input wire [pt[1398-:9] - 1:0] lsu_addr_m; - input wire [pt[1398-:9] - 1:0] end_addr_m; - input wire [pt[1382-:10] - 1:0] dccm_rdata_hi_m; - input wire [pt[1382-:10] - 1:0] dccm_rdata_lo_m; - input wire [pt[1372-:7] - 1:0] dccm_data_ecc_hi_m; - input wire [pt[1372-:7] - 1:0] dccm_data_ecc_lo_m; - output wire [pt[1382-:10] - 1:0] sec_data_hi_m; - output wire [pt[1382-:10] - 1:0] sec_data_lo_m; - input wire dma_dccm_wen; - input wire [31:0] dma_dccm_wdata_lo; - input wire [31:0] dma_dccm_wdata_hi; - output wire [pt[1372-:7] - 1:0] dma_dccm_wdata_ecc_hi; - output wire [pt[1372-:7] - 1:0] dma_dccm_wdata_ecc_lo; - output wire [pt[1372-:7] - 1:0] stbuf_ecc_any; - output wire [pt[1372-:7] - 1:0] sec_data_ecc_hi_r_ff; - output wire [pt[1372-:7] - 1:0] sec_data_ecc_lo_r_ff; - output wire single_ecc_error_hi_r; - output wire single_ecc_error_lo_r; - output wire lsu_single_ecc_error_r; - output wire lsu_double_ecc_error_r; - output wire lsu_single_ecc_error_m; - output wire lsu_double_ecc_error_m; - wire is_ldst_r; - wire is_ldst_hi_any; - wire is_ldst_lo_any; - wire [pt[1382-:10] - 1:0] dccm_wdata_hi_any; - wire [pt[1382-:10] - 1:0] dccm_wdata_lo_any; - wire [pt[1372-:7] - 1:0] dccm_wdata_ecc_hi_any; - wire [pt[1372-:7] - 1:0] dccm_wdata_ecc_lo_any; - wire [pt[1382-:10] - 1:0] dccm_rdata_hi_any; - wire [pt[1382-:10] - 1:0] dccm_rdata_lo_any; - wire [pt[1372-:7] - 1:0] dccm_data_ecc_hi_any; - wire [pt[1372-:7] - 1:0] dccm_data_ecc_lo_any; - wire [pt[1382-:10] - 1:0] sec_data_hi_any; - wire [pt[1382-:10] - 1:0] sec_data_lo_any; - wire single_ecc_error_hi_any; - wire single_ecc_error_lo_any; - wire double_ecc_error_hi_any; - wire double_ecc_error_lo_any; - wire double_ecc_error_hi_m; - wire double_ecc_error_lo_m; - wire double_ecc_error_hi_r; - wire double_ecc_error_lo_r; - wire [6:0] ecc_out_hi_nc; - wire [6:0] ecc_out_lo_nc; - generate - if (pt[202-:5] == 1) begin : L2U_Plus1_1 - wire ldst_dual_m; - wire ldst_dual_r; - wire is_ldst_m; - wire is_ldst_hi_r; - wire is_ldst_lo_r; - assign ldst_dual_r = lsu_addr_r[2] != end_addr_r[2]; - assign is_ldst_r = ((lsu_pkt_r[0] & (lsu_pkt_r[7] | lsu_pkt_r[6])) & addr_in_dccm_r) & lsu_dccm_rden_r; - assign is_ldst_lo_r = is_ldst_r & ~dec_tlu_core_ecc_disable; - assign is_ldst_hi_r = (is_ldst_r & ldst_dual_r) & ~dec_tlu_core_ecc_disable; - assign is_ldst_hi_any = is_ldst_hi_r; - assign dccm_rdata_hi_any[pt[1382-:10] - 1:0] = dccm_rdata_hi_r[pt[1382-:10] - 1:0]; - assign dccm_data_ecc_hi_any[pt[1372-:7] - 1:0] = dccm_data_ecc_hi_r[pt[1372-:7] - 1:0]; - assign is_ldst_lo_any = is_ldst_lo_r; - assign dccm_rdata_lo_any[pt[1382-:10] - 1:0] = dccm_rdata_lo_r[pt[1382-:10] - 1:0]; - assign dccm_data_ecc_lo_any[pt[1372-:7] - 1:0] = dccm_data_ecc_lo_r[pt[1372-:7] - 1:0]; - assign sec_data_hi_r[pt[1382-:10] - 1:0] = sec_data_hi_any[pt[1382-:10] - 1:0]; - assign single_ecc_error_hi_r = single_ecc_error_hi_any; - assign double_ecc_error_hi_r = double_ecc_error_hi_any; - assign sec_data_lo_r[pt[1382-:10] - 1:0] = sec_data_lo_any[pt[1382-:10] - 1:0]; - assign single_ecc_error_lo_r = single_ecc_error_lo_any; - assign double_ecc_error_lo_r = double_ecc_error_lo_any; - assign lsu_single_ecc_error_r = single_ecc_error_hi_r | single_ecc_error_lo_r; - assign lsu_double_ecc_error_r = double_ecc_error_hi_r | double_ecc_error_lo_r; - end - else begin : L2U_Plus1_0 - wire ldst_dual_m; - wire is_ldst_m; - wire is_ldst_hi_m; - wire is_ldst_lo_m; - assign ldst_dual_m = lsu_addr_m[2] != end_addr_m[2]; - assign is_ldst_m = ((lsu_pkt_m[0] & (lsu_pkt_m[7] | lsu_pkt_m[6])) & addr_in_dccm_m) & lsu_dccm_rden_m; - assign is_ldst_lo_m = is_ldst_m & ~dec_tlu_core_ecc_disable; - assign is_ldst_hi_m = (is_ldst_m & (ldst_dual_m | lsu_pkt_m[4])) & ~dec_tlu_core_ecc_disable; - assign is_ldst_hi_any = is_ldst_hi_m; - assign dccm_rdata_hi_any[pt[1382-:10] - 1:0] = dccm_rdata_hi_m[pt[1382-:10] - 1:0]; - assign dccm_data_ecc_hi_any[pt[1372-:7] - 1:0] = dccm_data_ecc_hi_m[pt[1372-:7] - 1:0]; - assign is_ldst_lo_any = is_ldst_lo_m; - assign dccm_rdata_lo_any[pt[1382-:10] - 1:0] = dccm_rdata_lo_m[pt[1382-:10] - 1:0]; - assign dccm_data_ecc_lo_any[pt[1372-:7] - 1:0] = dccm_data_ecc_lo_m[pt[1372-:7] - 1:0]; - assign sec_data_hi_m[pt[1382-:10] - 1:0] = sec_data_hi_any[pt[1382-:10] - 1:0]; - assign double_ecc_error_hi_m = double_ecc_error_hi_any; - assign sec_data_lo_m[pt[1382-:10] - 1:0] = sec_data_lo_any[pt[1382-:10] - 1:0]; - assign double_ecc_error_lo_m = double_ecc_error_lo_any; - assign lsu_single_ecc_error_m = single_ecc_error_hi_any | single_ecc_error_lo_any; - assign lsu_double_ecc_error_m = double_ecc_error_hi_m | double_ecc_error_lo_m; - rvdff #(.WIDTH(1)) lsu_single_ecc_err_r( - .din(lsu_single_ecc_error_m), - .dout(lsu_single_ecc_error_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) lsu_double_ecc_err_r( - .din(lsu_double_ecc_error_m), - .dout(lsu_double_ecc_error_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) ldst_sec_lo_rff( - .din(single_ecc_error_lo_any), - .dout(single_ecc_error_lo_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) ldst_sec_hi_rff( - .din(single_ecc_error_hi_any), - .dout(single_ecc_error_hi_r), - .clk(lsu_c2_r_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(pt[1382-:10])) sec_data_hi_rff( - .din(sec_data_hi_m[pt[1382-:10] - 1:0]), - .dout(sec_data_hi_r[pt[1382-:10] - 1:0]), - .en(lsu_single_ecc_error_m | clk_override), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffe #(.WIDTH(pt[1382-:10])) sec_data_lo_rff( - .din(sec_data_lo_m[pt[1382-:10] - 1:0]), - .dout(sec_data_lo_r[pt[1382-:10] - 1:0]), - .en(lsu_single_ecc_error_m | clk_override), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - end - endgenerate - assign dccm_wdata_lo_any[pt[1382-:10] - 1:0] = (ld_single_ecc_error_r_ff ? sec_data_lo_r_ff[pt[1382-:10] - 1:0] : (dma_dccm_wen ? dma_dccm_wdata_lo[pt[1382-:10] - 1:0] : stbuf_data_any[pt[1382-:10] - 1:0])); - assign dccm_wdata_hi_any[pt[1382-:10] - 1:0] = (ld_single_ecc_error_r_ff ? sec_data_hi_r_ff[pt[1382-:10] - 1:0] : (dma_dccm_wen ? dma_dccm_wdata_hi[pt[1382-:10] - 1:0] : 32'h00000000)); - assign sec_data_ecc_hi_r_ff[pt[1372-:7] - 1:0] = dccm_wdata_ecc_hi_any[pt[1372-:7] - 1:0]; - assign sec_data_ecc_lo_r_ff[pt[1372-:7] - 1:0] = dccm_wdata_ecc_lo_any[pt[1372-:7] - 1:0]; - assign stbuf_ecc_any[pt[1372-:7] - 1:0] = dccm_wdata_ecc_lo_any[pt[1372-:7] - 1:0]; - assign dma_dccm_wdata_ecc_hi[pt[1372-:7] - 1:0] = dccm_wdata_ecc_hi_any[pt[1372-:7] - 1:0]; - assign dma_dccm_wdata_ecc_lo[pt[1372-:7] - 1:0] = dccm_wdata_ecc_lo_any[pt[1372-:7] - 1:0]; - generate - if (pt[1365-:5] == 1) begin : Gen_dccm_enable - rvecc_decode lsu_ecc_decode_hi( - .en(is_ldst_hi_any), - .sed_ded(1'b0), - .din(dccm_rdata_hi_any[pt[1382-:10] - 1:0]), - .ecc_in(dccm_data_ecc_hi_any[pt[1372-:7] - 1:0]), - .dout(sec_data_hi_any[pt[1382-:10] - 1:0]), - .ecc_out(ecc_out_hi_nc[6:0]), - .single_ecc_error(single_ecc_error_hi_any), - .double_ecc_error(double_ecc_error_hi_any) - ); - rvecc_decode lsu_ecc_decode_lo( - .en(is_ldst_lo_any), - .sed_ded(1'b0), - .din(dccm_rdata_lo_any[pt[1382-:10] - 1:0]), - .ecc_in(dccm_data_ecc_lo_any[pt[1372-:7] - 1:0]), - .dout(sec_data_lo_any[pt[1382-:10] - 1:0]), - .ecc_out(ecc_out_lo_nc[6:0]), - .single_ecc_error(single_ecc_error_lo_any), - .double_ecc_error(double_ecc_error_lo_any) - ); - rvecc_encode lsu_ecc_encode_hi( - .din(dccm_wdata_hi_any[pt[1382-:10] - 1:0]), - .ecc_out(dccm_wdata_ecc_hi_any[pt[1372-:7] - 1:0]) - ); - rvecc_encode lsu_ecc_encode_lo( - .din(dccm_wdata_lo_any[pt[1382-:10] - 1:0]), - .ecc_out(dccm_wdata_ecc_lo_any[pt[1372-:7] - 1:0]) - ); - end - else begin : Gen_dccm_disable - assign sec_data_hi_any[pt[1382-:10] - 1:0] = {pt[1382-:10] {1'sb0}}; - assign sec_data_lo_any[pt[1382-:10] - 1:0] = {pt[1382-:10] {1'sb0}}; - assign single_ecc_error_hi_any = 1'b0; - assign double_ecc_error_hi_any = 1'b0; - assign single_ecc_error_lo_any = 1'b0; - assign double_ecc_error_lo_any = 1'b0; - end - endgenerate - rvdffe #(.WIDTH(pt[1382-:10])) sec_data_hi_rplus1ff( - .din(sec_data_hi_r[pt[1382-:10] - 1:0]), - .dout(sec_data_hi_r_ff[pt[1382-:10] - 1:0]), - .en(ld_single_ecc_error_r | clk_override), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffe #(.WIDTH(pt[1382-:10])) sec_data_lo_rplus1ff( - .din(sec_data_lo_r[pt[1382-:10] - 1:0]), - .dout(sec_data_lo_r_ff[pt[1382-:10] - 1:0]), - .en(ld_single_ecc_error_r | clk_override), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); -endmodule -module eb1_lsu_lsc_ctl ( - rst_l, - clk_override, - clk, - lsu_c1_m_clk, - lsu_c1_r_clk, - lsu_c2_m_clk, - lsu_c2_r_clk, - lsu_store_c1_m_clk, - lsu_ld_data_r, - lsu_ld_data_corr_r, - lsu_single_ecc_error_r, - lsu_double_ecc_error_r, - lsu_ld_data_m, - lsu_single_ecc_error_m, - lsu_double_ecc_error_m, - flush_m_up, - flush_r, - ldst_dual_d, - ldst_dual_m, - ldst_dual_r, - exu_lsu_rs1_d, - exu_lsu_rs2_d, - lsu_p, - dec_lsu_valid_raw_d, - dec_lsu_offset_d, - picm_mask_data_m, - bus_read_data_m, - lsu_result_m, - lsu_result_corr_r, - lsu_addr_d, - lsu_addr_m, - lsu_addr_r, - end_addr_d, - end_addr_m, - end_addr_r, - store_data_m, - dec_tlu_mrac_ff, - lsu_exc_m, - is_sideeffects_m, - lsu_commit_r, - lsu_single_ecc_error_incr, - lsu_error_pkt_r, - lsu_fir_addr, - lsu_fir_error, - addr_in_dccm_d, - addr_in_dccm_m, - addr_in_dccm_r, - addr_in_pic_d, - addr_in_pic_m, - addr_in_pic_r, - addr_external_m, - dma_dccm_req, - dma_mem_addr, - dma_mem_sz, - dma_mem_write, - dma_mem_wdata, - lsu_pkt_d, - lsu_pkt_m, - lsu_pkt_r, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire rst_l; - input wire clk_override; - input wire clk; - input wire lsu_c1_m_clk; - input wire lsu_c1_r_clk; - input wire lsu_c2_m_clk; - input wire lsu_c2_r_clk; - input wire lsu_store_c1_m_clk; - input wire [31:0] lsu_ld_data_r; - input wire [31:0] lsu_ld_data_corr_r; - input wire lsu_single_ecc_error_r; - input wire lsu_double_ecc_error_r; - input wire [31:0] lsu_ld_data_m; - input wire lsu_single_ecc_error_m; - input wire lsu_double_ecc_error_m; - input wire flush_m_up; - input wire flush_r; - input wire ldst_dual_d; - input wire ldst_dual_m; - input wire ldst_dual_r; - input wire [31:0] exu_lsu_rs1_d; - input wire [31:0] exu_lsu_rs2_d; - input wire [13:0] lsu_p; - input wire dec_lsu_valid_raw_d; - input wire [11:0] dec_lsu_offset_d; - input wire [31:0] picm_mask_data_m; - input wire [31:0] bus_read_data_m; - output wire [31:0] lsu_result_m; - output wire [31:0] lsu_result_corr_r; - output wire [31:0] lsu_addr_d; - output wire [31:0] lsu_addr_m; - output wire [31:0] lsu_addr_r; - output wire [31:0] end_addr_d; - output wire [31:0] end_addr_m; - output wire [31:0] end_addr_r; - output wire [31:0] store_data_m; - input wire [31:0] dec_tlu_mrac_ff; - output wire lsu_exc_m; - output wire is_sideeffects_m; - output wire lsu_commit_r; - output wire lsu_single_ecc_error_incr; - output wire [39:0] lsu_error_pkt_r; - output wire [31:1] lsu_fir_addr; - output wire [1:0] lsu_fir_error; - output wire addr_in_dccm_d; - output wire addr_in_dccm_m; - output wire addr_in_dccm_r; - output wire addr_in_pic_d; - output wire addr_in_pic_m; - output wire addr_in_pic_r; - output wire addr_external_m; - input wire dma_dccm_req; - input wire [31:0] dma_mem_addr; - input wire [2:0] dma_mem_sz; - input wire dma_mem_write; - input wire [63:0] dma_mem_wdata; - output reg [13:0] lsu_pkt_d; - output wire [13:0] lsu_pkt_m; - output wire [13:0] lsu_pkt_r; - input wire scan_mode; - wire [31:3] end_addr_pre_m; - wire [31:3] end_addr_pre_r; - wire [31:0] full_addr_d; - wire [31:0] full_end_addr_d; - wire [31:0] lsu_rs1_d; - wire [11:0] lsu_offset_d; - wire [31:0] rs1_d; - wire [11:0] offset_d; - wire [12:0] end_addr_offset_d; - wire [2:0] addr_offset_d; - wire [63:0] dma_mem_wdata_shifted; - wire addr_external_d; - wire addr_external_r; - wire access_fault_d; - wire misaligned_fault_d; - wire access_fault_m; - wire misaligned_fault_m; - wire fir_dccm_access_error_d; - wire fir_nondccm_access_error_d; - wire fir_dccm_access_error_m; - wire fir_nondccm_access_error_m; - wire [3:0] exc_mscause_d; - wire [3:0] exc_mscause_m; - wire [31:0] rs1_d_raw; - wire [31:0] store_data_d; - wire [31:0] store_data_pre_m; - wire [31:0] store_data_m_in; - wire [31:0] bus_read_data_r; - reg [13:0] dma_pkt_d; - reg [13:0] lsu_pkt_m_in; - reg [13:0] lsu_pkt_r_in; - wire [39:0] lsu_error_pkt_m; - assign lsu_rs1_d[31:0] = (dec_lsu_valid_raw_d ? exu_lsu_rs1_d[31:0] : dma_mem_addr[31:0]); - assign lsu_offset_d[11:0] = dec_lsu_offset_d[11:0] & {12 {dec_lsu_valid_raw_d}}; - assign rs1_d_raw[31:0] = lsu_rs1_d[31:0]; - assign offset_d[11:0] = lsu_offset_d[11:0]; - assign rs1_d[31:0] = (lsu_pkt_d[2] ? lsu_result_m[31:0] : rs1_d_raw[31:0]); - rvlsadder lsadder( - .rs1(rs1_d[31:0]), - .offset(offset_d[11:0]), - .dout(full_addr_d[31:0]) - ); - eb1_lsu_addrcheck #(.pt(pt)) addrcheck( - .start_addr_d(full_addr_d[31:0]), - .end_addr_d(full_end_addr_d[31:0]), - .rs1_region_d(rs1_d[31:28]), - .lsu_c2_m_clk(lsu_c2_m_clk), - .rst_l(rst_l), - .lsu_pkt_d(lsu_pkt_d), - .dec_tlu_mrac_ff(dec_tlu_mrac_ff), - .rs1_d(rs1_d), - .is_sideeffects_m(is_sideeffects_m), - .addr_in_dccm_d(addr_in_dccm_d), - .addr_in_pic_d(addr_in_pic_d), - .addr_external_d(addr_external_d), - .access_fault_d(access_fault_d), - .misaligned_fault_d(misaligned_fault_d), - .exc_mscause_d(exc_mscause_d), - .fir_dccm_access_error_d(fir_dccm_access_error_d), - .fir_nondccm_access_error_d(fir_nondccm_access_error_d), - .scan_mode(scan_mode) - ); - assign addr_offset_d[2:0] = (({3 {lsu_pkt_d[10]}} & 3'b001) | ({3 {lsu_pkt_d[9]}} & 3'b011)) | ({3 {lsu_pkt_d[8]}} & 3'b111); - assign end_addr_offset_d[12:0] = {offset_d[11], offset_d[11:0]} + {9'b000000000, addr_offset_d[2:0]}; - assign full_end_addr_d[31:0] = rs1_d[31:0] + {{19 {end_addr_offset_d[12]}}, end_addr_offset_d[12:0]}; - assign end_addr_d[31:0] = full_end_addr_d[31:0]; - assign lsu_exc_m = access_fault_m | misaligned_fault_m; - assign lsu_single_ecc_error_incr = ((lsu_single_ecc_error_r & ~lsu_double_ecc_error_r) & (lsu_commit_r | lsu_pkt_r[4])) & lsu_pkt_r[0]; - generate - if (pt[202-:5] == 1) begin : L2U_Plus1_1 - wire access_fault_r; - wire misaligned_fault_r; - wire [3:0] exc_mscause_r; - wire fir_dccm_access_error_r; - wire fir_nondccm_access_error_r; - assign lsu_error_pkt_r[0] = ((((access_fault_r | misaligned_fault_r) | lsu_double_ecc_error_r) & lsu_pkt_r[0]) & ~lsu_pkt_r[4]) & ~lsu_pkt_r[13]; - assign lsu_error_pkt_r[1] = (lsu_single_ecc_error_r & ~lsu_error_pkt_r[0]) & ~lsu_pkt_r[4]; - assign lsu_error_pkt_r[39] = lsu_pkt_r[6]; - assign lsu_error_pkt_r[38] = ~misaligned_fault_r; - assign lsu_error_pkt_r[37:34] = ((lsu_double_ecc_error_r & ~misaligned_fault_r) & ~access_fault_r ? 4'h1 : exc_mscause_r[3:0]); - assign lsu_error_pkt_r[33:2] = lsu_addr_r[31:0]; - assign lsu_fir_error[1:0] = (fir_nondccm_access_error_r ? 2'b11 : (fir_dccm_access_error_r ? 2'b10 : (lsu_pkt_r[13] & lsu_double_ecc_error_r ? 2'b01 : 2'b00))); - rvdff #(.WIDTH(1)) access_fault_rff( - .din(access_fault_m), - .dout(access_fault_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) misaligned_fault_rff( - .din(misaligned_fault_m), - .dout(misaligned_fault_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(4)) exc_mscause_rff( - .din(exc_mscause_m[3:0]), - .dout(exc_mscause_r[3:0]), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) fir_dccm_access_error_mff( - .din(fir_dccm_access_error_m), - .dout(fir_dccm_access_error_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) fir_nondccm_access_error_mff( - .din(fir_nondccm_access_error_m), - .dout(fir_nondccm_access_error_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - end - else begin : L2U_Plus1_0 - wire [1:0] lsu_fir_error_m; - assign lsu_error_pkt_m[0] = (((((access_fault_m | misaligned_fault_m) | lsu_double_ecc_error_m) & lsu_pkt_m[0]) & ~lsu_pkt_m[4]) & ~lsu_pkt_m[13]) & ~flush_m_up; - assign lsu_error_pkt_m[1] = (lsu_single_ecc_error_m & ~lsu_error_pkt_m[0]) & ~lsu_pkt_m[4]; - assign lsu_error_pkt_m[39] = lsu_pkt_m[6]; - assign lsu_error_pkt_m[38] = ~misaligned_fault_m; - assign lsu_error_pkt_m[37:34] = ((lsu_double_ecc_error_m & ~misaligned_fault_m) & ~access_fault_m ? 4'h1 : exc_mscause_m[3:0]); - assign lsu_error_pkt_m[33:2] = lsu_addr_m[31:0]; - assign lsu_fir_error_m[1:0] = (fir_nondccm_access_error_m ? 2'b11 : (fir_dccm_access_error_m ? 2'b10 : (lsu_pkt_m[13] & lsu_double_ecc_error_m ? 2'b01 : 2'b00))); - rvdff #(.WIDTH(1)) lsu_exc_valid_rff( - .rst_l(rst_l), - .din(lsu_error_pkt_m[0]), - .dout(lsu_error_pkt_r[0]), - .clk(lsu_c2_r_clk) - ); - rvdff #(.WIDTH(1)) lsu_single_ecc_error_rff( - .rst_l(rst_l), - .din(lsu_error_pkt_m[1]), - .dout(lsu_error_pkt_r[1]), - .clk(lsu_c2_r_clk) - ); - rvdffe #(.WIDTH(38)) lsu_error_pkt_rff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(lsu_error_pkt_m[39:2]), - .dout(lsu_error_pkt_r[39:2]), - .en((lsu_error_pkt_m[0] | lsu_error_pkt_m[1]) | clk_override) - ); - rvdff #(.WIDTH(2)) lsu_fir_error_rff( - .rst_l(rst_l), - .din(lsu_fir_error_m[1:0]), - .dout(lsu_fir_error[1:0]), - .clk(lsu_c2_r_clk) - ); - end - endgenerate - always @(*) begin - dma_pkt_d = {14 {1'sb0}}; - dma_pkt_d[0] = dma_dccm_req; - dma_pkt_d[4] = 1'b1; - dma_pkt_d[6] = dma_mem_write; - dma_pkt_d[7] = ~dma_mem_write; - dma_pkt_d[11] = dma_mem_sz[2:0] == 3'b000; - dma_pkt_d[10] = dma_mem_sz[2:0] == 3'b001; - dma_pkt_d[9] = dma_mem_sz[2:0] == 3'b010; - dma_pkt_d[8] = dma_mem_sz[2:0] == 3'b011; - end - always @(*) begin - lsu_pkt_d = (dec_lsu_valid_raw_d ? lsu_p : dma_pkt_d); - lsu_pkt_m_in = lsu_pkt_d; - lsu_pkt_r_in = lsu_pkt_m; - lsu_pkt_d[0] = (lsu_p[0] & ~(flush_m_up & ~lsu_p[13])) | dma_dccm_req; - lsu_pkt_m_in[0] = lsu_pkt_d[0] & ~(flush_m_up & ~lsu_pkt_d[4]); - lsu_pkt_r_in[0] = lsu_pkt_m[0] & ~(flush_m_up & ~lsu_pkt_m[4]); - end - rvdff #(.WIDTH(1)) lsu_pkt_vldmff( - .rst_l(rst_l), - .din(lsu_pkt_m_in[0]), - .dout(lsu_pkt_m[0]), - .clk(lsu_c2_m_clk) - ); - rvdff #(.WIDTH(1)) lsu_pkt_vldrff( - .rst_l(rst_l), - .din(lsu_pkt_r_in[0]), - .dout(lsu_pkt_r[0]), - .clk(lsu_c2_r_clk) - ); - rvdff #(.WIDTH(13)) lsu_pkt_mff( - .rst_l(rst_l), - .din(lsu_pkt_m_in[13:1]), - .dout(lsu_pkt_m[13:1]), - .clk(lsu_c1_m_clk) - ); - rvdff #(.WIDTH(13)) lsu_pkt_rff( - .rst_l(rst_l), - .din(lsu_pkt_r_in[13:1]), - .dout(lsu_pkt_r[13:1]), - .clk(lsu_c1_r_clk) - ); - generate - if (pt[202-:5] == 1) begin : L2U1_Plus1_1 - wire [31:0] lsu_ld_datafn_r; - wire [31:0] lsu_ld_datafn_corr_r; - assign lsu_ld_datafn_r[31:0] = (addr_external_r ? bus_read_data_r[31:0] : lsu_ld_data_r[31:0]); - assign lsu_ld_datafn_corr_r[31:0] = (addr_external_r ? bus_read_data_r[31:0] : lsu_ld_data_corr_r[31:0]); - assign lsu_result_m[31:0] = (((({32 {lsu_pkt_r[5] & lsu_pkt_r[11]}} & {24'b000000000000000000000000, lsu_ld_datafn_r[7:0]}) | ({32 {lsu_pkt_r[5] & lsu_pkt_r[10]}} & {16'b0000000000000000, lsu_ld_datafn_r[15:0]})) | ({32 {~lsu_pkt_r[5] & lsu_pkt_r[11]}} & {{24 {lsu_ld_datafn_r[7]}}, lsu_ld_datafn_r[7:0]})) | ({32 {~lsu_pkt_r[5] & lsu_pkt_r[10]}} & {{16 {lsu_ld_datafn_r[15]}}, lsu_ld_datafn_r[15:0]})) | ({32 {lsu_pkt_r[9]}} & lsu_ld_datafn_r[31:0]); - assign lsu_result_corr_r[31:0] = (((({32 {lsu_pkt_r[5] & lsu_pkt_r[11]}} & {24'b000000000000000000000000, lsu_ld_datafn_corr_r[7:0]}) | ({32 {lsu_pkt_r[5] & lsu_pkt_r[10]}} & {16'b0000000000000000, lsu_ld_datafn_corr_r[15:0]})) | ({32 {~lsu_pkt_r[5] & lsu_pkt_r[11]}} & {{24 {lsu_ld_datafn_corr_r[7]}}, lsu_ld_datafn_corr_r[7:0]})) | ({32 {~lsu_pkt_r[5] & lsu_pkt_r[10]}} & {{16 {lsu_ld_datafn_corr_r[15]}}, lsu_ld_datafn_corr_r[15:0]})) | ({32 {lsu_pkt_r[9]}} & lsu_ld_datafn_corr_r[31:0]); - end - else begin : L2U1_Plus1_0 - wire [31:0] lsu_ld_datafn_m; - wire [31:0] lsu_ld_datafn_corr_r; - assign lsu_ld_datafn_m[31:0] = (addr_external_m ? bus_read_data_m[31:0] : lsu_ld_data_m[31:0]); - assign lsu_ld_datafn_corr_r[31:0] = (addr_external_r ? bus_read_data_r[31:0] : lsu_ld_data_corr_r[31:0]); - assign lsu_result_m[31:0] = (((({32 {lsu_pkt_m[5] & lsu_pkt_m[11]}} & {24'b000000000000000000000000, lsu_ld_datafn_m[7:0]}) | ({32 {lsu_pkt_m[5] & lsu_pkt_m[10]}} & {16'b0000000000000000, lsu_ld_datafn_m[15:0]})) | ({32 {~lsu_pkt_m[5] & lsu_pkt_m[11]}} & {{24 {lsu_ld_datafn_m[7]}}, lsu_ld_datafn_m[7:0]})) | ({32 {~lsu_pkt_m[5] & lsu_pkt_m[10]}} & {{16 {lsu_ld_datafn_m[15]}}, lsu_ld_datafn_m[15:0]})) | ({32 {lsu_pkt_m[9]}} & lsu_ld_datafn_m[31:0]); - assign lsu_result_corr_r[31:0] = (((({32 {lsu_pkt_r[5] & lsu_pkt_r[11]}} & {24'b000000000000000000000000, lsu_ld_datafn_corr_r[7:0]}) | ({32 {lsu_pkt_r[5] & lsu_pkt_r[10]}} & {16'b0000000000000000, lsu_ld_datafn_corr_r[15:0]})) | ({32 {~lsu_pkt_r[5] & lsu_pkt_r[11]}} & {{24 {lsu_ld_datafn_corr_r[7]}}, lsu_ld_datafn_corr_r[7:0]})) | ({32 {~lsu_pkt_r[5] & lsu_pkt_r[10]}} & {{16 {lsu_ld_datafn_corr_r[15]}}, lsu_ld_datafn_corr_r[15:0]})) | ({32 {lsu_pkt_r[9]}} & lsu_ld_datafn_corr_r[31:0]); - end - endgenerate - assign lsu_fir_addr[31:1] = lsu_ld_data_corr_r[31:1]; - assign lsu_addr_d[31:0] = full_addr_d[31:0]; - assign lsu_commit_r = ((lsu_pkt_r[0] & (lsu_pkt_r[6] | lsu_pkt_r[7])) & ~flush_r) & ~lsu_pkt_r[4]; - assign dma_mem_wdata_shifted[63:0] = dma_mem_wdata[63:0] >> {dma_mem_addr[2:0], 3'b000}; - assign store_data_d[31:0] = (dma_dccm_req ? dma_mem_wdata_shifted[31:0] : exu_lsu_rs2_d[31:0]); - assign store_data_m_in[31:0] = (lsu_pkt_d[3] ? lsu_result_m[31:0] : store_data_d[31:0]); - assign store_data_m[31:0] = (picm_mask_data_m[31:0] | {32 {~addr_in_pic_m}}) & (lsu_pkt_m[1] ? lsu_result_m[31:0] : store_data_pre_m[31:0]); - rvdff #(.WIDTH(32)) sdmff( - .rst_l(rst_l), - .din(store_data_m_in[31:0]), - .dout(store_data_pre_m[31:0]), - .clk(lsu_store_c1_m_clk) - ); - rvdff #(.WIDTH(32)) samff( - .rst_l(rst_l), - .din(lsu_addr_d[31:0]), - .dout(lsu_addr_m[31:0]), - .clk(lsu_c1_m_clk) - ); - rvdff #(.WIDTH(32)) sarff( - .rst_l(rst_l), - .din(lsu_addr_m[31:0]), - .dout(lsu_addr_r[31:0]), - .clk(lsu_c1_r_clk) - ); - assign end_addr_m[31:3] = (ldst_dual_m ? end_addr_pre_m[31:3] : lsu_addr_m[31:3]); - assign end_addr_r[31:3] = (ldst_dual_r ? end_addr_pre_r[31:3] : lsu_addr_r[31:3]); - rvdffe #(.WIDTH(29)) end_addr_hi_mff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(end_addr_d[31:3]), - .dout(end_addr_pre_m[31:3]), - .en((lsu_pkt_d[0] & ldst_dual_d) | clk_override) - ); - rvdffe #(.WIDTH(29)) end_addr_hi_rff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(end_addr_m[31:3]), - .dout(end_addr_pre_r[31:3]), - .en((lsu_pkt_m[0] & ldst_dual_m) | clk_override) - ); - rvdff #(.WIDTH(3)) end_addr_lo_mff( - .rst_l(rst_l), - .din(end_addr_d[2:0]), - .dout(end_addr_m[2:0]), - .clk(lsu_c1_m_clk) - ); - rvdff #(.WIDTH(3)) end_addr_lo_rff( - .rst_l(rst_l), - .din(end_addr_m[2:0]), - .dout(end_addr_r[2:0]), - .clk(lsu_c1_r_clk) - ); - rvdff #(.WIDTH(1)) addr_in_dccm_mff( - .din(addr_in_dccm_d), - .dout(addr_in_dccm_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) addr_in_dccm_rff( - .din(addr_in_dccm_m), - .dout(addr_in_dccm_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) addr_in_pic_mff( - .din(addr_in_pic_d), - .dout(addr_in_pic_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) addr_in_pic_rff( - .din(addr_in_pic_m), - .dout(addr_in_pic_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) addr_external_mff( - .din(addr_external_d), - .dout(addr_external_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) addr_external_rff( - .din(addr_external_m), - .dout(addr_external_r), - .clk(lsu_c1_r_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) access_fault_mff( - .din(access_fault_d), - .dout(access_fault_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) misaligned_fault_mff( - .din(misaligned_fault_d), - .dout(misaligned_fault_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(4)) exc_mscause_mff( - .din(exc_mscause_d[3:0]), - .dout(exc_mscause_m[3:0]), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) fir_dccm_access_error_mff( - .din(fir_dccm_access_error_d), - .dout(fir_dccm_access_error_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdff #(.WIDTH(1)) fir_nondccm_access_error_mff( - .din(fir_nondccm_access_error_d), - .dout(fir_nondccm_access_error_m), - .clk(lsu_c1_m_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(32)) bus_read_data_r_ff( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(bus_read_data_m[31:0]), - .dout(bus_read_data_r[31:0]), - .en(addr_external_m | clk_override) - ); -endmodule -module eb1_lsu_stbuf ( - clk, - rst_l, - lsu_stbuf_c1_clk, - lsu_free_c2_clk, - store_stbuf_reqvld_r, - lsu_commit_r, - dec_lsu_valid_raw_d, - store_data_hi_r, - store_data_lo_r, - store_datafn_hi_r, - store_datafn_lo_r, - stbuf_reqvld_any, - stbuf_reqvld_flushed_any, - stbuf_addr_any, - stbuf_data_any, - lsu_stbuf_commit_any, - lsu_stbuf_full_any, - lsu_stbuf_empty_any, - ldst_stbuf_reqvld_r, - lsu_addr_d, - lsu_addr_m, - lsu_addr_r, - end_addr_d, - end_addr_m, - end_addr_r, - ldst_dual_d, - ldst_dual_m, - ldst_dual_r, - addr_in_dccm_m, - addr_in_dccm_r, - lsu_cmpen_m, - lsu_pkt_m, - lsu_pkt_r, - stbuf_fwddata_hi_m, - stbuf_fwddata_lo_m, - stbuf_fwdbyteen_hi_m, - stbuf_fwdbyteen_lo_m, - scan_mode -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire clk; - input wire rst_l; - input wire lsu_stbuf_c1_clk; - input wire lsu_free_c2_clk; - input wire store_stbuf_reqvld_r; - input wire lsu_commit_r; - input wire dec_lsu_valid_raw_d; - input wire [pt[1382-:10] - 1:0] store_data_hi_r; - input wire [pt[1382-:10] - 1:0] store_data_lo_r; - input wire [pt[1382-:10] - 1:0] store_datafn_hi_r; - input wire [pt[1382-:10] - 1:0] store_datafn_lo_r; - output wire stbuf_reqvld_any; - output wire stbuf_reqvld_flushed_any; - output wire [pt[157-:9] - 1:0] stbuf_addr_any; - output wire [pt[1382-:10] - 1:0] stbuf_data_any; - input wire lsu_stbuf_commit_any; - output wire lsu_stbuf_full_any; - output wire lsu_stbuf_empty_any; - output wire ldst_stbuf_reqvld_r; - input wire [pt[157-:9] - 1:0] lsu_addr_d; - input wire [31:0] lsu_addr_m; - input wire [31:0] lsu_addr_r; - input wire [pt[157-:9] - 1:0] end_addr_d; - input wire [31:0] end_addr_m; - input wire [31:0] end_addr_r; - input wire ldst_dual_d; - input wire ldst_dual_m; - input wire ldst_dual_r; - input wire addr_in_dccm_m; - input wire addr_in_dccm_r; - input wire lsu_cmpen_m; - input wire [13:0] lsu_pkt_m; - input wire [13:0] lsu_pkt_r; - output wire [pt[1382-:10] - 1:0] stbuf_fwddata_hi_m; - output wire [pt[1382-:10] - 1:0] stbuf_fwddata_lo_m; - output wire [pt[1389-:7] - 1:0] stbuf_fwdbyteen_hi_m; - output wire [pt[1389-:7] - 1:0] stbuf_fwdbyteen_lo_m; - input wire scan_mode; - localparam DEPTH = pt[148-:8]; - localparam DATA_WIDTH = pt[1382-:10]; - localparam BYTE_WIDTH = pt[1389-:7]; - localparam DEPTH_LOG2 = $clog2(DEPTH); - wire [DEPTH - 1:0] stbuf_vld; - wire [DEPTH - 1:0] stbuf_dma_kill; - wire [(DEPTH * pt[157-:9]) - 1:0] stbuf_addr; - wire [(DEPTH * BYTE_WIDTH) - 1:0] stbuf_byteen; - wire [(DEPTH * DATA_WIDTH) - 1:0] stbuf_data; - wire [DEPTH - 1:0] sel_lo; - wire [DEPTH - 1:0] stbuf_wr_en; - reg [DEPTH - 1:0] stbuf_dma_kill_en; - wire [DEPTH - 1:0] stbuf_reset; - wire [(DEPTH * pt[157-:9]) - 1:0] stbuf_addrin; - wire [(DEPTH * DATA_WIDTH) - 1:0] stbuf_datain; - wire [(DEPTH * BYTE_WIDTH) - 1:0] stbuf_byteenin; - wire [7:0] store_byteen_ext_r; - wire [BYTE_WIDTH - 1:0] store_byteen_hi_r; - wire [BYTE_WIDTH - 1:0] store_byteen_lo_r; - wire WrPtrEn; - wire RdPtrEn; - wire [DEPTH_LOG2 - 1:0] WrPtr; - wire [DEPTH_LOG2 - 1:0] RdPtr; - wire [DEPTH_LOG2 - 1:0] NxtWrPtr; - wire [DEPTH_LOG2 - 1:0] NxtRdPtr; - wire [DEPTH_LOG2 - 1:0] WrPtrPlus1; - wire [DEPTH_LOG2 - 1:0] WrPtrPlus2; - wire [DEPTH_LOG2 - 1:0] RdPtrPlus1; - wire dual_stbuf_write_r; - wire isdccmst_m; - wire isdccmst_r; - reg [3:0] stbuf_numvld_any; - wire [3:0] stbuf_specvld_any; - wire [1:0] stbuf_specvld_m; - wire [1:0] stbuf_specvld_r; - wire [pt[157-:9] - 1:$clog2(BYTE_WIDTH)] cmpaddr_hi_m; - wire [pt[157-:9] - 1:$clog2(BYTE_WIDTH)] cmpaddr_lo_m; - reg [DEPTH - 1:0] stbuf_match_hi; - reg [DEPTH - 1:0] stbuf_match_lo; - reg [(DEPTH * BYTE_WIDTH) - 1:0] stbuf_fwdbyteenvec_hi; - reg [(DEPTH * BYTE_WIDTH) - 1:0] stbuf_fwdbyteenvec_lo; - reg [DATA_WIDTH - 1:0] stbuf_fwddata_hi_pre_m; - reg [DATA_WIDTH - 1:0] stbuf_fwddata_lo_pre_m; - reg [BYTE_WIDTH - 1:0] stbuf_fwdbyteen_hi_pre_m; - reg [BYTE_WIDTH - 1:0] stbuf_fwdbyteen_lo_pre_m; - wire [BYTE_WIDTH - 1:0] ld_byte_rhit_lo_lo; - wire [BYTE_WIDTH - 1:0] ld_byte_rhit_hi_lo; - wire [BYTE_WIDTH - 1:0] ld_byte_rhit_lo_hi; - wire [BYTE_WIDTH - 1:0] ld_byte_rhit_hi_hi; - wire ld_addr_rhit_lo_lo; - wire ld_addr_rhit_hi_lo; - wire ld_addr_rhit_lo_hi; - wire ld_addr_rhit_hi_hi; - wire [BYTE_WIDTH - 1:0] ld_byte_hit_lo; - wire [BYTE_WIDTH - 1:0] ld_byte_rhit_lo; - wire [BYTE_WIDTH - 1:0] ld_byte_hit_hi; - wire [BYTE_WIDTH - 1:0] ld_byte_rhit_hi; - wire [BYTE_WIDTH - 1:0] ldst_byteen_hi_r; - wire [BYTE_WIDTH - 1:0] ldst_byteen_lo_r; - wire [7:0] ldst_byteen_r; - wire [7:0] ldst_byteen_ext_r; - wire [31:0] ld_fwddata_rpipe_lo; - wire [31:0] ld_fwddata_rpipe_hi; - wire [DEPTH - 1:0] store_matchvec_lo_r; - wire [DEPTH - 1:0] store_matchvec_hi_r; - wire store_coalesce_lo_r; - wire store_coalesce_hi_r; - assign store_byteen_ext_r[7:0] = ldst_byteen_r[7:0] << lsu_addr_r[1:0]; - assign store_byteen_hi_r[BYTE_WIDTH - 1:0] = store_byteen_ext_r[7:4] & {4 {lsu_pkt_r[6]}}; - assign store_byteen_lo_r[BYTE_WIDTH - 1:0] = store_byteen_ext_r[3:0] & {4 {lsu_pkt_r[6]}}; - assign RdPtrPlus1[DEPTH_LOG2 - 1:0] = RdPtr[DEPTH_LOG2 - 1:0] + 1'b1; - assign WrPtrPlus1[DEPTH_LOG2 - 1:0] = WrPtr[DEPTH_LOG2 - 1:0] + 1'b1; - assign WrPtrPlus2[DEPTH_LOG2 - 1:0] = WrPtr[DEPTH_LOG2 - 1:0] + 2'b10; - assign dual_stbuf_write_r = ldst_dual_r & store_stbuf_reqvld_r; - assign ldst_stbuf_reqvld_r = (lsu_commit_r | lsu_pkt_r[4]) & store_stbuf_reqvld_r; - generate - genvar i; - for (i = 0; i < DEPTH; i = i + 1) begin : FindMatchEntry - assign store_matchvec_lo_r[i] = (((stbuf_addr[(i * pt[157-:9]) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? pt[157-:9] - 1 : ((pt[157-:9] - 1) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)) - 1)-:((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)] == lsu_addr_r[pt[157-:9] - 1:$clog2(BYTE_WIDTH)]) & stbuf_vld[i]) & ~stbuf_dma_kill[i]) & ~stbuf_reset[i]; - assign store_matchvec_hi_r[i] = ((((stbuf_addr[(i * pt[157-:9]) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? pt[157-:9] - 1 : ((pt[157-:9] - 1) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)) - 1)-:((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)] == end_addr_r[pt[157-:9] - 1:$clog2(BYTE_WIDTH)]) & stbuf_vld[i]) & ~stbuf_dma_kill[i]) & dual_stbuf_write_r) & ~stbuf_reset[i]; - end - endgenerate - assign store_coalesce_lo_r = |store_matchvec_lo_r[DEPTH - 1:0]; - assign store_coalesce_hi_r = |store_matchvec_hi_r[DEPTH - 1:0]; - generate - if (pt[1365-:5] == 1) begin : Gen_dccm_enable - for (i = 0; i < DEPTH; i = i + 1) begin : GenStBuf - assign stbuf_wr_en[i] = ldst_stbuf_reqvld_r & ((((((i == WrPtr[DEPTH_LOG2 - 1:0]) & ~store_coalesce_lo_r) | (((i == WrPtr[DEPTH_LOG2 - 1:0]) & dual_stbuf_write_r) & ~store_coalesce_hi_r)) | (((i == WrPtrPlus1[DEPTH_LOG2 - 1:0]) & dual_stbuf_write_r) & ~(store_coalesce_lo_r | store_coalesce_hi_r))) | store_matchvec_lo_r[i]) | store_matchvec_hi_r[i]); - assign stbuf_reset[i] = (lsu_stbuf_commit_any | stbuf_reqvld_flushed_any) & (i == RdPtr[DEPTH_LOG2 - 1:0]); - assign sel_lo[i] = (((~ldst_dual_r | store_stbuf_reqvld_r) & (i == WrPtr[DEPTH_LOG2 - 1:0])) & ~store_coalesce_lo_r) | store_matchvec_lo_r[i]; - assign stbuf_addrin[(i * pt[157-:9]) + (pt[157-:9] - 1)-:pt[157-:9]] = (sel_lo[i] ? lsu_addr_r[pt[157-:9] - 1:0] : end_addr_r[pt[157-:9] - 1:0]); - assign stbuf_byteenin[(i * BYTE_WIDTH) + (BYTE_WIDTH - 1)-:BYTE_WIDTH] = (sel_lo[i] ? stbuf_byteen[(i * BYTE_WIDTH) + (BYTE_WIDTH - 1)-:BYTE_WIDTH] | store_byteen_lo_r[BYTE_WIDTH - 1:0] : stbuf_byteen[(i * BYTE_WIDTH) + (BYTE_WIDTH - 1)-:BYTE_WIDTH] | store_byteen_hi_r[BYTE_WIDTH - 1:0]); - assign stbuf_datain[(i * DATA_WIDTH) + 7-:8] = (sel_lo[i] ? (~stbuf_byteen[i * BYTE_WIDTH] | store_byteen_lo_r[0] ? store_datafn_lo_r[7:0] : stbuf_data[(i * DATA_WIDTH) + 7-:8]) : (~stbuf_byteen[i * BYTE_WIDTH] | store_byteen_hi_r[0] ? store_datafn_hi_r[7:0] : stbuf_data[(i * DATA_WIDTH) + 7-:8])); - assign stbuf_datain[(i * DATA_WIDTH) + 15-:8] = (sel_lo[i] ? (~stbuf_byteen[(i * BYTE_WIDTH) + 1] | store_byteen_lo_r[1] ? store_datafn_lo_r[15:8] : stbuf_data[(i * DATA_WIDTH) + 15-:8]) : (~stbuf_byteen[(i * BYTE_WIDTH) + 1] | store_byteen_hi_r[1] ? store_datafn_hi_r[15:8] : stbuf_data[(i * DATA_WIDTH) + 15-:8])); - assign stbuf_datain[(i * DATA_WIDTH) + 23-:8] = (sel_lo[i] ? (~stbuf_byteen[(i * BYTE_WIDTH) + 2] | store_byteen_lo_r[2] ? store_datafn_lo_r[23:16] : stbuf_data[(i * DATA_WIDTH) + 23-:8]) : (~stbuf_byteen[(i * BYTE_WIDTH) + 2] | store_byteen_hi_r[2] ? store_datafn_hi_r[23:16] : stbuf_data[(i * DATA_WIDTH) + 23-:8])); - assign stbuf_datain[(i * DATA_WIDTH) + 31-:8] = (sel_lo[i] ? (~stbuf_byteen[(i * BYTE_WIDTH) + 3] | store_byteen_lo_r[3] ? store_datafn_lo_r[31:24] : stbuf_data[(i * DATA_WIDTH) + 31-:8]) : (~stbuf_byteen[(i * BYTE_WIDTH) + 3] | store_byteen_hi_r[3] ? store_datafn_hi_r[31:24] : stbuf_data[(i * DATA_WIDTH) + 31-:8])); - rvdffsc #(.WIDTH(1)) stbuf_vldff( - .din(1'b1), - .dout(stbuf_vld[i]), - .en(stbuf_wr_en[i]), - .clear(stbuf_reset[i]), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdffsc #(.WIDTH(1)) stbuf_killff( - .din(1'b1), - .dout(stbuf_dma_kill[i]), - .en(stbuf_dma_kill_en[i]), - .clear(stbuf_reset[i]), - .clk(lsu_free_c2_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(pt[157-:9])) stbuf_addrff( - .din(stbuf_addrin[(i * pt[157-:9]) + (pt[157-:9] - 1)-:pt[157-:9]]), - .dout(stbuf_addr[(i * pt[157-:9]) + (pt[157-:9] - 1)-:pt[157-:9]]), - .en(stbuf_wr_en[i]), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - rvdffsc #(.WIDTH(BYTE_WIDTH)) stbuf_byteenff( - .din(stbuf_byteenin[(i * BYTE_WIDTH) + (BYTE_WIDTH - 1)-:BYTE_WIDTH]), - .dout(stbuf_byteen[(i * BYTE_WIDTH) + (BYTE_WIDTH - 1)-:BYTE_WIDTH]), - .en(stbuf_wr_en[i]), - .clear(stbuf_reset[i]), - .clk(lsu_stbuf_c1_clk), - .rst_l(rst_l) - ); - rvdffe #(.WIDTH(DATA_WIDTH)) stbuf_dataff( - .din(stbuf_datain[(i * DATA_WIDTH) + (DATA_WIDTH - 1)-:DATA_WIDTH]), - .dout(stbuf_data[(i * DATA_WIDTH) + (DATA_WIDTH - 1)-:DATA_WIDTH]), - .en(stbuf_wr_en[i]), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode) - ); - end - end - else begin : Gen_dccm_disable - assign stbuf_wr_en[DEPTH - 1:0] = {DEPTH {1'sb0}}; - assign stbuf_reset[DEPTH - 1:0] = {DEPTH {1'sb0}}; - assign stbuf_vld[DEPTH - 1:0] = {DEPTH {1'sb0}}; - assign stbuf_dma_kill[DEPTH - 1:0] = {DEPTH {1'sb0}}; - assign stbuf_addr[pt[157-:9] * ((DEPTH - 1) - (DEPTH - 1))+:pt[157-:9] * DEPTH] = {pt[157-:9] * DEPTH {1'sb0}}; - assign stbuf_byteen[BYTE_WIDTH * ((DEPTH - 1) - (DEPTH - 1))+:BYTE_WIDTH * DEPTH] = {BYTE_WIDTH * DEPTH {1'sb0}}; - assign stbuf_data[DATA_WIDTH * ((DEPTH - 1) - (DEPTH - 1))+:DATA_WIDTH * DEPTH] = {DATA_WIDTH * DEPTH {1'sb0}}; - end - endgenerate - assign stbuf_reqvld_flushed_any = stbuf_vld[RdPtr] & stbuf_dma_kill[RdPtr]; - assign stbuf_reqvld_any = (stbuf_vld[RdPtr] & ~stbuf_dma_kill[RdPtr]) & ~(|stbuf_dma_kill_en[DEPTH - 1:0]); - assign stbuf_addr_any[pt[157-:9] - 1:0] = stbuf_addr[(RdPtr * pt[157-:9]) + (pt[157-:9] - 1)-:pt[157-:9]]; - assign stbuf_data_any[DATA_WIDTH - 1:0] = stbuf_data[(RdPtr * DATA_WIDTH) + (DATA_WIDTH - 1)-:DATA_WIDTH]; - assign WrPtrEn = ((ldst_stbuf_reqvld_r & ~dual_stbuf_write_r) & ~(store_coalesce_hi_r | store_coalesce_lo_r)) | ((ldst_stbuf_reqvld_r & dual_stbuf_write_r) & ~(store_coalesce_hi_r & store_coalesce_lo_r)); - assign NxtWrPtr[DEPTH_LOG2 - 1:0] = ((ldst_stbuf_reqvld_r & dual_stbuf_write_r) & ~(store_coalesce_hi_r | store_coalesce_lo_r) ? WrPtrPlus2[DEPTH_LOG2 - 1:0] : WrPtrPlus1[DEPTH_LOG2 - 1:0]); - assign RdPtrEn = lsu_stbuf_commit_any | stbuf_reqvld_flushed_any; - assign NxtRdPtr[DEPTH_LOG2 - 1:0] = RdPtrPlus1[DEPTH_LOG2 - 1:0]; - always @(*) begin - stbuf_numvld_any[3:0] = {4 {1'sb0}}; - begin : sv2v_autoblock_59 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - stbuf_numvld_any[3:0] = stbuf_numvld_any[3:0] + {3'b000, stbuf_vld[i]}; - end - end - assign isdccmst_m = ((lsu_pkt_m[0] & lsu_pkt_m[6]) & addr_in_dccm_m) & ~lsu_pkt_m[4]; - assign isdccmst_r = ((lsu_pkt_r[0] & lsu_pkt_r[6]) & addr_in_dccm_r) & ~lsu_pkt_r[4]; - assign stbuf_specvld_m[1:0] = {1'b0, isdccmst_m} << (isdccmst_m & ldst_dual_m); - assign stbuf_specvld_r[1:0] = {1'b0, isdccmst_r} << (isdccmst_r & ldst_dual_r); - assign stbuf_specvld_any[3:0] = (stbuf_numvld_any[3:0] + {2'b00, stbuf_specvld_m[1:0]}) + {2'b00, stbuf_specvld_r[1:0]}; - assign lsu_stbuf_full_any = (~ldst_dual_d & dec_lsu_valid_raw_d ? stbuf_specvld_any[3:0] >= DEPTH : stbuf_specvld_any[3:0] >= (DEPTH - 1)); - assign lsu_stbuf_empty_any = stbuf_numvld_any[3:0] == 4'b0000; - assign cmpaddr_hi_m[pt[157-:9] - 1:$clog2(BYTE_WIDTH)] = end_addr_m[pt[157-:9] - 1:$clog2(BYTE_WIDTH)]; - assign cmpaddr_lo_m[pt[157-:9] - 1:$clog2(BYTE_WIDTH)] = lsu_addr_m[pt[157-:9] - 1:$clog2(BYTE_WIDTH)]; - always @(*) begin : GenLdFwd - stbuf_fwdbyteen_hi_pre_m[BYTE_WIDTH - 1:0] = {BYTE_WIDTH {1'sb0}}; - stbuf_fwdbyteen_lo_pre_m[BYTE_WIDTH - 1:0] = {BYTE_WIDTH {1'sb0}}; - begin : sv2v_autoblock_60 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - begin - stbuf_match_hi[i] = (((stbuf_addr[(i * pt[157-:9]) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? pt[157-:9] - 1 : ((pt[157-:9] - 1) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)) - 1)-:((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)] == cmpaddr_hi_m[pt[157-:9] - 1:$clog2(BYTE_WIDTH)]) & stbuf_vld[i]) & ~stbuf_dma_kill[i]) & addr_in_dccm_m; - stbuf_match_lo[i] = (((stbuf_addr[(i * pt[157-:9]) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? pt[157-:9] - 1 : ((pt[157-:9] - 1) + ((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)) - 1)-:((pt[157-:9] - 1) >= $clog2(BYTE_WIDTH) ? ((pt[157-:9] - 1) - $clog2(BYTE_WIDTH)) + 1 : ($clog2(BYTE_WIDTH) - (pt[157-:9] - 1)) + 1)] == cmpaddr_lo_m[pt[157-:9] - 1:$clog2(BYTE_WIDTH)]) & stbuf_vld[i]) & ~stbuf_dma_kill[i]) & addr_in_dccm_m; - stbuf_dma_kill_en[i] = (((stbuf_match_hi[i] | stbuf_match_lo[i]) & lsu_pkt_m[0]) & lsu_pkt_m[4]) & lsu_pkt_m[6]; - begin : sv2v_autoblock_61 - reg signed [31:0] j; - for (j = 0; j < BYTE_WIDTH; j = j + 1) - begin - stbuf_fwdbyteenvec_hi[(i * BYTE_WIDTH) + j] = (stbuf_match_hi[i] & stbuf_byteen[(i * BYTE_WIDTH) + j]) & stbuf_vld[i]; - stbuf_fwdbyteen_hi_pre_m[j] = stbuf_fwdbyteen_hi_pre_m[j] | stbuf_fwdbyteenvec_hi[(i * BYTE_WIDTH) + j]; - stbuf_fwdbyteenvec_lo[(i * BYTE_WIDTH) + j] = (stbuf_match_lo[i] & stbuf_byteen[(i * BYTE_WIDTH) + j]) & stbuf_vld[i]; - stbuf_fwdbyteen_lo_pre_m[j] = stbuf_fwdbyteen_lo_pre_m[j] | stbuf_fwdbyteenvec_lo[(i * BYTE_WIDTH) + j]; - end - end - end - end - end - always @(*) begin : GenLdData - stbuf_fwddata_hi_pre_m[31:0] = {32 {1'sb0}}; - stbuf_fwddata_lo_pre_m[31:0] = {32 {1'sb0}}; - begin : sv2v_autoblock_62 - reg signed [31:0] i; - for (i = 0; i < DEPTH; i = i + 1) - begin - stbuf_fwddata_hi_pre_m[31:0] = stbuf_fwddata_hi_pre_m[31:0] | ({32 {stbuf_match_hi[i]}} & stbuf_data[(i * DATA_WIDTH) + 31-:32]); - stbuf_fwddata_lo_pre_m[31:0] = stbuf_fwddata_lo_pre_m[31:0] | ({32 {stbuf_match_lo[i]}} & stbuf_data[(i * DATA_WIDTH) + 31-:32]); - end - end - end - assign ldst_byteen_r[7:0] = ((({8 {lsu_pkt_r[11]}} & 8'b00000001) | ({8 {lsu_pkt_r[10]}} & 8'b00000011)) | ({8 {lsu_pkt_r[9]}} & 8'b00001111)) | ({8 {lsu_pkt_r[8]}} & 8'b11111111); - assign ldst_byteen_ext_r[7:0] = ldst_byteen_r[7:0] << lsu_addr_r[1:0]; - assign ldst_byteen_hi_r[3:0] = ldst_byteen_ext_r[7:4]; - assign ldst_byteen_lo_r[3:0] = ldst_byteen_ext_r[3:0]; - assign ld_addr_rhit_lo_lo = (((lsu_addr_m[31:2] == lsu_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & ~lsu_pkt_r[4]; - assign ld_addr_rhit_lo_hi = (((end_addr_m[31:2] == lsu_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & ~lsu_pkt_r[4]; - assign ld_addr_rhit_hi_lo = ((((lsu_addr_m[31:2] == end_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & ~lsu_pkt_r[4]) & dual_stbuf_write_r; - assign ld_addr_rhit_hi_hi = ((((end_addr_m[31:2] == end_addr_r[31:2]) & lsu_pkt_r[0]) & lsu_pkt_r[6]) & ~lsu_pkt_r[4]) & dual_stbuf_write_r; - generate - for (i = 0; i < BYTE_WIDTH; i = i + 1) begin - assign ld_byte_rhit_lo_lo[i] = ld_addr_rhit_lo_lo & ldst_byteen_lo_r[i]; - assign ld_byte_rhit_lo_hi[i] = ld_addr_rhit_lo_hi & ldst_byteen_lo_r[i]; - assign ld_byte_rhit_hi_lo[i] = ld_addr_rhit_hi_lo & ldst_byteen_hi_r[i]; - assign ld_byte_rhit_hi_hi[i] = ld_addr_rhit_hi_hi & ldst_byteen_hi_r[i]; - assign ld_byte_rhit_lo[i] = ld_byte_rhit_lo_lo[i] | ld_byte_rhit_hi_lo[i]; - assign ld_byte_rhit_hi[i] = ld_byte_rhit_lo_hi[i] | ld_byte_rhit_hi_hi[i]; - assign ld_fwddata_rpipe_lo[(8 * i) + 7:8 * i] = ({8 {ld_byte_rhit_lo_lo[i]}} & store_data_lo_r[(8 * i) + 7:8 * i]) | ({8 {ld_byte_rhit_hi_lo[i]}} & store_data_hi_r[(8 * i) + 7:8 * i]); - assign ld_fwddata_rpipe_hi[(8 * i) + 7:8 * i] = ({8 {ld_byte_rhit_lo_hi[i]}} & store_data_lo_r[(8 * i) + 7:8 * i]) | ({8 {ld_byte_rhit_hi_hi[i]}} & store_data_hi_r[(8 * i) + 7:8 * i]); - assign ld_byte_hit_lo[i] = ld_byte_rhit_lo_lo[i] | ld_byte_rhit_hi_lo[i]; - assign ld_byte_hit_hi[i] = ld_byte_rhit_lo_hi[i] | ld_byte_rhit_hi_hi[i]; - assign stbuf_fwdbyteen_hi_m[i] = ld_byte_hit_hi[i] | stbuf_fwdbyteen_hi_pre_m[i]; - assign stbuf_fwdbyteen_lo_m[i] = ld_byte_hit_lo[i] | stbuf_fwdbyteen_lo_pre_m[i]; - assign stbuf_fwddata_lo_m[(8 * i) + 7:8 * i] = (ld_byte_rhit_lo[i] ? ld_fwddata_rpipe_lo[(8 * i) + 7:8 * i] : stbuf_fwddata_lo_pre_m[(8 * i) + 7:8 * i]); - assign stbuf_fwddata_hi_m[(8 * i) + 7:8 * i] = (ld_byte_rhit_hi[i] ? ld_fwddata_rpipe_hi[(8 * i) + 7:8 * i] : stbuf_fwddata_hi_pre_m[(8 * i) + 7:8 * i]); - end - endgenerate - rvdffs #(.WIDTH(DEPTH_LOG2)) WrPtrff( - .din(NxtWrPtr[DEPTH_LOG2 - 1:0]), - .dout(WrPtr[DEPTH_LOG2 - 1:0]), - .en(WrPtrEn), - .clk(lsu_stbuf_c1_clk), - .rst_l(rst_l) - ); - rvdffs #(.WIDTH(DEPTH_LOG2)) RdPtrff( - .din(NxtRdPtr[DEPTH_LOG2 - 1:0]), - .dout(RdPtr[DEPTH_LOG2 - 1:0]), - .en(RdPtrEn), - .clk(lsu_stbuf_c1_clk), - .rst_l(rst_l) - ); -endmodule -module eb1_lsu_trigger ( - trigger_pkt_any, - lsu_pkt_m, - lsu_addr_m, - store_data_m, - lsu_trigger_match_m -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [151:0] trigger_pkt_any; - input wire [13:0] lsu_pkt_m; - input wire [31:0] lsu_addr_m; - input wire [31:0] store_data_m; - output wire [3:0] lsu_trigger_match_m; - reg trigger_enable; - wire [127:0] lsu_match_data; - wire [3:0] lsu_trigger_data_match; - wire [31:0] store_data_trigger_m; - wire [31:0] ldst_addr_trigger_m; - always @(*) begin - trigger_enable = 1'b0; - begin : sv2v_autoblock_63 - reg signed [31:0] i; - for (i = 0; i < 4; i = i + 1) - trigger_enable = trigger_enable | trigger_pkt_any[(i * 38) + 32]; - end - end - assign store_data_trigger_m[31:0] = {{16 {lsu_pkt_m[9]}} & store_data_m[31:16], {8 {lsu_pkt_m[10] | lsu_pkt_m[9]}} & store_data_m[15:8], store_data_m[7:0]} & {32 {trigger_enable}}; - assign ldst_addr_trigger_m[31:0] = lsu_addr_m[31:0] & {32 {trigger_enable}}; - generate - genvar i; - for (i = 0; i < 4; i = i + 1) begin - assign lsu_match_data[(i * 32) + 31-:32] = ({32 {~trigger_pkt_any[(i * 38) + 37]}} & ldst_addr_trigger_m[31:0]) | ({32 {trigger_pkt_any[(i * 38) + 37] & trigger_pkt_any[(i * 38) + 35]}} & store_data_trigger_m[31:0]); - rvmaskandmatch trigger_match( - .mask(trigger_pkt_any[(i * 38) + 31-:32]), - .data(lsu_match_data[(i * 32) + 31-:32]), - .masken(trigger_pkt_any[(i * 38) + 36]), - .match(lsu_trigger_data_match[i]) - ); - assign lsu_trigger_match_m[i] = (((lsu_pkt_m[0] & ~lsu_pkt_m[4]) & trigger_enable) & ((trigger_pkt_any[(i * 38) + 35] & lsu_pkt_m[6]) | ((trigger_pkt_any[(i * 38) + 34] & lsu_pkt_m[7]) & ~trigger_pkt_any[(i * 38) + 37]))) & lsu_trigger_data_match[i]; - end - endgenerate -endmodule -module rvjtag_tap ( - trst, - tck, - tms, - tdi, - tdo, - tdoEnable, - wr_data, - wr_addr, - wr_en, - rd_en, - rd_data, - rd_status, - dmi_reset, - dmi_hard_reset, - idle, - dmi_stat, - jtag_id, - version -); - parameter AWIDTH = 7; - input trst; - input tck; - input tms; - input tdi; - output reg tdo; - output tdoEnable; - output [31:0] wr_data; - output [AWIDTH - 1:0] wr_addr; - output wr_en; - output rd_en; - input [31:0] rd_data; - input [1:0] rd_status; - output reg dmi_reset; - output reg dmi_hard_reset; - input [2:0] idle; - input [1:0] dmi_stat; - input [31:1] jtag_id; - input [3:0] version; - localparam USER_DR_LENGTH = AWIDTH + 34; - reg [USER_DR_LENGTH - 1:0] sr; - reg [USER_DR_LENGTH - 1:0] nsr; - reg [USER_DR_LENGTH - 1:0] dr; - reg [3:0] state; - reg [3:0] nstate; - reg [4:0] ir; - wire jtag_reset; - wire shift_dr; - wire pause_dr; - wire update_dr; - wire capture_dr; - wire shift_ir; - wire pause_ir; - wire update_ir; - wire capture_ir; - wire [1:0] dr_en; - wire devid_sel; - wire [5:0] abits; - assign abits = AWIDTH[5:0]; - localparam TEST_LOGIC_RESET_STATE = 0; - localparam RUN_TEST_IDLE_STATE = 1; - localparam SELECT_DR_SCAN_STATE = 2; - localparam CAPTURE_DR_STATE = 3; - localparam SHIFT_DR_STATE = 4; - localparam EXIT1_DR_STATE = 5; - localparam PAUSE_DR_STATE = 6; - localparam EXIT2_DR_STATE = 7; - localparam UPDATE_DR_STATE = 8; - localparam SELECT_IR_SCAN_STATE = 9; - localparam CAPTURE_IR_STATE = 10; - localparam SHIFT_IR_STATE = 11; - localparam EXIT1_IR_STATE = 12; - localparam PAUSE_IR_STATE = 13; - localparam EXIT2_IR_STATE = 14; - localparam UPDATE_IR_STATE = 15; - always @(*) begin - nstate = state; - case (state) - TEST_LOGIC_RESET_STATE: nstate = (tms ? TEST_LOGIC_RESET_STATE : RUN_TEST_IDLE_STATE); - RUN_TEST_IDLE_STATE: nstate = (tms ? SELECT_DR_SCAN_STATE : RUN_TEST_IDLE_STATE); - SELECT_DR_SCAN_STATE: nstate = (tms ? SELECT_IR_SCAN_STATE : CAPTURE_DR_STATE); - CAPTURE_DR_STATE: nstate = (tms ? EXIT1_DR_STATE : SHIFT_DR_STATE); - SHIFT_DR_STATE: nstate = (tms ? EXIT1_DR_STATE : SHIFT_DR_STATE); - EXIT1_DR_STATE: nstate = (tms ? UPDATE_DR_STATE : PAUSE_DR_STATE); - PAUSE_DR_STATE: nstate = (tms ? EXIT2_DR_STATE : PAUSE_DR_STATE); - EXIT2_DR_STATE: nstate = (tms ? UPDATE_DR_STATE : SHIFT_DR_STATE); - UPDATE_DR_STATE: nstate = (tms ? SELECT_DR_SCAN_STATE : RUN_TEST_IDLE_STATE); - SELECT_IR_SCAN_STATE: nstate = (tms ? TEST_LOGIC_RESET_STATE : CAPTURE_IR_STATE); - CAPTURE_IR_STATE: nstate = (tms ? EXIT1_IR_STATE : SHIFT_IR_STATE); - SHIFT_IR_STATE: nstate = (tms ? EXIT1_IR_STATE : SHIFT_IR_STATE); - EXIT1_IR_STATE: nstate = (tms ? UPDATE_IR_STATE : PAUSE_IR_STATE); - PAUSE_IR_STATE: nstate = (tms ? EXIT2_IR_STATE : PAUSE_IR_STATE); - EXIT2_IR_STATE: nstate = (tms ? UPDATE_IR_STATE : SHIFT_IR_STATE); - UPDATE_IR_STATE: nstate = (tms ? SELECT_DR_SCAN_STATE : RUN_TEST_IDLE_STATE); - default: nstate = TEST_LOGIC_RESET_STATE; - endcase - end - always @(posedge tck or negedge trst) - if (!trst) - state <= TEST_LOGIC_RESET_STATE; - else - state <= nstate; - assign jtag_reset = state == TEST_LOGIC_RESET_STATE; - assign shift_dr = state == SHIFT_DR_STATE; - assign pause_dr = state == PAUSE_DR_STATE; - assign update_dr = state == UPDATE_DR_STATE; - assign capture_dr = state == CAPTURE_DR_STATE; - assign shift_ir = state == SHIFT_IR_STATE; - assign pause_ir = state == PAUSE_IR_STATE; - assign update_ir = state == UPDATE_IR_STATE; - assign capture_ir = state == CAPTURE_IR_STATE; - assign tdoEnable = shift_dr | shift_ir; - always @(negedge tck or negedge trst) - if (!trst) - ir <= 5'b00001; - else if (jtag_reset) - ir <= 5'b00001; - else if (update_ir) - ir <= (sr[4:0] == {5 {1'sb0}} ? 5'h1f : sr[4:0]); - assign devid_sel = ir == 5'b00001; - assign dr_en[0] = ir == 5'b10000; - assign dr_en[1] = ir == 5'b10001; - always @(posedge tck or negedge trst) - if (!trst) - sr <= {USER_DR_LENGTH {1'sb0}}; - else - sr <= nsr; - always @(*) begin - nsr = sr; - case (1) - shift_dr: - case (1) - dr_en[1]: nsr = {tdi, sr[USER_DR_LENGTH - 1:1]}; - dr_en[0], devid_sel: nsr = {{USER_DR_LENGTH - 32 {1'b0}}, tdi, sr[31:1]}; - default: nsr = {{USER_DR_LENGTH - 1 {1'b0}}, tdi}; - endcase - capture_dr: begin - nsr[0] = 1'b0; - case (1) - dr_en[0]: nsr = {{USER_DR_LENGTH - 15 {1'b0}}, idle, dmi_stat, abits, version}; - dr_en[1]: nsr = {{AWIDTH {1'b0}}, rd_data, rd_status}; - devid_sel: nsr = {{USER_DR_LENGTH - 32 {1'b0}}, jtag_id, 1'b1}; - endcase - end - shift_ir: nsr = {{USER_DR_LENGTH - 5 {1'b0}}, tdi, sr[4:1]}; - capture_ir: nsr = {{USER_DR_LENGTH - 1 {1'b0}}, 1'b1}; - endcase - end - always @(negedge tck) tdo <= sr[0]; - always @(posedge tck or negedge trst) - if (!trst) begin - dmi_hard_reset <= 1'b0; - dmi_reset <= 1'b0; - end - else if (update_dr & dr_en[0]) begin - dmi_hard_reset <= sr[17]; - dmi_reset <= sr[16]; - end - else begin - dmi_hard_reset <= 1'b0; - dmi_reset <= 1'b0; - end - always @(posedge tck or negedge trst) - if (!trst) - dr <= {USER_DR_LENGTH {1'sb0}}; - else if (update_dr & dr_en[1]) - dr <= sr; - else - dr <= {dr[USER_DR_LENGTH - 1:2], 2'b00}; - assign {wr_addr, wr_data, wr_en, rd_en} = dr; -endmodule -module eb1_btb_tag_hash ( - pc, - hash -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1] pc; - output wire [pt[2139-:9] - 1:0] hash; - assign hash = {(pc[((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + pt[2139-:9]:((pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]) + 1] ^ pc[(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:(pt[2172-:9] + pt[2139-:9]) + 1]) ^ pc[pt[2172-:9] + pt[2139-:9]:pt[2172-:9] + 1]}; -endmodule -module eb1_btb_tag_hash_fold ( - pc, - hash -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:pt[2172-:9] + 1] pc; - output wire [pt[2139-:9] - 1:0] hash; - assign hash = {pc[(pt[2172-:9] + pt[2139-:9]) + pt[2139-:9]:(pt[2172-:9] + pt[2139-:9]) + 1] ^ pc[pt[2172-:9] + pt[2139-:9]:pt[2172-:9] + 1]}; -endmodule -module eb1_btb_addr_hash ( - pc, - hash -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [pt[2079-:9]:pt[2106-:9]] pc; - output wire [pt[2172-:9]:pt[2163-:6]] hash; - generate - if (pt[2125-:5]) begin : fold2 - assign hash[pt[2172-:9]:pt[2163-:6]] = pc[pt[2115-:9]:pt[2106-:9]] ^ pc[pt[2079-:9]:pt[2070-:9]]; - end - else assign hash[pt[2172-:9]:pt[2163-:6]] = (pc[pt[2115-:9]:pt[2106-:9]] ^ pc[pt[2097-:9]:pt[2088-:9]]) ^ pc[pt[2079-:9]:pt[2070-:9]]; - endgenerate -endmodule -module eb1_btb_ghr_hash ( - hashin, - ghr, - hash -); - function automatic [0:0] sv2v_cast_1; - input reg [0:0] inp; - sv2v_cast_1 = inp; - endfunction - parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; - input wire [pt[2172-:9]:pt[2163-:6]] hashin; - input wire [pt[2236-:8] - 1:0] ghr; - output wire [pt[2270-:8]:pt[2262-:6]] hash; - generate - if (pt[2241-:5]) begin : ghrhash_cfg1 - assign hash[pt[2270-:8]:pt[2262-:6]] = {ghr[pt[2236-:8] - 1:pt[2115-:9] - 1], hashin[pt[2115-:9]:2] ^ ghr[pt[2115-:9] - 2:0]}; - end - else begin : ghrhash_cfg2 - assign hash[pt[2270-:8]:pt[2262-:6]] = {hashin[pt[2236-:8] + 1:2] ^ ghr[pt[2236-:8] - 1:0]}; - end - endgenerate -endmodule -module rvdff ( - din, - clk, - rst_l, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire rst_l; - output reg [WIDTH - 1:0] dout; - generate - if (SHORT == 1) begin - wire [WIDTH:1] sv2v_tmp_70387; - assign sv2v_tmp_70387 = din; - always @(*) dout = sv2v_tmp_70387; - end - endgenerate - always @(posedge clk or negedge rst_l) - if (rst_l == 0) - dout[WIDTH - 1:0] <= 0; - else - dout[WIDTH - 1:0] <= din[WIDTH - 1:0]; -endmodule -module rvdffs ( - din, - en, - clk, - rst_l, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - input wire [WIDTH - 1:0] din; - input wire en; - input wire clk; - input wire rst_l; - output wire [WIDTH - 1:0] dout; - generate - if (SHORT == 1) begin : genblock - assign dout = din; - end - else begin : genblock - rvdff #(.WIDTH(WIDTH)) dffs( - .din((en ? din[WIDTH - 1:0] : dout[WIDTH - 1:0])), - .clk(clk), - .rst_l(rst_l), - .dout(dout) - ); - end - endgenerate -endmodule -module rvdffsc ( - din, - en, - clear, - clk, - rst_l, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - input wire [WIDTH - 1:0] din; - input wire en; - input wire clear; - input wire clk; - input wire rst_l; - output wire [WIDTH - 1:0] dout; - wire [WIDTH - 1:0] din_new; - generate - if (SHORT == 1) begin - assign dout = din; - end - else begin - assign din_new = {WIDTH {~clear}} & (en ? din[WIDTH - 1:0] : dout[WIDTH - 1:0]); - rvdff #(.WIDTH(WIDTH)) dffsc( - .din(din_new[WIDTH - 1:0]), - .clk(clk), - .rst_l(rst_l), - .dout(dout) - ); - end - endgenerate -endmodule -module rvdff_fpga ( - din, - clk, - clken, - rawclk, - rst_l, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire clken; - input wire rawclk; - input wire rst_l; - output wire [WIDTH - 1:0] dout; - generate - if (SHORT == 1) begin - assign dout = din; - end - else rvdff #(.WIDTH(WIDTH)) dff( - .din(din), - .clk(clk), - .rst_l(rst_l), - .dout(dout) - ); - endgenerate -endmodule -module rvdffs_fpga ( - din, - en, - clk, - clken, - rawclk, - rst_l, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - input wire [WIDTH - 1:0] din; - input wire en; - input wire clk; - input wire clken; - input wire rawclk; - input wire rst_l; - output wire [WIDTH - 1:0] dout; - generate - if (SHORT == 1) begin : genblock - assign dout = din; - end - else begin : genblock - rvdffs #(.WIDTH(WIDTH)) dffs( - .din(din), - .en(en), - .clk(clk), - .rst_l(rst_l), - .dout(dout) - ); - end - endgenerate -endmodule -module rvdffsc_fpga ( - din, - en, - clear, - clk, - clken, - rawclk, - rst_l, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - input wire [WIDTH - 1:0] din; - input wire en; - input wire clear; - input wire clk; - input wire clken; - input wire rawclk; - input wire rst_l; - output wire [WIDTH - 1:0] dout; - wire [WIDTH - 1:0] din_new; - generate - if (SHORT == 1) begin - assign dout = din; - end - else rvdffsc #(.WIDTH(WIDTH)) dffsc( - .din(din), - .en(en), - .clear(clear), - .clk(clk), - .rst_l(rst_l), - .dout(dout) - ); - endgenerate -endmodule -module rvdffe ( - din, - en, - clk, - rst_l, - scan_mode, - dout -); - parameter WIDTH = 1; - parameter SHORT = 0; - parameter OVERRIDE = 0; - input wire [WIDTH - 1:0] din; - input wire en; - input wire clk; - input wire rst_l; - input wire scan_mode; - output wire [WIDTH - 1:0] dout; - wire l1clk; - generate - if (SHORT == 1) begin : genblock - begin : genblock - assign dout = din; - end - end - else begin : genblock - rvclkhdr clkhdr( - .en(en), - .clk(clk), - .scan_mode(scan_mode), - .l1clk(l1clk) - ); - rvdff #(.WIDTH(WIDTH)) dff( - .din(din), - .rst_l(rst_l), - .dout(dout), - .clk(l1clk) - ); - end - endgenerate -endmodule -module rvdffpcie ( - din, - clk, - rst_l, - en, - scan_mode, - dout -); - parameter WIDTH = 31; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire rst_l; - input wire en; - input wire scan_mode; - output wire [WIDTH - 1:0] dout; - rvdfflie #( - .WIDTH(WIDTH), - .LEFT(19) - ) dff( - .din(din), - .clk(clk), - .rst_l(rst_l), - .en(en), - .scan_mode(scan_mode), - .dout(dout) - ); -endmodule -module rvdfflie ( - din, - clk, - rst_l, - en, - scan_mode, - dout -); - parameter WIDTH = 16; - parameter LEFT = 8; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire rst_l; - input wire en; - input wire scan_mode; - output wire [WIDTH - 1:0] dout; - localparam EXTRA = WIDTH - LEFT; - localparam LMSB = WIDTH - 1; - localparam LLSB = (LMSB - LEFT) + 1; - localparam XMSB = LLSB - 1; - localparam XLSB = LLSB - EXTRA; - rvdffiee #(.WIDTH(LEFT)) dff_left( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .en(en), - .din(din[LMSB:LLSB]), - .dout(dout[LMSB:LLSB]) - ); - rvdffe #(.WIDTH(EXTRA)) dff_extra( - .en(en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(din[XMSB:XLSB]), - .dout(dout[XMSB:XLSB]) - ); -endmodule -module rvdffppe ( - din, - clk, - rst_l, - en, - scan_mode, - dout -); - parameter WIDTH = 32; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire rst_l; - input wire en; - input wire scan_mode; - output wire [WIDTH - 1:0] dout; - localparam RIGHT = 31; - localparam LEFT = WIDTH - RIGHT; - localparam LMSB = WIDTH - 1; - localparam LLSB = (LMSB - LEFT) + 1; - localparam RMSB = LLSB - 1; - localparam RLSB = LLSB - RIGHT; - rvdffe #(.WIDTH(LEFT)) dff_left( - .en(en), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(din[LMSB:LLSB]), - .dout(dout[LMSB:LLSB]) - ); - rvdffe #(.WIDTH(RIGHT)) dff_right( - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .din(din[RMSB:RLSB]), - .dout(dout[RMSB:RLSB]), - .en(en & din[LLSB]) - ); -endmodule -module rvdffie ( - din, - clk, - rst_l, - scan_mode, - dout -); - parameter WIDTH = 1; - parameter OVERRIDE = 0; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire rst_l; - input wire scan_mode; - output wire [WIDTH - 1:0] dout; - wire l1clk; - wire en; - assign en = |(din ^ dout); - rvclkhdr clkhdr( - .en(en), - .clk(clk), - .scan_mode(scan_mode), - .l1clk(l1clk) - ); - rvdff #(.WIDTH(WIDTH)) dff( - .din(din), - .rst_l(rst_l), - .dout(dout), - .clk(l1clk) - ); -endmodule -module rvdffiee ( - din, - clk, - rst_l, - scan_mode, - en, - dout -); - parameter WIDTH = 1; - parameter OVERRIDE = 0; - input wire [WIDTH - 1:0] din; - input wire clk; - input wire rst_l; - input wire scan_mode; - input wire en; - output wire [WIDTH - 1:0] dout; - wire l1clk; - wire final_en; - assign final_en = |(din ^ dout) & en; - rvdffe #(.WIDTH(WIDTH)) dff( - .din(din), - .clk(clk), - .rst_l(rst_l), - .scan_mode(scan_mode), - .dout(dout), - .en(final_en) - ); -endmodule -module rvsyncss ( - clk, - rst_l, - din, - dout -); - parameter WIDTH = 251; - input wire clk; - input wire rst_l; - input wire [WIDTH - 1:0] din; - output wire [WIDTH - 1:0] dout; - wire [WIDTH - 1:0] din_ff1; - rvdff #(.WIDTH(WIDTH)) sync_ff1( - .clk(clk), - .rst_l(rst_l), - .din(din[WIDTH - 1:0]), - .dout(din_ff1[WIDTH - 1:0]) - ); - rvdff #(.WIDTH(WIDTH)) sync_ff2( - .clk(clk), - .rst_l(rst_l), - .din(din_ff1[WIDTH - 1:0]), - .dout(dout[WIDTH - 1:0]) - ); -endmodule -module rvsyncss_fpga ( - gw_clk, - rawclk, - clken, - rst_l, - din, - dout -); - parameter WIDTH = 251; - input wire gw_clk; - input wire rawclk; - input wire clken; - input wire rst_l; - input wire [WIDTH - 1:0] din; - output wire [WIDTH - 1:0] dout; - wire [WIDTH - 1:0] din_ff1; - rvdff_fpga #(.WIDTH(WIDTH)) sync_ff1( - .rst_l(rst_l), - .clk(gw_clk), - .rawclk(rawclk), - .clken(clken), - .din(din[WIDTH - 1:0]), - .dout(din_ff1[WIDTH - 1:0]) - ); - rvdff_fpga #(.WIDTH(WIDTH)) sync_ff2( - .rst_l(rst_l), - .clk(gw_clk), - .rawclk(rawclk), - .clken(clken), - .din(din_ff1[WIDTH - 1:0]), - .dout(dout[WIDTH - 1:0]) - ); -endmodule -module rvlsadder ( - rs1, - offset, - dout -); - input wire [31:0] rs1; - input wire [11:0] offset; - output wire [31:0] dout; - wire cout; - wire sign; - wire [31:12] rs1_inc; - wire [31:12] rs1_dec; - assign {cout, dout[11:0]} = {1'b0, rs1[11:0]} + {1'b0, offset[11:0]}; - assign rs1_inc[31:12] = rs1[31:12] + 1; - assign rs1_dec[31:12] = rs1[31:12] - 1; - assign sign = offset[11]; - assign dout[31:12] = (({20 {sign ~^ cout}} & rs1[31:12]) | ({20 {~sign & cout}} & rs1_inc[31:12])) | ({20 {sign & ~cout}} & rs1_dec[31:12]); -endmodule -module rvbradder ( - pc, - offset, - dout -); - input [31:1] pc; - input [12:1] offset; - output [31:1] dout; - wire cout; - wire sign; - wire [31:13] pc_inc; - wire [31:13] pc_dec; - assign {cout, dout[12:1]} = {1'b0, pc[12:1]} + {1'b0, offset[12:1]}; - assign pc_inc[31:13] = pc[31:13] + 1; - assign pc_dec[31:13] = pc[31:13] - 1; - assign sign = offset[12]; - assign dout[31:13] = (({19 {sign ~^ cout}} & pc[31:13]) | ({19 {~sign & cout}} & pc_inc[31:13])) | ({19 {sign & ~cout}} & pc_dec[31:13]); -endmodule -module rvtwoscomp ( - din, - dout -); - parameter WIDTH = 32; - input wire [WIDTH - 1:0] din; - output wire [WIDTH - 1:0] dout; - wire [WIDTH - 1:1] dout_temp; - genvar i; - generate - for (i = 1; i < WIDTH; i = i + 1) begin : flip_after_first_one - assign dout_temp[i] = (|din[i - 1:0] ? ~din[i] : din[i]); - end - endgenerate - assign dout[WIDTH - 1:0] = {dout_temp[WIDTH - 1:1], din[0]}; -endmodule -module rvfindfirst1 ( - din, - dout -); - parameter WIDTH = 32; - parameter SHIFT = $clog2(WIDTH); - input wire [WIDTH - 1:0] din; - output reg [SHIFT - 1:0] dout; - reg done; - always @(*) begin - dout[SHIFT - 1:0] = {SHIFT {1'b0}}; - done = 1'b0; - begin : sv2v_autoblock_64 - reg signed [31:0] i; - for (i = WIDTH - 1; i > 0; i = i - 1) - begin : find_first_one - done = done | din[i]; - dout[SHIFT - 1:0] = dout[SHIFT - 1:0] + (done ? 1'b0 : 1'b1); - end - end - end -endmodule -module rvfindfirst1hot ( - din, - dout -); - parameter WIDTH = 32; - input wire [WIDTH - 1:0] din; - output reg [WIDTH - 1:0] dout; - reg done; - always @(*) begin - dout[WIDTH - 1:0] = {WIDTH {1'b0}}; - done = 1'b0; - begin : sv2v_autoblock_65 - reg signed [31:0] i; - for (i = 0; i < WIDTH; i = i + 1) - begin : find_first_one - dout[i] = ~done & din[i]; - done = done | din[i]; - end - end - end -endmodule -module rvmaskandmatch ( - mask, - data, - masken, - match -); - parameter WIDTH = 32; - input wire [WIDTH - 1:0] mask; - input wire [WIDTH - 1:0] data; - input wire masken; - output wire match; - wire [WIDTH - 1:0] matchvec; - wire masken_or_fullmask; - assign masken_or_fullmask = masken & ~(&mask[WIDTH - 1:0]); - assign matchvec[0] = masken_or_fullmask | (mask[0] == data[0]); - genvar i; - generate - for (i = 1; i < WIDTH; i = i + 1) begin : match_after_first_zero - assign matchvec[i] = (&mask[i - 1:0] & masken_or_fullmask ? 1'b1 : mask[i] == data[i]); - end - endgenerate - assign match = &matchvec[WIDTH - 1:0]; -endmodule -module rvrangecheck ( - addr, - in_range, - in_region -); - parameter CCM_SADR = 32'h00000000; - parameter CCM_SIZE = 128; - input wire [31:0] addr; - output wire in_range; - output wire in_region; - localparam REGION_BITS = 4; - localparam MASK_BITS = 10 + $clog2(CCM_SIZE); - wire [31:0] start_addr; - wire [3:0] region; - assign start_addr[31:0] = CCM_SADR; - assign region[3:0] = start_addr[31:28]; - assign in_region = addr[31:28] == region[3:0]; - generate - if (CCM_SIZE == 48) begin - assign in_range = (addr[31:MASK_BITS] == start_addr[31:MASK_BITS]) & ~(&addr[MASK_BITS - 1:MASK_BITS - 2]); - end - else assign in_range = addr[31:MASK_BITS] == start_addr[31:MASK_BITS]; - endgenerate -endmodule -module rveven_paritygen ( - data_in, - parity_out -); - parameter WIDTH = 16; - input wire [WIDTH - 1:0] data_in; - output wire parity_out; - assign parity_out = ^data_in[WIDTH - 1:0]; -endmodule -module rveven_paritycheck ( - data_in, - parity_in, - parity_err -); - parameter WIDTH = 16; - input wire [WIDTH - 1:0] data_in; - input wire parity_in; - output wire parity_err; - assign parity_err = ^data_in[WIDTH - 1:0] ^ parity_in; -endmodule -module rvecc_encode ( - din, - ecc_out -); - input [31:0] din; - output [6:0] ecc_out; - wire [5:0] ecc_out_temp; - assign ecc_out_temp[0] = ((((((((((((((((din[0] ^ din[1]) ^ din[3]) ^ din[4]) ^ din[6]) ^ din[8]) ^ din[10]) ^ din[11]) ^ din[13]) ^ din[15]) ^ din[17]) ^ din[19]) ^ din[21]) ^ din[23]) ^ din[25]) ^ din[26]) ^ din[28]) ^ din[30]; - assign ecc_out_temp[1] = ((((((((((((((((din[0] ^ din[2]) ^ din[3]) ^ din[5]) ^ din[6]) ^ din[9]) ^ din[10]) ^ din[12]) ^ din[13]) ^ din[16]) ^ din[17]) ^ din[20]) ^ din[21]) ^ din[24]) ^ din[25]) ^ din[27]) ^ din[28]) ^ din[31]; - assign ecc_out_temp[2] = ((((((((((((((((din[1] ^ din[2]) ^ din[3]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[29]) ^ din[30]) ^ din[31]; - assign ecc_out_temp[3] = (((((((((((((din[4] ^ din[5]) ^ din[6]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]; - assign ecc_out_temp[4] = (((((((((((((din[11] ^ din[12]) ^ din[13]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]; - assign ecc_out_temp[5] = ((((din[26] ^ din[27]) ^ din[28]) ^ din[29]) ^ din[30]) ^ din[31]; - assign ecc_out[6:0] = {^din[31:0] ^ ^ecc_out_temp[5:0], ecc_out_temp[5:0]}; -endmodule -module rvecc_decode ( - en, - din, - ecc_in, - sed_ded, - dout, - ecc_out, - single_ecc_error, - double_ecc_error -); - input en; - input [31:0] din; - input [6:0] ecc_in; - input sed_ded; - output [31:0] dout; - output [6:0] ecc_out; - output single_ecc_error; - output double_ecc_error; - wire [6:0] ecc_check; - wire [38:0] error_mask; - wire [38:0] din_plus_parity; - wire [38:0] dout_plus_parity; - assign ecc_check[0] = (((((((((((((((((ecc_in[0] ^ din[0]) ^ din[1]) ^ din[3]) ^ din[4]) ^ din[6]) ^ din[8]) ^ din[10]) ^ din[11]) ^ din[13]) ^ din[15]) ^ din[17]) ^ din[19]) ^ din[21]) ^ din[23]) ^ din[25]) ^ din[26]) ^ din[28]) ^ din[30]; - assign ecc_check[1] = (((((((((((((((((ecc_in[1] ^ din[0]) ^ din[2]) ^ din[3]) ^ din[5]) ^ din[6]) ^ din[9]) ^ din[10]) ^ din[12]) ^ din[13]) ^ din[16]) ^ din[17]) ^ din[20]) ^ din[21]) ^ din[24]) ^ din[25]) ^ din[27]) ^ din[28]) ^ din[31]; - assign ecc_check[2] = (((((((((((((((((ecc_in[2] ^ din[1]) ^ din[2]) ^ din[3]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[29]) ^ din[30]) ^ din[31]; - assign ecc_check[3] = ((((((((((((((ecc_in[3] ^ din[4]) ^ din[5]) ^ din[6]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]; - assign ecc_check[4] = ((((((((((((((ecc_in[4] ^ din[11]) ^ din[12]) ^ din[13]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]; - assign ecc_check[5] = (((((ecc_in[5] ^ din[26]) ^ din[27]) ^ din[28]) ^ din[29]) ^ din[30]) ^ din[31]; - assign ecc_check[6] = (^din[31:0] ^ ^ecc_in[6:0]) & ~sed_ded; - assign single_ecc_error = (en & (ecc_check[6:0] != 0)) & ecc_check[6]; - assign double_ecc_error = (en & (ecc_check[6:0] != 0)) & ~ecc_check[6]; - generate - genvar i; - for (i = 1; i < 40; i = i + 1) assign error_mask[i - 1] = ecc_check[5:0] == i; - endgenerate - assign din_plus_parity[38:0] = {ecc_in[6], din[31:26], ecc_in[5], din[25:11], ecc_in[4], din[10:4], ecc_in[3], din[3:1], ecc_in[2], din[0], ecc_in[1:0]}; - assign dout_plus_parity[38:0] = (single_ecc_error ? error_mask[38:0] ^ din_plus_parity[38:0] : din_plus_parity[38:0]); - assign dout[31:0] = {dout_plus_parity[37:32], dout_plus_parity[30:16], dout_plus_parity[14:8], dout_plus_parity[6:4], dout_plus_parity[2]}; - assign ecc_out[6:0] = {dout_plus_parity[38] ^ (ecc_check[6:0] == 7'b1000000), dout_plus_parity[31], dout_plus_parity[15], dout_plus_parity[7], dout_plus_parity[3], dout_plus_parity[1:0]}; -endmodule -module rvecc_encode_64 ( - din, - ecc_out -); - input [63:0] din; - output [6:0] ecc_out; - assign ecc_out[0] = (((((((((((((((((((((((((((((((((din[0] ^ din[1]) ^ din[3]) ^ din[4]) ^ din[6]) ^ din[8]) ^ din[10]) ^ din[11]) ^ din[13]) ^ din[15]) ^ din[17]) ^ din[19]) ^ din[21]) ^ din[23]) ^ din[25]) ^ din[26]) ^ din[28]) ^ din[30]) ^ din[32]) ^ din[34]) ^ din[36]) ^ din[38]) ^ din[40]) ^ din[42]) ^ din[44]) ^ din[46]) ^ din[48]) ^ din[50]) ^ din[52]) ^ din[54]) ^ din[56]) ^ din[57]) ^ din[59]) ^ din[61]) ^ din[63]; - assign ecc_out[1] = (((((((((((((((((((((((((((((((((din[0] ^ din[2]) ^ din[3]) ^ din[5]) ^ din[6]) ^ din[9]) ^ din[10]) ^ din[12]) ^ din[13]) ^ din[16]) ^ din[17]) ^ din[20]) ^ din[21]) ^ din[24]) ^ din[25]) ^ din[27]) ^ din[28]) ^ din[31]) ^ din[32]) ^ din[35]) ^ din[36]) ^ din[39]) ^ din[40]) ^ din[43]) ^ din[44]) ^ din[47]) ^ din[48]) ^ din[51]) ^ din[52]) ^ din[55]) ^ din[56]) ^ din[58]) ^ din[59]) ^ din[62]) ^ din[63]; - assign ecc_out[2] = (((((((((((((((((((((((((((((((((din[1] ^ din[2]) ^ din[3]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[29]) ^ din[30]) ^ din[31]) ^ din[32]) ^ din[37]) ^ din[38]) ^ din[39]) ^ din[40]) ^ din[45]) ^ din[46]) ^ din[47]) ^ din[48]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]) ^ din[60]) ^ din[61]) ^ din[62]) ^ din[63]; - assign ecc_out[3] = (((((((((((((((((((((((((((((din[4] ^ din[5]) ^ din[6]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[33]) ^ din[34]) ^ din[35]) ^ din[36]) ^ din[37]) ^ din[38]) ^ din[39]) ^ din[40]) ^ din[49]) ^ din[50]) ^ din[51]) ^ din[52]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]; - assign ecc_out[4] = (((((((((((((((((((((((((((((din[11] ^ din[12]) ^ din[13]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[41]) ^ din[42]) ^ din[43]) ^ din[44]) ^ din[45]) ^ din[46]) ^ din[47]) ^ din[48]) ^ din[49]) ^ din[50]) ^ din[51]) ^ din[52]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]; - assign ecc_out[5] = (((((((((((((((((((((((((((((din[26] ^ din[27]) ^ din[28]) ^ din[29]) ^ din[30]) ^ din[31]) ^ din[32]) ^ din[33]) ^ din[34]) ^ din[35]) ^ din[36]) ^ din[37]) ^ din[38]) ^ din[39]) ^ din[40]) ^ din[41]) ^ din[42]) ^ din[43]) ^ din[44]) ^ din[45]) ^ din[46]) ^ din[47]) ^ din[48]) ^ din[49]) ^ din[50]) ^ din[51]) ^ din[52]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]; - assign ecc_out[6] = (((((din[57] ^ din[58]) ^ din[59]) ^ din[60]) ^ din[61]) ^ din[62]) ^ din[63]; -endmodule -module rvecc_decode_64 ( - en, - din, - ecc_in, - ecc_error -); - input en; - input [63:0] din; - input [6:0] ecc_in; - output ecc_error; - wire [6:0] ecc_check; - assign ecc_check[0] = ((((((((((((((((((((((((((((((((((ecc_in[0] ^ din[0]) ^ din[1]) ^ din[3]) ^ din[4]) ^ din[6]) ^ din[8]) ^ din[10]) ^ din[11]) ^ din[13]) ^ din[15]) ^ din[17]) ^ din[19]) ^ din[21]) ^ din[23]) ^ din[25]) ^ din[26]) ^ din[28]) ^ din[30]) ^ din[32]) ^ din[34]) ^ din[36]) ^ din[38]) ^ din[40]) ^ din[42]) ^ din[44]) ^ din[46]) ^ din[48]) ^ din[50]) ^ din[52]) ^ din[54]) ^ din[56]) ^ din[57]) ^ din[59]) ^ din[61]) ^ din[63]; - assign ecc_check[1] = ((((((((((((((((((((((((((((((((((ecc_in[1] ^ din[0]) ^ din[2]) ^ din[3]) ^ din[5]) ^ din[6]) ^ din[9]) ^ din[10]) ^ din[12]) ^ din[13]) ^ din[16]) ^ din[17]) ^ din[20]) ^ din[21]) ^ din[24]) ^ din[25]) ^ din[27]) ^ din[28]) ^ din[31]) ^ din[32]) ^ din[35]) ^ din[36]) ^ din[39]) ^ din[40]) ^ din[43]) ^ din[44]) ^ din[47]) ^ din[48]) ^ din[51]) ^ din[52]) ^ din[55]) ^ din[56]) ^ din[58]) ^ din[59]) ^ din[62]) ^ din[63]; - assign ecc_check[2] = ((((((((((((((((((((((((((((((((((ecc_in[2] ^ din[1]) ^ din[2]) ^ din[3]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[29]) ^ din[30]) ^ din[31]) ^ din[32]) ^ din[37]) ^ din[38]) ^ din[39]) ^ din[40]) ^ din[45]) ^ din[46]) ^ din[47]) ^ din[48]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]) ^ din[60]) ^ din[61]) ^ din[62]) ^ din[63]; - assign ecc_check[3] = ((((((((((((((((((((((((((((((ecc_in[3] ^ din[4]) ^ din[5]) ^ din[6]) ^ din[7]) ^ din[8]) ^ din[9]) ^ din[10]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[33]) ^ din[34]) ^ din[35]) ^ din[36]) ^ din[37]) ^ din[38]) ^ din[39]) ^ din[40]) ^ din[49]) ^ din[50]) ^ din[51]) ^ din[52]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]; - assign ecc_check[4] = ((((((((((((((((((((((((((((((ecc_in[4] ^ din[11]) ^ din[12]) ^ din[13]) ^ din[14]) ^ din[15]) ^ din[16]) ^ din[17]) ^ din[18]) ^ din[19]) ^ din[20]) ^ din[21]) ^ din[22]) ^ din[23]) ^ din[24]) ^ din[25]) ^ din[41]) ^ din[42]) ^ din[43]) ^ din[44]) ^ din[45]) ^ din[46]) ^ din[47]) ^ din[48]) ^ din[49]) ^ din[50]) ^ din[51]) ^ din[52]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]; - assign ecc_check[5] = ((((((((((((((((((((((((((((((ecc_in[5] ^ din[26]) ^ din[27]) ^ din[28]) ^ din[29]) ^ din[30]) ^ din[31]) ^ din[32]) ^ din[33]) ^ din[34]) ^ din[35]) ^ din[36]) ^ din[37]) ^ din[38]) ^ din[39]) ^ din[40]) ^ din[41]) ^ din[42]) ^ din[43]) ^ din[44]) ^ din[45]) ^ din[46]) ^ din[47]) ^ din[48]) ^ din[49]) ^ din[50]) ^ din[51]) ^ din[52]) ^ din[53]) ^ din[54]) ^ din[55]) ^ din[56]; - assign ecc_check[6] = ((((((ecc_in[6] ^ din[57]) ^ din[58]) ^ din[59]) ^ din[60]) ^ din[61]) ^ din[62]) ^ din[63]; - assign ecc_error = en & (ecc_check[6:0] != 0); -endmodule -module rvclkhdr ( - - en, - clk, - scan_mode, - l1clk -); - - input wire en; - input wire clk; - input wire scan_mode; - output wire l1clk; - wire SE; - assign SE = 0; - sky130_fd_sc_hd__dlclkp_1 clkhdr( - `ifdef USE_POWER_PINS - .VPWR(1'b1), - .VGND(1'b0), - `endif - .CLK(clk), - .GCLK(l1clk), - .GATE(en) - ); -endmodule -module rvoclkhdr ( - en, - clk, - scan_mode, - l1clk -); - - input wire en; - input wire clk; - input wire scan_mode; - output wire l1clk; - wire SE; - assign SE = 0; - sky130_fd_sc_hd__dlclkp_1 clkhdr( - `ifdef USE_POWER_PINS - .VPWR(1'b1), - .VGND(1'b0), - `endif - .CLK(clk), - .GCLK(l1clk), - .GATE(en) - ); -endmodule
diff --git a/verilog/rtl/BrqRV_EB1/DFFRAM.v b/verilog/rtl/BrqRV_EB1/DFFRAM.v deleted file mode 100644 index b80677f..0000000 --- a/verilog/rtl/BrqRV_EB1/DFFRAM.v +++ /dev/null
@@ -1,176 +0,0 @@ -// SPDX-FileCopyrightText: 2020 Efabless Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// SPDX-License-Identifier: Apache-2.0 - -`default_nettype none -`ifndef USE_CUSTOM_DFFRAM - -module DFFRAM( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input CLK, - input [3:0] WE, - input EN, - input [31:0] Di, - output reg [31:0] Do, - input [7:0] A -); - - -reg [31:0] mem [0:`MEM_WORDS-1]; - -always @(posedge CLK) begin - if (EN == 1'b1) begin - Do <= mem[A]; - if (WE[0]) mem[A][ 7: 0] <= Di[ 7: 0]; - if (WE[1]) mem[A][15: 8] <= Di[15: 8]; - if (WE[2]) mem[A][23:16] <= Di[23:16]; - if (WE[3]) mem[A][31:24] <= Di[31:24]; - end -end -endmodule - -`else - -module DFFRAM #( parameter COLS=1) -( -`ifdef USE_POWER_PINS - VPWR, - VGND, -`endif - CLK, - WE, - EN, - Di, - Do, - A -); - - input CLK; - input [3:0] WE; - input EN; - input [31:0] Di; - output [31:0] Do; - input [7+$clog2(COLS):0] A; - -`ifdef USE_POWER_PINS - input VPWR; - input VGND; -`endif - - wire [31:0] DOUT [COLS-1:0]; - wire [31:0] Do_pre; - wire [COLS-1:0] EN_lines; - - generate - genvar i; - for (i=0; i<COLS; i=i+1) begin : COLUMN - DFFRAM_COL4 RAMCOLS ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK), - .WE(WE), - .EN(EN_lines[i]), - .Di(Di), - .Do(DOUT[i]), - .A(A[7:0]) - ); - end - if(COLS==4) begin - MUX4x1_32 MUX ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .A0(DOUT[0]), - .A1(DOUT[1]), - .A2(DOUT[2]), - .A3(DOUT[3]), - .S(A[9:8]), - .X(Do_pre) - ); - DEC2x4 DEC ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .EN(EN), - .A(A[9:8]), - .SEL(EN_lines) - ); - end - else if(COLS==2) begin - MUX2x1_32 MUX ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .A0(DOUT[0]), - .A1(DOUT[1]), - .S(A[8]), - .X(Do_pre) - ); - //sky130_fd_sc_hd__inv_4 DEC0 ( .Y(EN_lines[0]), .A(A[8]) ); - //sky130_fd_sc_hd__clkbuf_4 DEC1 (.X(EN_lines[1]), .A(A[8]) ); - DEC1x2 DEC ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .EN(EN), - .A(A[8]), - .SEL(EN_lines[1:0]) - ); - - end - else begin - PASS MUX ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .A(DOUT[0]), - .X(Do_pre) - ); - sky130_fd_sc_hd__clkbuf_4 ENBUF ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(EN_lines[0]), - .A(EN) - ); - end - endgenerate - - sky130_fd_sc_hd__clkbuf_4 DOBUF[31:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(Do), - .A(Do_pre) - ); - -endmodule - -`endif \ No newline at end of file
diff --git a/verilog/rtl/BrqRV_EB1/DFFRAMBB.v b/verilog/rtl/BrqRV_EB1/DFFRAMBB.v deleted file mode 100644 index 22ab55e..0000000 --- a/verilog/rtl/BrqRV_EB1/DFFRAMBB.v +++ /dev/null
@@ -1,784 +0,0 @@ -// SPDX-FileCopyrightText: 2020 Efabless Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// SPDX-License-Identifier: Apache-2.0 - -`default_nettype none -/* - Building blocks for DFF based RAM compiler for SKY130A - BYTE : 8 memory cells used as a building block for WORD module - WORD : 32-bit memory word with select and byte-level WE - DEC6x64 : 2x4 Binary Decoder - DEC6x64 : 6x64 Binary decoder - MUX4x1_32 : 32-bit 4x1 MUX - MUX2x1_32 : 32-bit 2x1 MUX - SRAM64x32 : Tri-state buffers based 64x32 DFF RAM - DFFRAM_COL4 : A single column of 4 SRAM64x32 blocks using 4x1 multiplexors -*/ -/* - Author: Mohamed Shalan (mshalan@aucegypt.edu) -*/ - -module BYTE ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input CLK, - input WE, - input SEL, - input [7:0] Di, - output [7:0] Do -); - - wire [7:0] q_wire; - wire we_wire; - wire SEL_B; - wire GCLK; - - sky130_fd_sc_hd__inv_1 INV( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .Y(SEL_B), - .A(SEL) - ); - - sky130_fd_sc_hd__and2_1 CGAND( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .A(SEL), - .B(WE), - .X(we_wire) - ); - - sky130_fd_sc_hd__dlclkp_1 CG( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .CLK(CLK), - .GCLK(GCLK), - .GATE(we_wire) - ); - - generate - genvar i; - for(i=0; i<8; i=i+1) begin : BIT - sky130_fd_sc_hd__dfxtp_1 FF ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .D(Di[i]), - .Q(q_wire[i]), - .CLK(GCLK) - ); - - sky130_fd_sc_hd__ebufn_2 OBUF ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .A(q_wire[i]), - .Z(Do[i]), - .TE_B(SEL_B) - ); - - end - endgenerate - -endmodule - - -module WORD32 ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input CLK, - input [3:0] WE, - input SEL, - input [31:0] Di, - output [31:0] Do -); - - BYTE B0 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK), .WE(WE[0]), .SEL(SEL), .Di(Di[7:0]), .Do(Do[7:0]) ); - - BYTE B1 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK), .WE(WE[1]), .SEL(SEL), .Di(Di[15:8]), .Do(Do[15:8]) ); - - BYTE B2 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK), .WE(WE[2]), .SEL(SEL), .Di(Di[23:16]), .Do(Do[23:16]) ); - - BYTE B3 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK), .WE(WE[3]), .SEL(SEL), .Di(Di[31:24]), .Do(Do[31:24]) ); - -endmodule - -module DEC1x2 ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input EN, - input [0:0] A, - output [1:0] SEL -); - sky130_fd_sc_hd__and2b_2 AND1 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[0]), - .A_N(A), - .B(EN) - ); - - sky130_fd_sc_hd__and2_2 AND3 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[1]), - .A(A), - .B(A[0]) - ); - -endmodule - -module DEC2x4 ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input EN, - input [1:0] A, - output [3:0] SEL -); - sky130_fd_sc_hd__nor3b_4 AND0 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .Y(SEL[0]), - .A(A[0]), - .B(A[1]), - .C_N(EN) - ); - - sky130_fd_sc_hd__and3b_4 AND1 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[1]), - .A_N(A[1]), - .B(A[0]), - .C(EN) - ); - - sky130_fd_sc_hd__and3b_4 AND2 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[2]), - .A_N(A[0]), - .B(A[1]), - .C(EN) - ); - - sky130_fd_sc_hd__and3_4 AND3 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[3]), - .A(A[1]), - .B(A[0]), - .C(EN) - ); - -endmodule - -module DEC3x8 ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input EN, - input [2:0] A, - output [7:0] SEL -); - sky130_fd_sc_hd__nor4b_2 AND0 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .Y(SEL[0]), - .A(A[0]), - .B(A[1]), - .C(A[2]), - .D_N(EN) - ); // 000 - - sky130_fd_sc_hd__and4bb_2 AND1 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[1]), - .A_N(A[2]), - .B_N(A[1]), - .C(A[0]), - .D(EN) - ); // 001 - - sky130_fd_sc_hd__and4bb_2 AND2 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[2]), - .A_N(A[2]), - .B_N(A[0]), - .C(A[1]), - .D(EN) - ); // 010 - - sky130_fd_sc_hd__and4b_2 AND3 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[3]), - .A_N(A[2]), - .B(A[1]), - .C(A[0]), - .D(EN) - ); // 011 - - sky130_fd_sc_hd__and4bb_2 AND4 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[4]), - .A_N(A[0]), - .B_N(A[1]), - .C(A[2]), - .D(EN) - ); // 100 - - sky130_fd_sc_hd__and4b_2 AND5 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[5]), - .A_N(A[1]), - .B(A[0]), - .C(A[2]), - .D(EN) - ); // 101 - - sky130_fd_sc_hd__and4b_2 AND6 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[6]), - .A_N(A[0]), - .B(A[1]), - .C(A[2]), - .D(EN) - ); // 110 - - sky130_fd_sc_hd__and4_2 AND7 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(SEL[7]), - .A(A[0]), - .B(A[1]), - .C(A[2]), - .D(EN) - ); // 111 -endmodule - - -module DEC6x64 ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input EN, - input [5:0] A, - output [63:0] SEL -); - wire [7:0] SEL0_w ; - wire [2:0] A_buf; - - DEC3x8 DEC_L0 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .EN(EN), - .A(A[5:3]), - .SEL(SEL0_w) - ); - - sky130_fd_sc_hd__clkbuf_16 ABUF[2:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(A_buf), - .A(A[2:0]) - ); - - generate - genvar i; - for(i=0; i<8; i=i+1) begin : DEC_L1 - DEC3x8 U ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .EN(SEL0_w[i]), - .A(A_buf), - .SEL(SEL[7+8*i: 8*i]) - ); - end - endgenerate -endmodule - -module MUX2x1_32( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input [31:0] A0, A1, - input [0:0] S, - output [31:0] X -); - sky130_fd_sc_hd__mux2_1 MUX[31:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .A0(A0), - .A1(A1), - .S(S[0]), - .X(X) - ); - -endmodule - -module MUX4x1_32( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input [31:0] A0, A1, A2, A3, - input [1:0] S, - output [31:0] X -); - sky130_fd_sc_hd__mux4_1 MUX[31:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .A0(A0), - .A1(A1), - .A2(A2), - .A3(A3), - .S0(S[0]), - .S1(S[1]), - .X(X) - ); -endmodule - -module PASS ( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input [31:0] A, - output [31:0] X -); - assign X = A; -endmodule - -module SRAM64x32( -`ifdef USE_POWER_PINS - input VPWR, - input VGND, -`endif - input CLK, - input [3:0] WE, - input EN, - input [31:0] Di, - output [31:0] Do, - input [5:0] A -); - - wire [63:0] SEL; - wire [31:0] Do_pre; - wire [31:0] Di_buf; - wire CLK_buf; - wire [3:0] WE_buf; - - sky130_fd_sc_hd__clkbuf_16 CLKBUF ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(CLK_buf), - .A(CLK) - ); - - sky130_fd_sc_hd__clkbuf_16 WEBUF[3:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(WE_buf), - .A(WE) - ); - - sky130_fd_sc_hd__clkbuf_16 DIBUF[31:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(Di_buf), - .A(Di) - ); - - DEC6x64 DEC ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .EN(EN), - .A(A), - .SEL(SEL) - ); - - generate - genvar i; - for (i=0; i< 64; i=i+1) begin : WORD - WORD32 W ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK_buf), - .WE(WE_buf), - .SEL(SEL[i]), - .Di(Di_buf), - .Do(Do_pre) - ); - end - endgenerate - - // Ensure that the Do_pre lines are not floating when EN = 0 - wire lo; - wire float_buf_en; - sky130_fd_sc_hd__clkbuf_4 FBUFENBUF( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(float_buf_en), - .A(EN) - ); - - sky130_fd_sc_hd__conb_1 TIE ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .LO(lo), - .HI() - ); - - sky130_fd_sc_hd__ebufn_4 FLOATBUF[31:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .A( lo ), - .Z(Do_pre), - .TE_B(float_buf_en) - ); - - generate - //genvar i; - for(i=0; i<32; i=i+1) begin : OUT - sky130_fd_sc_hd__dfxtp_1 FF ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .D(Do_pre[i]), - .Q(Do[i]), - .CLK(CLK) - ); - end - endgenerate - -endmodule - -module DFFRAM_COL4 -( -`ifdef USE_POWER_PINS - VPWR, - VGND, -`endif - CLK, - WE, - EN, - Di, - Do, - A -); - - input CLK; - input [3:0] WE; - input EN; - input [31:0] Di; - output [31:0] Do; - input [7:0] A; - -`ifdef USE_POWER_PINS - input VPWR; - input VGND; -`endif - - wire [31:0] Di_buf; - wire [31:0] Do_pre; - wire CLK_buf; - wire [3:0] WE_buf; - wire [5:3] A_buf; - - wire [31:0] Do_B_0_0; - wire [31:0] Do_B_0_1; - wire [31:0] Do_B_0_2; - wire [31:0] Do_B_0_3; - - wire [3:0] row_sel; - - sky130_fd_sc_hd__clkbuf_8 CLKBUF ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(CLK_buf), - .A(CLK) - ); - - sky130_fd_sc_hd__clkbuf_8 WEBUF[3:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(WE_buf), - .A(WE) - ); - - sky130_fd_sc_hd__clkbuf_8 DIBUF[31:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(Di_buf), - .A(Di) - ); - - sky130_fd_sc_hd__clkbuf_16 ABUF[2:0] ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - .VPB(VPWR), - .VNB(VGND), - `endif - .X(A_buf), - .A(A[5:3]) - ); - - DEC2x4 DEC ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .EN(EN), - .A(A[7:6]), - .SEL(row_sel) - ); - - SRAM64x32 B_0_0 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK_buf), - .WE(WE_buf), - .EN(row_sel[0]), - .Di(Di_buf), - .Do(Do_B_0_0), - .A({A_buf,A[2:0]}) - ); - - SRAM64x32 B_0_1 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK_buf), - .WE(WE_buf), - .EN(row_sel[1]), - .Di(Di_buf), - .Do(Do_B_0_1), - .A({A_buf,A[2:0]}) - ); - - SRAM64x32 B_0_2 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK_buf), - .WE(WE_buf), - .EN(row_sel[2]), - .Di(Di_buf), - .Do(Do_B_0_2), - .A({A_buf,A[2:0]}) - ); - - SRAM64x32 B_0_3 ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .CLK(CLK_buf), - .WE(WE_buf), - .EN(row_sel[3]), - .Di(Di_buf), - .Do(Do_B_0_3), - .A({A_buf,A[2:0]}) - ); - - MUX4x1_32 MUX ( - `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), - `endif - .A0(Do_B_0_0), - .A1(Do_B_0_1), - .A2(Do_B_0_2), - .A3(Do_B_0_3), - .S(A[7:6]), - .X(Do) - ); - -endmodule -
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/Makefile b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/Makefile deleted file mode 100644 index dd9bae8..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/Makefile +++ /dev/null
@@ -1,18 +0,0 @@ -XRUN = xrun -VCS = vcs -IV = iverilog - -all: clean iverilog - -iverilog: - iverilog -o test sky130_sram_1kbyte_1rw1r_32x256_8.v ram* utils.vh - vvp test - rm -f *.mif *.hex *.vvp test - -xrun: - xrun -gui -xprop F utils.vh sky130_sram_1kbyte_1rw1r_32x256_8.v ram* -access +rwc - -clean: - rm -f *.mif *.hex *.vvp *.vcd *.txt test - -.PHONY: clean
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/ram_generated_512x32_1rw.v b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/ram_generated_512x32_1rw.v deleted file mode 100644 index 35c2bd5..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/ram_generated_512x32_1rw.v +++ /dev/null
@@ -1,159 +0,0 @@ -`include "utils.vh" -module ram_generic_1rw - #( parameter NUM_WMASKS = 4, - parameter MEMD = 512, - parameter DATA_WIDTH = 32, // data width - parameter nRPORTS = 1 , // number of reading ports - parameter nWPORTS = 1, // number of write ports - parameter IZERO = 0 , // binary / Initial RAM with zeros (has priority over IFILE) - parameter IFILE = "", // initialization mif file (don't pass extension), optional - parameter BASIC_MODEL = 256, - parameter ADDR_WIDTH = 9, - parameter BASIC_DATA_WIDTH = 32, - parameter fixed_width = 0, - parameter DELAY = 3, - parameter BYPASS = 1 - )( `ifdef USE_POWER_PINS - inout vccd1, - inout vssd1, -`endif - input clk, // clock - input csb, // active low chip select - input web, // active low write control - input [NUM_WMASKS-1:0] wmask, // write mask - input [ADDR_WIDTH-1:0] addr, - input [DATA_WIDTH-1:0] din, - output reg[DATA_WIDTH-1:0] dout, - input clk1, - input csb1, - input [ADDR_WIDTH-1:0] addr1, - output reg [DATA_WIDTH-1:0] dout1); - -localparam ADDRW = ADDR_WIDTH; // address width -localparam NUM_OF_BANKS = MEMD / BASIC_MODEL; -localparam Basic_ADDRW = `log2(BASIC_MODEL); // address width -localparam horizontal_banks = DATA_WIDTH / BASIC_DATA_WIDTH; - -reg [DATA_WIDTH-1:0] RData_out; -wire[DATA_WIDTH-1:0] Rdata [NUM_OF_BANKS-1:0]; -wire [$clog2(NUM_OF_BANKS):0] Addr_sel; -reg [$clog2(NUM_OF_BANKS):0] Raddr_sel; -reg [Basic_ADDRW-1:0] Addr [NUM_OF_BANKS-1:0]; -reg wen [NUM_OF_BANKS-1:0]; -reg csb_i [NUM_OF_BANKS-1:0]; -reg web_reg; - -// port 2 -reg [DATA_WIDTH-1:0] RData_out_1; -wire[DATA_WIDTH-1:0] Rdata_1 [NUM_OF_BANKS-1:0]; -wire [$clog2(NUM_OF_BANKS):0] Addr_sel_1; -reg [$clog2(NUM_OF_BANKS):0] Raddr_sel_1; -reg [Basic_ADDRW-1:0] Addr_1 [NUM_OF_BANKS-1:0]; -reg csb_i_1 [NUM_OF_BANKS-1:0]; - - -assign Addr_sel = addr / BASIC_MODEL;//addr % NUM_OF_BANKS; -assign Addr_sel_1 = addr1 / BASIC_MODEL; - -always @(posedge clk) begin -Raddr_sel <= addr / BASIC_MODEL; // addr % NUM_OF_BANKS; -Raddr_sel_1 <= addr1 / BASIC_MODEL; -web_reg <= web; -end - -integer i; -integer j; - - always @* begin - for(i=0; i<NUM_OF_BANKS; i=i+1) begin - Addr[i] = (Addr_sel == i) ? addr : 0; - wen[i] = (Addr_sel == i) ? web : 1; - csb_i[i] = (Addr_sel == i) ? csb : 1; - end -end - -always @* begin - for(i=0; i<NUM_OF_BANKS; i=i+1) begin - Addr_1[i] = (Addr_sel_1 == i) ? addr1 : 0; - csb_i_1[i] = (Addr_sel_1 == i) ? csb1 : 1; - end -end - -genvar p,h; -generate - for(p=0; p<NUM_OF_BANKS; p=p+1) begin - if(fixed_width == 32'h00000001) begin - for(h=0; h<horizontal_banks; h=h+1) begin - - sky130_sram_1kbyte_1rw1r_32x256_8 - ram_i ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(csb_i[p]), - .web0(wen[p]), - .wmask0(wmask[4*h +: 4]), - .addr0(Addr[p]), - .din0(din[BASIC_DATA_WIDTH*h +: BASIC_DATA_WIDTH]), - .dout0(Rdata[p][BASIC_DATA_WIDTH*h +: BASIC_DATA_WIDTH]), - .clk1(clk1), - .csb1(csb_i_1[p]), - .addr1(Addr_1[p]), - .dout1(Rdata_1[p][BASIC_DATA_WIDTH*h +: BASIC_DATA_WIDTH])); - end - end - else begin - sky130_sram_1kbyte_1rw1r_32x256_8 - ram_i ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(csb_i[p]), - .web0(wen[p]), - .wmask0(wmask), - .addr0(Addr[p]), - .din0(din), - .dout0(Rdata[p]), - .clk1(clk1), - .csb1(csb_i_1[p]), - .addr1(Addr_1[p]), - .dout1(Rdata_1[p])); - end - - end -endgenerate - -always @(posedge clk) begin - if(web_reg==1) begin - for(j=0; j<NUM_OF_BANKS; j=j+1) begin - RData_out = (Raddr_sel == j) ? Rdata[j] : RData_out; - end - end - else - RData_out = RData_out; - // Port 2 -end -always @(posedge clk) begin - for(j=0; j<NUM_OF_BANKS; j=j+1) begin - //RData_out_1 = (Raddr_sel_1 == q) ? Rdata_1[q] : RData_out_1; - if(Raddr_sel_1 == j) - RData_out_1 = Rdata_1[j]; - else - RData_out_1 = RData_out_1; - end -end - -always @* begin -dout = RData_out; -end - - -always @* begin -dout1 = RData_out_1; -end - -endmodule - -
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/ram_generated_512x32_1rw_tb.v b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/ram_generated_512x32_1rw_tb.v deleted file mode 100644 index 8009039..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/ram_generated_512x32_1rw_tb.v +++ /dev/null
@@ -1,287 +0,0 @@ -`include "utils.vh" - -// set default value for the following parameters, if not defined from command-line -// memory depth -`ifndef WMASK -`define WMASK 4 -`endif - -`ifndef MEMD -`define MEMD 512 -`endif -// data width -`ifndef DATAW -`define DATAW 32 -`endif -// number of reading ports -`ifndef nWPORTS -`define nWPORTS 1 -`endif -// number of writing ports -`ifndef nRPORTS -`define nRPORTS 1 -`endif -// Simulation cycles count -`ifndef CYCC -`define CYCC 1000 -`endif - -`ifndef Basic_Model -`define Basic_Model 256 -`endif - -`ifndef ADDRW -`define ADDRW 9 -`endif - - -// WDW (Write-During-Write) protection -`ifndef WDW -`define WDW 0 -`endif - -// WAW (Write-After-Write) protection -`ifndef WAW -`define WAW 1 -`endif - -// RDW (Read-During-Write) protection -`ifndef RDW -`define RDW 1 -`endif - -// RAW (Read-After-Write) protection -`ifndef RAW -`define RAW 1 -`endif - - - -module ram_generic_1rw_tb; - - localparam MEMD = `MEMD ; // memory depth - localparam DATAW = `DATAW ; // data width - localparam nRPORTS = `nRPORTS ; // number of reading ports - localparam nWPORTS = `nWPORTS ; // number of writing ports - localparam CYCC = `CYCC ; // simulation cycles count - localparam ADDRW = `ADDRW; // address size - localparam VERBOSE = 0 ; // verbose logging (1:yes; 0:no) - localparam CYCT = 10 ; // cycle time - localparam RSTT = 5.2*CYCT ; // reset time - localparam TERFAIL = 0 ; // terminate if fail? - localparam TIMEOUT = 2*CYCT*CYCC ; // simulation time - localparam BASIC_MODEL = `Basic_Model; - - reg clk = 1'b1 ; // global clock - reg rst = 1'b1 ; // global reset - reg [nWPORTS-1:0 ] WEnb ; // write enable for each writing port - reg [ADDRW*nWPORTS-1:0] WAddr_pck ; // write addresses - packed from nWPORTS write ports - reg [ADDRW-1:0 ] WAddr_upk [nWPORTS-1:0]; // write addresses - unpacked 2D array - reg [ADDRW*nRPORTS-1:0] RAddr_pck ; // read addresses - packed from nRPORTS read ports - reg [ADDRW-1:0 ] RAddr_upk [nRPORTS-1:0]; // read addresses - unpacked 2D array - reg [DATAW*nWPORTS-1:0] WData_pck ; // write data - packed from nWPORTS read ports - reg [DATAW-1:0 ] WData_upk [nWPORTS-1:0]; // write data - unpacked 2D array - wire [DATAW*nRPORTS-1:0] RData_pck_sram ; // read data - packed from nRPORTS read ports - reg [DATAW-1:0 ] RData_upk_sram [nRPORTS-1:0]; // read data - unpacked 2D array - reg [DATAW*nRPORTS-1:0] RData_pck_golden ; // read data - packed from nRPORTS read ports - reg [DATAW-1:0 ] RData_upk_golden [nRPORTS-1:0]; // read data - unpacked 2D array - reg [`WMASK*nWPORTS-1:0] wmask_pck ; // wmask packed - reg [`WMASK-1:0 ] wmask_upk [nWPORTS-1:0]; // wmask unpacked - integer i,j; // general indeces - - // generates random ram hex/mif initializing files - task genInitFiles; - input [31 :0] DEPTH ; // memory depth - input [31 :0] WIDTH ; // memoty width - input [255 :0] INITVAL; // initial vlaue (if not random) - input RAND ; // random value? - input [1:8*20] FILEN ; // memory initializing file name - reg [255 :0] ramdata; - integer addr,hex_fd,mif_fd; - begin - // open hex/mif file descriptors - hex_fd = $fopen({FILEN,".hex"},"w"); - mif_fd = $fopen({FILEN,".mif"},"w"); - // write mif header - $fwrite(mif_fd,"WIDTH = %0d;\n",WIDTH); - $fwrite(mif_fd,"DEPTH = %0d;\n",DEPTH); - $fwrite(mif_fd,"ADDRESS_RADIX = HEX;\n" ); - $fwrite(mif_fd,"DATA_RADIX = HEX;\n\n" ); - $fwrite(mif_fd,"CONTENT BEGIN\n" ); - // write random memory lines - for(addr=0;addr<DEPTH;addr=addr+1) begin - if (RAND) begin - `GETRAND(ramdata,WIDTH); - end else ramdata = INITVAL; - $fwrite(hex_fd,"%0h\n",ramdata); - $fwrite(mif_fd," %0h : %0h;\n",addr,ramdata); - end - // write mif tail - $fwrite(mif_fd,"END;\n"); - // close hex/mif file descriptors - $fclose(hex_fd); - $fclose(mif_fd); - end - endtask - - - initial begin - $dumpfile("simulation.vcd"); - $dumpvars(0,ram_generic_1rw_tb); - end - - - integer rep_fd, ferr; - initial begin - // write header - //rep_fd = $fopen("sim.txt","r"); // try to open report file for read - //$ferror(rep_fd,ferr); // detect error - //$fclose(rep_fd); - rep_fd = $fopen("sim.txt","w"); // open report file for append - if (1) begin // if file is new (can't open for read); write header - $fwrite(rep_fd,"=======================Simulation Results======================\n"); - $fwrite(rep_fd,"===============================================================\n"); - $fwrite(rep_fd,"Golden Golden Actual Actual Result \n"); - $fwrite(rep_fd,"Model Model Model Model \n"); - $fwrite(rep_fd,"RAddr RData RAddr RData \n"); - $fwrite(rep_fd,"===============================================================\n"); - $fclose(rep_fd); - end - // rep_fd = $fopen("sim.txt","a+"); - $write("Simulating RAM:\n"); - $write("Write ports : %0d\n" ,nWPORTS ); - $write("Read ports : %0d\n" ,nRPORTS ); - $write("Data width : %0d\n" ,DATAW ); - $write("RAM depth : %0d\n" ,MEMD ); - $write("Address width: %0d\n" ,ADDRW ); - $write("Memory Size : %0d KB \n\n", (MEMD*DATAW)/8000); - //$fclose(rep_fd); - // generate random ram hex/mif initializing file - genInitFiles(MEMD,DATAW ,0,1,"init_ram"); - // finish simulation - #(TIMEOUT) begin - $write("*** Simulation terminated due to timeout\n"); - $finish; - end - end -// generate clock and reset - always #(CYCT/2) clk = ~clk; // toggle clock - initial #(RSTT ) rst = 1'b0; // lower reset - // pack/unpack data and addresses - `ARRINIT; - always @* begin - `ARR2D1D(nRPORTS,ADDRW,RAddr_upk ,RAddr_pck ); - `ARR2D1D(nWPORTS,`WMASK,wmask_upk ,wmask_pck ); - `ARR2D1D(nWPORTS,ADDRW,WAddr_upk ,WAddr_pck ); - `ARR1D2D(nWPORTS,DATAW,WData_pck ,WData_upk ); - `ARR1D2D(nRPORTS,DATAW,RData_pck_sram ,RData_upk_sram ); - `ARR1D2D(nRPORTS,DATAW,RData_pck_golden ,RData_upk_golden ); -end - - // register write addresses - reg [ADDRW-1:0 ] WAddr_r_upk [nWPORTS-1:0]; // previous (registerd) write addresses - unpacked 2D array - always @(negedge clk) - //WAddr_r_pck <= WAddr_pck; - for (i=0;i<nWPORTS;i=i+1) WAddr_r_upk[i] <= WAddr_upk[i]; - - // generate random write data and random write/read addresses; on falling edge - reg wdw_addr; // indicates same write addresses on same cycle (Write-During-Write) - reg waw_addr; // indicates same write addresses on next cycle (Write-After-Write) - reg rdw_addr; // indicates same read/write addresses on same cycle (Read-During-Write) - reg raw_addr; // indicates same read address on next cycle (Read-After-Write) - -always @(negedge clk) begin - // generate random write addresses; different that current and previous write addresses - for (i=0;i<nWPORTS;i=i+1) begin - wdw_addr = 1; waw_addr = 1; - while (wdw_addr || waw_addr) begin - `GETRAND(WAddr_upk[i],ADDRW); - `GETRAND(wmask_upk[i], `WMASK); - wdw_addr = 0; waw_addr = 0; - if (!`WDW) for (j=0;j<i ;j=j+1) wdw_addr = wdw_addr || (WAddr_upk[i] == WAddr_upk[j] ); - if (!`WAW) for (j=0;j<nWPORTS;j=j+1) waw_addr = waw_addr || (WAddr_upk[i] == WAddr_r_upk[j]); - end - end - - // generate random read addresses; different that current and previous write addresses - for (i=0;i<nRPORTS;i=i+1) begin - rdw_addr = 1; raw_addr = 1; - while (rdw_addr || raw_addr) begin - `GETRAND(RAddr_upk[i],ADDRW); - rdw_addr = 0; raw_addr = 0; - if (!`RDW) for (j=0;j<nWPORTS;j=j+1) rdw_addr = rdw_addr || (RAddr_upk[i] == WAddr_upk[j] ); - if (!`RAW) for (j=0;j<nWPORTS;j=j+1) raw_addr = raw_addr || (RAddr_upk[i] == WAddr_r_upk[j]); - end - end - // generate random write data and write enables - `GETRAND(WData_pck,DATAW*nWPORTS); - `GETRAND(WEnb , nWPORTS); - - if (rst) WEnb=1'b0; //else WEnb={nWPORTS{1'b1}}; - end - -integer cycc=1; // cycles count -integer pass; -always @(negedge clk) begin - if (!rst) begin - #(CYCT/10) // a little after falling edge - #(CYCT/2) // a little after rising edge - pass = (RData_pck_golden===RData_pck_sram); - //if (cycc==CYCC) begin - rep_fd = $fopen("sim.txt","a+"); - $fwrite(rep_fd,"%-10d %-15h %-10d %-15h %-10s \n",RAddr_pck,RData_pck_golden,RAddr_pck,RData_pck_sram,pass?"pass":"fail"); - $fclose(rep_fd); - if (cycc==CYCC) begin - $finish; - end - cycc=cycc+1; - end -end - -// Golden model of SRAM -integer q,r; -reg [DATAW-1:0] mem [0:MEMD-1]; -initial begin - //$readmemh("init_ram.hex", mem); - for(q=0; q<MEMD; q=q+1) mem[q] ={DATAW{1'b0}}; -end -always @(posedge clk) - begin - if(WEnb) begin - for(r=0; r<`WMASK; r=r+1) begin - if(wmask_pck[r]) - mem[WAddr_pck][8*r +: 8] = WData_pck[8*r +: 8]; - end - end - else - RData_pck_golden <= #(10) mem[RAddr_pck]; - end - -// Actual Model -ram_generic_1rw #( .NUM_WMASKS (`WMASK), - .MEMD(MEMD), - .DATA_WIDTH(DATAW), // data width - .nRPORTS(nRPORTS), // number of reading ports - .nWPORTS(nWPORTS), // number of write ports - .IZERO (1), // binary / Initial RAM with zeros (has priority over IFILE) - .IFILE(""), // initialization mif file (don't pass extension), optional - .BASIC_MODEL (BASIC_MODEL), - .ADDR_WIDTH(`log2(MEMD)), - .DELAY (3)) -ram_1rw ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk(clk), // clock - .csb(1'b0), // active low chip select - .web(~WEnb), // active low write control - .wmask(wmask_pck), // write mask - .addr((WEnb==1'b1)?WAddr_pck:RAddr_pck), - .din(WData_pck), - .dout(RData_pck_sram), - .clk1(clk), - .csb1(1'b1), - .addr1({ADDRW{1'b0}}), - .dout1()); -endmodule -
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/sim.txt b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/sim.txt deleted file mode 100644 index e55150a..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/sim.txt +++ /dev/null
@@ -1,1006 +0,0 @@ -=======================Simulation Results====================== -=============================================================== -Golden Golden Actual Actual Result -Model Model Model Model -RAddr RData RAddr RData -=============================================================== -185 00000000 185 00000000 pass -143 00000000 143 00000000 pass -105 00000000 105 00000000 pass -211 00000000 211 00000000 pass -293 00000000 293 00000000 pass -26 00000000 26 00000000 pass -416 00000000 416 00000000 pass -216 00000000 216 00000000 pass -337 00000000 337 00000000 pass -252 00000000 252 00000000 pass -131 00000000 131 00000000 pass -241 00000000 241 00000000 pass -266 00000000 266 00000000 pass -364 00000000 364 00000000 pass -39 00000000 39 00000000 pass -70 00000000 70 00000000 pass -114 00000000 114 00000000 pass -104 00000000 104 00000000 pass -94 00000000 94 00000000 pass -319 00000000 319 00000000 pass -94 00000000 94 00000000 pass -201 00000000 201 00000000 pass -35 00000000 35 00000000 pass -14 00000000 14 00000000 pass -155 00000000 155 00000000 pass -189 00000000 189 00000000 pass -285 00000000 285 00000000 pass -364 00000000 364 00000000 pass -343 00000000 343 00000000 pass -135 00000000 135 00000000 pass -84 00000000 84 00000000 pass -45 00000000 45 00000000 pass -160 00000000 160 00000000 pass -286 00000000 286 00000000 pass -425 00000000 425 00000000 pass -501 00000000 501 00000000 pass -68 00000000 68 00000000 pass -133 00000000 133 00000000 pass -308 00000000 308 00000000 pass -189 00000000 189 00000000 pass -492 00000000 492 00000000 pass -356 00000000 356 00000000 pass -275 00000000 275 00000000 pass -93 00000000 93 00000000 pass -202 00000000 202 00000000 pass -219 00000000 219 00000000 pass -461 00000000 461 00000000 pass -221 00000000 221 00000000 pass -434 00000000 434 00000000 pass -252 00000000 252 00000000 pass -217 00000000 217 00000000 pass -447 00000000 447 00000000 pass -507 00000000 507 00000000 pass -493 00000000 493 00000000 pass -104 00000000 104 00000000 pass -503 00000000 503 00000000 pass -244 00000000 244 00000000 pass -297 00000000 297 00000000 pass -262 00000000 262 00000000 pass -461 00000000 461 00000000 pass -341 00000000 341 00000000 pass -467 000086cd 467 000086cd pass -293 00000000 293 00000000 pass -359 00000000 359 00000000 pass -370 00000000 370 00000000 pass -158 00000000 158 00000000 pass -56 00000000 56 00000000 pass -33 00000000 33 00000000 pass -156 00000000 156 00000000 pass -301 00000000 301 00000000 pass -104 00000000 104 00000000 pass -131 00000000 131 00000000 pass -370 00000000 370 00000000 pass -130 00000000 130 00000000 pass -385 00000000 385 00000000 pass -501 00000000 501 00000000 pass -147 00000000 147 00000000 pass -337 00000000 337 00000000 pass -305 00000000 305 00000000 pass -256 00000000 256 00000000 pass -109 00000000 109 00000000 pass -206 00000000 206 00000000 pass -44 00000000 44 00000000 pass -61 00000000 61 00000000 pass -154 00000000 154 00000000 pass -473 00000000 473 00000000 pass -335 00000000 335 00000000 pass -445 00000000 445 00000000 pass -150 00000000 150 00000000 pass -10 00000000 10 00000000 pass -349 00000000 349 00000000 pass -26 00000000 26 00000000 pass -294 00000000 294 00000000 pass -402 00000000 402 00000000 pass -365 00000000 365 00000000 pass -486 00000000 486 00000000 pass -332 00000000 332 00000000 pass -108 00000000 108 00000000 pass -407 00000000 407 00000000 pass -436 00000000 436 00000000 pass -287 00000000 287 00000000 pass -206 00000000 206 00000000 pass -269 00000000 269 00000000 pass -122 00000000 122 00000000 pass -94 00000000 94 00000000 pass -91 00000000 91 00000000 pass -29 00000000 29 00000000 pass -367 00000000 367 00000000 pass -24 00000000 24 00000000 pass -269 00000000 269 00000000 pass -84 00000000 84 00000000 pass -55 00000000 55 00000000 pass -59 00000000 59 00000000 pass -72 00000000 72 00000000 pass -55 00000000 55 00000000 pass -387 00000000 387 00000000 pass -364 00000000 364 00000000 pass -18 00000000 18 00000000 pass -452 00000000 452 00000000 pass -479 00000000 479 00000000 pass -249 00000000 249 00000000 pass -497 00000000 497 00000000 pass -80 00000000 80 00000000 pass -499 00000000 499 00000000 pass -57 00000000 57 00000000 pass -80 00000000 80 00000000 pass -456 00000000 456 00000000 pass -220 00000000 220 00000000 pass -67 00000000 67 00000000 pass -257 00000000 257 00000000 pass -258 00000000 258 00000000 pass -228 00000000 228 00000000 pass -58 00000000 58 00000000 pass -183 00000000 183 00000000 pass -44 00000000 44 00000000 pass -75 00000000 75 00000000 pass -35 00000000 35 00000000 pass -266 00000000 266 00000000 pass -497 f8d30000 497 f8d30000 pass -340 f8d30000 340 f8d30000 pass -387 f8d30000 387 f8d30000 pass -486 f8d30000 486 f8d30000 pass -365 f8d30000 365 f8d30000 pass -96 f8d30000 96 f8d30000 pass -174 f8d30000 174 f8d30000 pass -235 f8d30000 235 f8d30000 pass -143 f8d30000 143 f8d30000 pass -49 00000000 49 00000000 pass -282 00000000 282 00000000 pass -183 00000000 183 00000000 pass -494 00000000 494 00000000 pass -48 00000000 48 00000000 pass -139 00000000 139 00000000 pass -390 00000000 390 00000000 pass -196 00000000 196 00000000 pass -463 00000000 463 00000000 pass -116 00000000 116 00000000 pass -48 00c5f25f 48 00c5f25f pass -267 00000000 267 00000000 pass -469 00000000 469 00000000 pass -100 00000000 100 00000000 pass -489 00000000 489 00000000 pass -364 00000000 364 00000000 pass -448 00000000 448 00000000 pass -466 00000000 466 00000000 pass -211 00000000 211 00000000 pass -8 00000000 8 00000000 pass -247 00000000 247 00000000 pass -300 00000000 300 00000000 pass -198 00000000 198 00000000 pass -187 00000000 187 00000000 pass -267 2e00b75d 267 2e00b75d pass -374 2e00b75d 374 2e00b75d pass -331 2e00b75d 331 2e00b75d pass -236 2e00b75d 236 2e00b75d pass -434 2e00b75d 434 2e00b75d pass -334 00000000 334 00000000 pass -338 00000000 338 00000000 pass -132 00000000 132 00000000 pass -195 00000000 195 00000000 pass -451 00000000 451 00000000 pass -123 00000000 123 00000000 pass -299 00000000 299 00000000 pass -477 00000000 477 00000000 pass -180 00000000 180 00000000 pass -394 00000000 394 00000000 pass -84 00000000 84 00000000 pass -254 00000000 254 00000000 pass -54 00000000 54 00000000 pass -237 00000000 237 00000000 pass -63 00000000 63 00000000 pass -179 00000000 179 00000000 pass -437 00000000 437 00000000 pass -460 00000000 460 00000000 pass -382 00000000 382 00000000 pass -44 24260000 44 24260000 pass -322 24260000 322 24260000 pass -420 24260000 420 24260000 pass -26 1700002f 26 1700002f pass -215 00000000 215 00000000 pass -221 00000000 221 00000000 pass -473 00000000 473 00000000 pass -246 00000000 246 00000000 pass -205 00000000 205 00000000 pass -267 00000000 267 00000000 pass -69 00000000 69 00000000 pass -376 00000000 376 00000000 pass -188 00000000 188 00000000 pass -414 00000000 414 00000000 pass -304 00000000 304 00000000 pass -284 00000000 284 00000000 pass -394 00000000 394 00000000 pass -255 00000000 255 00000000 pass -173 00000000 173 00000000 pass -15 00000000 15 00000000 pass -364 ddfc00bb 364 ddfc00bb pass -467 ddfc00bb 467 ddfc00bb pass -214 ddfc00bb 214 ddfc00bb pass -342 ddfc00bb 342 ddfc00bb pass -425 00000000 425 00000000 pass -84 00000000 84 00000000 pass -475 00000000 475 00000000 pass -170 00000000 170 00000000 pass -434 006a0000 434 006a0000 pass -50 00000000 50 00000000 pass -104 00000000 104 00000000 pass -412 00000000 412 00000000 pass -488 00000000 488 00000000 pass -351 00500000 351 00500000 pass -65 00500000 65 00500000 pass -277 00500000 277 00500000 pass -412 00500000 412 00500000 pass -401 00500000 401 00500000 pass -168 00500000 168 00500000 pass -467 3f344b7e 467 3f344b7e pass -432 3f344b7e 432 3f344b7e pass -469 3f344b7e 469 3f344b7e pass -370 00000000 370 00000000 pass -496 00000000 496 00000000 pass -101 00000000 101 00000000 pass -278 00000000 278 00000000 pass -336 00000000 336 00000000 pass -278 00000000 278 00000000 pass -175 00000000 175 00000000 pass -480 b3070066 480 b3070066 pass -307 b3070066 307 b3070066 pass -105 00000000 105 00000000 pass -186 00000000 186 00000000 pass -320 00000000 320 00000000 pass -88 00000000 88 00000000 pass -215 00000000 215 00000000 pass -207 00000000 207 00000000 pass -28 00000000 28 00000000 pass -486 00000000 486 00000000 pass -455 00000000 455 00000000 pass -357 00000000 357 00000000 pass -465 00000000 465 00000000 pass -148 00000000 148 00000000 pass -480 00000000 480 00000000 pass -136 00000000 136 00000000 pass -117 00000000 117 00000000 pass -94 00000000 94 00000000 pass -224 00000000 224 00000000 pass -79 00000000 79 00000000 pass -154 009600cf 154 009600cf pass -432 009600cf 432 009600cf pass -313 00000000 313 00000000 pass -415 42e7a500 415 42e7a500 pass -478 00000000 478 00000000 pass -267 00000000 267 00000000 pass -366 00000000 366 00000000 pass -491 00000000 491 00000000 pass -296 000058e6 296 000058e6 pass -403 000058e6 403 000058e6 pass -233 000058e6 233 000058e6 pass -54 000058e6 54 000058e6 pass -236 000058e6 236 000058e6 pass -137 00000000 137 00000000 pass -319 00000000 319 00000000 pass -251 00000000 251 00000000 pass -329 00000000 329 00000000 pass -283 00000000 283 00000000 pass -154 00000000 154 00000000 pass -72 00000000 72 00000000 pass -342 d7f844af 342 d7f844af pass -400 d7f844af 400 d7f844af pass -329 d7f844af 329 d7f844af pass -182 92000058 182 92000058 pass -127 92000058 127 92000058 pass -61 92000058 61 92000058 pass -29 92000058 29 92000058 pass -380 f5000400 380 f5000400 pass -73 00000000 73 00000000 pass -67 00000000 67 00000000 pass -159 00000000 159 00000000 pass -337 00000000 337 00000000 pass -69 00000000 69 00000000 pass -389 00000000 389 00000000 pass -457 00000000 457 00000000 pass -350 00000000 350 00000000 pass -424 00000000 424 00000000 pass -222 00000000 222 00000000 pass -320 00000000 320 00000000 pass -231 00000000 231 00000000 pass -316 00000000 316 00000000 pass -244 00000000 244 00000000 pass -195 b200f065 195 b200f065 pass -504 0000002d 504 0000002d pass -37 00000000 37 00000000 pass -453 bc000079 453 bc000079 pass -206 bc000079 206 bc000079 pass -188 00000000 188 00000000 pass -310 00000000 310 00000000 pass -62 00000000 62 00000000 pass -285 00000000 285 00000000 pass -196 00000000 196 00000000 pass -62 00000000 62 00000000 pass -245 00000000 245 00000000 pass -285 00000000 285 00000000 pass -232 00000000 232 00000000 pass -34 00001b00 34 00001b00 pass -107 00001b00 107 00001b00 pass -477 00001b00 477 00001b00 pass -8 00000000 8 00000000 pass -21 00000000 21 00000000 pass -210 c5040000 210 c5040000 pass -171 c5040000 171 c5040000 pass -91 c5040000 91 c5040000 pass -468 00000000 468 00000000 pass -213 00000000 213 00000000 pass -220 d2220000 220 d2220000 pass -137 00000000 137 00000000 pass -44 00000000 44 00000000 pass -82 00000000 82 00000000 pass -238 00000000 238 00000000 pass -327 00000000 327 00000000 pass -180 00000000 180 00000000 pass -390 00000000 390 00000000 pass -139 00000000 139 00000000 pass -422 00000000 422 00000000 pass -258 00000000 258 00000000 pass -149 00000000 149 00000000 pass -139 00000000 139 00000000 pass -483 00000000 483 00000000 pass -326 00000000 326 00000000 pass -250 00000000 250 00000000 pass -405 00000000 405 00000000 pass -459 00000000 459 00000000 pass -396 00000000 396 00000000 pass -457 00000000 457 00000000 pass -358 00000000 358 00000000 pass -406 00000000 406 00000000 pass -150 00000000 150 00000000 pass -315 00000000 315 00000000 pass -100 00000000 100 00000000 pass -331 00000000 331 00000000 pass -143 00000000 143 00000000 pass -388 00000000 388 00000000 pass -150 00000000 150 00000000 pass -126 00000000 126 00000000 pass -386 00000000 386 00000000 pass -98 00000000 98 00000000 pass -131 00000000 131 00000000 pass -405 00000000 405 00000000 pass -222 00000000 222 00000000 pass -104 00000000 104 00000000 pass -56 00000000 56 00000000 pass -337 00000000 337 00000000 pass -233 00000000 233 00000000 pass -115 00000000 115 00000000 pass -480 00000000 480 00000000 pass -204 00000000 204 00000000 pass -116 00000000 116 00000000 pass -317 00000000 317 00000000 pass -293 00000000 293 00000000 pass -428 00005c38 428 00005c38 pass -175 00005c38 175 00005c38 pass -159 00005c38 159 00005c38 pass -494 00005c38 494 00005c38 pass -446 00005c38 446 00005c38 pass -109 002fb4a2 109 002fb4a2 pass -343 002fb4a2 343 002fb4a2 pass -127 002fb4a2 127 002fb4a2 pass -180 00000000 180 00000000 pass -432 00000000 432 00000000 pass -485 00000000 485 00000000 pass -173 00000000 173 00000000 pass -59 00000000 59 00000000 pass -483 00000000 483 00000000 pass -106 00000000 106 00000000 pass -296 00000000 296 00000000 pass -34 00000000 34 00000000 pass -131 00000000 131 00000000 pass -265 00000000 265 00000000 pass -391 00000000 391 00000000 pass -460 b0c65661 460 b0c65661 pass -424 00000000 424 00000000 pass -439 dc00dc00 439 dc00dc00 pass -278 dc00dc00 278 dc00dc00 pass -421 00000000 421 00000000 pass -300 29003700 300 29003700 pass -509 29003700 509 29003700 pass -24 29003700 24 29003700 pass -202 00000000 202 00000000 pass -227 00000000 227 00000000 pass -156 00000000 156 00000000 pass -129 00000000 129 00000000 pass -171 00000000 171 00000000 pass -418 00000000 418 00000000 pass -150 639a3f00 150 639a3f00 pass -204 639a3f00 204 639a3f00 pass -467 34000000 467 34000000 pass -135 00000000 135 00000000 pass -131 00000000 131 00000000 pass -253 00000000 253 00000000 pass -140 00000000 140 00000000 pass -318 00000000 318 00000000 pass -182 00000000 182 00000000 pass -360 deb516bd 360 deb516bd pass -422 0c962119 422 0c962119 pass -436 00000000 436 00000000 pass -47 00000000 47 00000000 pass -101 00000000 101 00000000 pass -265 00000000 265 00000000 pass -258 00000000 258 00000000 pass -448 00000000 448 00000000 pass -360 00de5c65 360 00de5c65 pass -339 00de5c65 339 00de5c65 pass -235 00de5c65 235 00de5c65 pass -110 00de5c65 110 00de5c65 pass -438 00de5c65 438 00de5c65 pass -313 00000000 313 00000000 pass -199 42e7a500 199 42e7a500 pass -382 42e7a500 382 42e7a500 pass -66 24260000 66 24260000 pass -218 00000000 218 00000000 pass -46 00000000 46 00000000 pass -39 00000000 39 00000000 pass -445 00000000 445 00000000 pass -207 00000000 207 00000000 pass -326 00000000 326 00000000 pass -96 00000000 96 00000000 pass -397 000900c0 397 000900c0 pass -27 00000000 27 00000000 pass -506 00000000 506 00000000 pass -455 00000000 455 00000000 pass -426 00000000 426 00000000 pass -449 00000000 449 00000000 pass -261 3f3e00c9 261 3f3e00c9 pass -277 3f3e00c9 277 3f3e00c9 pass -259 00000000 259 00000000 pass -49 00000000 49 00000000 pass -288 00000000 288 00000000 pass -19 00000000 19 00000000 pass -390 00000000 390 00000000 pass -75 00000000 75 00000000 pass -34 00000000 34 00000000 pass -402 00000000 402 00000000 pass -94 00000000 94 00000000 pass -294 00000000 294 00000000 pass -386 00000000 386 00000000 pass -85 00000000 85 00000000 pass -130 0000e255 130 0000e255 pass -349 00000000 349 00000000 pass -250 00000000 250 00000000 pass -363 00000000 363 00000000 pass -293 00000000 293 00000000 pass -15 00005c38 15 00005c38 pass -431 ddfc00bb 431 ddfc00bb pass -491 00040000 491 00040000 pass -303 00040000 303 00040000 pass -348 6a5d0000 348 6a5d0000 pass -441 6a5d0000 441 6a5d0000 pass -404 00882100 404 00882100 pass -70 12950025 70 12950025 pass -382 00000000 382 00000000 pass -346 00000000 346 00000000 pass -312 00000000 312 00000000 pass -395 1d4d613a 395 1d4d613a pass -333 00570000 333 00570000 pass -195 00570000 195 00570000 pass -385 0000002d 385 0000002d pass -414 0000002d 414 0000002d pass -90 0000002d 90 0000002d pass -186 0000002d 186 0000002d pass -496 0000002d 496 0000002d pass -251 0000002d 251 0000002d pass -90 0000002d 90 0000002d pass -510 00000000 510 00000000 pass -420 00000000 420 00000000 pass -347 1700002f 347 1700002f pass -281 00000000 281 00000000 pass -191 00000000 191 00000000 pass -203 00000000 203 00000000 pass -24 00000000 24 00000000 pass -439 00000000 439 00000000 pass -255 00000000 255 00000000 pass -331 00000000 331 00000000 pass -319 00000000 319 00000000 pass -339 00000000 339 00000000 pass -53 00000000 53 00000000 pass -142 00000000 142 00000000 pass -99 00000000 99 00000000 pass -239 b9158e00 239 b9158e00 pass -19 00000000 19 00000000 pass -483 00000000 483 00000000 pass -450 00000000 450 00000000 pass -444 02286ad2 444 02286ad2 pass -439 cf00009e 439 cf00009e pass -129 cf00009e 129 cf00009e pass -476 cf00009e 476 cf00009e pass -133 cf00009e 133 cf00009e pass -44 cf00009e 44 cf00009e pass -399 cf00009e 399 cf00009e pass -277 bd00007b 277 bd00007b pass -121 bd00007b 121 bd00007b pass -142 bd00007b 142 bd00007b pass -56 00000000 56 00000000 pass -112 00000000 112 00000000 pass -254 00006f00 254 00006f00 pass -425 00000000 425 00000000 pass -306 c50b3a8b 306 c50b3a8b pass -8 6486680d 8 6486680d pass -472 415f0082 472 415f0082 pass -109 acfd4000 109 acfd4000 pass -199 acfd4000 199 acfd4000 pass -336 00000000 336 00000000 pass -71 00000000 71 00000000 pass -7 99006632 7 99006632 pass -451 99006632 451 99006632 pass -200 99006632 200 99006632 pass -359 000b6882 359 000b6882 pass -9 00000000 9 00000000 pass -333 00000000 333 00000000 pass -33 00000000 33 00000000 pass -381 00000000 381 00000000 pass -99 00000000 99 00000000 pass -277 b9158e00 277 b9158e00 pass -391 00000000 391 00000000 pass -364 b0c65661 364 b0c65661 pass -149 00000000 149 00000000 pass -228 00000000 228 00000000 pass -16 00000000 16 00000000 pass -275 00000000 275 00000000 pass -237 00000000 237 00000000 pass -495 00000000 495 00000000 pass -251 00000000 251 00000000 pass -185 00000000 185 00000000 pass -33 00000000 33 00000000 pass -499 00000000 499 00000000 pass -198 00000000 198 00000000 pass -345 00000000 345 00000000 pass -303 00000000 303 00000000 pass -401 6a5d0009 401 6a5d0009 pass -196 6a5d0009 196 6a5d0009 pass -230 6a5d0009 230 6a5d0009 pass -204 3600a36c 204 3600a36c pass -217 34000000 217 34000000 pass -314 00000000 314 00000000 pass -355 00280000 355 00280000 pass -315 00000000 315 00000000 pass -141 f27102e4 141 f27102e4 pass -429 00c30000 429 00c30000 pass -230 00c30000 230 00c30000 pass -234 00c30000 234 00c30000 pass -509 00c30000 509 00c30000 pass -101 00000000 101 00000000 pass -83 00000000 83 00000000 pass -432 58d7010a 432 58d7010a pass -267 26498930 267 26498930 pass -464 00000000 464 00000000 pass -511 00000000 511 00000000 pass -501 00000000 501 00000000 pass -319 00000000 319 00000000 pass -466 00000000 466 00000000 pass -249 00000000 249 00000000 pass -172 00000000 172 00000000 pass -103 00000000 103 00000000 pass -154 00000000 154 00000000 pass -290 00000000 290 00000000 pass -110 00000000 110 00000000 pass -196 00400036 196 00400036 pass -22 00000000 22 00000000 pass -483 00a4fa00 483 00a4fa00 pass -403 00000000 403 00000000 pass -45 4700008e 45 4700008e pass -169 4700008e 169 4700008e pass -160 00000000 160 00000000 pass -153 00000000 153 00000000 pass -297 00000000 297 00000000 pass -286 00000000 286 00000000 pass -443 00000000 443 00000000 pass -444 00000000 444 00000000 pass -122 cf00009e 122 cf00009e pass -406 00000000 406 00000000 pass -65 00000000 65 00000000 pass -17 86d43a0d 17 86d43a0d pass -269 00000000 269 00000000 pass -102 00000000 102 00000000 pass -21 00000000 21 00000000 pass -505 00000000 505 00000000 pass -446 00000000 446 00000000 pass -404 002fb4a2 404 002fb4a2 pass -445 5b95f7b6 445 5b95f7b6 pass -75 5b95f7b6 75 5b95f7b6 pass -3 5b95f7b6 3 5b95f7b6 pass -263 5b95f7b6 263 5b95f7b6 pass -147 5b95f7b6 147 5b95f7b6 pass -262 5b95f7b6 262 5b95f7b6 pass -469 5b95f7b6 469 5b95f7b6 pass -244 5b95f7b6 244 5b95f7b6 pass -402 5b95f7b6 402 5b95f7b6 pass -491 9101db22 491 9101db22 pass -228 9101db22 228 9101db22 pass -434 9101db22 434 9101db22 pass -109 9101db22 109 9101db22 pass -208 00000000 208 00000000 pass -138 00050020 138 00050020 pass -391 00000000 391 00000000 pass -57 b0c65661 57 b0c65661 pass -260 b0c65661 260 b0c65661 pass -373 b0c65661 373 b0c65661 pass -123 b0c65661 123 b0c65661 pass -84 00ce0027 84 00ce0027 pass -164 00ce0027 164 00ce0027 pass -374 00000000 374 00000000 pass -481 00003d00 481 00003d00 pass -450 00000000 450 00000000 pass -46 02286ad2 46 02286ad2 pass -384 02286ad2 384 02286ad2 pass -144 02286ad2 144 02286ad2 pass -193 02286ad2 193 02286ad2 pass -54 09540012 54 09540012 pass -318 00000000 318 00000000 pass -127 00000000 127 00000000 pass -453 00000000 453 00000000 pass -134 00000000 134 00000000 pass -318 00000000 318 00000000 pass -459 00000000 459 00000000 pass -148 00000000 148 00000000 pass -400 00000000 400 00000000 pass -48 00000000 48 00000000 pass -197 00000000 197 00000000 pass -445 00000000 445 00000000 pass -131 f445bec0 131 f445bec0 pass -291 00000000 291 00000000 pass -37 00ee003f 37 00ee003f pass -32 00ee003f 32 00ee003f pass -473 00000000 473 00000000 pass -70 00000000 70 00000000 pass -487 00000000 487 00000000 pass -446 00000000 446 00000000 pass -440 00000000 440 00000000 pass -278 00000000 278 00000000 pass -265 93d2b827 265 93d2b827 pass -143 93d2b827 143 93d2b827 pass -259 244c9d00 259 244c9d00 pass -131 244c9d00 131 244c9d00 pass -421 244c9d00 421 244c9d00 pass -396 29003700 396 29003700 pass -362 00007e00 362 00007e00 pass -246 00007e00 246 00007e00 pass -138 00000000 138 00000000 pass -428 00000000 428 00000000 pass -86 1900e533 86 1900e533 pass -434 1900e533 434 1900e533 pass -245 1900e533 245 1900e533 pass -16 40b00081 16 40b00081 pass -12 40b00081 12 40b00081 pass -145 54b70000 145 54b70000 pass -112 00000000 112 00000000 pass -7 00000000 7 00000000 pass -471 f6000000 471 f6000000 pass -133 f6000000 133 f6000000 pass -128 1e000000 128 1e000000 pass -307 1e000000 307 1e000000 pass -410 1e000000 410 1e000000 pass -237 00de001b 237 00de001b pass -302 bf000000 302 bf000000 pass -382 00000000 382 00000000 pass -153 24260000 153 24260000 pass -276 24260000 276 24260000 pass -265 00000000 265 00000000 pass -19 00000000 19 00000000 pass -216 00000000 216 00000000 pass -250 00000000 250 00000000 pass -184 00000000 184 00000000 pass -34 00000000 34 00000000 pass -484 00000000 484 00000000 pass -443 00000000 443 00000000 pass -433 00000000 433 00000000 pass -407 00c6cf00 407 00c6cf00 pass -356 00c6cf00 356 00c6cf00 pass -419 00000000 419 00000000 pass -305 00000000 305 00000000 pass -386 00000000 386 00000000 pass -319 00000000 319 00000000 pass -349 00000000 349 00000000 pass -18 00000000 18 00000000 pass -365 00000000 365 00000000 pass -187 2549f900 187 2549f900 pass -312 2e00b75d 312 2e00b75d pass -386 1d4d613a 386 1d4d613a pass -78 1d4d613a 78 1d4d613a pass -353 1d4d613a 353 1d4d613a pass -253 00000000 253 00000000 pass -78 00000000 78 00000000 pass -345 00000000 345 00000000 pass -13 00000000 13 00000000 pass -65 3b006576 65 3b006576 pass -457 3b006576 457 3b006576 pass -94 3b006576 94 3b006576 pass -500 3b006576 500 3b006576 pass -193 3b006576 193 3b006576 pass -231 3b006576 231 3b006576 pass -242 3b006576 242 3b006576 pass -252 69320fd2 252 69320fd2 pass -426 69320fd2 426 69320fd2 pass -431 69320fd2 431 69320fd2 pass -284 69320fd2 284 69320fd2 pass -70 69320fd2 70 69320fd2 pass -81 00000000 81 00000000 pass -138 00000000 138 00000000 pass -439 00000000 439 00000000 pass -309 00000000 309 00000000 pass -85 00000000 85 00000000 pass -156 00000000 156 00000000 pass -73 00000000 73 00000000 pass -210 00000000 210 00000000 pass -150 08000910 150 08000910 pass -429 f209dce5 429 f209dce5 pass -388 d3dc2ea7 388 d3dc2ea7 pass -234 00000000 234 00000000 pass -8 4e52975c 8 4e52975c pass -454 4e52975c 454 4e52975c pass -292 4e52975c 292 4e52975c pass -426 64c3d900 426 64c3d900 pass -212 00000000 212 00000000 pass -19 00000000 19 00000000 pass -365 00000000 365 00000000 pass -48 2549f900 48 2549f900 pass -442 00000000 442 00000000 pass -38 00000000 38 00000000 pass -498 00000000 498 00000000 pass -453 00000000 453 00000000 pass -305 00000000 305 00000000 pass -50 00000000 50 00000000 pass -241 00000000 241 00000000 pass -313 0bc80000 313 0bc80000 pass -324 42e7a500 324 42e7a500 pass -78 d6c134ad 78 d6c134ad pass -484 d6c134ad 484 d6c134ad pass -292 d6c134ad 292 d6c134ad pass -144 d6c134ad 144 d6c134ad pass -113 00000000 113 00000000 pass -405 00000000 405 00000000 pass -364 6dc3ef00 364 6dc3ef00 pass -113 6dc3ef00 113 6dc3ef00 pass -23 a0009841 23 a0009841 pass -350 a0009841 350 a0009841 pass -485 a0009841 485 a0009841 pass -461 a0009841 461 a0009841 pass -81 00000000 81 00000000 pass -214 00000000 214 00000000 pass -358 00000000 358 00000000 pass -363 00000000 363 00000000 pass -54 00000000 54 00000000 pass -158 00000000 158 00000000 pass -41 00000000 41 00000000 pass -98 d5002a36 98 d5002a36 pass -361 00000000 361 00000000 pass -133 00000000 133 00000000 pass -463 1e000000 463 1e000000 pass -136 00000000 136 00000000 pass -433 00000000 433 00000000 pass -196 00000000 196 00000000 pass -222 00000000 222 00000000 pass -97 00000000 97 00000000 pass -80 00000000 80 00000000 pass -379 00000000 379 00000000 pass -279 00000000 279 00000000 pass -384 00000000 384 00000000 pass -301 00000000 301 00000000 pass -313 00000000 313 00000000 pass -366 42e7a500 366 42e7a500 pass -472 00000000 472 00000000 pass -347 8efd401d 347 8efd401d pass -178 00000000 178 00000000 pass -19 00000000 19 00000000 pass -501 00000000 501 00000000 pass -41 4900c774 41 4900c774 pass -372 4900c774 372 4900c774 pass -72 00001570 72 00001570 pass -395 c6456a8c 395 c6456a8c pass -322 00570000 322 00570000 pass -186 00000000 186 00000000 pass -374 00000000 374 00000000 pass -356 00000000 356 00000000 pass -7 00000000 7 00000000 pass -292 00000000 292 00000000 pass -73 00000000 73 00000000 pass -276 00000000 276 00000000 pass -419 00000000 419 00000000 pass -399 00000000 399 00000000 pass -45 00000000 45 00000000 pass -118 00000000 118 00000000 pass -265 00c80073 265 00c80073 pass -179 00c80073 179 00c80073 pass -268 000037dc 268 000037dc pass -102 000037dc 102 000037dc pass -356 00000000 356 00000000 pass -213 00000000 213 00000000 pass -153 00000000 153 00000000 pass -430 00000000 430 00000000 pass -284 00000000 284 00000000 pass -50 00000000 50 00000000 pass -14 00000000 14 00000000 pass -166 00000000 166 00000000 pass -248 00000000 248 00000000 pass -106 74004d00 106 74004d00 pass -169 74004d00 169 74004d00 pass -374 00000000 374 00000000 pass -142 00003d00 142 00003d00 pass -154 00003d00 154 00003d00 pass -193 00003d00 193 00003d00 pass -112 09540012 112 09540012 pass -127 00006f00 127 00006f00 pass -351 00006f00 351 00006f00 pass -216 00000000 216 00000000 pass -400 05cf000b 400 05cf000b pass -165 05cf000b 165 05cf000b pass -379 00f99465 379 00f99465 pass -369 00f99465 369 00f99465 pass -370 00000000 370 00000000 pass -460 00000000 460 00000000 pass -337 00000000 337 00000000 pass -8 00000000 8 00000000 pass -485 415f0082 485 415f0082 pass -9 415f0082 9 415f0082 pass -249 415f0082 249 415f0082 pass -272 415f0082 272 415f0082 pass -363 00000000 363 00000000 pass -71 00000000 71 00000000 pass -25 99006632 25 99006632 pass -57 006e0000 57 006e0000 pass -180 006e0000 180 006e0000 pass -289 2c287458 289 2c287458 pass -61 2c287458 61 2c287458 pass -485 2c287458 485 2c287458 pass -140 2c287458 140 2c287458 pass -174 00000000 174 00000000 pass -493 00000000 493 00000000 pass -38 00000000 38 00000000 pass -33 004e007b 33 004e007b pass -62 004e007b 62 004e007b pass -53 004e007b 53 004e007b pass -272 e5000000 272 e5000000 pass -310 00000000 310 00000000 pass -187 00000000 187 00000000 pass -463 ba7b465d 463 ba7b465d pass -451 00000000 451 00000000 pass -289 00000000 289 00000000 pass -434 00000000 434 00000000 pass -189 00000000 189 00000000 pass -253 00000000 253 00000000 pass -282 00000000 282 00000000 pass -166 7d018a63 166 7d018a63 pass -104 b600006c 104 b600006c pass -404 b600006c 404 b600006c pass -462 5b95f7b6 462 5b95f7b6 pass -451 16ec410d 451 16ec410d pass -39 1a11dd34 39 1a11dd34 pass -168 1a11dd34 168 1a11dd34 pass -437 1a11dd34 437 1a11dd34 pass -136 1a11dd34 136 1a11dd34 pass -317 1a11dd34 317 1a11dd34 pass -233 48013590 233 48013590 pass -275 00860000 275 00860000 pass -125 00000000 125 00000000 pass -290 00000000 290 00000000 pass -459 00000000 459 00000000 pass -51 00000000 51 00000000 pass -411 00000000 411 00000000 pass -70 00000000 70 00000000 pass -251 00000000 251 00000000 pass -444 00000000 444 00000000 pass -357 cfae009e 357 cfae009e pass -256 00000000 256 00000000 pass -492 00000000 492 00000000 pass -172 00000000 172 00000000 pass -355 00000000 355 00000000 pass -489 00000000 489 00000000 pass -228 00000000 228 00000000 pass -227 00000000 227 00000000 pass -267 b4670068 267 b4670068 pass -93 b4670068 93 b4670068 pass -66 0000db00 66 0000db00 pass -193 43001b87 193 43001b87 pass -173 09540012 173 09540012 pass -331 09540012 331 09540012 pass -124 00004be2 124 00004be2 pass -451 00000000 451 00000000 pass -129 00000000 129 00000000 pass -37 000000fe 37 000000fe pass -132 000000fe 132 000000fe pass -416 15f50000 416 15f50000 pass -112 15f50000 112 15f50000 pass -267 15f50000 267 15f50000 pass -20 15f50000 20 15f50000 pass -226 00000000 226 00000000 pass -168 00000000 168 00000000 pass -256 00000000 256 00000000 pass -147 00000000 147 00000000 pass -351 00000000 351 00000000 pass -151 00000000 151 00000000 pass -87 00000000 87 00000000 pass -271 00000000 271 00000000 pass -165 00000056 165 00000056 pass -361 00000056 361 00000056 pass -274 00000056 274 00000056 pass -261 00000000 261 00000000 pass -442 00000000 442 00000000 pass -156 00000000 156 00000000 pass -101 00000000 101 00000000 pass -353 00000000 353 00000000 pass -314 00000000 314 00000000 pass -195 00280000 195 00280000 pass -38 1cc0002d 38 1cc0002d pass -143 004e007b 143 004e007b pass -56 004e007b 56 004e007b pass -17 4f7a15ca 17 4f7a15ca pass -72 4f7a15ca 72 4f7a15ca pass -485 c6456a8c 485 c6456a8c pass -493 c6456a8c 493 c6456a8c pass -451 c6456a8c 451 c6456a8c pass -54 c6456a8c 54 c6456a8c pass -82 00000000 82 00000000 pass -418 00000000 418 00000000 pass -257 639a3f00 257 639a3f00 pass -297 639a3f00 297 639a3f00 pass -411 639a3f00 411 639a3f00 pass -464 000021df 464 000021df pass -337 00000000 337 00000000 pass -78 00000000 78 00000000 pass -262 00000000 262 00000000 pass -233 230e0046 233 230e0046 pass -48 230e0046 48 230e0046 pass -218 00000000 218 00000000 pass -452 00000000 452 00000000 pass -464 00000000 464 00000000 pass -232 00000000 232 00000000 pass -471 00000000 471 00000000 pass -257 00000000 257 00000000 pass -354 00000000 354 00000000 pass -323 00000000 323 00000000 pass -211 00000000 211 00000000 pass -217 00000000 217 00000000 pass -33 00000000 33 00000000 pass -295 00000000 295 00000000 pass -59 00000000 59 00000000 pass -295 0b81f316 295 0b81f316 pass -99 0b81f316 99 0b81f316 pass -192 59d28e00 192 59d28e00 pass -389 00000000 389 00000000 pass -107 00000000 107 00000000 pass -269 00000000 269 00000000 pass -68 48f7fb3f 68 48f7fb3f pass -240 67b40000 240 67b40000 pass -180 67b40000 180 67b40000 pass -70 2c287458 70 2c287458 pass -498 00000000 498 00000000 pass -17 00000000 17 00000000 pass -474 00000000 474 00000000 pass -292 00000000 292 00000000 pass -96 c006b000 96 c006b000 pass -473 000900c0 473 000900c0 pass -483 000900c0 483 000900c0 pass -197 000900c0 197 000900c0 pass -172 5500392d 172 5500392d pass -96 5500392d 96 5500392d pass -497 000900c0 497 000900c0 pass -204 00000000 204 00000000 pass -439 34000000 439 34000000 pass -19 34000000 19 34000000 pass -383 0013bc00 383 0013bc00 pass -187 0013bc00 187 0013bc00 pass -235 0013bc00 235 0013bc00 pass -411 0013bc00 411 0013bc00 pass -354 0013bc00 354 0013bc00 pass -299 0013bc00 299 0013bc00 pass -185 0013bc00 185 0013bc00 pass -280 00000000 280 00000000 pass -329 00000000 329 00000000 pass -322 92000058 322 92000058 pass -90 00000000 90 00000000 pass -255 5a290000 255 5a290000 pass -35 00000000 35 00000000 pass -125 d835ef00 125 d835ef00 pass -501 45f70000 501 45f70000 pass -70 4900c774 70 4900c774 pass
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/simulation.vcd b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/simulation.vcd deleted file mode 100644 index 5018e38..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/simulation.vcd +++ /dev/null
@@ -1,40667 +0,0 @@ -$date - Wed Nov 24 03:19:06 2021 -$end -$version - Icarus Verilog -$end -$timescale - 1s -$end -$scope module ram_generic_1rw_tb $end -$var wire 32 ! RData_pck_sram [31:0] $end -$var reg 9 " RAddr_pck [8:0] $end -$var reg 32 # RData_pck_golden [31:0] $end -$var reg 9 $ WAddr_pck [8:0] $end -$var reg 32 % WData_pck [31:0] $end -$var reg 1 & WEnb $end -$var reg 1 ' clk $end -$var reg 1 ( raw_addr $end -$var reg 1 ) rdw_addr $end -$var reg 1 * rst $end -$var reg 1 + waw_addr $end -$var reg 1 , wdw_addr $end -$var reg 4 - wmask_pck [3:0] $end -$var integer 32 . _i_ [31:0] $end -$var integer 32 / cycc [31:0] $end -$var integer 32 0 i [31:0] $end -$var integer 32 1 j [31:0] $end -$var integer 32 2 pass [31:0] $end -$var integer 32 3 q [31:0] $end -$var integer 32 4 r [31:0] $end -$var integer 32 5 rep_fd [31:0] $end -$scope module ram_1rw $end -$var wire 9 6 addr [8:0] $end -$var wire 9 7 addr1 [8:0] $end -$var wire 1 ' clk $end -$var wire 1 ' clk1 $end -$var wire 1 8 csb $end -$var wire 1 9 csb1 $end -$var wire 32 : din [31:0] $end -$var wire 1 ; web $end -$var wire 4 < wmask [3:0] $end -$var wire 2 = Addr_sel_1 [1:0] $end -$var wire 2 > Addr_sel [1:0] $end -$var reg 32 ? RData_out [31:0] $end -$var reg 32 @ RData_out_1 [31:0] $end -$var reg 2 A Raddr_sel [1:0] $end -$var reg 2 B Raddr_sel_1 [1:0] $end -$var reg 32 C dout [31:0] $end -$var reg 32 D dout1 [31:0] $end -$var reg 1 E web_reg $end -$var integer 32 F i [31:0] $end -$var integer 32 G j [31:0] $end -$scope begin genblk1[0] $end -$scope begin genblk4 $end -$scope module ram_i $end -$var wire 8 H addr0 [7:0] $end -$var wire 8 I addr1 [7:0] $end -$var wire 1 ' clk0 $end -$var wire 1 ' clk1 $end -$var wire 1 J csb0 $end -$var wire 1 K csb1 $end -$var wire 32 L din0 [31:0] $end -$var wire 1 M web0 $end -$var wire 4 N wmask0 [3:0] $end -$var reg 8 O addr0_reg [7:0] $end -$var reg 8 P addr1_reg [7:0] $end -$var reg 1 Q csb0_reg $end -$var reg 1 R csb1_reg $end -$var reg 32 S din0_reg [31:0] $end -$var reg 32 T dout0 [31:0] $end -$var reg 32 U dout1 [31:0] $end -$var reg 1 V web0_reg $end -$var reg 4 W wmask0_reg [3:0] $end -$var integer 32 X i [31:0] $end -$scope begin MEM_READ0 $end -$upscope $end -$scope begin MEM_READ1 $end -$upscope $end -$scope begin MEM_WRITE0 $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope begin genblk1[1] $end -$scope begin genblk4 $end -$scope module ram_i $end -$var wire 8 Y addr0 [7:0] $end -$var wire 8 Z addr1 [7:0] $end -$var wire 1 ' clk0 $end -$var wire 1 ' clk1 $end -$var wire 1 [ csb0 $end -$var wire 1 \ csb1 $end -$var wire 32 ] din0 [31:0] $end -$var wire 1 ^ web0 $end -$var wire 4 _ wmask0 [3:0] $end -$var reg 8 ` addr0_reg [7:0] $end -$var reg 8 a addr1_reg [7:0] $end -$var reg 1 b csb0_reg $end -$var reg 1 c csb1_reg $end -$var reg 32 d din0_reg [31:0] $end -$var reg 32 e dout0 [31:0] $end -$var reg 32 f dout1 [31:0] $end -$var reg 1 g web0_reg $end -$var reg 4 h wmask0_reg [3:0] $end -$var integer 32 i i [31:0] $end -$scope begin MEM_READ0 $end -$upscope $end -$scope begin MEM_READ1 $end -$upscope $end -$scope begin MEM_WRITE0 $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope task genInitFiles $end -$var reg 32 j DEPTH [31:0] $end -$var reg 160 k FILEN [1:160] $end -$var reg 256 l INITVAL [255:0] $end -$var reg 1 m RAND $end -$var reg 32 n WIDTH [31:0] $end -$var reg 256 o ramdata [255:0] $end -$var integer 32 p addr [31:0] $end -$var integer 32 q hex_fd [31:0] $end -$var integer 32 r mif_fd [31:0] $end -$upscope $end -$upscope $end -$enddefinitions $end -#0 -$dumpvars -b10000000000000000000000000000100 r -b10000000000000000000000000000011 q -b1000000000 p -b10100010001010101100011001000100 o -b100000 n -1m -b0 l -b110100101101110011010010111010001011111011100100110000101101101 k -b1000000000 j -b100000000 i -bx h -xg -bx f -bx e -bx d -1c -xb -b0 a -bx ` -bx _ -x^ -bx ] -1\ -x[ -b0 Z -bx Y -b100000000 X -bx W -xV -bx U -bx T -bx S -1R -xQ -b0 P -bx O -bx N -xM -bx L -1K -xJ -b0 I -bx H -b10 G -b10 F -xE -bx D -bx C -b0 B -bx A -bx @ -bx ? -bx > -b0 = -bx < -x; -bx : -19 -08 -b0 7 -bx 6 -b10000000000000000000000000000011 5 -bx 4 -b1000000000 3 -bx 2 -bx 1 -bx 0 -b1 / -bx . -bx - -x, -x+ -1* -x) -x( -1' -x& -bx % -bx $ -bx # -bx " -bx ! -$end -#5 -1[ -0J -b0 > -1^ -b0 Y -1M -b101110 H -b10 F -b101110 6 -1; -b101100010 $ -b111 - -b111 < -b111 N -b111 _ -b101110 " -b10 . -0& -b11000110100100000001001010001101 % -b11000110100100000001001010001101 : -b11000110100100000001001010001101 L -b11000110100100000001001010001101 ] -0( -0) -b0 1 -0+ -0, -b1 0 -0' -#10 -1E -b0 A -b10 G -b11000110100100000001001010001101 d -b0 ` -b111 h -1g -1b -b11000110100100000001001010001101 S -b101110 O -b111 W -1V -0Q -1' -#15 -b110111 H -b10 F -b110111 6 -b110101010 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110111 " -b10 . -0& -b11111000011000000010111011110000 % -b11111000011000000010111011110000 : -b11111000011000000010111011110000 L -b11111000011000000010111011110000 ] -0( -0) -0+ -0, -b1 0 -0' -#18 -b0 T -#20 -b0 # -b10 . -b0 ! -b0 C -b11111000011000000010111011110000 S -b110111 O -b1101 W -b11111000011000000010111011110000 d -b1101 h -b0 ? -b10 G -1' -#25 -b10111011 H -b10 F -b10111011 6 -b111001101 $ -b110 - -b110 < -b110 N -b110 _ -b10111011 " -b10 . -b11101111111101101001001011011111 % -b11101111111101101001001011011111 : -b11101111111101101001001011011111 L -b11101111111101101001001011011111 ] -0( -0) -0+ -0, -b1 0 -0' -#30 -b10 G -b11101111111101101001001011011111 d -b110 h -b11101111111101101001001011011111 S -b10111011 O -b110 W -1' -#35 -b10010111 H -b10 F -b10010111 6 -b1011000 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b10010111 " -b10 . -0& -b10000011010111011010001000000110 % -b10000011010111011010001000000110 : -b10000011010111011010001000000110 L -b10000011010111011010001000000110 ] -0( -0) -0+ -0, -b1 0 -0' -#40 -b10000011010111011010001000000110 S -b10010111 O -b1100 W -b10000011010111011010001000000110 d -b1100 h -b10 G -1' -#45 -0[ -b1011101 Y -1J -b0 H -b10 F -b1 > -b101011101 6 -b11000100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b101011101 " -b10 . -b100110110001110001001101001101 % -b100110110001110001001101001101 : -b100110110001110001001101001101 L -b100110110001110001001101001101 ] -0( -0) -0+ -0, -b1 0 -0' -#50 -b1 A -b10 G -b100110110001110001001101001101 d -b1011101 ` -b1110 h -0b -b100110110001110001001101001101 S -b0 O -b1110 W -1Q -1' -#52 -0* -#55 -0^ -b1111111 Y -b10 F -b101111111 6 -0; -b101111111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10111001 " -b10 . -1& -b11110000010111010110010011100000 % -b11110000010111010110010011100000 : -b11110000010111010110010011100000 L -b11110000010111010110010011100000 ] -0( -0) -0+ -0, -b1 0 -0' -#58 -b0 e -#60 -0E -b11110000010111010110010011100000 S -b1010 W -b11110000010111010110010011100000 d -b1111111 ` -b1010 h -0g -b10 G -b100 4 -1' -#61 -b10 / -b1 2 -#65 -1[ -1^ -b0 Y -0J -0M -b10000001 H -b10 F -b0 > -b10000001 6 -b10000001 $ -b1 - -b1 < -b1 N -b1 _ -b10001111 " -b10 . -1& -b1111111010100110111110111111110 % -b1111111010100110111110111111110 : -b1111111010100110111110111111110 L -b1111111010100110111110111111110 ] -0( -0) -0+ -0, -b1 0 -0' -#70 -b0 A -b100 4 -b10 G -b1111111010100110111110111111110 d -b0 ` -b1 h -1g -1b -b1111111010100110111110111111110 S -b10000001 O -b1 W -0V -0Q -1' -#71 -b11 / -#75 -0[ -0^ -b1111 Y -1J -1M -b0 H -b10 F -b1 > -b100001111 6 -b100001111 $ -b1101001 " -b10 . -1& -b101011000011011010010101010110 % -b101011000011011010010101010110 : -b101011000011011010010101010110 L -b101011000011011010010101010110 ] -0( -0) -0+ -0, -b1 0 -0' -#80 -b1 A -b101011000011011010010101010110 S -b0 O -1V -1Q -b101011000011011010010101010110 d -b1111 ` -0g -0b -b10 G -b100 4 -1' -#81 -b100 / -#85 -1[ -0J -b11010011 H -b0 > -1^ -b0 Y -b10 F -b11010011 6 -1; -b1011100 $ -b10 - -b10 < -b10 N -b10 _ -b11010011 " -b10 . -0& -b10011101011100110111101000111010 % -b10011101011100110111101000111010 : -b10011101011100110111101000111010 L -b10011101011100110111101000111010 ] -0( -0) -0+ -0, -b1 0 -0' -#90 -1E -b0 A -b10 G -b10011101011100110111101000111010 d -b0 ` -b10 h -1g -1b -b10011101011100110111101000111010 S -b11010011 O -b10 W -0Q -1' -#91 -b101 / -#95 -0[ -0^ -b1111000 Y -1J -b1 > -1M -b0 H -b10 F -b101111000 6 -0; -b101111000 $ -b1 - -b1 < -b1 N -b1 _ -b100100101 " -b10 . -1& -b10000100100101101101011000001001 % -b10000100100101101101011000001001 : -b10000100100101101101011000001001 L -b10000100100101101101011000001001 ] -0( -0) -0+ -0, -b1 0 -0' -#100 -0E -b1 A -b10000100100101101101011000001001 S -b0 O -b1 W -1Q -b10000100100101101101011000001001 d -b1111000 ` -b1 h -0g -0b -b10 G -b100 4 -1' -#101 -b110 / -#105 -1[ -0J -b11010 H -b0 > -1^ -b0 Y -b10 F -b11010 6 -1; -b100101100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11010 " -b10 . -0& -b10111010101000100000000 % -b10111010101000100000000 : -b10111010101000100000000 L -b10111010101000100000000 ] -0( -0) -0+ -0, -b1 0 -0' -#110 -1E -b0 A -b10 G -b10111010101000100000000 d -b0 ` -b1110 h -1g -1b -b10111010101000100000000 S -b11010 O -b1110 W -0Q -1' -#111 -b111 / -#115 -0[ -b10100000 Y -1J -b0 H -b10 F -b1 > -b110100000 6 -b111101000 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110100000 " -b10 . -b1110110011010010010100011101 % -b1110110011010010010100011101 : -b1110110011010010010100011101 L -b1110110011010010010100011101 ] -0( -0) -0+ -0, -b1 0 -0' -#120 -b1 A -b1110110011010010010100011101 S -b0 O -b1011 W -1Q -b1110110011010010010100011101 d -b10100000 ` -b1011 h -0b -b10 G -1' -#121 -b1000 / -#125 -1[ -0J -0M -b0 > -1^ -b0 Y -b10 F -b0 6 -0; -b0 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11011000 " -b10 . -1& -b1100000010111011011101111000000 % -b1100000010111011011101111000000 : -b1100000010111011011101111000000 L -b1100000010111011011101111000000 ] -0( -0) -0+ -0, -b1 0 -0' -#130 -0E -b0 A -b100 4 -b10 G -b1100000010111011011101111000000 d -b0 ` -b1110 h -1b -b1100000010111011011101111000000 S -b1110 W -0V -0Q -1' -#131 -b1001 / -#135 -0[ -b1010001 Y -1J -b1 > -1M -b0 H -b10 F -b101010001 6 -1; -b111010001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101010001 " -b10 . -0& -b10100010101001001011111001000101 % -b10100010101001001011111001000101 : -b10100010101001001011111001000101 L -b10100010101001001011111001000101 ] -0( -0) -0+ -0, -b1 0 -0' -#140 -1E -b1 A -b10100010101001001011111001000101 S -b1010 W -1V -1Q -b10100010101001001011111001000101 d -b1010001 ` -b1010 h -0b -b10 G -1' -#141 -b1010 / -#145 -0^ -b1111110 Y -b10 F -b101111110 6 -0; -b101111110 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11111100 " -b10 . -1& -b100100001001101101011101001000 % -b100100001001101101011101001000 : -b100100001001101101011101001000 L -b100100001001101101011101001000 ] -0( -0) -0+ -0, -b1 0 -0' -#150 -0E -b100 4 -b10 G -b100100001001101101011101001000 d -b1111110 ` -b1100 h -0g -b100100001001101101011101001000 S -b1100 W -1' -#151 -b1011 / -#155 -1[ -0J -b10000011 H -b0 > -1^ -b0 Y -b10 F -b10000011 6 -1; -b100110001 $ -b101 - -b101 < -b101 N -b101 _ -b10000011 " -b10 . -0& -b10011111110000010100001000111111 % -b10011111110000010100001000111111 : -b10011111110000010100001000111111 L -b10011111110000010100001000111111 ] -0( -0) -0+ -0, -b1 0 -0' -#160 -1E -b0 A -b10011111110000010100001000111111 S -b10000011 O -b101 W -0Q -b10011111110000010100001000111111 d -b0 ` -b101 h -1g -1b -b10 G -1' -#161 -b1100 / -#165 -b11110001 H -b10 F -b11110001 6 -b101100100 $ -b11 - -b11 < -b11 N -b11 _ -b11110001 " -b10 . -b1000111001011011111101110001110 % -b1000111001011011111101110001110 : -b1000111001011011111101110001110 L -b1000111001011011111101110001110 ] -0( -0) -0+ -0, -b1 0 -0' -#170 -b10 G -b1000111001011011111101110001110 d -b11 h -b1000111001011011111101110001110 S -b11110001 O -b11 W -1' -#171 -b1101 / -#175 -0M -b11101000 H -b10 F -b11101000 6 -0; -b11101000 $ -b10 - -b10 < -b10 N -b10 _ -b100001010 " -b10 . -1& -b101111101110000001101101011111 % -b101111101110000001101101011111 : -b101111101110000001101101011111 L -b101111101110000001101101011111 ] -0( -0) -0+ -0, -b1 0 -0' -#180 -0E -b101111101110000001101101011111 S -b11101000 O -b10 W -0V -b101111101110000001101101011111 d -b10 h -b10 G -b100 4 -1' -#181 -b1110 / -#185 -0[ -0^ -b1001001 Y -1J -1M -b0 H -b10 F -b1 > -b101001001 6 -b101001001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b101101100 " -b10 . -1& -b10101100010100001001110001011000 % -b10101100010100001001110001011000 : -b10101100010100001001110001011000 L -b10101100010100001001110001011000 ] -0( -0) -0+ -0, -b1 0 -0' -#190 -b1 A -b100 4 -b10 G -b10101100010100001001110001011000 d -b1001001 ` -b1001 h -0g -0b -b10101100010100001001110001011000 S -b0 O -b1001 W -1V -1Q -1' -#191 -b1111 / -#195 -b101111 Y -b10 F -b100101111 6 -b100101111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100111 " -b10 . -1& -b1101010010111011101101111010100 % -b1101010010111011101101111010100 : -b1101010010111011101101111010100 L -b1101010010111011101101111010100 ] -0( -0) -0+ -0, -b1 0 -0' -#200 -b1101010010111011101101111010100 S -b1100 W -b1101010010111011101101111010100 d -b101111 ` -b1100 h -b10 G -b100 4 -1' -#201 -b10000 / -#205 -b10010010 Y -b10 F -b110010010 6 -b110010010 $ -b1 - -b1 < -b1 N -b1 _ -b1000110 " -b10 . -1& -b10110111101110000010101001101111 % -b10110111101110000010101001101111 : -b10110111101110000010101001101111 L -b10110111101110000010101001101111 ] -0( -0) -0+ -0, -b1 0 -0' -#210 -b100 4 -b10 G -b10110111101110000010101001101111 d -b10010010 ` -b1 h -b10110111101110000010101001101111 S -b1 W -1' -#211 -b10001 / -#215 -1[ -0J -b1110010 H -b0 > -1^ -b0 Y -b10 F -b1110010 6 -1; -b11110111 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1110010 " -b10 . -0& -b1010001001101101010010110100010 % -b1010001001101101010010110100010 : -b1010001001101101010010110100010 L -b1010001001101101010010110100010 ] -0( -0) -0+ -0, -b1 0 -0' -#220 -1E -b0 A -b1010001001101101010010110100010 S -b1110010 O -b1000 W -0Q -b1010001001101101010010110100010 d -b0 ` -b1000 h -1g -1b -b10 G -1' -#221 -b10010 / -#225 -b1101000 H -b10 F -b1101000 6 -b110010010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b1101000 " -b10 . -b10011000101101001110111000110001 % -b10011000101101001110111000110001 : -b10011000101101001110111000110001 L -b10011000101101001110111000110001 ] -0( -0) -0+ -0, -b1 0 -0' -#230 -b10 G -b10011000101101001110111000110001 d -b1110 h -b10011000101101001110111000110001 S -b1101000 O -b1110 W -1' -#231 -b10011 / -#235 -0[ -0^ -b1010101 Y -1J -b1 > -1M -b0 H -b10 F -b101010101 6 -0; -b101010101 $ -b11 - -b11 < -b11 N -b11 _ -b1011110 " -b10 . -1& -b11100110111000011000011011001101 % -b11100110111000011000011011001101 : -b11100110111000011000011011001101 L -b11100110111000011000011011001101 ] -0( -0) -0+ -0, -b1 0 -0' -#240 -0E -b1 A -b11100110111000011000011011001101 S -b0 O -b11 W -1Q -b11100110111000011000011011001101 d -b1010101 ` -b11 h -0g -0b -b10 G -b100 4 -1' -#241 -b10100 / -#245 -1^ -b111111 Y -b10 F -b100111111 6 -1; -b1000 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100111111 " -b10 . -0& -b11011000000001111111001010110000 % -b11011000000001111111001010110000 : -b11011000000001111111001010110000 L -b11011000000001111111001010110000 ] -0( -0) -0+ -0, -b1 0 -0' -#250 -1E -b10 G -b11011000000001111111001010110000 d -b111111 ` -b1100 h -1g -b11011000000001111111001010110000 S -b1100 W -1' -#251 -b10101 / -#255 -1[ -b0 Y -0J -b1011110 H -b10 F -b0 > -b1011110 6 -b100110010 $ -b0 - -b0 < -b0 N -b0 _ -b1011110 " -b10 . -b11011100000101101101100010111000 % -b11011100000101101101100010111000 : -b11011100000101101101100010111000 L -b11011100000101101101100010111000 ] -0( -0) -0+ -0, -b1 0 -0' -#260 -b0 A -b11011100000101101101100010111000 S -b1011110 O -b0 W -0Q -b11011100000101101101100010111000 d -b0 ` -b0 h -1b -b10 G -1' -#261 -b10110 / -#265 -0[ -0^ -b1010 Y -1J -b1 > -1M -b0 H -b10 F -b100001010 6 -0; -b100001010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11001001 " -b10 . -1& -b11111000110100111101100011110001 % -b11111000110100111101100011110001 : -b11111000110100111101100011110001 L -b11111000110100111101100011110001 ] -0( -0) -0+ -0, -b1 0 -0' -#270 -0E -b1 A -b100 4 -b10 G -b11111000110100111101100011110001 d -b1010 ` -b1100 h -0g -0b -b11111000110100111101100011110001 S -b0 O -b1100 W -1Q -1' -#271 -b10111 / -#275 -1[ -0J -b100011 H -b0 > -1^ -b0 Y -b10 F -b100011 6 -1; -b11100101 $ -b1 - -b1 < -b1 N -b1 _ -b100011 " -b10 . -0& -b10110100100011010001100101101 % -b10110100100011010001100101101 : -b10110100100011010001100101101 L -b10110100100011010001100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#280 -1E -b0 A -b10110100100011010001100101101 S -b100011 O -b1 W -0Q -b10110100100011010001100101101 d -b0 ` -b1 h -1g -1b -b10 G -1' -#281 -b11000 / -#285 -b1110 H -b10 F -b1110 6 -b1011110 $ -b101 - -b101 < -b101 N -b101 _ -b1110 " -b10 . -b110010001011001100000101100100 % -b110010001011001100000101100100 : -b110010001011001100000101100100 L -b110010001011001100000101100100 ] -0( -0) -0+ -0, -b1 0 -0' -#290 -b10 G -b110010001011001100000101100100 d -b101 h -b110010001011001100000101100100 S -b1110 O -b101 W -1' -#291 -b11001 / -#295 -0M -b1001000 H -b10 F -b1001000 6 -0; -b1001000 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b10011011 " -b10 . -1& -b11100110111110111111010011001101 % -b11100110111110111111010011001101 : -b11100110111110111111010011001101 L -b11100110111110111111010011001101 ] -0( -0) -0+ -0, -b1 0 -0' -#300 -0E -b11100110111110111111010011001101 S -b1001000 O -b1100 W -0V -b11100110111110111111010011001101 d -b1100 h -b10 G -b100 4 -1' -#301 -b11010 / -#305 -b10101011 H -b10 F -b10101011 6 -b10101011 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10111101 " -b10 . -1& -b11101100111111110010010011011001 % -b11101100111111110010010011011001 : -b11101100111111110010010011011001 L -b11101100111111110010010011011001 ] -0( -0) -0+ -0, -b1 0 -0' -#310 -b100 4 -b10 G -b11101100111111110010010011011001 d -b1111 h -b11101100111111110010010011011001 S -b10101011 O -b1111 W -1' -#311 -b11011 / -#315 -0[ -b11101 Y -1J -b1 > -1M -b0 H -b10 F -b100011101 6 -1; -b111100000 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100011101 " -b10 . -0& -b11001001101101100100110010010011 % -b11001001101101100100110010010011 : -b11001001101101100100110010010011 L -b11001001101101100100110010010011 ] -0( -0) -0+ -0, -b1 0 -0' -#320 -1E -b1 A -b11001001101101100100110010010011 S -b0 O -b1010 W -1V -1Q -b11001001101101100100110010010011 d -b11101 ` -b1010 h -0b -b10 G -1' -#321 -b11100 / -#325 -b1101100 Y -b10 F -b101101100 6 -b100000101 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101101100 " -b10 . -b10110101110001011100000001101011 % -b10110101110001011100000001101011 : -b10110101110001011100000001101011 L -b10110101110001011100000001101011 ] -0( -0) -0+ -0, -b1 0 -0' -#330 -b10 G -b10110101110001011100000001101011 d -b1101100 ` -b1000 h -b10110101110001011100000001101011 S -b1000 W -1' -#331 -b11101 / -#335 -b1010111 Y -b10 F -b101010111 6 -b111110111 $ -b101 - -b101 < -b101 N -b101 _ -b101010111 " -b10 . -b111011000100011111001101110110 % -b111011000100011111001101110110 : -b111011000100011111001101110110 L -b111011000100011111001101110110 ] -0( -0) -0+ -0, -b1 0 -0' -#340 -b111011000100011111001101110110 S -b101 W -b111011000100011111001101110110 d -b1010111 ` -b101 h -b10 G -1' -#341 -b11110 / -#345 -1[ -b0 Y -0J -b10000111 H -b10 F -b0 > -b10000111 6 -b10110100 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10000111 " -b10 . -b100011010001100110001101000110 % -b100011010001100110001101000110 : -b100011010001100110001101000110 L -b100011010001100110001101000110 ] -0( -0) -0+ -0, -b1 0 -0' -#350 -b0 A -b10 G -b100011010001100110001101000110 d -b0 ` -b1000 h -1b -b100011010001100110001101000110 S -b10000111 O -b1000 W -0Q -1' -#351 -b11111 / -#355 -0M -b10011110 H -b10 F -b10011110 6 -0; -b10011110 $ -b1 - -b1 < -b1 N -b1 _ -b1010100 " -b10 . -1& -b101010010101100101111101010100 % -b101010010101100101111101010100 : -b101010010101100101111101010100 L -b101010010101100101111101010100 ] -0( -0) -0+ -0, -b1 0 -0' -#360 -0E -b101010010101100101111101010100 S -b10011110 O -b1 W -0V -b101010010101100101111101010100 d -b1 h -b10 G -b100 4 -1' -#361 -b100000 / -#365 -1M -b101101 H -b10 F -b101101 6 -1; -b100000110 $ -b10 - -b10 < -b10 N -b10 _ -b101101 " -b10 . -0& -b11000011010011011101110010000110 % -b11000011010011011101110010000110 : -b11000011010011011101110010000110 L -b11000011010011011101110010000110 ] -0( -0) -0+ -0, -b1 0 -0' -#370 -1E -b10 G -b11000011010011011101110010000110 d -b10 h -b11000011010011011101110010000110 S -b101101 O -b10 W -1V -1' -#371 -b100001 / -#375 -0M -b10111000 H -b10 F -b10111000 6 -0; -b10111000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10100000 " -b10 . -1& -b11111101010011000111100111111 % -b11111101010011000111100111111 : -b11111101010011000111100111111 L -b11111101010011000111100111111 ] -0( -0) -0+ -0, -b1 0 -0' -#380 -0E -b11111101010011000111100111111 S -b10111000 O -b1111 W -0V -b11111101010011000111100111111 d -b1111 h -b10 G -b100 4 -1' -#381 -b100010 / -#385 -0[ -0^ -b10101000 Y -1J -1M -b0 H -b10 F -b1 > -b110101000 6 -b110101000 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100011110 " -b10 . -1& -b11011100001000101101110010111000 % -b11011100001000101101110010111000 : -b11011100001000101101110010111000 L -b11011100001000101101110010111000 ] -0( -0) -0+ -0, -b1 0 -0' -#390 -b1 A -b100 4 -b10 G -b11011100001000101101110010111000 d -b10101000 ` -b1010 h -0g -0b -b11011100001000101101110010111000 S -b0 O -b1010 W -1V -1Q -1' -#391 -b100011 / -#395 -1^ -b10101001 Y -b10 F -b110101001 6 -1; -b111010110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110101001 " -b10 . -0& -b11100111101100110111010011001111 % -b11100111101100110111010011001111 : -b11100111101100110111010011001111 L -b11100111101100110111010011001111 ] -0( -0) -0+ -0, -b1 0 -0' -#400 -1E -b11100111101100110111010011001111 S -b1001 W -b11100111101100110111010011001111 d -b10101001 ` -b1001 h -1g -b10 G -1' -#401 -b100100 / -#405 -b11110101 Y -b10 F -b111110101 6 -b1000000 $ -b101 - -b101 < -b101 N -b101 _ -b111110101 " -b10 . -b10101101001001111100010001011010 % -b10101101001001111100010001011010 : -b10101101001001111100010001011010 L -b10101101001001111100010001011010 ] -0( -0) -0+ -0, -b1 0 -0' -#410 -b10 G -b10101101001001111100010001011010 d -b11110101 ` -b101 h -b10101101001001111100010001011010 S -b101 W -1' -#411 -b100101 / -#415 -1[ -0J -0M -b100101 H -b0 > -1^ -b0 Y -b10 F -b100101 6 -0; -b100101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1000100 " -b10 . -1& -b10111100100101000100011001111001 % -b10111100100101000100011001111001 : -b10111100100101000100011001111001 L -b10111100100101000100011001111001 ] -0( -0) -0+ -0, -b1 0 -0' -#420 -0E -b0 A -b10111100100101000100011001111001 S -b100101 O -b1001 W -0V -0Q -b10111100100101000100011001111001 d -b0 ` -b1001 h -1b -b10 G -b100 4 -1' -#421 -b100110 / -#425 -b10101000 H -b10 F -b10101000 6 -b10101000 $ -b110 - -b110 < -b110 N -b110 _ -b10000101 " -b10 . -1& -b1000010111000111001110110000101 % -b1000010111000111001110110000101 : -b1000010111000111001110110000101 L -b1000010111000111001110110000101 ] -0( -0) -0+ -0, -b1 0 -0' -#430 -b100 4 -b10 G -b1000010111000111001110110000101 d -b110 h -b1000010111000111001110110000101 S -b10101000 O -b110 W -1' -#431 -b100111 / -#435 -0[ -b110100 Y -1J -b1 > -1M -b0 H -b10 F -b100110100 6 -1; -b10001000 $ -b100 - -b100 < -b100 N -b100 _ -b100110100 " -b10 . -0& -b11110100001011110110100111101 % -b11110100001011110110100111101 : -b11110100001011110110100111101 L -b11110100001011110110100111101 ] -0( -0) -0+ -0, -b1 0 -0' -#440 -1E -b1 A -b11110100001011110110100111101 S -b0 O -b100 W -1V -1Q -b11110100001011110110100111101 d -b110100 ` -b100 h -0b -b10 G -1' -#441 -b101000 / -#445 -1[ -b0 Y -0J -b10111101 H -b10 F -b0 > -b10111101 6 -b100011011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10111101 " -b10 . -b11011010011010011110001010110100 % -b11011010011010011110001010110100 : -b11011010011010011110001010110100 L -b11011010011010011110001010110100 ] -0( -0) -0+ -0, -b1 0 -0' -#450 -b0 A -b10 G -b11011010011010011110001010110100 d -b0 ` -b1000 h -1b -b11011010011010011110001010110100 S -b10111101 O -b1000 W -0Q -1' -#451 -b101001 / -#455 -0M -b101111 H -b10 F -b101111 6 -0; -b101111 $ -b10 - -b10 < -b10 N -b10 _ -b111101100 " -b10 . -1& -b1111010000000101010100011110 % -b1111010000000101010100011110 : -b1111010000000101010100011110 L -b1111010000000101010100011110 ] -0( -0) -0+ -0, -b1 0 -0' -#460 -0E -b1111010000000101010100011110 S -b101111 O -b10 W -0V -b1111010000000101010100011110 d -b10 h -b10 G -b100 4 -1' -#461 -b101010 / -#465 -0[ -b1100100 Y -1J -b1 > -1M -b0 H -b10 F -b101100100 6 -1; -b111000000 $ -b111 - -b111 < -b111 N -b111 _ -b101100100 " -b10 . -0& -b10100101110110010111000001001011 % -b10100101110110010111000001001011 : -b10100101110110010111000001001011 L -b10100101110110010111000001001011 ] -0( -0) -0+ -0, -b1 0 -0' -#470 -1E -b1 A -b10 G -b10100101110110010111000001001011 d -b1100100 ` -b111 h -0b -b10100101110110010111000001001011 S -b0 O -b111 W -1V -1Q -1' -#471 -b101011 / -#475 -b10011 Y -b10 F -b100010011 6 -b10000100 $ -b10 - -b10 < -b10 N -b10 _ -b100010011 " -b10 . -b11011001111110001110000010110011 % -b11011001111110001110000010110011 : -b11011001111110001110000010110011 L -b11011001111110001110000010110011 ] -0( -0) -0+ -0, -b1 0 -0' -#480 -b11011001111110001110000010110011 S -b10 W -b11011001111110001110000010110011 d -b10011 ` -b10 h -b10 G -1' -#481 -b101100 / -#485 -1[ -b0 Y -0J -b1011101 H -b10 F -b0 > -b1011101 6 -b101000 $ -b1 - -b1 < -b1 N -b1 _ -b1011101 " -b10 . -b1110111011010100110000111101110 % -b1110111011010100110000111101110 : -b1110111011010100110000111101110 L -b1110111011010100110000111101110 ] -0( -0) -0+ -0, -b1 0 -0' -#490 -b0 A -b10 G -b1110111011010100110000111101110 d -b0 ` -b1 h -1b -b1110111011010100110000111101110 S -b1011101 O -b1 W -0Q -1' -#491 -b101101 / -#495 -0M -b10111011 H -b10 F -b10111011 6 -0; -b10111011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11001010 " -b10 . -1& -b101110100101001011011101011101 % -b101110100101001011011101011101 : -b101110100101001011011101011101 L -b101110100101001011011101011101 ] -0( -0) -0+ -0, -b1 0 -0' -#500 -0E -b101110100101001011011101011101 S -b10111011 O -b1011 W -0V -b101110100101001011011101011101 d -b1011 h -b10 G -b100 4 -1' -#501 -b101110 / -#505 -1M -b11011011 H -b10 F -b11011011 6 -1; -b1110110 $ -b110 - -b110 < -b110 N -b110 _ -b11011011 " -b10 . -0& -b11011010010000101110010010110100 % -b11011010010000101110010010110100 : -b11011010010000101110010010110100 L -b11011010010000101110010010110100 ] -0( -0) -0+ -0, -b1 0 -0' -#510 -1E -b10 G -b11011010010000101110010010110100 d -b110 h -b11011010010000101110010010110100 S -b11011011 O -b110 W -1V -1' -#511 -b101111 / -#515 -0M -b100 H -b10 F -b100 6 -0; -b100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111001101 " -b10 . -1& -b11001001011001100010110010010010 % -b11001001011001100010110010010010 : -b11001001011001100010110010010010 L -b11001001011001100010110010010010 ] -0( -0) -0+ -0, -b1 0 -0' -#520 -0E -b11001001011001100010110010010010 S -b100 O -b1011 W -0V -b11001001011001100010110010010010 d -b1011 h -b10 G -b100 4 -1' -#521 -b110000 / -#525 -0[ -0^ -b10101001 Y -1J -1M -b0 H -b10 F -b1 > -b110101001 6 -b110101001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11011101 " -b10 . -1& -b1100000000010110010110111000000 % -b1100000000010110010110111000000 : -b1100000000010110010110111000000 L -b1100000000010110010110111000000 ] -0( -0) -0+ -0, -b1 0 -0' -#530 -b1 A -b100 4 -b10 G -b1100000000010110010110111000000 d -b10101001 ` -b1100 h -0g -0b -b1100000000010110010110111000000 S -b0 O -b1100 W -1V -1Q -1' -#531 -b110001 / -#535 -1^ -b10110010 Y -b10 F -b110110010 6 -1; -b10111011 $ -b100 - -b100 < -b100 N -b100 _ -b110110010 " -b10 . -0& -b1011001100011010010011110110011 % -b1011001100011010010011110110011 : -b1011001100011010010011110110011 L -b1011001100011010010011110110011 ] -0( -0) -0+ -0, -b1 0 -0' -#540 -1E -b1011001100011010010011110110011 S -b100 W -b1011001100011010010011110110011 d -b10110010 ` -b100 h -1g -b10 G -1' -#541 -b110010 / -#545 -1[ -0J -0M -b1001000 H -b0 > -1^ -b0 Y -b10 F -b1001000 6 -0; -b1001000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11111100 " -b10 . -1& -b11010111111110000100010010101111 % -b11010111111110000100010010101111 : -b11010111111110000100010010101111 L -b11010111111110000100010010101111 ] -0( -0) -0+ -0, -b1 0 -0' -#550 -0E -b0 A -b100 4 -b10 G -b11010111111110000100010010101111 d -b0 ` -b1111 h -1b -b11010111111110000100010010101111 S -b1001000 O -b1111 W -0V -0Q -1' -#551 -b110011 / -#555 -1M -b11011001 H -b10 F -b11011001 6 -1; -b1110 $ -b11 - -b11 < -b11 N -b11 _ -b11011001 " -b10 . -0& -b10000110110100100110111000001101 % -b10000110110100100110111000001101 : -b10000110110100100110111000001101 L -b10000110110100100110111000001101 ] -0( -0) -0+ -0, -b1 0 -0' -#560 -1E -b10000110110100100110111000001101 S -b11011001 O -b11 W -1V -b10000110110100100110111000001101 d -b11 h -b10 G -1' -#561 -b110100 / -#565 -0M -b1110100 H -b10 F -b1110100 6 -0; -b1110100 $ -b111 - -b111 < -b111 N -b111 _ -b110111111 " -b10 . -1& -b10101111110001011111001001011111 % -b10101111110001011111001001011111 : -b10101111110001011111001001011111 L -b10101111110001011111001001011111 ] -0( -0) -0+ -0, -b1 0 -0' -#570 -0E -b100 4 -b10 G -b10101111110001011111001001011111 d -b111 h -b10101111110001011111001001011111 S -b1110100 O -b111 W -0V -1' -#571 -b110101 / -#575 -0[ -0^ -b1101000 Y -1J -1M -b0 H -b10 F -b1 > -b101101000 6 -b101101000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111111011 " -b10 . -1& -b1100100101100010000100011001 % -b1100100101100010000100011001 : -b1100100101100010000100011001 L -b1100100101100010000100011001 ] -0( -0) -0+ -0, -b1 0 -0' -#580 -b1 A -b1100100101100010000100011001 S -b0 O -b1111 W -1V -1Q -b1100100101100010000100011001 d -b1101000 ` -b1111 h -0g -0b -b10 G -b100 4 -1' -#581 -b110110 / -#585 -1[ -1^ -b0 Y -0J -0M -b1010011 H -b10 F -b0 > -b1010011 6 -b1010011 $ -b111101101 " -b10 . -1& -b1011000110101111001110110110001 % -b1011000110101111001110110110001 : -b1011000110101111001110110110001 L -b1011000110101111001110110110001 ] -0( -0) -0+ -0, -b1 0 -0' -#590 -b0 A -b100 4 -b10 G -b1011000110101111001110110110001 d -b0 ` -1g -1b -b1011000110101111001110110110001 S -b1010011 O -0V -0Q -1' -#591 -b110111 / -#595 -0[ -0^ -b100001 Y -1J -1M -b0 H -b10 F -b1 > -b100100001 6 -b100100001 $ -b111 - -b111 < -b111 N -b111 _ -b1101000 " -b10 . -1& -b10001010001010010000000000010100 % -b10001010001010010000000000010100 : -b10001010001010010000000000010100 L -b10001010001010010000000000010100 ] -0( -0) -0+ -0, -b1 0 -0' -#600 -b1 A -b10001010001010010000000000010100 S -b0 O -b111 W -1V -1Q -b10001010001010010000000000010100 d -b100001 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#601 -b111000 / -#605 -b101010 Y -b10 F -b100101010 6 -b100101010 $ -b1 - -b1 < -b1 N -b1 _ -b111110111 " -b10 . -1& -b100011011110000001111101000110 % -b100011011110000001111101000110 : -b100011011110000001111101000110 L -b100011011110000001111101000110 ] -0( -0) -0+ -0, -b1 0 -0' -#610 -b100 4 -b10 G -b100011011110000001111101000110 d -b101010 ` -b1 h -b100011011110000001111101000110 S -b1 W -1' -#611 -b111001 / -#615 -1[ -0J -b11110100 H -b0 > -1^ -b0 Y -b10 F -b11110100 6 -1; -b110100000 $ -b111 - -b111 < -b111 N -b111 _ -b11110100 " -b10 . -0& -b11001101010001110001100110011 % -b11001101010001110001100110011 : -b11001101010001110001100110011 L -b11001101010001110001100110011 ] -0( -0) -0+ -0, -b1 0 -0' -#620 -1E -b0 A -b11001101010001110001100110011 S -b11110100 O -b111 W -0Q -b11001101010001110001100110011 d -b0 ` -b111 h -1g -1b -b10 G -1' -#621 -b111010 / -#625 -0[ -b101001 Y -1J -b0 H -b10 F -b1 > -b100101001 6 -b11011100 $ -b11 - -b11 < -b11 N -b11 _ -b100101001 " -b10 . -b111111100001011100100001111 % -b111111100001011100100001111 : -b111111100001011100100001111 L -b111111100001011100100001111 ] -0( -0) -0+ -0, -b1 0 -0' -#630 -b1 A -b10 G -b111111100001011100100001111 d -b101001 ` -b11 h -0b -b111111100001011100100001111 S -b0 O -b11 W -1Q -1' -#631 -b111011 / -#635 -b110 Y -b10 F -b100000110 6 -b11010111 $ -b1 - -b1 < -b1 N -b1 _ -b100000110 " -b10 . -b10100101001110000000000001001010 % -b10100101001110000000000001001010 : -b10100101001110000000000001001010 L -b10100101001110000000000001001010 ] -0( -0) -0+ -0, -b1 0 -0' -#640 -b10100101001110000000000001001010 S -b1 W -b10100101001110000000000001001010 d -b110 ` -b1 h -b10 G -1' -#641 -b111100 / -#645 -1[ -0J -0M -b1000001 H -b0 > -1^ -b0 Y -b10 F -b1000001 6 -0; -b1000001 $ -b100 - -b100 < -b100 N -b100 _ -b111001101 " -b10 . -1& -b111000111011101101110101110001 % -b111000111011101101110101110001 : -b111000111011101101110101110001 L -b111000111011101101110101110001 ] -0( -0) -0+ -0, -b1 0 -0' -#650 -0E -b0 A -b100 4 -b10 G -b111000111011101101110101110001 d -b0 ` -b100 h -1b -b111000111011101101110101110001 S -b1000001 O -b100 W -0V -0Q -1' -#651 -b111101 / -#655 -0[ -b1010101 Y -1J -b1 > -1M -b0 H -b10 F -b101010101 6 -1; -b100010011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101010101 " -b10 . -0& -b1111111001001110110011111111110 % -b1111111001001110110011111111110 : -b1111111001001110110011111111110 L -b1111111001001110110011111111110 ] -0( -0) -0+ -0, -b1 0 -0' -#660 -1E -b1 A -b1111111001001110110011111111110 S -b0 O -b1011 W -1V -1Q -b1111111001001110110011111111110 d -b1010101 ` -b1011 h -0b -b10 G -1' -#661 -b111110 / -#665 -b11010011 Y -b10 F -b111010011 6 -b11110100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111010011 " -b10 . -b10001100011100010010001000011000 % -b10001100011100010010001000011000 : -b10001100011100010010001000011000 L -b10001100011100010010001000011000 ] -0( -0) -0+ -0, -b1 0 -0' -#668 -b1000011011001101 e -#670 -b1000011011001101 # -b10 . -b1000011011001101 ! -b1000011011001101 C -b1000011011001101 ? -b10 G -b10001100011100010010001000011000 d -b11010011 ` -b1110 h -b10001100011100010010001000011000 S -b1110 W -1' -#671 -b111111 / -#675 -b100101 Y -b10 F -b100100101 6 -b11111001 $ -b110 - -b110 < -b110 N -b110 _ -b100100101 " -b10 . -b10100100011011000100100001001000 % -b10100100011011000100100001001000 : -b10100100011011000100100001001000 L -b10100100011011000100100001001000 ] -0( -0) -0+ -0, -b1 0 -0' -#678 -b0 e -#680 -b0 # -b10 . -b0 ! -b0 C -b10100100011011000100100001001000 S -b110 W -b10100100011011000100100001001000 d -b100101 ` -b110 h -b0 ? -b10 G -1' -#681 -b1000000 / -#685 -b1100111 Y -b10 F -b101100111 6 -b11010000 $ -b100 - -b100 < -b100 N -b100 _ -b101100111 " -b10 . -b10111000001100110001100001110000 % -b10111000001100110001100001110000 : -b10111000001100110001100001110000 L -b10111000001100110001100001110000 ] -0( -0) -0+ -0, -b1 0 -0' -#690 -b10 G -b10111000001100110001100001110000 d -b1100111 ` -b100 h -b10111000001100110001100001110000 S -b100 W -1' -#691 -b1000001 / -#695 -1[ -0J -0M -b1001110 H -b0 > -1^ -b0 Y -b10 F -b1001110 6 -0; -b1001110 $ -b110 - -b110 < -b110 N -b110 _ -b101110010 " -b10 . -1& -b1111001011110000110100111110010 % -b1111001011110000110100111110010 : -b1111001011110000110100111110010 L -b1111001011110000110100111110010 ] -0( -0) -0+ -0, -b1 0 -0' -#700 -0E -b0 A -b1111001011110000110100111110010 S -b1001110 O -b110 W -0V -0Q -b1111001011110000110100111110010 d -b0 ` -b110 h -1b -b10 G -b100 4 -1' -#701 -b1000010 / -#705 -0[ -0^ -b11101000 Y -1J -1M -b0 H -b10 F -b1 > -b111101000 6 -b111101000 $ -b100 - -b100 < -b100 N -b100 _ -b10011110 " -b10 . -1& -b1111100010100000010101111111000 % -b1111100010100000010101111111000 : -b1111100010100000010101111111000 L -b1111100010100000010101111111000 ] -0( -0) -0+ -0, -b1 0 -0' -#710 -b1 A -b100 4 -b10 G -b1111100010100000010101111111000 d -b11101000 ` -b100 h -0g -0b -b1111100010100000010101111111000 S -b0 O -b100 W -1V -1Q -1' -#711 -b1000011 / -#715 -1[ -0J -b111000 H -b0 > -1^ -b0 Y -b10 F -b111000 6 -1; -b111001011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111000 " -b10 . -0& -b1110000010011010111010111100000 % -b1110000010011010111010111100000 : -b1110000010011010111010111100000 L -b1110000010011010111010111100000 ] -0( -0) -0+ -0, -b1 0 -0' -#720 -1E -b0 A -b1110000010011010111010111100000 S -b111000 O -b1101 W -0Q -b1110000010011010111010111100000 d -b0 ` -b1101 h -1g -1b -b10 G -1' -#721 -b1000100 / -#725 -0[ -0^ -b10010100 Y -1J -b1 > -1M -b0 H -b10 F -b110010100 6 -0; -b110010100 $ -b100001 " -b10 . -1& -b10010100101010111111100100101 % -b10010100101010111111100100101 : -b10010100101010111111100100101 L -b10010100101010111111100100101 ] -0( -0) -0+ -0, -b1 0 -0' -#730 -0E -b1 A -b100 4 -b10 G -b10010100101010111111100100101 d -b10010100 ` -0g -0b -b10010100101010111111100100101 S -b0 O -1Q -1' -#731 -b1000101 / -#735 -1[ -1^ -b0 Y -0J -0M -b111011 H -b10 F -b0 > -b111011 6 -b111011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10011100 " -b10 . -1& -b1011011000110110011100010110 % -b1011011000110110011100010110 : -b1011011000110110011100010110 L -b1011011000110110011100010110 ] -0( -0) -0+ -0, -b1 0 -0' -#740 -b0 A -b1011011000110110011100010110 S -b111011 O -b1001 W -0V -0Q -b1011011000110110011100010110 d -b0 ` -b1001 h -1g -1b -b10 G -b100 4 -1' -#741 -b1000110 / -#745 -0[ -0^ -b11000010 Y -1J -1M -b0 H -b10 F -b1 > -b111000010 6 -b111000010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100101101 " -b10 . -1& -b10101110101101100100000101 % -b10101110101101100100000101 : -b10101110101101100100000101 L -b10101110101101100100000101 ] -0( -0) -0+ -0, -b1 0 -0' -#750 -b1 A -b100 4 -b10 G -b10101110101101100100000101 d -b11000010 ` -b1100 h -0g -0b -b10101110101101100100000101 S -b0 O -b1100 W -1V -1Q -1' -#751 -b1000111 / -#755 -1[ -0J -b1101000 H -b0 > -1^ -b0 Y -b10 F -b1101000 6 -1; -b11101000 $ -b1101000 " -b10 . -0& -b11001011101110011110001010010111 % -b11001011101110011110001010010111 : -b11001011101110011110001010010111 L -b11001011101110011110001010010111 ] -0( -0) -0+ -0, -b1 0 -0' -#760 -1E -b0 A -b11001011101110011110001010010111 S -b1101000 O -0Q -b11001011101110011110001010010111 d -b0 ` -1g -1b -b10 G -1' -#761 -b1001000 / -#765 -b10000011 H -b10 F -b10000011 6 -b100110111 $ -b10 - -b10 < -b10 N -b10 _ -b10000011 " -b10 . -b11000011011110100111100010000110 % -b11000011011110100111100010000110 : -b11000011011110100111100010000110 L -b11000011011110100111100010000110 ] -0( -0) -0+ -0, -b1 0 -0' -#770 -b10 G -b11000011011110100111100010000110 d -b10 h -b11000011011110100111100010000110 S -b10000011 O -b10 W -1' -#771 -b1001001 / -#775 -0[ -b1110010 Y -1J -b0 H -b10 F -b1 > -b101110010 6 -b100110100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101110010 " -b10 . -b11111001001011001001101011110010 % -b11111001001011001001101011110010 : -b11111001001011001001101011110010 L -b11111001001011001001101011110010 ] -0( -0) -0+ -0, -b1 0 -0' -#780 -b1 A -b11111001001011001001101011110010 S -b0 O -b1011 W -1Q -b11111001001011001001101011110010 d -b1110010 ` -b1011 h -0b -b10 G -1' -#781 -b1001010 / -#785 -0^ -b10001000 Y -b10 F -b110001000 6 -0; -b110001000 $ -b10 - -b10 < -b10 N -b10 _ -b10000010 " -b10 . -1& -b11000110001111111111101010001100 % -b11000110001111111111101010001100 : -b11000110001111111111101010001100 L -b11000110001111111111101010001100 ] -0( -0) -0+ -0, -b1 0 -0' -#790 -0E -b100 4 -b10 G -b11000110001111111111101010001100 d -b10001000 ` -b10 h -0g -b11000110001111111111101010001100 S -b10 W -1' -#791 -b1001011 / -#795 -1^ -b10000001 Y -b10 F -b110000001 6 -1; -b110001111 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110000001 " -b10 . -0& -b10001010111000101010110000010101 % -b10001010111000101010110000010101 : -b10001010111000101010110000010101 L -b10001010111000101010110000010101 ] -0( -0) -0+ -0, -b1 0 -0' -#800 -1E -b10001010111000101010110000010101 S -b1110 W -b10001010111000101010110000010101 d -b10000001 ` -b1110 h -1g -b10 G -1' -#801 -b1001100 / -#805 -b11110101 Y -b10 F -b111110101 6 -b110110 $ -b1 - -b1 < -b1 N -b1 _ -b111110101 " -b10 . -b10011110111001100011011000111101 % -b10011110111001100011011000111101 : -b10011110111001100011011000111101 L -b10011110111001100011011000111101 ] -0( -0) -0+ -0, -b1 0 -0' -#810 -b10 G -b10011110111001100011011000111101 d -b11110101 ` -b1 h -b10011110111001100011011000111101 S -b1 W -1' -#811 -b1001101 / -#815 -0^ -b111011 Y -b10 F -b100111011 6 -0; -b100111011 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10010011 " -b10 . -1& -b11110010011100010000001011100100 % -b11110010011100010000001011100100 : -b11110010011100010000001011100100 L -b11110010011100010000001011100100 ] -0( -0) -0+ -0, -b1 0 -0' -#820 -0E -b11110010011100010000001011100100 S -b1111 W -b11110010011100010000001011100100 d -b111011 ` -b1111 h -0g -b10 G -b100 4 -1' -#821 -b1001110 / -#825 -1^ -b1010001 Y -b10 F -b101010001 6 -1; -b101110010 $ -b11 - -b11 < -b11 N -b11 _ -b101010001 " -b10 . -0& -b1011010101111000001110110110101 % -b1011010101111000001110110110101 : -b1011010101111000001110110110101 L -b1011010101111000001110110110101 ] -0( -0) -0+ -0, -b1 0 -0' -#830 -1E -b10 G -b1011010101111000001110110110101 d -b1010001 ` -b11 h -1g -b1011010101111000001110110110101 S -b11 W -1' -#831 -b1001111 / -#835 -1[ -0J -0M -b10101100 H -b0 > -1^ -b0 Y -b10 F -b10101100 6 -0; -b10101100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100110001 " -b10 . -1& -b11011111000001111011000010111110 % -b11011111000001111011000010111110 : -b11011111000001111011000010111110 L -b11011111000001111011000010111110 ] -0( -0) -0+ -0, -b1 0 -0' -#840 -0E -b0 A -b11011111000001111011000010111110 S -b10101100 O -b1100 W -0V -0Q -b11011111000001111011000010111110 d -b0 ` -b1100 h -1b -b10 G -b100 4 -1' -#841 -b1010000 / -#845 -b1110110 H -b10 F -b1110110 6 -b1110110 $ -b101 - -b101 < -b101 N -b101 _ -b100000000 " -b10 . -1& -b10111001110010001010000001110011 % -b10111001110010001010000001110011 : -b10111001110010001010000001110011 L -b10111001110010001010000001110011 ] -0( -0) -0+ -0, -b1 0 -0' -#850 -b100 4 -b10 G -b10111001110010001010000001110011 d -b101 h -b10111001110010001010000001110011 S -b1110110 O -b101 W -1' -#851 -b1010001 / -#855 -1M -b1101101 H -b10 F -b1101101 6 -1; -b1110010 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1101101 " -b10 . -0& -b1100110110000100101100111001101 % -b1100110110000100101100111001101 : -b1100110110000100101100111001101 L -b1100110110000100101100111001101 ] -0( -0) -0+ -0, -b1 0 -0' -#860 -1E -b1100110110000100101100111001101 S -b1101101 O -b1000 W -1V -b1100110110000100101100111001101 d -b1000 h -b10 G -1' -#861 -b1010010 / -#865 -0M -b11010111 H -b10 F -b11010111 6 -0; -b11010111 $ -b0 - -b0 < -b0 N -b0 _ -b11001110 " -b10 . -1& -b1001011000001011000101110010110 % -b1001011000001011000101110010110 : -b1001011000001011000101110010110 L -b1001011000001011000101110010110 ] -0( -0) -0+ -0, -b1 0 -0' -#870 -0E -b100 4 -b10 G -b1001011000001011000101110010110 d -b0 h -b1001011000001011000101110010110 S -b11010111 O -b0 W -0V -1' -#871 -b1010011 / -#875 -1M -b101100 H -b10 F -b101100 6 -1; -b10000111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b101100 " -b10 . -0& -b10010111100111000100100100101 % -b10010111100111000100100100101 : -b10010111100111000100100100101 L -b10010111100111000100100100101 ] -0( -0) -0+ -0, -b1 0 -0' -#880 -1E -b10010111100111000100100100101 S -b101100 O -b1001 W -1V -b10010111100111000100100100101 d -b1001 h -b10 G -1' -#881 -b1010100 / -#885 -b111101 H -b10 F -b111101 6 -b111110011 $ -b100 - -b100 < -b100 N -b100 _ -b111101 " -b10 . -b1011000000010010110010110110000 % -b1011000000010010110010110110000 : -b1011000000010010110010110110000 L -b1011000000010010110010110110000 ] -0( -0) -0+ -0, -b1 0 -0' -#890 -b10 G -b1011000000010010110010110110000 d -b100 h -b1011000000010010110010110110000 S -b111101 O -b100 W -1' -#891 -b1010101 / -#895 -b10011010 H -b10 F -b10011010 6 -b1101100 $ -b101 - -b101 < -b101 N -b101 _ -b10011010 " -b10 . -b1000001000000110001100110000010 % -b1000001000000110001100110000010 : -b1000001000000110001100110000010 L -b1000001000000110001100110000010 ] -0( -0) -0+ -0, -b1 0 -0' -#900 -b1000001000000110001100110000010 S -b10011010 O -b101 W -b1000001000000110001100110000010 d -b101 h -b10 G -1' -#901 -b1010110 / -#905 -0[ -b11011001 Y -1J -b0 H -b10 F -b1 > -b111011001 6 -b11111100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111011001 " -b10 . -b10000110010110000101000000001100 % -b10000110010110000101000000001100 : -b10000110010110000101000000001100 L -b10000110010110000101000000001100 ] -0( -0) -0+ -0, -b1 0 -0' -#910 -b1 A -b10 G -b10000110010110000101000000001100 d -b11011001 ` -b1110 h -0b -b10000110010110000101000000001100 S -b0 O -b1110 W -1Q -1' -#911 -b1010111 / -#915 -b1001111 Y -b10 F -b101001111 6 -b101011100 $ -b100 - -b100 < -b100 N -b100 _ -b101001111 " -b10 . -b11010100001101111001000010101000 % -b11010100001101111001000010101000 : -b11010100001101111001000010101000 L -b11010100001101111001000010101000 ] -0( -0) -0+ -0, -b1 0 -0' -#920 -b11010100001101111001000010101000 S -b100 W -b11010100001101111001000010101000 d -b1001111 ` -b100 h -b10 G -1' -#921 -b1011000 / -#925 -b10111101 Y -b10 F -b110111101 6 -b110001000 $ -b111 - -b111 < -b111 N -b111 _ -b110111101 " -b10 . -b1100010100111110111100011000 % -b1100010100111110111100011000 : -b1100010100111110111100011000 L -b1100010100111110111100011000 ] -0( -0) -0+ -0, -b1 0 -0' -#930 -b10 G -b1100010100111110111100011000 d -b10111101 ` -b111 h -b1100010100111110111100011000 S -b111 W -1' -#931 -b1011001 / -#935 -1[ -b0 Y -0J -b10010110 H -b10 F -b0 > -b10010110 6 -b1101011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10010110 " -b10 . -b10000101100000101000000000001011 % -b10000101100000101000000000001011 : -b10000101100000101000000000001011 L -b10000101100000101000000000001011 ] -0( -0) -0+ -0, -b1 0 -0' -#940 -b0 A -b10000101100000101000000000001011 S -b10010110 O -b1011 W -0Q -b10000101100000101000000000001011 d -b0 ` -b1011 h -1b -b10 G -1' -#941 -b1011010 / -#945 -0[ -0^ -b10001111 Y -1J -b1 > -1M -b0 H -b10 F -b110001111 6 -0; -b110001111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1010 " -b10 . -1& -b10111101100000100011101001111011 % -b10111101100000100011101001111011 : -b10111101100000100011101001111011 L -b10111101100000100011101001111011 ] -0( -0) -0+ -0, -b1 0 -0' -#950 -0E -b1 A -b100 4 -b10 G -b10111101100000100011101001111011 d -b10001111 ` -b1001 h -0g -0b -b10111101100000100011101001111011 S -b0 O -b1001 W -1Q -1' -#951 -b1011011 / -#955 -1^ -b1011101 Y -b10 F -b101011101 6 -1; -b111000101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101011101 " -b10 . -0& -b11100101001001111110011011001010 % -b11100101001001111110011011001010 : -b11100101001001111110011011001010 L -b11100101001001111110011011001010 ] -0( -0) -0+ -0, -b1 0 -0' -#960 -1E -b11100101001001111110011011001010 S -b1111 W -b11100101001001111110011011001010 d -b1011101 ` -b1111 h -1g -b10 G -1' -#961 -b1011100 / -#965 -1[ -b0 Y -0J -b11010 H -b10 F -b0 > -b11010 6 -b111101 $ -b110 - -b110 < -b110 N -b110 _ -b11010 " -b10 . -b11110101101000110110101011101011 % -b11110101101000110110101011101011 : -b11110101101000110110101011101011 L -b11110101101000110110101011101011 ] -0( -0) -0+ -0, -b1 0 -0' -#970 -b0 A -b10 G -b11110101101000110110101011101011 d -b0 ` -b110 h -1b -b11110101101000110110101011101011 S -b11010 O -b110 W -0Q -1' -#971 -b1011101 / -#975 -0M -b101001 H -b10 F -b101001 6 -0; -b101001 $ -b0 - -b0 < -b0 N -b0 _ -b100100110 " -b10 . -1& -b10001110110110001000101000011101 % -b10001110110110001000101000011101 : -b10001110110110001000101000011101 L -b10001110110110001000101000011101 ] -0( -0) -0+ -0, -b1 0 -0' -#980 -0E -b10001110110110001000101000011101 S -b101001 O -b0 W -0V -b10001110110110001000101000011101 d -b0 h -b10 G -b100 4 -1' -#981 -b1011110 / -#985 -b11110010 H -b10 F -b11110010 6 -b11110010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110010010 " -b10 . -1& -b11111011110011101101001011110111 % -b11111011110011101101001011110111 : -b11111011110011101101001011110111 L -b11111011110011101101001011110111 ] -0( -0) -0+ -0, -b1 0 -0' -#990 -b100 4 -b10 G -b11111011110011101101001011110111 d -b1100 h -b11111011110011101101001011110111 S -b11110010 O -b1100 W -1' -#991 -b1011111 / -#995 -0[ -0^ -b1000101 Y -1J -1M -b0 H -b10 F -b1 > -b101000101 6 -b101000101 $ -b111 - -b111 < -b111 N -b111 _ -b101101101 " -b10 . -1& -b11010011100101110110010010100111 % -b11010011100101110110010010100111 : -b11010011100101110110010010100111 L -b11010011100101110110010010100111 ] -0( -0) -0+ -0, -b1 0 -0' -#1000 -b1 A -b11010011100101110110010010100111 S -b0 O -b111 W -1V -1Q -b11010011100101110110010010100111 d -b1000101 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#1001 -b1100000 / -#1005 -1^ -b11100110 Y -b10 F -b111100110 6 -1; -b100100010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111100110 " -b10 . -0& -b11000110100011101100010010001101 % -b11000110100011101100010010001101 : -b11000110100011101100010010001101 L -b11000110100011101100010010001101 ] -0( -0) -0+ -0, -b1 0 -0' -#1010 -1E -b10 G -b11000110100011101100010010001101 d -b11100110 ` -b1010 h -1g -b11000110100011101100010010001101 S -b1010 W -1' -#1011 -b1100001 / -#1015 -1[ -0J -0M -b111011 H -b0 > -1^ -b0 Y -b10 F -b111011 6 -0; -b111011 $ -b110 - -b110 < -b110 N -b110 _ -b101001100 " -b10 . -1& -b1100101100000011111001111001011 % -b1100101100000011111001111001011 : -b1100101100000011111001111001011 L -b1100101100000011111001111001011 ] -0( -0) -0+ -0, -b1 0 -0' -#1020 -0E -b0 A -b1100101100000011111001111001011 S -b111011 O -b110 W -0V -0Q -b1100101100000011111001111001011 d -b0 ` -b110 h -1b -b10 G -b100 4 -1' -#1021 -b1100010 / -#1025 -1M -b1101100 H -b10 F -b1101100 6 -1; -b11000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1101100 " -b10 . -0& -b10000111101100110110100000001111 % -b10000111101100110110100000001111 : -b10000111101100110110100000001111 L -b10000111101100110110100000001111 ] -0( -0) -0+ -0, -b1 0 -0' -#1030 -1E -b10 G -b10000111101100110110100000001111 d -b1111 h -b10000111101100110110100000001111 S -b1101100 O -b1111 W -1V -1' -#1031 -b1100011 / -#1035 -0M -b11010000 H -b10 F -b11010000 6 -0; -b11010000 $ -b1 - -b1 < -b1 N -b1 _ -b110010111 " -b10 . -1& -b10000010100111010011100100000 % -b10000010100111010011100100000 : -b10000010100111010011100100000 L -b10000010100111010011100100000 ] -0( -0) -0+ -0, -b1 0 -0' -#1040 -0E -b10000010100111010011100100000 S -b11010000 O -b1 W -0V -b10000010100111010011100100000 d -b1 h -b10 G -b100 4 -1' -#1041 -b1100100 / -#1045 -0[ -0^ -b100101 Y -1J -1M -b0 H -b10 F -b1 > -b100100101 6 -b100100101 $ -b11 - -b11 < -b11 N -b11 _ -b110110100 " -b10 . -1& -b10010101001010011100000100 % -b10010101001010011100000100 : -b10010101001010011100000100 L -b10010101001010011100000100 ] -0( -0) -0+ -0, -b1 0 -0' -#1050 -b1 A -b100 4 -b10 G -b10010101001010011100000100 d -b100101 ` -b11 h -0g -0b -b10010101001010011100000100 S -b0 O -b11 W -1V -1Q -1' -#1051 -b1100101 / -#1055 -1[ -1^ -b0 Y -0J -0M -b10110011 H -b10 F -b0 > -b10110011 6 -b10110011 $ -b100011111 " -b10 . -1& -b1101110001111000011011111011100 % -b1101110001111000011011111011100 : -b1101110001111000011011111011100 L -b1101110001111000011011111011100 ] -0( -0) -0+ -0, -b1 0 -0' -#1060 -b0 A -b1101110001111000011011111011100 S -b10110011 O -0V -0Q -b1101110001111000011011111011100 d -b0 ` -1g -1b -b10 G -b100 4 -1' -#1061 -b1100110 / -#1065 -1M -b11001110 H -b10 F -b11001110 6 -1; -b100110101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11001110 " -b10 . -0& -b11010111001110110000010010101110 % -b11010111001110110000010010101110 : -b11010111001110110000010010101110 L -b11010111001110110000010010101110 ] -0( -0) -0+ -0, -b1 0 -0' -#1070 -1E -b10 G -b11010111001110110000010010101110 d -b1111 h -b11010111001110110000010010101110 S -b11001110 O -b1111 W -1V -1' -#1071 -b1100111 / -#1075 -0[ -b1101 Y -1J -b0 H -b10 F -b1 > -b100001101 6 -b10100100 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100001101 " -b10 . -b10000011011000010000101000000110 % -b10000011011000010000101000000110 : -b10000011011000010000101000000110 L -b10000011011000010000101000000110 ] -0( -0) -0+ -0, -b1 0 -0' -#1080 -b1 A -b10000011011000010000101000000110 S -b0 O -b1010 W -1Q -b10000011011000010000101000000110 d -b1101 ` -b1010 h -0b -b10 G -1' -#1081 -b1101000 / -#1085 -0^ -b11011100 Y -b10 F -b111011100 6 -0; -b111011100 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1111010 " -b10 . -1& -b10011011101001111000000000110111 % -b10011011101001111000000000110111 : -b10011011101001111000000000110111 L -b10011011101001111000000000110111 ] -0( -0) -0+ -0, -b1 0 -0' -#1090 -0E -b100 4 -b10 G -b10011011101001111000000000110111 d -b11011100 ` -b1101 h -0g -b10011011101001111000000000110111 S -b1101 W -1' -#1091 -b1101001 / -#1095 -1[ -0J -b1011110 H -b0 > -1^ -b0 Y -b10 F -b1011110 6 -1; -b111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b1011110 " -b10 . -0& -b1101011001000011001000111010110 % -b1101011001000011001000111010110 : -b1101011001000011001000111010110 L -b1101011001000011001000111010110 ] -0( -0) -0+ -0, -b1 0 -0' -#1100 -1E -b0 A -b1101011001000011001000111010110 S -b1011110 O -b1010 W -0Q -b1101011001000011001000111010110 d -b0 ` -b1010 h -1g -1b -b10 G -1' -#1101 -b1101010 / -#1105 -b1011011 H -b10 F -b1011011 6 -b111100101 $ -b110 - -b110 < -b110 N -b110 _ -b1011011 " -b10 . -b100100001100100111010101001000 % -b100100001100100111010101001000 : -b100100001100100111010101001000 L -b100100001100100111010101001000 ] -0( -0) -0+ -0, -b1 0 -0' -#1110 -b10 G -b100100001100100111010101001000 d -b110 h -b100100001100100111010101001000 S -b1011011 O -b110 W -1' -#1111 -b1101011 / -#1115 -b11101 H -b10 F -b11101 6 -b1010001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11101 " -b10 . -b1111000111101101010101111110001 % -b1111000111101101010101111110001 : -b1111000111101101010101111110001 L -b1111000111101101010101111110001 ] -0( -0) -0+ -0, -b1 0 -0' -#1120 -b1111000111101101010101111110001 S -b11101 O -b1011 W -b1111000111101101010101111110001 d -b1011 h -b10 G -1' -#1121 -b1101100 / -#1125 -0[ -0^ -b10111111 Y -1J -b1 > -1M -b0 H -b10 F -b110111111 6 -0; -b110111111 $ -b100 - -b100 < -b100 N -b100 _ -b101101111 " -b10 . -1& -b11100001001110010111101011000010 % -b11100001001110010111101011000010 : -b11100001001110010111101011000010 L -b11100001001110010111101011000010 ] -0( -0) -0+ -0, -b1 0 -0' -#1130 -0E -b1 A -b100 4 -b10 G -b11100001001110010111101011000010 d -b10111111 ` -b100 h -0g -0b -b11100001001110010111101011000010 S -b0 O -b100 W -1Q -1' -#1131 -b1101101 / -#1135 -1[ -0J -b11000 H -b0 > -1^ -b0 Y -b10 F -b11000 6 -1; -b111110000 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11000 " -b10 . -0& -b10001011100001001111111000010111 % -b10001011100001001111111000010111 : -b10001011100001001111111000010111 L -b10001011100001001111111000010111 ] -0( -0) -0+ -0, -b1 0 -0' -#1140 -1E -b0 A -b10001011100001001111111000010111 S -b11000 O -b1011 W -0Q -b10001011100001001111111000010111 d -b0 ` -b1011 h -1g -1b -b10 G -1' -#1141 -b1101110 / -#1145 -0[ -b1101 Y -1J -b0 H -b10 F -b1 > -b100001101 6 -b100010001 $ -b100001101 " -b10 . -b11101100000101000100011011011000 % -b11101100000101000100011011011000 : -b11101100000101000100011011011000 L -b11101100000101000100011011011000 ] -0( -0) -0+ -0, -b1 0 -0' -#1150 -b1 A -b10 G -b11101100000101000100011011011000 d -b1101 ` -0b -b11101100000101000100011011011000 S -b0 O -1Q -1' -#1151 -b1101111 / -#1155 -1[ -b0 Y -0J -b1010100 H -b10 F -b0 > -b1010100 6 -b101000010 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1010100 " -b10 . -b10000011001110100110001000000110 % -b10000011001110100110001000000110 : -b10000011001110100110001000000110 L -b10000011001110100110001000000110 ] -0( -0) -0+ -0, -b1 0 -0' -#1160 -b0 A -b10000011001110100110001000000110 S -b1010100 O -b1101 W -0Q -b10000011001110100110001000000110 d -b0 ` -b1101 h -1b -b10 G -1' -#1161 -b1110000 / -#1165 -b110111 H -b10 F -b110111 6 -b111000101 $ -b110111 " -b10 . -b1100100000010001000010111001000 % -b1100100000010001000010111001000 : -b1100100000010001000010111001000 L -b1100100000010001000010111001000 ] -0( -0) -0+ -0, -b1 0 -0' -#1170 -b10 G -b1100100000010001000010111001000 d -b1100100000010001000010111001000 S -b110111 O -1' -#1171 -b1110001 / -#1175 -0[ -0^ -b110010 Y -1J -b1 > -1M -b0 H -b10 F -b100110010 6 -0; -b100110010 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111011 " -b10 . -1& -b110100011100011101100001101 % -b110100011100011101100001101 : -b110100011100011101100001101 L -b110100011100011101100001101 ] -0( -0) -0+ -0, -b1 0 -0' -#1180 -0E -b1 A -b110100011100011101100001101 S -b0 O -b1001 W -1Q -b110100011100011101100001101 d -b110010 ` -b1001 h -0g -0b -b10 G -b100 4 -1' -#1181 -b1110010 / -#1185 -1[ -1^ -b0 Y -0J -0M -b1000100 H -b10 F -b0 > -b1000100 6 -b1000100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1001000 " -b10 . -1& -b1100111101101001100000111001111 % -b1100111101101001100000111001111 : -b1100111101101001100000111001111 L -b1100111101101001100000111001111 ] -0( -0) -0+ -0, -b1 0 -0' -#1190 -b0 A -b100 4 -b10 G -b1100111101101001100000111001111 d -b0 ` -b1100 h -1g -1b -b1100111101101001100000111001111 S -b1000100 O -b1100 W -0V -0Q -1' -#1191 -b1110011 / -#1195 -0[ -0^ -b10100000 Y -1J -1M -b0 H -b10 F -b1 > -b110100000 6 -b110100000 $ -b110 - -b110 < -b110 N -b110 _ -b110111 " -b10 . -1& -b10101100101111001101000001011001 % -b10101100101111001101000001011001 : -b10101100101111001101000001011001 L -b10101100101111001101000001011001 ] -0( -0) -0+ -0, -b1 0 -0' -#1200 -b1 A -b10101100101111001101000001011001 S -b0 O -b110 W -1V -1Q -b10101100101111001101000001011001 d -b10100000 ` -b110 h -0g -0b -b10 G -b100 4 -1' -#1201 -b1110100 / -#1205 -b11011111 Y -b10 F -b111011111 6 -b111011111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110000011 " -b10 . -1& -b1000011011010100100011110000110 % -b1000011011010100100011110000110 : -b1000011011010100100011110000110 L -b1000011011010100100011110000110 ] -0( -0) -0+ -0, -b1 0 -0' -#1210 -b100 4 -b10 G -b1000011011010100100011110000110 d -b11011111 ` -b1100 h -b1000011011010100100011110000110 S -b1100 W -1' -#1211 -b1110101 / -#1215 -1^ -b1101100 Y -b10 F -b101101100 6 -1; -b100010011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101101100 " -b10 . -0& -b1111100100101011100000111111001 % -b1111100100101011100000111111001 : -b1111100100101011100000111111001 L -b1111100100101011100000111111001 ] -0( -0) -0+ -0, -b1 0 -0' -#1220 -1E -b1111100100101011100000111111001 S -b1010 W -b1111100100101011100000111111001 d -b1101100 ` -b1010 h -1g -b10 G -1' -#1221 -b1110110 / -#1225 -0^ -b10101110 Y -b10 F -b110101110 6 -0; -b110101110 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10010 " -b10 . -1& -b11000110101011011111010010001101 % -b11000110101011011111010010001101 : -b11000110101011011111010010001101 L -b11000110101011011111010010001101 ] -0( -0) -0+ -0, -b1 0 -0' -#1230 -0E -b100 4 -b10 G -b11000110101011011111010010001101 d -b10101110 ` -b1000 h -0g -b11000110101011011111010010001101 S -b1000 W -1' -#1231 -b1110111 / -#1235 -1^ -b11000100 Y -b10 F -b111000100 6 -1; -b11101101 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111000100 " -b10 . -0& -b10111101101010100111100101111 % -b10111101101010100111100101111 : -b10111101101010100111100101111 L -b10111101101010100111100101111 ] -0( -0) -0+ -0, -b1 0 -0' -#1240 -1E -b10111101101010100111100101111 S -b1010 W -b10111101101010100111100101111 d -b11000100 ` -b1010 h -1g -b10 G -1' -#1241 -b1111000 / -#1245 -0^ -b1001100 Y -b10 F -b101001100 6 -0; -b101001100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111011111 " -b10 . -1& -b1010110110000010111100010101 % -b1010110110000010111100010101 : -b1010110110000010111100010101 L -b1010110110000010111100010101 ] -0( -0) -0+ -0, -b1 0 -0' -#1250 -0E -b100 4 -b10 G -b1010110110000010111100010101 d -b1001100 ` -b1111 h -0g -b1010110110000010111100010101 S -b1111 W -1' -#1251 -b1111001 / -#1255 -1[ -1^ -b0 Y -0J -0M -b1101110 H -b10 F -b0 > -b1101110 6 -b1101110 $ -b101 - -b101 < -b101 N -b101 _ -b11111001 " -b10 . -1& -b11011010000001100111100110110 % -b11011010000001100111100110110 : -b11011010000001100111100110110 L -b11011010000001100111100110110 ] -0( -0) -0+ -0, -b1 0 -0' -#1260 -b0 A -b11011010000001100111100110110 S -b1101110 O -b101 W -0V -0Q -b11011010000001100111100110110 d -b0 ` -b101 h -1g -1b -b10 G -b100 4 -1' -#1261 -b1111010 / -#1265 -0[ -b11110001 Y -1J -b1 > -1M -b0 H -b10 F -b111110001 6 -1; -b110000000 $ -b1 - -b1 < -b1 N -b1 _ -b111110001 " -b10 . -0& -b10111010100010111010110001110101 % -b10111010100010111010110001110101 : -b10111010100010111010110001110101 L -b10111010100010111010110001110101 ] -0( -0) -0+ -0, -b1 0 -0' -#1270 -1E -b1 A -b10 G -b10111010100010111010110001110101 d -b11110001 ` -b1 h -0b -b10111010100010111010110001110101 S -b0 O -b1 W -1V -1Q -1' -#1271 -b1111011 / -#1275 -1[ -b0 Y -0J -b1010000 H -b10 F -b0 > -b1010000 6 -b100101010 $ -b101 - -b101 < -b101 N -b101 _ -b1010000 " -b10 . -b11100101111111011111101011001011 % -b11100101111111011111101011001011 : -b11100101111111011111101011001011 L -b11100101111111011111101011001011 ] -0( -0) -0+ -0, -b1 0 -0' -#1280 -b0 A -b11100101111111011111101011001011 S -b1010000 O -b101 W -0Q -b11100101111111011111101011001011 d -b0 ` -b101 h -1b -b10 G -1' -#1281 -b1111100 / -#1285 -0[ -b11110011 Y -1J -b0 H -b10 F -b1 > -b111110011 6 -b100110111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111110011 " -b10 . -b1101011110110110100100011010 % -b1101011110110110100100011010 : -b1101011110110110100100011010 L -b1101011110110110100100011010 ] -0( -0) -0+ -0, -b1 0 -0' -#1290 -b1 A -b10 G -b1101011110110110100100011010 d -b11110011 ` -b1101 h -0b -b1101011110110110100100011010 S -b0 O -b1101 W -1Q -1' -#1291 -b1111101 / -#1295 -1[ -0J -0M -b11100 H -b0 > -1^ -b0 Y -b10 F -b11100 6 -0; -b11100 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b111001 " -b10 . -1& -b1000000010111010101111110000000 % -b1000000010111010101111110000000 : -b1000000010111010101111110000000 L -b1000000010111010101111110000000 ] -0( -0) -0+ -0, -b1 0 -0' -#1300 -0E -b0 A -b1000000010111010101111110000000 S -b11100 O -b1000 W -0V -0Q -b1000000010111010101111110000000 d -b0 ` -b1000 h -1b -b10 G -b100 4 -1' -#1301 -b1111110 / -#1305 -1M -b1010000 H -b10 F -b1010000 6 -1; -b11101011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b1010000 " -b10 . -0& -b10011101101101110111010000111011 % -b10011101101101110111010000111011 : -b10011101101101110111010000111011 L -b10011101101101110111010000111011 ] -0( -0) -0+ -0, -b1 0 -0' -#1310 -1E -b10 G -b10011101101101110111010000111011 d -b1010 h -b10011101101101110111010000111011 S -b1010000 O -b1010 W -1V -1' -#1311 -b1111111 / -#1315 -0M -b11011000 H -b10 F -b11011000 6 -0; -b11011000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111001000 " -b10 . -1& -b101110011111010111100001011 % -b101110011111010111100001011 : -b101110011111010111100001011 L -b101110011111010111100001011 ] -0( -0) -0+ -0, -b1 0 -0' -#1320 -0E -b101110011111010111100001011 S -b11011000 O -b1101 W -0V -b101110011111010111100001011 d -b1101 h -b10 G -b100 4 -1' -#1321 -b10000000 / -#1325 -0[ -0^ -b10010111 Y -1J -1M -b0 H -b10 F -b1 > -b110010111 6 -b110010111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11011100 " -b10 . -1& -b11101011011110001110000011010110 % -b11101011011110001110000011010110 : -b11101011011110001110000011010110 L -b11101011011110001110000011010110 ] -0( -0) -0+ -0, -b1 0 -0' -#1330 -b1 A -b100 4 -b10 G -b11101011011110001110000011010110 d -b10010111 ` -b1010 h -0g -0b -b11101011011110001110000011010110 S -b0 O -b1010 W -1V -1Q -1' -#1331 -b10000001 / -#1335 -1[ -0J -b1000011 H -b0 > -1^ -b0 Y -b10 F -b1000011 6 -1; -b110110010 $ -b101 - -b101 < -b101 N -b101 _ -b1000011 " -b10 . -0& -b10111011111100010110100101110 % -b10111011111100010110100101110 : -b10111011111100010110100101110 L -b10111011111100010110100101110 ] -0( -0) -0+ -0, -b1 0 -0' -#1340 -1E -b0 A -b10111011111100010110100101110 S -b1000011 O -b101 W -0Q -b10111011111100010110100101110 d -b0 ` -b101 h -1g -1b -b10 G -1' -#1341 -b10000010 / -#1345 -0[ -b1 Y -1J -b0 H -b10 F -b1 > -b100000001 6 -b1101010 $ -b100 - -b100 < -b100 N -b100 _ -b100000001 " -b10 . -b1000010001001001001011110000100 % -b1000010001001001001011110000100 : -b1000010001001001001011110000100 L -b1000010001001001001011110000100 ] -0( -0) -0+ -0, -b1 0 -0' -#1350 -b1 A -b10 G -b1000010001001001001011110000100 d -b1 ` -b100 h -0b -b1000010001001001001011110000100 S -b0 O -b100 W -1Q -1' -#1351 -b10000011 / -#1355 -0^ -b11000001 Y -b10 F -b111000001 6 -0; -b111000001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100000010 " -b10 . -1& -b111111001111100000011101111110 % -b111111001111100000011101111110 : -b111111001111100000011101111110 L -b111111001111100000011101111110 ] -0( -0) -0+ -0, -b1 0 -0' -#1360 -0E -b111111001111100000011101111110 S -b1100 W -b111111001111100000011101111110 d -b11000001 ` -b1100 h -0g -b10 G -b100 4 -1' -#1361 -b10000100 / -#1365 -b11011000 Y -b10 F -b111011000 6 -b111011000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11100100 " -b10 . -1& -b10101100111111010100000001011001 % -b10101100111111010100000001011001 : -b10101100111111010100000001011001 L -b10101100111111010100000001011001 ] -0( -0) -0+ -0, -b1 0 -0' -#1370 -b100 4 -b10 G -b10101100111111010100000001011001 d -b11011000 ` -b1110 h -b10101100111111010100000001011001 S -b1110 W -1' -#1371 -b10000101 / -#1375 -1[ -0J -b111010 H -b0 > -1^ -b0 Y -b10 F -b111010 6 -1; -b100111100 $ -b1 - -b1 < -b1 N -b1 _ -b111010 " -b10 . -0& -b1101110010101101011011111011100 % -b1101110010101101011011111011100 : -b1101110010101101011011111011100 L -b1101110010101101011011111011100 ] -0( -0) -0+ -0, -b1 0 -0' -#1380 -1E -b0 A -b1101110010101101011011111011100 S -b111010 O -b1 W -0Q -b1101110010101101011011111011100 d -b0 ` -b1 h -1g -1b -b10 G -1' -#1381 -b10000110 / -#1385 -b10110111 H -b10 F -b10110111 6 -b10010101 $ -b11 - -b11 < -b11 N -b11 _ -b10110111 " -b10 . -b110011101111000010000101100111 % -b110011101111000010000101100111 : -b110011101111000010000101100111 L -b110011101111000010000101100111 ] -0( -0) -0+ -0, -b1 0 -0' -#1390 -b10 G -b110011101111000010000101100111 d -b11 h -b110011101111000010000101100111 S -b10110111 O -b11 W -1' -#1391 -b10000111 / -#1395 -b101100 H -b10 F -b101100 6 -b111001110 $ -b110 - -b110 < -b110 N -b110 _ -b101100 " -b10 . -b10011110011100110110000000111100 % -b10011110011100110110000000111100 : -b10011110011100110110000000111100 L -b10011110011100110110000000111100 ] -0( -0) -0+ -0, -b1 0 -0' -#1400 -b10011110011100110110000000111100 S -b101100 O -b110 W -b10011110011100110110000000111100 d -b110 h -b10 G -1' -#1401 -b10001000 / -#1405 -0M -b101010 H -b10 F -b101010 6 -0; -b101010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1001011 " -b10 . -1& -b10011111000010001111100000111110 % -b10011111000010001111100000111110 : -b10011111000010001111100000111110 L -b10011111000010001111100000111110 ] -0( -0) -0+ -0, -b1 0 -0' -#1410 -0E -b100 4 -b10 G -b10011111000010001111100000111110 d -b1111 h -b10011111000010001111100000111110 S -b101010 O -b1111 W -0V -1' -#1411 -b10001001 / -#1415 -b1001 H -b10 F -b1001 6 -b1001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100011 " -b10 . -1& -b10111011110101110011011001110111 % -b10111011110101110011011001110111 : -b10111011110101110011011001110111 L -b10111011110101110011011001110111 ] -0( -0) -0+ -0, -b1 0 -0' -#1420 -b10111011110101110011011001110111 S -b1001 O -b1100 W -b10111011110101110011011001110111 d -b1100 h -b10 G -b100 4 -1' -#1421 -b10001010 / -#1425 -0[ -b1010 Y -1J -b1 > -1M -b0 H -b10 F -b100001010 6 -1; -b111110 $ -b0 - -b0 < -b0 N -b0 _ -b100001010 " -b10 . -0& -b11111010100010001110000011110101 % -b11111010100010001110000011110101 : -b11111010100010001110000011110101 L -b11111010100010001110000011110101 ] -0( -0) -0+ -0, -b1 0 -0' -#1430 -1E -b1 A -b10 G -b11111010100010001110000011110101 d -b1010 ` -b0 h -0b -b11111010100010001110000011110101 S -b0 O -b0 W -1V -1Q -1' -#1431 -b10001011 / -#1435 -1[ -0J -0M -b11000101 H -b0 > -1^ -b0 Y -b10 F -b11000101 6 -0; -b11000101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111110001 " -b10 . -1& -b10110101011001101011100101101 % -b10110101011001101011100101101 : -b10110101011001101011100101101 L -b10110101011001101011100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#1438 -b11111000110100110000000000000000 e -#1440 -0E -b0 A -b11111000110100110000000000000000 # -b10 . -b11111000110100110000000000000000 ! -b11111000110100110000000000000000 C -b10110101011001101011100101101 S -b11000101 O -b1011 W -0V -0Q -b10110101011001101011100101101 d -b0 ` -b1011 h -1b -b11111000110100110000000000000000 ? -b10 G -b100 4 -1' -#1441 -b10001100 / -#1445 -b1111 H -b10 F -b1111 6 -b1111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101010100 " -b10 . -1& -b11011101111111000011000010111011 % -b11011101111111000011000010111011 : -b11011101111111000011000010111011 L -b11011101111111000011000010111011 ] -0( -0) -0+ -0, -b1 0 -0' -#1450 -b100 4 -b10 G -b11011101111111000011000010111011 d -b1101 h -b11011101111111000011000010111011 S -b1111 O -b1101 W -1' -#1451 -b10001101 / -#1455 -b10111 H -b10 F -b10111 6 -b10111 $ -b1 - -b1 < -b1 N -b1 _ -b110000011 " -b10 . -1& -b10110000010001010101100101100 % -b10110000010001010101100101100 : -b10110000010001010101100101100 L -b10110000010001010101100101100 ] -0( -0) -0+ -0, -b1 0 -0' -#1460 -b10110000010001010101100101100 S -b10111 O -b1 W -b10110000010001010101100101100 d -b1 h -b10 G -b100 4 -1' -#1461 -b10001110 / -#1465 -0[ -0^ -b11111011 Y -1J -1M -b0 H -b10 F -b1 > -b111111011 6 -b111111011 $ -b111 - -b111 < -b111 N -b111 _ -b111100110 " -b10 . -1& -b10101000101000110101111001010001 % -b10101000101000110101111001010001 : -b10101000101000110101111001010001 L -b10101000101000110101111001010001 ] -0( -0) -0+ -0, -b1 0 -0' -#1470 -b1 A -b100 4 -b10 G -b10101000101000110101111001010001 d -b11111011 ` -b111 h -0g -0b -b10101000101000110101111001010001 S -b0 O -b111 W -1V -1Q -1' -#1471 -b10001111 / -#1475 -b1010100 Y -b10 F -b101010100 6 -b101010100 $ -b100 - -b100 < -b100 N -b100 _ -b101101101 " -b10 . -1& -b11111001111101100100011011110011 % -b11111001111101100100011011110011 : -b11111001111101100100011011110011 L -b11111001111101100100011011110011 ] -0( -0) -0+ -0, -b1 0 -0' -#1480 -b11111001111101100100011011110011 S -b100 W -b11111001111101100100011011110011 d -b1010100 ` -b100 h -b10 G -b100 4 -1' -#1481 -b10010000 / -#1485 -b11111100 Y -b10 F -b111111100 6 -b111111100 $ -b11 - -b11 < -b11 N -b11 _ -b1100000 " -b10 . -1& -b111001111000101101011101110011 % -b111001111000101101011101110011 : -b111001111000101101011101110011 L -b111001111000101101011101110011 ] -0( -0) -0+ -0, -b1 0 -0' -#1490 -b100 4 -b10 G -b111001111000101101011101110011 d -b11111100 ` -b11 h -b111001111000101101011101110011 S -b11 W -1' -#1491 -b10010001 / -#1495 -b1001001 Y -b10 F -b101001001 6 -b101001001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10101110 " -b10 . -1& -b10010010101010001100110000100101 % -b10010010101010001100110000100101 : -b10010010101010001100110000100101 L -b10010010101010001100110000100101 ] -0( -0) -0+ -0, -b1 0 -0' -#1500 -b10010010101010001100110000100101 S -b1000 W -b10010010101010001100110000100101 d -b1001001 ` -b1000 h -b10 G -b100 4 -1' -#1501 -b10010010 / -#1505 -1[ -1^ -b0 Y -0J -0M -b11101101 H -b10 F -b0 > -b11101101 6 -b11101101 $ -b11101011 " -b10 . -1& -b10111111110111011110100001111111 % -b10111111110111011110100001111111 : -b10111111110111011110100001111111 L -b10111111110111011110100001111111 ] -0( -0) -0+ -0, -b1 0 -0' -#1510 -b0 A -b100 4 -b10 G -b10111111110111011110100001111111 d -b0 ` -1g -1b -b10111111110111011110100001111111 S -b11101101 O -0V -0Q -1' -#1511 -b10010011 / -#1515 -1M -b10001111 H -b10 F -b10001111 6 -1; -b100101110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10001111 " -b10 . -0& -b10100001101001100100101001000011 % -b10100001101001100100101001000011 : -b10100001101001100100101001000011 L -b10100001101001100100101001000011 ] -0( -0) -0+ -0, -b1 0 -0' -#1520 -1E -b10100001101001100100101001000011 S -b10001111 O -b1111 W -1V -b10100001101001100100101001000011 d -b1111 h -b10 G -1' -#1521 -b10010100 / -#1525 -0[ -0^ -b10100111 Y -1J -b1 > -1M -b0 H -b10 F -b110100111 6 -0; -b110100111 $ -b111 - -b111 < -b111 N -b111 _ -b110001 " -b10 . -1& -b11100000100000001001011011000001 % -b11100000100000001001011011000001 : -b11100000100000001001011011000001 L -b11100000100000001001011011000001 ] -0( -0) -0+ -0, -b1 0 -0' -#1530 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b11100000100000001001011011000001 d -b10100111 ` -b111 h -0g -0b -b11100000100000001001011011000001 S -b0 O -b111 W -1Q -1' -#1531 -b10010101 / -#1535 -1[ -1^ -b0 Y -0J -0M -b11101001 H -b10 F -b0 > -b11101001 6 -b11101001 $ -b100 - -b100 < -b100 N -b100 _ -b100011010 " -b10 . -1& -b1001110100001100001100110011101 % -b1001110100001100001100110011101 : -b1001110100001100001100110011101 L -b1001110100001100001100110011101 ] -0( -0) -0+ -0, -b1 0 -0' -#1540 -b0 A -b1001110100001100001100110011101 S -b11101001 O -b100 W -0V -0Q -b1001110100001100001100110011101 d -b0 ` -b100 h -1g -1b -b10 G -b100 4 -1' -#1541 -b10010110 / -#1545 -1M -b10110111 H -b10 F -b10110111 6 -1; -b111101000 $ -b0 - -b0 < -b0 N -b0 _ -b10110111 " -b10 . -0& -b111011001100001000101101110110 % -b111011001100001000101101110110 : -b111011001100001000101101110110 L -b111011001100001000101101110110 ] -0( -0) -0+ -0, -b1 0 -0' -#1550 -1E -b10 G -b111011001100001000101101110110 d -b0 h -b111011001100001000101101110110 S -b10110111 O -b0 W -1V -1' -#1551 -b10010111 / -#1555 -0[ -0^ -b10100010 Y -1J -b1 > -1M -b0 H -b10 F -b110100010 6 -0; -b110100010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111101110 " -b10 . -1& -b1100011100110100011111111000111 % -b1100011100110100011111111000111 : -b1100011100110100011111111000111 L -b1100011100110100011111111000111 ] -0( -0) -0+ -0, -b1 0 -0' -#1560 -0E -b1 A -b1100011100110100011111111000111 S -b0 O -b1110 W -1Q -b1100011100110100011111111000111 d -b10100010 ` -b1110 h -0g -0b -b10 G -b100 4 -1' -#1561 -b10011000 / -#1565 -b11100010 Y -b10 F -b111100010 6 -b111100010 $ -b101 - -b101 < -b101 N -b101 _ -b110000 " -b10 . -1& -b11111001000111001101111011110010 % -b11111001000111001101111011110010 : -b11111001000111001101111011110010 L -b11111001000111001101111011110010 ] -0( -0) -0+ -0, -b1 0 -0' -#1570 -b100 4 -b10 G -b11111001000111001101111011110010 d -b11100010 ` -b101 h -b11111001000111001101111011110010 S -b101 W -1' -#1571 -b10011001 / -#1575 -b10100100 Y -b10 F -b110100100 6 -b110100100 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10001011 " -b10 . -1& -b10111100110111100110100101111 % -b10111100110111100110100101111 : -b10111100110111100110100101111 L -b10111100110111100110100101111 ] -0( -0) -0+ -0, -b1 0 -0' -#1580 -b10111100110111100110100101111 S -b1001 W -b10111100110111100110100101111 d -b10100100 ` -b1001 h -b10 G -b100 4 -1' -#1581 -b10011010 / -#1585 -1^ -b10000110 Y -b10 F -b110000110 6 -1; -b111000001 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110000110 " -b10 . -0& -b1000111111001010000111110001111 % -b1000111111001010000111110001111 : -b1000111111001010000111110001111 L -b1000111111001010000111110001111 ] -0( -0) -0+ -0, -b1 0 -0' -#1590 -1E -b10 G -b1000111111001010000111110001111 d -b10000110 ` -b1101 h -1g -b1000111111001010000111110001111 S -b1101 W -1' -#1591 -b10011011 / -#1595 -0^ -b1111001 Y -b10 F -b101111001 6 -0; -b101111001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11000100 " -b10 . -1& -b10110000001100100011111001100000 % -b10110000001100100011111001100000 : -b10110000001100100011111001100000 L -b10110000001100100011111001100000 ] -0( -0) -0+ -0, -b1 0 -0' -#1598 -b0 e -#1600 -0E -b10110000001100100011111001100000 S -b1010 W -b10110000001100100011111001100000 d -b1111001 ` -b1010 h -0g -b10 G -b100 4 -1' -#1601 -b10011100 / -#1605 -1[ -1^ -b0 Y -0J -0M -b10000101 H -b10 F -b0 > -b10000101 6 -b10000101 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b111001111 " -b10 . -1& -b11110000011101101010100111100 % -b11110000011101101010100111100 : -b11110000011101101010100111100 L -b11110000011101101010100111100 ] -0( -0) -0+ -0, -b1 0 -0' -#1610 -b0 A -b100 4 -b10 G -b11110000011101101010100111100 d -b0 ` -b1000 h -1g -1b -b11110000011101101010100111100 S -b10000101 O -b1000 W -0V -0Q -1' -#1611 -b10011101 / -#1615 -1M -b1110100 H -b10 F -b1110100 6 -1; -b110000110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1110100 " -b10 . -0& -b1110101111011011110001111101011 % -b1110101111011011110001111101011 : -b1110101111011011110001111101011 L -b1110101111011011110001111101011 ] -0( -0) -0+ -0, -b1 0 -0' -#1620 -1E -b1110101111011011110001111101011 S -b1110100 O -b1001 W -1V -b1110101111011011110001111101011 d -b1001 h -b10 G -1' -#1621 -b10011110 / -#1625 -b110000 H -b10 F -b110000 6 -b11110111 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110000 " -b10 . -b11111010100000110000010011110101 % -b11111010100000110000010011110101 : -b11111010100000110000010011110101 L -b11111010100000110000010011110101 ] -0( -0) -0+ -0, -b1 0 -0' -#1628 -b110001011111001001011111 T -#1630 -b110001011111001001011111 # -b10 . -b110001011111001001011111 ! -b110001011111001001011111 C -b110001011111001001011111 ? -b10 G -b11111010100000110000010011110101 d -b1110 h -b11111010100000110000010011110101 S -b110000 O -b1110 W -1' -#1631 -b10011111 / -#1635 -0[ -b1011 Y -1J -b0 H -b10 F -b1 > -b100001011 6 -b1111100 $ -b111 - -b111 < -b111 N -b111 _ -b100001011 " -b10 . -b11110101000011010010100011101010 % -b11110101000011010010100011101010 : -b11110101000011010010100011101010 L -b11110101000011010010100011101010 ] -0( -0) -0+ -0, -b1 0 -0' -#1638 -b0 T -#1640 -b1 A -b0 # -b10 . -b0 ! -b0 C -b11110101000011010010100011101010 S -b0 O -b111 W -1Q -b11110101000011010010100011101010 d -b1011 ` -b111 h -0b -b0 ? -b10 G -1' -#1641 -b10100000 / -#1645 -1[ -0J -0M -b1100000 H -b0 > -1^ -b0 Y -b10 F -b1100000 6 -0; -b1100000 $ -b101 - -b101 < -b101 N -b101 _ -b111010101 " -b10 . -1& -b1100000000010010110101111000000 % -b1100000000010010110101111000000 : -b1100000000010010110101111000000 L -b1100000000010010110101111000000 ] -0( -0) -0+ -0, -b1 0 -0' -#1650 -0E -b0 A -b100 4 -b10 G -b1100000000010010110101111000000 d -b0 ` -b101 h -1b -b1100000000010010110101111000000 S -b1100000 O -b101 W -0V -0Q -1' -#1651 -b10100001 / -#1655 -0[ -0^ -b11010 Y -1J -1M -b0 H -b10 F -b1 > -b100011010 6 -b100011010 $ -b111 - -b111 < -b111 N -b111 _ -b1100100 " -b10 . -1& -b10001111001001010001011000011110 % -b10001111001001010001011000011110 : -b10001111001001010001011000011110 L -b10001111001001010001011000011110 ] -0( -0) -0+ -0, -b1 0 -0' -#1660 -b1 A -b10001111001001010001011000011110 S -b0 O -b111 W -1V -1Q -b10001111001001010001011000011110 d -b11010 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#1661 -b10100010 / -#1665 -1^ -b11101001 Y -b10 F -b111101001 6 -1; -b1100111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111101001 " -b10 . -0& -b1011011110111011010100010110 % -b1011011110111011010100010110 : -b1011011110111011010100010110 L -b1011011110111011010100010110 ] -0( -0) -0+ -0, -b1 0 -0' -#1670 -1E -b10 G -b1011011110111011010100010110 d -b11101001 ` -b1100 h -1g -b1011011110111011010100010110 S -b1100 W -1' -#1671 -b10100011 / -#1675 -1[ -0J -0M -b1110001 H -b0 > -1^ -b0 Y -b10 F -b1110001 6 -0; -b1110001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101101100 " -b10 . -1& -b10100000100001001001100001000001 % -b10100000100001001001100001000001 : -b10100000100001001001100001000001 L -b10100000100001001001100001000001 ] -0( -0) -0+ -0, -b1 0 -0' -#1680 -0E -b0 A -b10100000100001001001100001000001 S -b1110001 O -b1011 W -0V -0Q -b10100000100001001001100001000001 d -b0 ` -b1011 h -1b -b10 G -b100 4 -1' -#1681 -b10100100 / -#1685 -b10101000 H -b10 F -b10101000 6 -b10101000 $ -b111000000 " -b10 . -1& -b111111001001110100101101111110 % -b111111001001110100101101111110 : -b111111001001110100101101111110 L -b111111001001110100101101111110 ] -0( -0) -0+ -0, -b1 0 -0' -#1690 -b100 4 -b10 G -b111111001001110100101101111110 d -b111111001001110100101101111110 S -b10101000 O -1' -#1691 -b10100101 / -#1695 -0[ -b11010010 Y -1J -b1 > -1M -b0 H -b10 F -b111010010 6 -1; -b1000000 $ -b111010010 " -b10 . -0& -b100000111010101110011101000001 % -b100000111010101110011101000001 : -b100000111010101110011101000001 L -b100000111010101110011101000001 ] -0( -0) -0+ -0, -b1 0 -0' -#1700 -1E -b1 A -b100000111010101110011101000001 S -b0 O -1V -1Q -b100000111010101110011101000001 d -b11010010 ` -0b -b10 G -1' -#1701 -b10100110 / -#1705 -1[ -0J -0M -b1001111 H -b0 > -1^ -b0 Y -b10 F -b1001111 6 -0; -b1001111 $ -b101 - -b101 < -b101 N -b101 _ -b11010011 " -b10 . -1& -b1100111100101100010111111001111 % -b1100111100101100010111111001111 : -b1100111100101100010111111001111 L -b1100111100101100010111111001111 ] -0( -0) -0+ -0, -b1 0 -0' -#1710 -0E -b0 A -b100 4 -b10 G -b1100111100101100010111111001111 d -b0 ` -b101 h -1b -b1100111100101100010111111001111 S -b1001111 O -b101 W -0V -0Q -1' -#1711 -b10100111 / -#1715 -1M -b1000 H -b10 F -b1000 6 -1; -b11101111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1000 " -b10 . -0& -b1100001111010001110100111000011 % -b1100001111010001110100111000011 : -b1100001111010001110100111000011 L -b1100001111010001110100111000011 ] -0( -0) -0+ -0, -b1 0 -0' -#1720 -1E -b1100001111010001110100111000011 S -b1000 O -b1001 W -1V -b1100001111010001110100111000011 d -b1001 h -b10 G -1' -#1721 -b10101000 / -#1725 -b11110111 H -b10 F -b11110111 6 -b11011000 $ -b101 - -b101 < -b101 N -b101 _ -b11110111 " -b10 . -b11000101101101101101111010001011 % -b11000101101101101101111010001011 : -b11000101101101101101111010001011 L -b11000101101101101101111010001011 ] -0( -0) -0+ -0, -b1 0 -0' -#1730 -b10 G -b11000101101101101101111010001011 d -b101 h -b11000101101101101101111010001011 S -b11110111 O -b101 W -1' -#1731 -b10101001 / -#1735 -0M -b11010000 H -b10 F -b11010000 6 -0; -b11010000 $ -b100 - -b100 < -b100 N -b100 _ -b100101100 " -b10 . -1& -b10001110000001011000110000011100 % -b10001110000001011000110000011100 : -b10001110000001011000110000011100 L -b10001110000001011000110000011100 ] -0( -0) -0+ -0, -b1 0 -0' -#1740 -0E -b10001110000001011000110000011100 S -b11010000 O -b100 W -0V -b10001110000001011000110000011100 d -b100 h -b10 G -b100 4 -1' -#1741 -b10101010 / -#1745 -1M -b11000110 H -b10 F -b11000110 6 -1; -b1010010 $ -b1 - -b1 < -b1 N -b1 _ -b11000110 " -b10 . -0& -b100000000110110011101101000000 % -b100000000110110011101101000000 : -b100000000110110011101101000000 L -b100000000110110011101101000000 ] -0( -0) -0+ -0, -b1 0 -0' -#1750 -1E -b10 G -b100000000110110011101101000000 d -b1 h -b100000000110110011101101000000 S -b11000110 O -b1 W -1V -1' -#1751 -b10101011 / -#1755 -b10111011 H -b10 F -b10111011 6 -b11011011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10111011 " -b10 . -b10000010011111010011010000000100 % -b10000010011111010011010000000100 : -b10000010011111010011010000000100 L -b10000010011111010011010000000100 ] -0( -0) -0+ -0, -b1 0 -0' -#1760 -b10000010011111010011010000000100 S -b10111011 O -b1001 W -b10000010011111010011010000000100 d -b1001 h -b10 G -1' -#1761 -b10101100 / -#1765 -0[ -0^ -b10000111 Y -1J -b1 > -1M -b0 H -b10 F -b110000111 6 -0; -b110000111 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100001011 " -b10 . -1& -b10110000110001100101011001100001 % -b10110000110001100101011001100001 : -b10110000110001100101011001100001 L -b10110000110001100101011001100001 ] -0( -0) -0+ -0, -b1 0 -0' -#1768 -b101110000000001011011101011101 T -#1770 -0E -b1 A -b101110000000001011011101011101 # -b10 . -b101110000000001011011101011101 ! -b101110000000001011011101011101 C -b100 4 -b101110000000001011011101011101 ? -b10 G -b10110000110001100101011001100001 d -b10000111 ` -b1111 h -0g -0b -b10110000110001100101011001100001 S -b0 O -b1111 W -1Q -1' -#1771 -b10101101 / -#1775 -1[ -1^ -b0 Y -0J -0M -b10101000 H -b10 F -b0 > -b10101000 6 -b10101000 $ -b100 - -b100 < -b100 N -b100 _ -b101110110 " -b10 . -1& -b10111010001101000000011001110100 % -b10111010001101000000011001110100 : -b10111010001101000000011001110100 L -b10111010001101000000011001110100 ] -0( -0) -0+ -0, -b1 0 -0' -#1780 -b0 A -b10111010001101000000011001110100 S -b10101000 O -b100 W -0V -0Q -b10111010001101000000011001110100 d -b0 ` -b100 h -1g -1b -b10 G -b100 4 -1' -#1781 -b10101110 / -#1785 -b10110100 H -b10 F -b10110100 6 -b10110100 $ -b10 - -b10 < -b10 N -b10 _ -b101001011 " -b10 . -1& -b110110000010110011100001101 % -b110110000010110011100001101 : -b110110000010110011100001101 L -b110110000010110011100001101 ] -0( -0) -0+ -0, -b1 0 -0' -#1790 -b100 4 -b10 G -b110110000010110011100001101 d -b10 h -b110110000010110011100001101 S -b10110100 O -b10 W -1' -#1791 -b10101111 / -#1795 -0[ -0^ -b11101011 Y -1J -1M -b0 H -b10 F -b1 > -b111101011 6 -b111101011 $ -b11 - -b11 < -b11 N -b11 _ -b11101100 " -b10 . -1& -b11110011001100110101100011100110 % -b11110011001100110101100011100110 : -b11110011001100110101100011100110 L -b11110011001100110101100011100110 ] -0( -0) -0+ -0, -b1 0 -0' -#1800 -b1 A -b11110011001100110101100011100110 S -b0 O -b11 W -1V -1Q -b11110011001100110101100011100110 d -b11101011 ` -b11 h -0g -0b -b10 G -b100 4 -1' -#1801 -b10110000 / -#1805 -1^ -b10110010 Y -b10 F -b110110010 6 -1; -b11001 $ -b110 - -b110 < -b110 N -b110 _ -b110110010 " -b10 . -0& -b1010010011011111001101110100100 % -b1010010011011111001101110100100 : -b1010010011011111001101110100100 L -b1010010011011111001101110100100 ] -0( -0) -0+ -0, -b1 0 -0' -#1810 -1E -b10 G -b1010010011011111001101110100100 d -b10110010 ` -b110 h -1g -b1010010011011111001101110100100 S -b110 W -1' -#1811 -b10110001 / -#1815 -b1001110 Y -b10 F -b101001110 6 -b111100 $ -b11 - -b11 < -b11 N -b11 _ -b101001110 " -b10 . -b110000110010100000111101100001 % -b110000110010100000111101100001 : -b110000110010100000111101100001 L -b110000110010100000111101100001 ] -0( -0) -0+ -0, -b1 0 -0' -#1820 -b0 # -b10 . -b0 ! -b0 C -b110000110010100000111101100001 S -b11 W -b110000110010100000111101100001 d -b1001110 ` -b11 h -b0 ? -b10 G -1' -#1821 -b10110010 / -#1825 -1[ -0J -0M -b10000110 H -b0 > -1^ -b0 Y -b10 F -b10000110 6 -0; -b10000110 $ -b101010010 " -b10 . -1& -b1010110001111111100000010 % -b1010110001111111100000010 : -b1010110001111111100000010 L -b1010110001111111100000010 ] -0( -0) -0+ -0, -b1 0 -0' -#1830 -0E -b0 A -b100 4 -b10 G -b1010110001111111100000010 d -b0 ` -1b -b1010110001111111100000010 S -b10000110 O -0V -0Q -1' -#1831 -b10110011 / -#1835 -b10 H -b10 F -b10 6 -b10 $ -b1 - -b1 < -b1 N -b1 _ -b10000100 " -b10 . -1& -b1101011001001111111001111010110 % -b1101011001001111111001111010110 : -b1101011001001111111001111010110 L -b1101011001001111111001111010110 ] -0( -0) -0+ -0, -b1 0 -0' -#1840 -b1101011001001111111001111010110 S -b10 O -b1 W -b1101011001001111111001111010110 d -b1 h -b10 G -b100 4 -1' -#1841 -b10110100 / -#1845 -1M -b11000011 H -b10 F -b11000011 6 -1; -b11010100 $ -b100 - -b100 < -b100 N -b100 _ -b11000011 " -b10 . -0& -b10011001111001000101100000110011 % -b10011001111001000101100000110011 : -b10011001111001000101100000110011 L -b10011001111001000101100000110011 ] -0( -0) -0+ -0, -b1 0 -0' -#1850 -1E -b10 G -b10011001111001000101100000110011 d -b100 h -b10011001111001000101100000110011 S -b11000011 O -b100 W -1V -1' -#1851 -b10110101 / -#1855 -0M -b110011 H -b10 F -b110011 6 -0; -b110011 $ -b10 - -b10 < -b10 N -b10 _ -b111000011 " -b10 . -1& -b11010010000011000010000010100100 % -b11010010000011000010000010100100 : -b11010010000011000010000010100100 L -b11010010000011000010000010100100 ] -0( -0) -0+ -0, -b1 0 -0' -#1858 -b0 T -#1860 -0E -b11010010000011000010000010100100 S -b110011 O -b10 W -0V -b11010010000011000010000010100100 d -b10 h -b10 G -b100 4 -1' -#1861 -b10110110 / -#1865 -1M -b1111011 H -b10 F -b1111011 6 -1; -b10 $ -b100 - -b100 < -b100 N -b100 _ -b1111011 " -b10 . -0& -b11100001001110000000111011000010 % -b11100001001110000000111011000010 : -b11100001001110000000111011000010 L -b11100001001110000000111011000010 ] -0( -0) -0+ -0, -b1 0 -0' -#1870 -1E -b10 G -b11100001001110000000111011000010 d -b100 h -b11100001001110000000111011000010 S -b1111011 O -b100 W -1V -1' -#1871 -b10110111 / -#1875 -0[ -0^ -b11000000 Y -1J -b1 > -1M -b0 H -b10 F -b111000000 6 -0; -b111000000 $ -b111 - -b111 < -b111 N -b111 _ -b100101011 " -b10 . -1& -b10110010110111100101110001100101 % -b10110010110111100101110001100101 : -b10110010110111100101110001100101 L -b10110010110111100101110001100101 ] -0( -0) -0+ -0, -b1 0 -0' -#1880 -0E -b1 A -b10110010110111100101110001100101 S -b0 O -b111 W -1Q -b10110010110111100101110001100101 d -b11000000 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#1881 -b10111000 / -#1885 -1^ -b11011101 Y -b10 F -b111011101 6 -1; -b1001100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111011101 " -b10 . -0& -b1101101001110011111110111011010 % -b1101101001110011111110111011010 : -b1101101001110011111110111011010 L -b1101101001110011111110111011010 ] -0( -0) -0+ -0, -b1 0 -0' -#1890 -1E -b10 G -b1101101001110011111110111011010 d -b11011101 ` -b1111 h -1g -b1101101001110011111110111011010 S -b1111 W -1' -#1891 -b10111001 / -#1895 -1[ -0J -0M -b1000000 H -b0 > -1^ -b0 Y -b10 F -b1000000 6 -0; -b1000000 $ -b0 - -b0 < -b0 N -b0 _ -b10110100 " -b10 . -1& -b11010010110111101100000110 % -b11010010110111101100000110 : -b11010010110111101100000110 L -b11010010110111101100000110 ] -0( -0) -0+ -0, -b1 0 -0' -#1900 -0E -b0 A -b11010010110111101100000110 S -b1000000 O -b0 W -0V -0Q -b11010010110111101100000110 d -b0 ` -b0 h -1b -b10 G -b100 4 -1' -#1901 -b10111010 / -#1905 -0[ -b10001010 Y -1J -b1 > -1M -b0 H -b10 F -b110001010 6 -1; -b110111110 $ -b11 - -b11 < -b11 N -b11 _ -b110001010 " -b10 . -0& -b1001010011001100110000110010100 % -b1001010011001100110000110010100 : -b1001010011001100110000110010100 L -b1001010011001100110000110010100 ] -0( -0) -0+ -0, -b1 0 -0' -#1910 -1E -b1 A -b10 G -b1001010011001100110000110010100 d -b10001010 ` -b11 h -0b -b1001010011001100110000110010100 S -b0 O -b11 W -1V -1Q -1' -#1911 -b10111011 / -#1915 -0^ -b100000 Y -b10 F -b100100000 6 -0; -b100100000 $ -b111 - -b111 < -b111 N -b111 _ -b1010100 " -b10 . -1& -b11111000001111001011010011110000 % -b11111000001111001011010011110000 : -b11111000001111001011010011110000 L -b11111000001111001011010011110000 ] -0( -0) -0+ -0, -b1 0 -0' -#1920 -0E -b11111000001111001011010011110000 S -b111 W -b11111000001111001011010011110000 d -b100000 ` -b111 h -0g -b10 G -b100 4 -1' -#1921 -b10111100 / -#1925 -1[ -0J -b11111110 H -b0 > -1^ -b0 Y -b10 F -b11111110 6 -1; -b10010110 $ -b110 - -b110 < -b110 N -b110 _ -b11111110 " -b10 . -0& -b1000000111101011011001110000001 % -b1000000111101011011001110000001 : -b1000000111101011011001110000001 L -b1000000111101011011001110000001 ] -0( -0) -0+ -0, -b1 0 -0' -#1930 -1E -b0 A -b10 G -b1000000111101011011001110000001 d -b0 ` -b110 h -1g -1b -b1000000111101011011001110000001 S -b11111110 O -b110 W -0Q -1' -#1931 -b10111101 / -#1935 -0M -b10111010 H -b10 F -b10111010 6 -0; -b10111010 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110110 " -b10 . -1& -b11101110000100001011100111011 % -b11101110000100001011100111011 : -b11101110000100001011100111011 L -b11101110000100001011100111011 ] -0( -0) -0+ -0, -b1 0 -0' -#1940 -0E -b11101110000100001011100111011 S -b10111010 O -b1101 W -0V -b11101110000100001011100111011 d -b1101 h -b10 G -b100 4 -1' -#1941 -b10111110 / -#1945 -0[ -0^ -b11 Y -1J -1M -b0 H -b10 F -b1 > -b100000011 6 -b100000011 $ -b11101101 " -b10 . -1& -b11110110100010011000010011101101 % -b11110110100010011000010011101101 : -b11110110100010011000010011101101 L -b11110110100010011000010011101101 ] -0( -0) -0+ -0, -b1 0 -0' -#1950 -b1 A -b100 4 -b10 G -b11110110100010011000010011101101 d -b11 ` -0g -0b -b11110110100010011000010011101101 S -b0 O -1V -1Q -1' -#1951 -b10111111 / -#1955 -1[ -0J -b111111 H -b0 > -1^ -b0 Y -b10 F -b111111 6 -1; -b1110110 $ -b111111 " -b10 . -0& -b11000111010001111101010010001110 % -b11000111010001111101010010001110 : -b11000111010001111101010010001110 L -b11000111010001111101010010001110 ] -0( -0) -0+ -0, -b1 0 -0' -#1960 -1E -b0 A -b11000111010001111101010010001110 S -b111111 O -0Q -b11000111010001111101010010001110 d -b0 ` -1g -1b -b10 G -1' -#1961 -b11000000 / -#1965 -0M -b1000111 H -b10 F -b1000111 6 -0; -b1000111 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10110011 " -b10 . -1& -b10011001010110000110011000110010 % -b10011001010110000110011000110010 : -b10011001010110000110011000110010 L -b10011001010110000110011000110010 ] -0( -0) -0+ -0, -b1 0 -0' -#1970 -0E -b100 4 -b10 G -b10011001010110000110011000110010 d -b1011 h -b10011001010110000110011000110010 S -b1000111 O -b1011 W -0V -1' -#1971 -b11000001 / -#1975 -b10111 H -b10 F -b10111 6 -b10111 $ -b0 - -b0 < -b0 N -b0 _ -b110110101 " -b10 . -1& -b10011000001011101011000000110000 % -b10011000001011101011000000110000 : -b10011000001011101011000000110000 L -b10011000001011101011000000110000 ] -0( -0) -0+ -0, -b1 0 -0' -#1980 -b10011000001011101011000000110000 S -b10111 O -b0 W -b10011000001011101011000000110000 d -b0 h -b10 G -b100 4 -1' -#1981 -b11000010 / -#1985 -b11110000 H -b10 F -b11110000 6 -b11110000 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b111001100 " -b10 . -1& -b1011111100100001100001110111111 % -b1011111100100001100001110111111 : -b1011111100100001100001110111111 L -b1011111100100001100001110111111 ] -0( -0) -0+ -0, -b1 0 -0' -#1990 -b100 4 -b10 G -b1011111100100001100001110111111 d -b1000 h -b1011111100100001100001110111111 S -b11110000 O -b1000 W -1' -#1991 -b11000011 / -#1995 -0[ -b1111110 Y -1J -b1 > -1M -b0 H -b10 F -b101111110 6 -1; -b110101011 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101111110 " -b10 . -0& -b11100111110101100100000111 % -b11100111110101100100000111 : -b11100111110101100100000111 L -b11100111110101100100000111 ] -0( -0) -0+ -0, -b1 0 -0' -#2000 -1E -b1 A -b11100111110101100100000111 S -b0 O -b1111 W -1V -1Q -b11100111110101100100000111 d -b1111110 ` -b1111 h -0b -b10 G -1' -#2001 -b11000100 / -#2005 -1[ -0J -0M -b10101010 H -b0 > -1^ -b0 Y -b10 F -b10101010 6 -0; -b10101010 $ -b100 - -b100 < -b100 N -b100 _ -b101100 " -b10 . -1& -b11100001011010101100010011000010 % -b11100001011010101100010011000010 : -b11100001011010101100010011000010 L -b11100001011010101100010011000010 ] -0( -0) -0+ -0, -b1 0 -0' -#2008 -b100100001001100000000000000000 e -#2010 -0E -b0 A -b100100001001100000000000000000 # -b10 . -b100100001001100000000000000000 ! -b100100001001100000000000000000 C -b100 4 -b100100001001100000000000000000 ? -b10 G -b11100001011010101100010011000010 d -b0 ` -b100 h -1b -b11100001011010101100010011000010 S -b10101010 O -b100 W -0V -0Q -1' -#2011 -b11000101 / -#2015 -b11100000 H -b10 F -b11100000 6 -b11100000 $ -b0 - -b0 < -b0 N -b0 _ -b101000010 " -b10 . -1& -b100111001100001100011101001110 % -b100111001100001100011101001110 : -b100111001100001100011101001110 L -b100111001100001100011101001110 ] -0( -0) -0+ -0, -b1 0 -0' -#2020 -b100111001100001100011101001110 S -b11100000 O -b0 W -b100111001100001100011101001110 d -b0 h -b10 G -b100 4 -1' -#2021 -b11000110 / -#2025 -0[ -b10100100 Y -1J -b1 > -1M -b0 H -b10 F -b110100100 6 -1; -b110100110 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110100100 " -b10 . -0& -b10011110001000010010101000111100 % -b10011110001000010010101000111100 : -b10011110001000010010101000111100 L -b10011110001000010010101000111100 ] -0( -0) -0+ -0, -b1 0 -0' -#2030 -1E -b1 A -b10 G -b10011110001000010010101000111100 d -b10100100 ` -b1010 h -0b -b10011110001000010010101000111100 S -b0 O -b1010 W -1V -1Q -1' -#2031 -b11000111 / -#2035 -1[ -b0 Y -0J -b11010 H -b10 F -b0 > -b11010 6 -b100001010 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b11010 " -b10 . -b11111110101110011001111011111101 % -b11111110101110011001111011111101 : -b11111110101110011001111011111101 L -b11111110101110011001111011111101 ] -0( -0) -0+ -0, -b1 0 -0' -#2038 -b10111000000000000000000101111 e -#2040 -b0 A -b10111000000000000000000101111 # -b10 . -b10111000000000000000000101111 ! -b10111000000000000000000101111 C -b11111110101110011001111011111101 S -b11010 O -b1101 W -0Q -b11111110101110011001111011111101 d -b0 ` -b1101 h -1b -b10111000000000000000000101111 ? -b10 G -1' -#2041 -b11001000 / -#2045 -b11010111 H -b10 F -b11010111 6 -b110110 $ -b10 - -b10 < -b10 N -b10 _ -b11010111 " -b10 . -b11000011110010010011011010000111 % -b11000011110010010011011010000111 : -b11000011110010010011011010000111 L -b11000011110010010011011010000111 ] -0( -0) -0+ -0, -b1 0 -0' -#2050 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b11000011110010010011011010000111 d -b10 h -b11000011110010010011011010000111 S -b11010111 O -b10 W -1' -#2051 -b11001001 / -#2055 -0M -b101100 H -b10 F -b101100 6 -0; -b101100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11011101 " -b10 . -1& -b11010000011001001001001010100000 % -b11010000011001001001001010100000 : -b11010000011001001001001010100000 L -b11010000011001001001001010100000 ] -0( -0) -0+ -0, -b1 0 -0' -#2060 -0E -b11010000011001001001001010100000 S -b101100 O -b1100 W -0V -b11010000011001001001001010100000 d -b1100 h -b10 G -b100 4 -1' -#2061 -b11001010 / -#2065 -b111000 H -b10 F -b111000 6 -b111000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111011001 " -b10 . -1& -b111110000011000010100001111 % -b111110000011000010100001111 : -b111110000011000010100001111 L -b111110000011000010100001111 ] -0( -0) -0+ -0, -b1 0 -0' -#2070 -b100 4 -b10 G -b111110000011000010100001111 d -b1101 h -b111110000011000010100001111 S -b111000 O -b1101 W -1' -#2071 -b11001011 / -#2075 -1M -b11110110 H -b10 F -b11110110 6 -1; -b1111101 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11110110 " -b10 . -0& -b10000110110111111100000000001101 % -b10000110110111111100000000001101 : -b10000110110111111100000000001101 L -b10000110110111111100000000001101 ] -0( -0) -0+ -0, -b1 0 -0' -#2080 -1E -b10000110110111111100000000001101 S -b11110110 O -b1110 W -1V -b10000110110111111100000000001101 d -b1110 h -b10 G -1' -#2081 -b11001100 / -#2085 -b11001101 H -b10 F -b11001101 6 -b110100011 $ -b10 - -b10 < -b10 N -b10 _ -b11001101 " -b10 . -b11110001001011111110101011100010 % -b11110001001011111110101011100010 : -b11110001001011111110101011100010 L -b11110001001011111110101011100010 ] -0( -0) -0+ -0, -b1 0 -0' -#2090 -b10 G -b11110001001011111110101011100010 d -b10 h -b11110001001011111110101011100010 S -b11001101 O -b10 W -1' -#2091 -b11001101 / -#2095 -0[ -b1011 Y -1J -b0 H -b10 F -b1 > -b100001011 6 -b1010010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100001011 " -b10 . -b10101100001111110001001001011000 % -b10101100001111110001001001011000 : -b10101100001111110001001001011000 L -b10101100001111110001001001011000 ] -0( -0) -0+ -0, -b1 0 -0' -#2100 -b1 A -b10101100001111110001001001011000 S -b0 O -b1100 W -1Q -b10101100001111110001001001011000 d -b1011 ` -b1100 h -0b -b10 G -1' -#2101 -b11001110 / -#2105 -1[ -b0 Y -0J -b1000101 H -b10 F -b0 > -b1000101 6 -b110010100 $ -b101 - -b101 < -b101 N -b101 _ -b1000101 " -b10 . -b11011000110001100101111010110001 % -b11011000110001100101111010110001 : -b11011000110001100101111010110001 L -b11011000110001100101111010110001 ] -0( -0) -0+ -0, -b1 0 -0' -#2108 -b0 e -#2110 -b0 A -b10 G -b11011000110001100101111010110001 d -b0 ` -b101 h -1b -b11011000110001100101111010110001 S -b1000101 O -b101 W -0Q -1' -#2111 -b11001111 / -#2115 -0[ -0^ -b10001000 Y -1J -b1 > -1M -b0 H -b10 F -b110001000 6 -0; -b110001000 $ -b1 - -b1 < -b1 N -b1 _ -b101111000 " -b10 . -1& -b10001010111010011001110000010101 % -b10001010111010011001110000010101 : -b10001010111010011001110000010101 L -b10001010111010011001110000010101 ] -0( -0) -0+ -0, -b1 0 -0' -#2120 -0E -b1 A -b10001010111010011001110000010101 S -b0 O -b1 W -1Q -b10001010111010011001110000010101 d -b10001000 ` -b1 h -0g -0b -b10 G -b100 4 -1' -#2121 -b11010000 / -#2125 -b10110001 Y -b10 F -b110110001 6 -b110110001 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10111100 " -b10 . -1& -b110001101100111100000001 % -b110001101100111100000001 : -b110001101100111100000001 L -b110001101100111100000001 ] -0( -0) -0+ -0, -b1 0 -0' -#2130 -b100 4 -b10 G -b110001101100111100000001 d -b10110001 ` -b1110 h -b110001101100111100000001 S -b1110 W -1' -#2131 -b11010001 / -#2135 -1^ -b10011110 Y -b10 F -b110011110 6 -1; -b11001001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110011110 " -b10 . -0& -b11010010101010100000000010100101 % -b11010010101010100000000010100101 : -b11010010101010100000000010100101 L -b11010010101010100000000010100101 ] -0( -0) -0+ -0, -b1 0 -0' -#2140 -1E -b11010010101010100000000010100101 S -b1010 W -b11010010101010100000000010100101 d -b10011110 ` -b1010 h -1g -b10 G -1' -#2141 -b11010010 / -#2145 -1[ -0J -0M -b11101 H -b0 > -1^ -b0 Y -b10 F -b11101 6 -0; -b11101 $ -b100110000 " -b10 . -1& -b11110101111111100000010011101011 % -b11110101111111100000010011101011 : -b11110101111111100000010011101011 L -b11110101111111100000010011101011 ] -0( -0) -0+ -0, -b1 0 -0' -#2150 -0E -b0 A -b100 4 -b10 G -b11110101111111100000010011101011 d -b0 ` -1b -b11110101111111100000010011101011 S -b11101 O -0V -0Q -1' -#2151 -b11010011 / -#2155 -0[ -b11100 Y -1J -b1 > -1M -b0 H -b10 F -b100011100 6 -1; -b111100011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100011100 " -b10 . -0& -b10101110101110011100101001011101 % -b10101110101110011100101001011101 : -b10101110101110011100101001011101 L -b10101110101110011100101001011101 ] -0( -0) -0+ -0, -b1 0 -0' -#2160 -1E -b1 A -b10101110101110011100101001011101 S -b0 O -b1001 W -1V -1Q -b10101110101110011100101001011101 d -b11100 ` -b1001 h -0b -b10 G -1' -#2161 -b11010100 / -#2165 -b10001010 Y -b10 F -b110001010 6 -b100000111 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110001010 " -b10 . -b11010110001011011000101010101100 % -b11010110001011011000101010101100 : -b11010110001011011000101010101100 L -b11010110001011011000101010101100 ] -0( -0) -0+ -0, -b1 0 -0' -#2170 -b10 G -b11010110001011011000101010101100 d -b10001010 ` -b1011 h -b11010110001011011000101010101100 S -b1011 W -1' -#2171 -b11010101 / -#2175 -1[ -b0 Y -0J -b11111111 H -b10 F -b0 > -b11111111 6 -b111101110 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11111111 " -b10 . -b10101110010111111101100001011100 % -b10101110010111111101100001011100 : -b10101110010111111101100001011100 L -b10101110010111111101100001011100 ] -0( -0) -0+ -0, -b1 0 -0' -#2180 -b0 A -b10101110010111111101100001011100 S -b11111111 O -b1110 W -0Q -b10101110010111111101100001011100 d -b0 ` -b1110 h -1b -b10 G -1' -#2181 -b11010110 / -#2185 -0[ -0^ -b101100 Y -1J -b1 > -1M -b0 H -b10 F -b100101100 6 -0; -b100101100 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10101101 " -b10 . -1& -b10010010000111001000001000100100 % -b10010010000111001000001000100100 : -b10010010000111001000001000100100 L -b10010010000111001000001000100100 ] -0( -0) -0+ -0, -b1 0 -0' -#2190 -0E -b1 A -b100 4 -b10 G -b10010010000111001000001000100100 d -b101100 ` -b1000 h -0g -0b -b10010010000111001000001000100100 S -b0 O -b1000 W -1Q -1' -#2191 -b11010111 / -#2195 -1[ -0J -b1111 H -b0 > -1^ -b0 Y -b10 F -b1111 6 -1; -b111 $ -b1111 " -b10 . -0& -b11101100011110011010110011011000 % -b11101100011110011010110011011000 : -b11101100011110011010110011011000 L -b11101100011110011010110011011000 ] -0( -0) -0+ -0, -b1 0 -0' -#2200 -1E -b0 A -b11101100011110011010110011011000 S -b1111 O -0Q -b11101100011110011010110011011000 d -b0 ` -1g -1b -b10 G -1' -#2201 -b11011000 / -#2205 -0[ -0^ -b100111 Y -1J -b1 > -1M -b0 H -b10 F -b100100111 6 -0; -b100100111 $ -b100 - -b100 < -b100 N -b100 _ -b101101100 " -b10 . -1& -b10111001010001111000110001110010 % -b10111001010001111000110001110010 : -b10111001010001111000110001110010 L -b10111001010001111000110001110010 ] -0( -0) -0+ -0, -b1 0 -0' -#2208 -b11011101111111000000000010111011 T -#2210 -0E -b1 A -b11011101111111000000000010111011 # -b10 . -b11011101111111000000000010111011 ! -b11011101111111000000000010111011 C -b100 4 -b11011101111111000000000010111011 ? -b10 G -b10111001010001111000110001110010 d -b100111 ` -b100 h -0g -0b -b10111001010001111000110001110010 S -b0 O -b100 W -1Q -1' -#2211 -b11011001 / -#2215 -1[ -1^ -b0 Y -0J -0M -b10101111 H -b10 F -b0 > -b10101111 6 -b10101111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111010011 " -b10 . -1& -b10110011000001111101100001100110 % -b10110011000001111101100001100110 : -b10110011000001111101100001100110 L -b10110011000001111101100001100110 ] -0( -0) -0+ -0, -b1 0 -0' -#2220 -b0 A -b10110011000001111101100001100110 S -b10101111 O -b1101 W -0V -0Q -b10110011000001111101100001100110 d -b0 ` -b1101 h -1g -1b -b10 G -b100 4 -1' -#2221 -b11011010 / -#2225 -0[ -0^ -b111001 Y -1J -1M -b0 H -b10 F -b1 > -b100111001 6 -b100111001 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11010110 " -b10 . -1& -b1000010111001111010010110000101 % -b1000010111001111010010110000101 : -b1000010111001111010010110000101 L -b1000010111001111010010110000101 ] -0( -0) -0+ -0, -b1 0 -0' -#2230 -b1 A -b100 4 -b10 G -b1000010111001111010010110000101 d -b111001 ` -b1110 h -0g -0b -b1000010111001111010010110000101 S -b0 O -b1110 W -1V -1Q -1' -#2231 -b11011011 / -#2235 -1^ -b1010110 Y -b10 F -b101010110 6 -1; -b10000101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101010110 " -b10 . -0& -b11110100101010101100100111101 % -b11110100101010101100100111101 : -b11110100101010101100100111101 L -b11110100101010101100100111101 ] -0( -0) -0+ -0, -b1 0 -0' -#2240 -1E -b11110100101010101100100111101 S -b1111 W -b11110100101010101100100111101 d -b1010110 ` -b1111 h -1g -b10 G -1' -#2241 -b11011100 / -#2245 -1[ -0J -0M -b11110001 H -b0 > -1^ -b0 Y -b10 F -b11110001 6 -0; -b11110001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110101001 " -b10 . -1& -b1011110010000000000100010111 % -b1011110010000000000100010111 : -b1011110010000000000100010111 L -b1011110010000000000100010111 ] -0( -0) -0+ -0, -b1 0 -0' -#2250 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b1011110010000000000100010111 d -b0 ` -b1100 h -1b -b1011110010000000000100010111 S -b11110001 O -b1100 W -0V -0Q -1' -#2251 -b11011101 / -#2255 -0[ -0^ -b11000011 Y -1J -1M -b0 H -b10 F -b1 > -b111000011 6 -b111000011 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1010100 " -b10 . -1& -b110010000100011111101101100100 % -b110010000100011111101101100100 : -b110010000100011111101101100100 L -b110010000100011111101101100100 ] -0( -0) -0+ -0, -b1 0 -0' -#2260 -b1 A -b110010000100011111101101100100 S -b0 O -b1111 W -1V -1Q -b110010000100011111101101100100 d -b11000011 ` -b1111 h -0g -0b -b10 G -b100 4 -1' -#2261 -b11011110 / -#2265 -1[ -1^ -b0 Y -0J -0M -b11010101 H -b10 F -b0 > -b11010101 6 -b11010101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111011011 " -b10 . -1& -b11010010001000101111010010100100 % -b11010010001000101111010010100100 : -b11010010001000101111010010100100 L -b11010010001000101111010010100100 ] -0( -0) -0+ -0, -b1 0 -0' -#2270 -b0 A -b100 4 -b10 G -b11010010001000101111010010100100 d -b0 ` -b1100 h -1g -1b -b11010010001000101111010010100100 S -b11010101 O -b1100 W -0V -0Q -1' -#2271 -b11011111 / -#2275 -1M -b10101010 H -b10 F -b10101010 6 -1; -b10000011 $ -b0 - -b0 < -b0 N -b0 _ -b10101010 " -b10 . -0& -b1110011101111010111100011100 % -b1110011101111010111100011100 : -b1110011101111010111100011100 L -b1110011101111010111100011100 ] -0( -0) -0+ -0, -b1 0 -0' -#2280 -1E -b1110011101111010111100011100 S -b10101010 O -b0 W -1V -b1110011101111010111100011100 d -b0 h -b10 G -1' -#2281 -b11100000 / -#2285 -0[ -b10110010 Y -1J -b0 H -b10 F -b1 > -b110110010 6 -b10101100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110110010 " -b10 . -b1001000011111011101001110010000 % -b1001000011111011101001110010000 : -b1001000011111011101001110010000 L -b1001000011111011101001110010000 ] -0( -0) -0+ -0, -b1 0 -0' -#2288 -b11010100000000000000000 T -#2290 -b1 A -b11010100000000000000000 # -b10 . -b11010100000000000000000 ! -b11010100000000000000000 C -b11010100000000000000000 ? -b10 G -b1001000011111011101001110010000 d -b10110010 ` -b1011 h -0b -b1001000011111011101001110010000 S -b0 O -b1011 W -1Q -1' -#2291 -b11100001 / -#2295 -1[ -b0 Y -0J -b110010 H -b10 F -b0 > -b110010 6 -b110000010 $ -b1 - -b1 < -b1 N -b1 _ -b110010 " -b10 . -b11001010010100101111101010010100 % -b11001010010100101111101010010100 : -b11001010010100101111101010010100 L -b11001010010100101111101010010100 ] -0( -0) -0+ -0, -b1 0 -0' -#2300 -b0 A -b0 # -b10 . -b0 ! -b0 C -b11001010010100101111101010010100 S -b110010 O -b1 W -0Q -b11001010010100101111101010010100 d -b0 ` -b1 h -1b -b0 ? -b10 G -1' -#2301 -b11100010 / -#2305 -b1101000 H -b10 F -b1101000 6 -b111110 $ -b111 - -b111 < -b111 N -b111 _ -b1101000 " -b10 . -b11010110001110111100001010101100 % -b11010110001110111100001010101100 : -b11010110001110111100001010101100 L -b11010110001110111100001010101100 ] -0( -0) -0+ -0, -b1 0 -0' -#2308 -b0 T -#2310 -b10 G -b11010110001110111100001010101100 d -b111 h -b11010110001110111100001010101100 S -b1101000 O -b111 W -1' -#2311 -b11100011 / -#2315 -0[ -0^ -b110010 Y -1J -b1 > -1M -b0 H -b10 F -b100110010 6 -0; -b100110010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110011100 " -b10 . -1& -b1100100000001100100101111001000 % -b1100100000001100100101111001000 : -b1100100000001100100101111001000 L -b1100100000001100100101111001000 ] -0( -0) -0+ -0, -b1 0 -0' -#2320 -0E -b1 A -b1100100000001100100101111001000 S -b0 O -b1110 W -1Q -b1100100000001100100101111001000 d -b110010 ` -b1110 h -0g -0b -b10 G -b100 4 -1' -#2321 -b11100100 / -#2325 -1^ -b11101000 Y -b10 F -b111101000 6 -1; -b100001011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111101000 " -b10 . -0& -b10111000010111111010110001110000 % -b10111000010111111010110001110000 : -b10111000010111111010110001110000 L -b10111000010111111010110001110000 ] -0( -0) -0+ -0, -b1 0 -0' -#2330 -1E -b10 G -b10111000010111111010110001110000 d -b11101000 ` -b1010 h -1g -b10111000010111111010110001110000 S -b1010 W -1' -#2331 -b11100101 / -#2335 -1[ -0J -0M -b11110011 H -b0 > -1^ -b0 Y -b10 F -b11110011 6 -0; -b11110011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101011111 " -b10 . -1& -b10101110011000000101011001011100 % -b10101110011000000101011001011100 : -b10101110011000000101011001011100 L -b10101110011000000101011001011100 ] -0( -0) -0+ -0, -b1 0 -0' -#2338 -b10100000000000000000000 e -#2340 -0E -b0 A -b10100000000000000000000 # -b10 . -b10100000000000000000000 ! -b10100000000000000000000 C -b10101110011000000101011001011100 S -b11110011 O -b1101 W -0V -0Q -b10101110011000000101011001011100 d -b0 ` -b1101 h -1b -b10100000000000000000000 ? -b10 G -b100 4 -1' -#2341 -b11100110 / -#2345 -b10110110 H -b10 F -b10110110 6 -b10110110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1000001 " -b10 . -1& -b11011110101101010001011010111101 % -b11011110101101010001011010111101 : -b11011110101101010001011010111101 L -b11011110101101010001011010111101 ] -0( -0) -0+ -0, -b1 0 -0' -#2350 -b100 4 -b10 G -b11011110101101010001011010111101 d -b1111 h -b11011110101101010001011010111101 S -b10110110 O -b1111 W -1' -#2351 -b11100111 / -#2355 -0[ -0^ -b10011001 Y -1J -1M -b0 H -b10 F -b1 > -b110011001 6 -b110011001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100010101 " -b10 . -1& -b10010001110111011000010000100011 % -b10010001110111011000010000100011 : -b10010001110111011000010000100011 L -b10010001110111011000010000100011 ] -0( -0) -0+ -0, -b1 0 -0' -#2360 -b1 A -b10010001110111011000010000100011 S -b0 O -b1010 W -1V -1Q -b10010001110111011000010000100011 d -b10011001 ` -b1010 h -0g -0b -b10 G -b100 4 -1' -#2361 -b11101000 / -#2365 -1[ -1^ -b0 Y -0J -0M -b101010 H -b10 F -b0 > -b101010 6 -b101010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110011100 " -b10 . -1& -b1001010101111111111100010010 % -b1001010101111111111100010010 : -b1001010101111111111100010010 L -b1001010101111111111100010010 ] -0( -0) -0+ -0, -b1 0 -0' -#2370 -b0 A -b100 4 -b10 G -b1001010101111111111100010010 d -b0 ` -b1110 h -1g -1b -b1001010101111111111100010010 S -b101010 O -b1110 W -0V -0Q -1' -#2371 -b11101001 / -#2375 -b100110 H -b10 F -b100110 6 -b100110 $ -b101 - -b101 < -b101 N -b101 _ -b110010001 " -b10 . -1& -b10111101101011000100100001111011 % -b10111101101011000100100001111011 : -b10111101101011000100100001111011 L -b10111101101011000100100001111011 ] -0( -0) -0+ -0, -b1 0 -0' -#2380 -b10111101101011000100100001111011 S -b100110 O -b101 W -b10111101101011000100100001111011 d -b101 h -b10 G -b100 4 -1' -#2381 -b11101010 / -#2385 -1M -b10101000 H -b10 F -b10101000 6 -1; -b1011111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10101000 " -b10 . -0& -b11000000010100111011111010000000 % -b11000000010100111011111010000000 : -b11000000010100111011111010000000 L -b11000000010100111011111010000000 ] -0( -0) -0+ -0, -b1 0 -0' -#2390 -1E -b10 G -b11000000010100111011111010000000 d -b1101 h -b11000000010100111011111010000000 S -b10101000 O -b1101 W -1V -1' -#2391 -b11101011 / -#2395 -0[ -0^ -b10001100 Y -1J -b1 > -1M -b0 H -b10 F -b110001100 6 -0; -b110001100 $ -b10 - -b10 < -b10 N -b10 _ -b111010011 " -b10 . -1& -b10011010010011000111111000110100 % -b10011010010011000111111000110100 : -b10011010010011000111111000110100 L -b10011010010011000111111000110100 ] -0( -0) -0+ -0, -b1 0 -0' -#2398 -b111111001101000100101101111110 T -#2400 -0E -b1 A -b111111001101000100101101111110 # -b10 . -b111111001101000100101101111110 ! -b111111001101000100101101111110 C -b10011010010011000111111000110100 S -b0 O -b10 W -1Q -b10011010010011000111111000110100 d -b10001100 ` -b10 h -0g -0b -b111111001101000100101101111110 ? -b10 G -b100 4 -1' -#2401 -b11101100 / -#2405 -1[ -1^ -b0 Y -0J -0M -b11110100 H -b10 F -b0 > -b11110100 6 -b11110100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110110000 " -b10 . -1& -b10110010110100001111000001100101 % -b10110010110100001111000001100101 : -b10110010110100001111000001100101 L -b10110010110100001111000001100101 ] -0( -0) -0+ -0, -b1 0 -0' -#2410 -b0 A -b100 4 -b10 G -b10110010110100001111000001100101 d -b0 ` -b1011 h -1g -1b -b10110010110100001111000001100101 S -b11110100 O -b1011 W -0V -0Q -1' -#2411 -b11101101 / -#2415 -0[ -b11010101 Y -1J -b1 > -1M -b0 H -b10 F -b111010101 6 -1; -b101111010 $ -b0 - -b0 < -b0 N -b0 _ -b111010101 " -b10 . -0& -b101100011000011100111101011000 % -b101100011000011100111101011000 : -b101100011000011100111101011000 L -b101100011000011100111101011000 ] -0( -0) -0+ -0, -b1 0 -0' -#2420 -1E -b1 A -b101100011000011100111101011000 S -b0 O -b0 W -1V -1Q -b101100011000011100111101011000 d -b11010101 ` -b0 h -0b -b10 G -1' -#2421 -b11101110 / -#2425 -b1110010 Y -b10 F -b101110010 6 -b11001111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101110010 " -b10 . -b1001101000010100100011110011010 % -b1001101000010100100011110011010 : -b1001101000010100100011110011010 L -b1001101000010100100011110011010 ] -0( -0) -0+ -0, -b1 0 -0' -#2428 -b0 e -#2430 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1001101000010100100011110011010 d -b1110010 ` -b1010 h -b1001101000010100100011110011010 S -b1010 W -1' -#2431 -b11101111 / -#2435 -b11110000 Y -b10 F -b111110000 6 -b100010 $ -b0 - -b0 < -b0 N -b0 _ -b111110000 " -b10 . -b1001001000100010000111110010010 % -b1001001000100010000111110010010 : -b1001001000100010000111110010010 L -b1001001000100010000111110010010 ] -0( -0) -0+ -0, -b1 0 -0' -#2440 -b1001001000100010000111110010010 S -b0 W -b1001001000100010000111110010010 d -b11110000 ` -b0 h -b10 G -1' -#2441 -b11110000 / -#2445 -1[ -b0 Y -0J -b1100101 H -b10 F -b0 > -b1100101 6 -b11110010 $ -b110 - -b110 < -b110 N -b110 _ -b1100101 " -b10 . -b11010100000000000111000010101000 % -b11010100000000000111000010101000 : -b11010100000000000111000010101000 L -b11010100000000000111000010101000 ] -0( -0) -0+ -0, -b1 0 -0' -#2450 -b0 A -b10 G -b11010100000000000111000010101000 d -b0 ` -b110 h -1b -b11010100000000000111000010101000 S -b1100101 O -b110 W -0Q -1' -#2451 -b11110001 / -#2455 -0M -b11100110 H -b10 F -b11100110 6 -0; -b11100110 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b100010110 " -b10 . -1& -b110110000000001010001101101100 % -b110110000000001010001101101100 : -b110110000000001010001101101100 L -b110110000000001010001101101100 ] -0( -0) -0+ -0, -b1 0 -0' -#2458 -b0 T -#2460 -0E -b110110000000001010001101101100 S -b11100110 O -b1011 W -0V -b110110000000001010001101101100 d -b1011 h -b10 G -b100 4 -1' -#2461 -b11110010 / -#2465 -b10110 H -b10 F -b10110 6 -b10110 $ -b110 - -b110 < -b110 N -b110 _ -b101010000 " -b10 . -1& -b10000011101001001111101000000111 % -b10000011101001001111101000000111 : -b10000011101001001111101000000111 L -b10000011101001001111101000000111 ] -0( -0) -0+ -0, -b1 0 -0' -#2470 -b100 4 -b10 G -b10000011101001001111101000000111 d -b110 h -b10000011101001001111101000000111 S -b10110 O -b110 W -1' -#2471 -b11110011 / -#2475 -0[ -b10110 Y -1J -b0 H -b1 > -1M -b10 F -b100010110 6 -1; -b110010000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100010110 " -b10 . -0& -b111101110100111101010101111011 % -b111101110100111101010101111011 : -b111101110100111101010101111011 L -b111101110100111101010101111011 ] -0( -0) -0+ -0, -b1 0 -0' -#2480 -1E -b1 A -b111101110100111101010101111011 S -b0 O -b1101 W -1V -1Q -b111101110100111101010101111011 d -b10110 ` -b1101 h -0b -b10 G -1' -#2481 -b11110100 / -#2485 -1[ -b0 Y -0J -b10101111 H -b10 F -b0 > -b10101111 6 -b111111000 $ -b1 - -b1 < -b1 N -b1 _ -b10101111 " -b10 . -b11110111111101000010110011101111 % -b11110111111101000010110011101111 : -b11110111111101000010110011101111 L -b11110111111101000010110011101111 ] -0( -0) -0+ -0, -b1 0 -0' -#2490 -b0 A -b10 G -b11110111111101000010110011101111 d -b0 ` -b1 h -1b -b11110111111101000010110011101111 S -b10101111 O -b1 W -0Q -1' -#2491 -b11110101 / -#2495 -0[ -0^ -b11001110 Y -1J -b1 > -1M -b0 H -b10 F -b111001110 6 -0; -b111001110 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111100000 " -b10 . -1& -b10110101110010100000100101101 % -b10110101110010100000100101101 : -b10110101110010100000100101101 L -b10110101110010100000100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#2498 -b10110011000001110000000001100110 T -#2500 -0E -b1 A -b10110011000001110000000001100110 # -b10 . -b10110011000001110000000001100110 ! -b10110011000001110000000001100110 C -b10110101110010100000100101101 S -b0 O -b1110 W -1Q -b10110101110010100000100101101 d -b11001110 ` -b1110 h -0g -0b -b10110011000001110000000001100110 ? -b10 G -b100 4 -1' -#2501 -b11110110 / -#2505 -1^ -b110011 Y -b10 F -b100110011 6 -1; -b101101111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100110011 " -b10 . -0& -b11001101011110011100000110 % -b11001101011110011100000110 : -b11001101011110011100000110 L -b11001101011110011100000110 ] -0( -0) -0+ -0, -b1 0 -0' -#2510 -1E -b10 G -b11001101011110011100000110 d -b110011 ` -b1001 h -1g -b11001101011110011100000110 S -b1001 W -1' -#2511 -b11110111 / -#2515 -1[ -b0 Y -0J -b1101001 H -b10 F -b0 > -b1101001 6 -b110101100 $ -b1101001 " -b10 . -b11100011011001000010101011000110 % -b11100011011001000010101011000110 : -b11100011011001000010101011000110 L -b11100011011001000010101011000110 ] -0( -0) -0+ -0, -b1 0 -0' -#2520 -b0 A -b0 # -b10 . -b0 ! -b0 C -b11100011011001000010101011000110 S -b1101001 O -0Q -b11100011011001000010101011000110 d -b0 ` -1b -b0 ? -b10 G -1' -#2521 -b11111000 / -#2525 -0M -b10100101 H -b10 F -b10100101 6 -0; -b10100101 $ -b101 - -b101 < -b101 N -b101 _ -b10111010 " -b10 . -1& -b11101011010111011000110011010110 % -b11101011010111011000110011010110 : -b11101011010111011000110011010110 L -b11101011010111011000110011010110 ] -0( -0) -0+ -0, -b1 0 -0' -#2528 -b0 T -#2530 -0E -b100 4 -b10 G -b11101011010111011000110011010110 d -b101 h -b11101011010111011000110011010110 S -b10100101 O -b101 W -0V -1' -#2531 -b11111001 / -#2535 -0[ -b1000000 Y -1J -b1 > -1M -b0 H -b10 F -b101000000 6 -1; -b110010011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101000000 " -b10 . -0& -b1000111100010001110011110001111 % -b1000111100010001110011110001111 : -b1000111100010001110011110001111 L -b1000111100010001110011110001111 ] -0( -0) -0+ -0, -b1 0 -0' -#2540 -1E -b1 A -b1000111100010001110011110001111 S -b0 O -b1000 W -1V -1Q -b1000111100010001110011110001111 d -b1000000 ` -b1000 h -0b -b10 G -1' -#2541 -b11111010 / -#2545 -1[ -0J -0M -b1001101 H -b0 > -1^ -b0 Y -b10 F -b1001101 6 -0; -b1001101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1011000 " -b10 . -1& -b1001110010000001101011110011100 % -b1001110010000001101011110011100 : -b1001110010000001101011110011100 L -b1001110010000001101011110011100 ] -0( -0) -0+ -0, -b1 0 -0' -#2550 -0E -b0 A -b100 4 -b10 G -b1001110010000001101011110011100 d -b0 ` -b1100 h -1b -b1001110010000001101011110011100 S -b1001101 O -b1100 W -0V -0Q -1' -#2551 -b11111011 / -#2555 -b100 H -b10 F -b100 6 -b100 $ -b11 - -b11 < -b11 N -b11 _ -b11010111 " -b10 . -1& -b101111101101000010111101011111 % -b101111101101000010111101011111 : -b101111101101000010111101011111 L -b101111101101000010111101011111 ] -0( -0) -0+ -0, -b1 0 -0' -#2560 -b101111101101000010111101011111 S -b100 O -b11 W -b101111101101000010111101011111 d -b11 h -b10 G -b100 4 -1' -#2561 -b11111100 / -#2565 -b110011 H -b10 F -b110011 6 -b110011 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11001111 " -b10 . -1& -b10010000000111011011110000100000 % -b10010000000111011011110000100000 : -b10010000000111011011110000100000 L -b10010000000111011011110000100000 ] -0( -0) -0+ -0, -b1 0 -0' -#2570 -b100 4 -b10 G -b10010000000111011011110000100000 d -b1110 h -b10010000000111011011110000100000 S -b110011 O -b1110 W -1' -#2571 -b11111101 / -#2575 -b1100011 H -b10 F -b1100011 6 -b1100011 $ -b11100 " -b10 . -1& -b10111001000101011000111001110010 % -b10111001000101011000111001110010 : -b10111001000101011000111001110010 L -b10111001000101011000111001110010 ] -0( -0) -0+ -0, -b1 0 -0' -#2580 -b10111001000101011000111001110010 S -b1100011 O -b10111001000101011000111001110010 d -b10 G -b100 4 -1' -#2581 -b11111110 / -#2585 -0[ -b11100110 Y -1J -b1 > -1M -b0 H -b10 F -b111100110 6 -1; -b1010 $ -b11 - -b11 < -b11 N -b11 _ -b111100110 " -b10 . -0& -b101001101001110101010101010011 % -b101001101001110101010101010011 : -b101001101001110101010101010011 L -b101001101001110101010101010011 ] -0( -0) -0+ -0, -b1 0 -0' -#2590 -1E -b1 A -b10 G -b101001101001110101010101010011 d -b11100110 ` -b11 h -0b -b101001101001110101010101010011 S -b0 O -b11 W -1V -1Q -1' -#2591 -b11111111 / -#2595 -0^ -b11010110 Y -b10 F -b111010110 6 -0; -b111010110 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111000111 " -b10 . -1& -b11001000100101001011101010010001 % -b11001000100101001011101010010001 : -b11001000100101001011101010010001 L -b11001000100101001011101010010001 ] -0( -0) -0+ -0, -b1 0 -0' -#2600 -0E -b11001000100101001011101010010001 S -b1010 W -b11001000100101001011101010010001 d -b11010110 ` -b1010 h -0g -b10 G -b100 4 -1' -#2601 -b100000000 / -#2605 -b10001001 Y -b10 F -b110001001 6 -b110001001 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101100101 " -b10 . -1& -b1011010100100011010110110110101 % -b1011010100100011010110110110101 : -b1011010100100011010110110110101 L -b1011010100100011010110110110101 ] -0( -0) -0+ -0, -b1 0 -0' -#2610 -b100 4 -b10 G -b1011010100100011010110110110101 d -b10001001 ` -b1111 h -b1011010100100011010110110110101 S -b1111 W -1' -#2611 -b100000001 / -#2615 -b1101101 Y -b10 F -b101101101 6 -b101101101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111010001 " -b10 . -1& -b10001001010010011111010000010010 % -b10001001010010011111010000010010 : -b10001001010010011111010000010010 L -b10001001010010011111010000010010 ] -0( -0) -0+ -0, -b1 0 -0' -#2620 -b10001001010010011111010000010010 S -b1100 W -b10001001010010011111010000010010 d -b1101101 ` -b1100 h -b10 G -b100 4 -1' -#2621 -b100000010 / -#2625 -1[ -0J -b10010100 H -b0 > -1^ -b0 Y -b10 F -b10010100 6 -1; -b111100001 $ -b10 - -b10 < -b10 N -b10 _ -b10010100 " -b10 . -0& -b100011010101001011000101000110 % -b100011010101001011000101000110 : -b100011010101001011000101000110 L -b100011010101001011000101000110 ] -0( -0) -0+ -0, -b1 0 -0' -#2630 -1E -b0 A -b10 G -b100011010101001011000101000110 d -b0 ` -b10 h -1g -1b -b100011010101001011000101000110 S -b10010100 O -b10 W -0Q -1' -#2631 -b100000011 / -#2635 -0[ -0^ -b11000010 Y -1J -b1 > -1M -b0 H -b10 F -b111000010 6 -0; -b111000010 $ -b11 - -b11 < -b11 N -b11 _ -b111100000 " -b10 . -1& -b11101001001100010110101011010010 % -b11101001001100010110101011010010 : -b11101001001100010110101011010010 L -b11101001001100010110101011010010 ] -0( -0) -0+ -0, -b1 0 -0' -#2640 -0E -b1 A -b11101001001100010110101011010010 S -b0 O -b11 W -1Q -b11101001001100010110101011010010 d -b11000010 ` -b11 h -0g -0b -b10 G -b100 4 -1' -#2641 -b100000100 / -#2645 -1[ -0J -b10001000 H -b0 > -1^ -b0 Y -b10 F -b10001000 6 -1; -b100001111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10001000 " -b10 . -0& -b11100100100111100000011011001001 % -b11100100100111100000011011001001 : -b11100100100111100000011011001001 L -b11100100100111100000011011001001 ] -0( -0) -0+ -0, -b1 0 -0' -#2650 -1E -b0 A -b10 G -b11100100100111100000011011001001 d -b0 ` -b1001 h -1g -1b -b11100100100111100000011011001001 S -b10001000 O -b1001 W -0Q -1' -#2651 -b100000101 / -#2655 -b1110101 H -b10 F -b1110101 6 -b100001011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1110101 " -b10 . -b1101111101100011001011111011111 % -b1101111101100011001011111011111 : -b1101111101100011001011111011111 L -b1101111101100011001011111011111 ] -0( -0) -0+ -0, -b1 0 -0' -#2660 -b1101111101100011001011111011111 S -b1110101 O -b1000 W -b1101111101100011001011111011111 d -b1000 h -b10 G -1' -#2661 -b100000110 / -#2665 -0M -b1110010 H -b10 F -b1110010 6 -0; -b1110010 $ -b111 - -b111 < -b111 N -b111 _ -b1011110 " -b10 . -1& -b1100101010011111001100011001 % -b1100101010011111001100011001 : -b1100101010011111001100011001 L -b1100101010011111001100011001 ] -0( -0) -0+ -0, -b1 0 -0' -#2670 -0E -b100 4 -b10 G -b1100101010011111001100011001 d -b111 h -b1100101010011111001100011001 S -b1110010 O -b111 W -0V -1' -#2671 -b100000111 / -#2675 -b10001111 H -b10 F -b10001111 6 -b10001111 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11100000 " -b10 . -1& -b100100010011001001110101001000 % -b100100010011001001110101001000 : -b100100010011001001110101001000 L -b100100010011001001110101001000 ] -0( -0) -0+ -0, -b1 0 -0' -#2680 -b100100010011001001110101001000 S -b10001111 O -b1110 W -b100100010011001001110101001000 d -b1110 h -b10 G -b100 4 -1' -#2681 -b100001000 / -#2685 -1M -b1001111 H -b10 F -b1001111 6 -1; -b110101 $ -b111 - -b111 < -b111 N -b111 _ -b1001111 " -b10 . -0& -b11000010011110110011010010000100 % -b11000010011110110011010010000100 : -b11000010011110110011010010000100 L -b11000010011110110011010010000100 ] -0( -0) -0+ -0, -b1 0 -0' -#2690 -1E -b10 G -b11000010011110110011010010000100 d -b111 h -b11000010011110110011010010000100 S -b1001111 O -b111 W -1V -1' -#2691 -b100001001 / -#2695 -0M -b11111100 H -b10 F -b11111100 6 -0; -b11111100 $ -b110 - -b110 < -b110 N -b110 _ -b10011010 " -b10 . -1& -b11011100100101001010111010111001 % -b11011100100101001010111010111001 : -b11011100100101001010111010111001 L -b11011100100101001010111010111001 ] -0( -0) -0+ -0, -b1 0 -0' -#2698 -b100101100000000011001111 T -#2700 -0E -b100101100000000011001111 # -b10 . -b100101100000000011001111 ! -b100101100000000011001111 C -b11011100100101001010111010111001 S -b11111100 O -b110 W -0V -b11011100100101001010111010111001 d -b110 h -b100101100000000011001111 ? -b10 G -b100 4 -1' -#2701 -b100001010 / -#2705 -0[ -b10110000 Y -1J -b1 > -1M -b0 H -b10 F -b110110000 6 -1; -b110001101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110110000 " -b10 . -0& -b11110100101010011110100011101001 % -b11110100101010011110100011101001 : -b11110100101010011110100011101001 L -b11110100101010011110100011101001 ] -0( -0) -0+ -0, -b1 0 -0' -#2710 -1E -b1 A -b10 G -b11110100101010011110100011101001 d -b10110000 ` -b1100 h -0b -b11110100101010011110100011101001 S -b0 O -b1100 W -1V -1Q -1' -#2711 -b100001011 / -#2715 -b111001 Y -b10 F -b100111001 6 -b111100000 $ -b110 - -b110 < -b110 N -b110 _ -b100111001 " -b10 . -b11011111001110110110101010111110 % -b11011111001110110110101010111110 : -b11011111001110110110101010111110 L -b11011111001110110110101010111110 ] -0( -0) -0+ -0, -b1 0 -0' -#2720 -b0 # -b10 . -b0 ! -b0 C -b11011111001110110110101010111110 S -b110 W -b11011111001110110110101010111110 d -b111001 ` -b110 h -b0 ? -b10 G -1' -#2721 -b100001100 / -#2725 -b10011111 Y -b10 F -b110011111 6 -b100100101 $ -b101 - -b101 < -b101 N -b101 _ -b110011111 " -b10 . -b10000101010000010110011000001010 % -b10000101010000010110011000001010 : -b10000101010000010110011000001010 L -b10000101010000010110011000001010 ] -0( -0) -0+ -0, -b1 0 -0' -#2728 -b1000010111001111010010100000000 e -#2730 -b1000010111001111010010100000000 # -b10 . -b1000010111001111010010100000000 ! -b1000010111001111010010100000000 C -b1000010111001111010010100000000 ? -b10 G -b10000101010000010110011000001010 d -b10011111 ` -b101 h -b10000101010000010110011000001010 S -b101 W -1' -#2731 -b100001101 / -#2735 -1[ -0J -0M -b1000001 H -b0 > -1^ -b0 Y -b10 F -b1000001 6 -0; -b1000001 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111011110 " -b10 . -1& -b10000110110101000011101000001101 % -b10000110110101000011101000001101 : -b10000110110101000011101000001101 L -b10000110110101000011101000001101 ] -0( -0) -0+ -0, -b1 0 -0' -#2738 -b0 e -#2740 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b10000110110101000011101000001101 S -b1000001 O -b1111 W -0V -0Q -b10000110110101000011101000001101 d -b0 ` -b1111 h -1b -b0 ? -b10 G -b100 4 -1' -#2741 -b100001110 / -#2745 -0[ -b1011 Y -1J -b1 > -1M -b0 H -b10 F -b100001011 6 -1; -b1101101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100001011 " -b10 . -0& -b11101101111001010001111011011011 % -b11101101111001010001111011011011 : -b11101101111001010001111011011011 L -b11101101111001010001111011011011 ] -0( -0) -0+ -0, -b1 0 -0' -#2750 -1E -b1 A -b10 G -b11101101111001010001111011011011 d -b1011 ` -b1001 h -0b -b11101101111001010001111011011011 S -b0 O -b1001 W -1V -1Q -1' -#2751 -b100001111 / -#2755 -0^ -b101010 Y -b10 F -b100101010 6 -0; -b100101010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101101110 " -b10 . -1& -b100001101000011011000101000011 % -b100001101000011011000101000011 : -b100001101000011011000101000011 L -b100001101000011011000101000011 ] -0( -0) -0+ -0, -b1 0 -0' -#2760 -0E -b100001101000011011000101000011 S -b1010 W -b100001101000011011000101000011 d -b101010 ` -b1010 h -0g -b10 G -b100 4 -1' -#2761 -b100010000 / -#2765 -1^ -b11101011 Y -b10 F -b111101011 6 -1; -b10100000 $ -b11 - -b11 < -b11 N -b11 _ -b111101011 " -b10 . -0& -b10010111001101001000010000101110 % -b10010111001101001000010000101110 : -b10010111001101001000010000101110 L -b10010111001101001000010000101110 ] -0( -0) -0+ -0, -b1 0 -0' -#2770 -1E -b10 G -b10010111001101001000010000101110 d -b11101011 ` -b11 h -1g -b10010111001101001000010000101110 S -b11 W -1' -#2771 -b100010001 / -#2775 -0^ -b11000001 Y -b10 F -b111000001 6 -0; -b111000001 $ -b1 - -b1 < -b1 N -b1 _ -b100101000 " -b10 . -1& -b11100100100001011111001011001001 % -b11100100100001011111001011001001 : -b11100100100001011111001011001001 L -b11100100100001011111001011001001 ] -0( -0) -0+ -0, -b1 0 -0' -#2778 -b101100011100110 e -#2780 -0E -b101100011100110 # -b10 . -b101100011100110 ! -b101100011100110 C -b11100100100001011111001011001001 S -b1 W -b11100100100001011111001011001001 d -b11000001 ` -b1 h -0g -b101100011100110 ? -b10 G -b100 4 -1' -#2781 -b100010010 / -#2785 -1[ -1^ -b0 Y -0J -0M -b101110 H -b10 F -b0 > -b101110 6 -b101110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110010011 " -b10 . -1& -b10101100001001011110000001011000 % -b10101100001001011110000001011000 : -b10101100001001011110000001011000 L -b10101100001001011110000001011000 ] -0( -0) -0+ -0, -b1 0 -0' -#2790 -b0 A -b100 4 -b10 G -b10101100001001011110000001011000 d -b0 ` -b1001 h -1g -1b -b10101100001001011110000001011000 S -b101110 O -b1001 W -0V -0Q -1' -#2791 -b100010011 / -#2795 -b10111111 H -b10 F -b10111111 6 -b10111111 $ -b110 - -b110 < -b110 N -b110 _ -b11101001 " -b10 . -1& -b10101111011100000110100101011 % -b10101111011100000110100101011 : -b10101111011100000110100101011 L -b10101111011100000110100101011 ] -0( -0) -0+ -0, -b1 0 -0' -#2800 -b10101111011100000110100101011 S -b10111111 O -b110 W -b10101111011100000110100101011 d -b110 h -b10 G -b100 4 -1' -#2801 -b100010100 / -#2805 -0[ -0^ -b1110110 Y -1J -1M -b0 H -b10 F -b1 > -b101110110 6 -b101110110 $ -b10 - -b10 < -b10 N -b10 _ -b110110 " -b10 . -1& -b1011101110100000011110110111011 % -b1011101110100000011110110111011 : -b1011101110100000011110110111011 L -b1011101110100000011110110111011 ] -0( -0) -0+ -0, -b1 0 -0' -#2810 -b1 A -b100 4 -b10 G -b1011101110100000011110110111011 d -b1110110 ` -b10 h -0g -0b -b1011101110100000011110110111011 S -b0 O -b10 W -1V -1Q -1' -#2811 -b100010101 / -#2815 -1[ -0J -b11101100 H -b0 > -1^ -b0 Y -b10 F -b11101100 6 -1; -b1000001 $ -b1 - -b1 < -b1 N -b1 _ -b11101100 " -b10 . -0& -b11001010010100000101100010010100 % -b11001010010100000101100010010100 : -b11001010010100000101100010010100 L -b11001010010100000101100010010100 ] -0( -0) -0+ -0, -b1 0 -0' -#2820 -1E -b0 A -b11001010010100000101100010010100 S -b11101100 O -b1 W -0Q -b11001010010100000101100010010100 d -b0 ` -b1 h -1g -1b -b10 G -1' -#2821 -b100010110 / -#2825 -0[ -0^ -b10101001 Y -1J -b1 > -1M -b0 H -b10 F -b110101001 6 -0; -b110101001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10001001 " -b10 . -1& -b11000101110111000011101010001011 % -b11000101110111000011101010001011 : -b11000101110111000011101010001011 L -b11000101110111000011101010001011 ] -0( -0) -0+ -0, -b1 0 -0' -#2828 -b0 T -#2830 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b11000101110111000011101010001011 d -b10101001 ` -b1011 h -0g -0b -b11000101110111000011101010001011 S -b0 O -b1011 W -1Q -1' -#2831 -b100010111 / -#2835 -1[ -1^ -b0 Y -0J -0M -b1011101 H -b10 F -b0 > -b1011101 6 -b1011101 $ -b10 - -b10 < -b10 N -b10 _ -b100111111 " -b10 . -1& -b1010110100101011101101110101101 % -b1010110100101011101101110101101 : -b1010110100101011101101110101101 L -b1010110100101011101101110101101 ] -0( -0) -0+ -0, -b1 0 -0' -#2840 -b0 A -b1010110100101011101101110101101 S -b1011101 O -b10 W -0V -0Q -b1010110100101011101101110101101 d -b0 ` -b10 h -1g -1b -b10 G -b100 4 -1' -#2841 -b100011000 / -#2845 -1M -b11111011 H -b10 F -b11111011 6 -1; -b10010010 $ -b101 - -b101 < -b101 N -b101 _ -b11111011 " -b10 . -0& -b11001101100100111111101010011011 % -b11001101100100111111101010011011 : -b11001101100100111111101010011011 L -b11001101100100111111101010011011 ] -0( -0) -0+ -0, -b1 0 -0' -#2850 -1E -b10 G -b11001101100100111111101010011011 d -b101 h -b11001101100100111111101010011011 S -b11111011 O -b101 W -1V -1' -#2851 -b100011001 / -#2855 -0[ -0^ -b11001001 Y -1J -b1 > -1M -b0 H -b10 F -b111001001 6 -0; -b111001001 $ -b0 - -b0 < -b0 N -b0 _ -b101001001 " -b10 . -1& -b101101100001101010001101011011 % -b101101100001101010001101011011 : -b101101100001101010001101011011 L -b101101100001101010001101011011 ] -0( -0) -0+ -0, -b1 0 -0' -#2860 -0E -b1 A -b101101100001101010001101011011 S -b0 O -b0 W -1Q -b101101100001101010001101011011 d -b11001001 ` -b0 h -0g -0b -b10 G -b100 4 -1' -#2861 -b100011010 / -#2865 -b1101101 Y -b10 F -b101101101 6 -b101101101 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100011011 " -b10 . -1& -b100101010010011111100101001010 % -b100101010010011111100101001010 : -b100101010010011111100101001010 L -b100101010010011111100101001010 ] -0( -0) -0+ -0, -b1 0 -0' -#2870 -b100 4 -b10 G -b100101010010011111100101001010 d -b1101101 ` -b1110 h -b100101010010011111100101001010 S -b1110 W -1' -#2871 -b100011011 / -#2875 -b11110011 Y -b10 F -b111110011 6 -b111110011 $ -b0 - -b0 < -b0 N -b0 _ -b10011010 " -b10 . -1& -b11100100000100010011001011001000 % -b11100100000100010011001011001000 : -b11100100000100010011001011001000 L -b11100100000100010011001011001000 ] -0( -0) -0+ -0, -b1 0 -0' -#2880 -b11100100000100010011001011001000 S -b0 W -b11100100000100010011001011001000 d -b11110011 ` -b0 h -b10 G -b100 4 -1' -#2881 -b100011100 / -#2885 -1[ -0J -b1001000 H -b0 > -1^ -b0 Y -b10 F -b1001000 6 -1; -b10011 $ -b1 - -b1 < -b1 N -b1 _ -b1001000 " -b10 . -0& -b1011011100011101110101110110111 % -b1011011100011101110101110110111 : -b1011011100011101110101110110111 L -b1011011100011101110101110110111 ] -0( -0) -0+ -0, -b1 0 -0' -#2890 -1E -b0 A -b10 G -b1011011100011101110101110110111 d -b0 ` -b1 h -1g -1b -b1011011100011101110101110110111 S -b1001000 O -b1 W -0Q -1' -#2891 -b100011101 / -#2895 -0M -b10101 H -b10 F -b10101 6 -0; -b10101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101010110 " -b10 . -1& -b11000101000001001101000010001010 % -b11000101000001001101000010001010 : -b11000101000001001101000010001010 L -b11000101000001001101000010001010 ] -0( -0) -0+ -0, -b1 0 -0' -#2898 -b11010111111110000100010010101111 T -#2900 -0E -b11010111111110000100010010101111 # -b10 . -b11010111111110000100010010101111 ! -b11010111111110000100010010101111 C -b11000101000001001101000010001010 S -b10101 O -b1100 W -0V -b11000101000001001101000010001010 d -b1100 h -b11010111111110000100010010101111 ? -b10 G -b100 4 -1' -#2901 -b100011110 / -#2905 -b11001 H -b10 F -b11001 6 -b11001 $ -b100 - -b100 < -b100 N -b100 _ -b110010000 " -b10 . -1& -b11110101011011101010011011101010 % -b11110101011011101010011011101010 : -b11110101011011101010011011101010 L -b11110101011011101010011011101010 ] -0( -0) -0+ -0, -b1 0 -0' -#2910 -b100 4 -b10 G -b11110101011011101010011011101010 d -b100 h -b11110101011011101010011011101010 S -b11001 O -b100 W -1' -#2911 -b100011111 / -#2915 -0[ -b1001001 Y -1J -b1 > -1M -b0 H -b10 F -b101001001 6 -1; -b100011100 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101001001 " -b10 . -0& -b1011111100101101111010110111111 % -b1011111100101101111010110111111 : -b1011111100101101111010110111111 L -b1011111100101101111010110111111 ] -0( -0) -0+ -0, -b1 0 -0' -#2920 -1E -b1 A -b1011111100101101111010110111111 S -b0 O -b1101 W -1V -1Q -b1011111100101101111010110111111 d -b1001001 ` -b1101 h -0b -b10 G -1' -#2921 -b100100000 / -#2925 -0^ -b1110000 Y -b10 F -b101110000 6 -0; -b101110000 $ -b0 - -b0 < -b0 N -b0 _ -b10110110 " -b10 . -1& -b11111000101010111111100011110001 % -b11111000101010111111100011110001 : -b11111000101010111111100011110001 L -b11111000101010111111100011110001 ] -0( -0) -0+ -0, -b1 0 -0' -#2928 -b10010010000000000000000001011000 e -#2930 -0E -b10010010000000000000000001011000 # -b10 . -b10010010000000000000000001011000 ! -b10010010000000000000000001011000 C -b100 4 -b10010010000000000000000001011000 ? -b10 G -b11111000101010111111100011110001 d -b1110000 ` -b0 h -0g -b11111000101010111111100011110001 S -b0 W -1' -#2931 -b100100001 / -#2935 -b100001 Y -b10 F -b100100001 6 -b100100001 $ -b1 - -b1 < -b1 N -b1 _ -b1111111 " -b10 . -1& -b100110010111001111100001001 % -b100110010111001111100001001 : -b100110010111001111100001001 L -b100110010111001111100001001 ] -0( -0) -0+ -0, -b1 0 -0' -#2940 -b100110010111001111100001001 S -b1 W -b100110010111001111100001001 d -b100001 ` -b1 h -b10 G -b100 4 -1' -#2941 -b100100010 / -#2945 -1[ -1^ -b0 Y -0J -0M -b11000011 H -b10 F -b0 > -b11000011 6 -b11000011 $ -b111101 " -b10 . -1& -b10110101100111000111100101101 % -b10110101100111000111100101101 : -b10110101100111000111100101101 L -b10110101100111000111100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#2950 -b0 A -b100 4 -b10 G -b10110101100111000111100101101 d -b0 ` -1g -1b -b10110101100111000111100101101 S -b11000011 O -0V -0Q -1' -#2951 -b100100011 / -#2955 -1M -b11101 H -b10 F -b11101 6 -1; -b100001101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11101 " -b10 . -0& -b11100110100110001011110011001101 % -b11100110100110001011110011001101 : -b11100110100110001011110011001101 L -b11100110100110001011110011001101 ] -0( -0) -0+ -0, -b1 0 -0' -#2960 -1E -b11100110100110001011110011001101 S -b11101 O -b1100 W -1V -b11100110100110001011110011001101 d -b1100 h -b10 G -1' -#2961 -b100100100 / -#2965 -0[ -b1111100 Y -1J -b0 H -b10 F -b1 > -b101111100 6 -b10011 $ -b111 - -b111 < -b111 N -b111 _ -b101111100 " -b10 . -b10000010101111011101000000000101 % -b10000010101111011101000000000101 : -b10000010101111011101000000000101 L -b10000010101111011101000000000101 ] -0( -0) -0+ -0, -b1 0 -0' -#2968 -b11110101000000000000010000000000 T -#2970 -b1 A -b11110101000000000000010000000000 # -b10 . -b11110101000000000000010000000000 ! -b11110101000000000000010000000000 C -b11110101000000000000010000000000 ? -b10 G -b10000010101111011101000000000101 d -b1111100 ` -b111 h -0b -b10000010101111011101000000000101 S -b0 O -b111 W -1Q -1' -#2971 -b100100101 / -#2975 -1[ -b0 Y -0J -b1001001 H -b10 F -b0 > -b1001001 6 -b1110001 $ -b10 - -b10 < -b10 N -b10 _ -b1001001 " -b10 . -b10110000010111001000011001100000 % -b10110000010111001000011001100000 : -b10110000010111001000011001100000 L -b10110000010111001000011001100000 ] -0( -0) -0+ -0, -b1 0 -0' -#2978 -b0 e -#2980 -b0 A -b0 # -b10 . -b0 ! -b0 C -b10110000010111001000011001100000 S -b1001001 O -b10 W -0Q -b10110000010111001000011001100000 d -b0 ` -b10 h -1b -b0 ? -b10 G -1' -#2981 -b100100110 / -#2985 -b1000011 H -b10 F -b1000011 6 -b10101000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1000011 " -b10 . -b11100111010101111011111011001110 % -b11100111010101111011111011001110 : -b11100111010101111011111011001110 L -b11100111010101111011111011001110 ] -0( -0) -0+ -0, -b1 0 -0' -#2988 -b0 T -#2990 -b10 G -b11100111010101111011111011001110 d -b1111 h -b11100111010101111011111011001110 S -b1000011 O -b1111 W -1' -#2991 -b100100111 / -#2995 -0M -b1010101 H -b10 F -b1010101 6 -0; -b1010101 $ -b11 - -b11 < -b11 N -b11 _ -b10011111 " -b10 . -1& -b10101010111111101110001001010101 % -b10101010111111101110001001010101 : -b10101010111111101110001001010101 L -b10101010111111101110001001010101 ] -0( -0) -0+ -0, -b1 0 -0' -#3000 -0E -b10101010111111101110001001010101 S -b1010101 O -b11 W -0V -b10101010111111101110001001010101 d -b11 h -b10 G -b100 4 -1' -#3001 -b100101000 / -#3005 -0[ -b1010001 Y -1J -b1 > -1M -b0 H -b10 F -b101010001 6 -1; -b101101101 $ -b0 - -b0 < -b0 N -b0 _ -b101010001 " -b10 . -0& -b11010111010010101101110010101110 % -b11010111010010101101110010101110 : -b11010111010010101101110010101110 L -b11010111010010101101110010101110 ] -0( -0) -0+ -0, -b1 0 -0' -#3010 -1E -b1 A -b10 G -b11010111010010101101110010101110 d -b1010001 ` -b0 h -0b -b11010111010010101101110010101110 S -b0 O -b0 W -1V -1Q -1' -#3011 -b100101001 / -#3015 -1[ -b0 Y -0J -b1000101 H -b10 F -b0 > -b1000101 6 -b100100111 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b1000101 " -b10 . -b11111111110101011100010011111111 % -b11111111110101011100010011111111 : -b11111111110101011100010011111111 L -b11111111110101011100010011111111 ] -0( -0) -0+ -0, -b1 0 -0' -#3020 -b0 A -b11111111110101011100010011111111 S -b1000101 O -b1110 W -0Q -b11111111110101011100010011111111 d -b0 ` -b1110 h -1b -b10 G -1' -#3021 -b100101010 / -#3025 -0M -b11100010 H -b10 F -b11100010 6 -0; -b11100010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110000101 " -b10 . -1& -b11101011100111000000010011010111 % -b11101011100111000000010011010111 : -b11101011100111000000010011010111 L -b11101011100111000000010011010111 ] -0( -0) -0+ -0, -b1 0 -0' -#3030 -0E -b100 4 -b10 G -b11101011100111000000010011010111 d -b1010 h -b11101011100111000000010011010111 S -b11100010 O -b1010 W -0V -1' -#3031 -b100101011 / -#3035 -0[ -b11001001 Y -1J -b1 > -1M -b0 H -b10 F -b111001001 6 -1; -b101001100 $ -b111001001 " -b10 . -0& -b100100001001001000011101001000 % -b100100001001001000011101001000 : -b100100001001001000011101001000 L -b100100001001001000011101001000 ] -0( -0) -0+ -0, -b1 0 -0' -#3040 -1E -b1 A -b100100001001001000011101001000 S -b0 O -1V -1Q -b100100001001001000011101001000 d -b11001001 ` -0b -b10 G -1' -#3041 -b100101100 / -#3045 -1[ -0J -0M -b11111000 H -b0 > -1^ -b0 Y -b10 F -b11111000 6 -0; -b11111000 $ -b101011110 " -b10 . -1& -b1110100000110010100110111101000 % -b1110100000110010100110111101000 : -b1110100000110010100110111101000 L -b1110100000110010100110111101000 ] -0( -0) -0+ -0, -b1 0 -0' -#3050 -0E -b0 A -b100 4 -b10 G -b1110100000110010100110111101000 d -b0 ` -1b -b1110100000110010100110111101000 S -b11111000 O -0V -0Q -1' -#3051 -b100101101 / -#3055 -b1111011 H -b10 F -b1111011 6 -b1111011 $ -b101 - -b101 < -b101 N -b101 _ -b110101000 " -b10 . -1& -b10011110011100101010100100111 % -b10011110011100101010100100111 : -b10011110011100101010100100111 L -b10011110011100101010100100111 ] -0( -0) -0+ -0, -b1 0 -0' -#3060 -b10011110011100101010100100111 S -b1111011 O -b101 W -b10011110011100101010100100111 d -b101 h -b10 G -b100 4 -1' -#3061 -b100101110 / -#3065 -1M -b11011110 H -b10 F -b11011110 6 -1; -b1010001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11011110 " -b10 . -0& -b10100001101011101110100001000011 % -b10100001101011101110100001000011 : -b10100001101011101110100001000011 L -b10100001101011101110100001000011 ] -0( -0) -0+ -0, -b1 0 -0' -#3070 -1E -b10 G -b10100001101011101110100001000011 d -b1100 h -b10100001101011101110100001000011 S -b11011110 O -b1100 W -1V -1' -#3071 -b100101111 / -#3075 -0[ -b1000000 Y -1J -b0 H -b10 F -b1 > -b101000000 6 -b110000111 $ -b10 - -b10 < -b10 N -b10 _ -b101000000 " -b10 . -b1110100100100111000010111101001 % -b1110100100100111000010111101001 : -b1110100100100111000010111101001 L -b1110100100100111000010111101001 ] -0( -0) -0+ -0, -b1 0 -0' -#3080 -b1 A -b1110100100100111000010111101001 S -b0 O -b10 W -1Q -b1110100100100111000010111101001 d -b1000000 ` -b10 h -0b -b10 G -1' -#3081 -b100110000 / -#3085 -1[ -0J -0M -b11010 H -b0 > -1^ -b0 Y -b10 F -b11010 6 -0; -b11010 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b11100111 " -b10 . -1& -b1010001011110110000100110100010 % -b1010001011110110000100110100010 : -b1010001011110110000100110100010 L -b1010001011110110000100110100010 ] -0( -0) -0+ -0, -b1 0 -0' -#3090 -0E -b0 A -b100 4 -b10 G -b1010001011110110000100110100010 d -b0 ` -b1001 h -1b -b1010001011110110000100110100010 S -b11010 O -b1001 W -0V -0Q -1' -#3091 -b100110001 / -#3095 -0[ -0^ -b10111111 Y -1J -1M -b0 H -b10 F -b1 > -b110111111 6 -b110111111 $ -b111 - -b111 < -b111 N -b111 _ -b100111100 " -b10 . -1& -b110011111100011111010101100111 % -b110011111100011111010101100111 : -b110011111100011111010101100111 L -b110011111100011111010101100111 ] -0( -0) -0+ -0, -b1 0 -0' -#3100 -b1 A -b110011111100011111010101100111 S -b0 O -b111 W -1V -1Q -b110011111100011111010101100111 d -b10111111 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#3101 -b100110010 / -#3105 -1[ -0J -b11110100 H -b0 > -1^ -b0 Y -b10 F -b11110100 6 -1; -b101111011 $ -b101 - -b101 < -b101 N -b101 _ -b11110100 " -b10 . -0& -b10001101010110001011100000011010 % -b10001101010110001011100000011010 : -b10001101010110001011100000011010 L -b10001101010110001011100000011010 ] -0( -0) -0+ -0, -b1 0 -0' -#3110 -1E -b0 A -b10 G -b10001101010110001011100000011010 d -b0 ` -b101 h -1g -1b -b10001101010110001011100000011010 S -b11110100 O -b101 W -0Q -1' -#3111 -b100110011 / -#3115 -b11000011 H -b10 F -b11000011 6 -b100001 $ -b10 - -b10 < -b10 N -b10 _ -b11000011 " -b10 . -b1100000100000000111011111000001 % -b1100000100000000111011111000001 : -b1100000100000000111011111000001 L -b1100000100000000111011111000001 ] -0( -0) -0+ -0, -b1 0 -0' -#3118 -b10110010000000001111000001100101 T -#3120 -b10110010000000001111000001100101 # -b10 . -b10110010000000001111000001100101 ! -b10110010000000001111000001100101 C -b1100000100000000111011111000001 S -b11000011 O -b10 W -b1100000100000000111011111000001 d -b10 h -b10110010000000001111000001100101 ? -b10 G -1' -#3121 -b100110100 / -#3125 -0[ -b11111000 Y -1J -b0 H -b10 F -b1 > -b111111000 6 -b101101100 $ -b100 - -b100 < -b100 N -b100 _ -b111111000 " -b10 . -b1100010010110011011111111000100 % -b1100010010110011011111111000100 : -b1100010010110011011111111000100 L -b1100010010110011011111111000100 ] -0( -0) -0+ -0, -b1 0 -0' -#3128 -b101101 T -#3130 -b1 A -b101101 # -b10 . -b101101 ! -b101101 C -b101101 ? -b10 G -b1100010010110011011111111000100 d -b11111000 ` -b100 h -0b -b1100010010110011011111111000100 S -b0 O -b100 W -1Q -1' -#3131 -b100110101 / -#3135 -1[ -b0 Y -0J -b100101 H -b10 F -b0 > -b100101 6 -b1101010 $ -b1 - -b1 < -b1 N -b1 _ -b100101 " -b10 . -b10100010111010010000100101000 % -b10100010111010010000100101000 : -b10100010111010010000100101000 L -b10100010111010010000100101000 ] -0( -0) -0+ -0, -b1 0 -0' -#3140 -b0 A -b0 # -b10 . -b0 ! -b0 C -b10100010111010010000100101000 S -b100101 O -b1 W -0Q -b10100010111010010000100101000 d -b0 ` -b1 h -1b -b0 ? -b10 G -1' -#3141 -b100110110 / -#3145 -0[ -0^ -b10010011 Y -1J -b1 > -1M -b0 H -b10 F -b110010011 6 -0; -b110010011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111000101 " -b10 . -1& -b1000111011001110111111110001110 % -b1000111011001110111111110001110 : -b1000111011001110111111110001110 L -b1000111011001110111111110001110 ] -0( -0) -0+ -0, -b1 0 -0' -#3148 -b10111100000000000000000001111001 T -#3150 -0E -b1 A -b10111100000000000000000001111001 # -b10 . -b10111100000000000000000001111001 ! -b10111100000000000000000001111001 C -b100 4 -b10111100000000000000000001111001 ? -b10 G -b1000111011001110111111110001110 d -b10010011 ` -b1001 h -0g -0b -b1000111011001110111111110001110 S -b0 O -b1001 W -1Q -1' -#3151 -b100110111 / -#3155 -1[ -0J -b11001110 H -b0 > -1^ -b0 Y -b10 F -b11001110 6 -1; -b1000000 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11001110 " -b10 . -0& -b11110001000001101011100011100010 % -b11110001000001101011100011100010 : -b11110001000001101011100011100010 L -b11110001000001101011100011100010 ] -0( -0) -0+ -0, -b1 0 -0' -#3160 -1E -b0 A -b11110001000001101011100011100010 S -b11001110 O -b1011 W -0Q -b11110001000001101011100011100010 d -b0 ` -b1011 h -1g -1b -b10 G -1' -#3161 -b100111000 / -#3165 -b10111100 H -b10 F -b10111100 6 -b1010010 $ -b0 - -b0 < -b0 N -b0 _ -b10111100 " -b10 . -b11100110000000101101101011001100 % -b11100110000000101101101011001100 : -b11100110000000101101101011001100 L -b11100110000000101101101011001100 ] -0( -0) -0+ -0, -b1 0 -0' -#3168 -b0 T -#3170 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b11100110000000101101101011001100 d -b0 h -b11100110000000101101101011001100 S -b10111100 O -b0 W -1' -#3171 -b100111001 / -#3175 -0[ -b110110 Y -1J -b0 H -b10 F -b1 > -b100110110 6 -b1100101 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100110110 " -b10 . -b11101101110010001000100111011 % -b11101101110010001000100111011 : -b11101101110010001000100111011 L -b11101101110010001000100111011 ] -0( -0) -0+ -0, -b1 0 -0' -#3180 -b1 A -b11101101110010001000100111011 S -b0 O -b1010 W -1Q -b11101101110010001000100111011 d -b110110 ` -b1010 h -0b -b10 G -1' -#3181 -b100111010 / -#3185 -1[ -b0 Y -0J -b111110 H -b10 F -b0 > -b111110 6 -b101100101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111110 " -b10 . -b11100110110110000101100111001 % -b11100110110110000101100111001 : -b11100110110110000101100111001 L -b11100110110110000101100111001 ] -0( -0) -0+ -0, -b1 0 -0' -#3190 -b0 A -b10 G -b11100110110110000101100111001 d -b0 ` -b1011 h -1b -b11100110110110000101100111001 S -b111110 O -b1011 W -0Q -1' -#3191 -b100111011 / -#3195 -0[ -b11101 Y -1J -b0 H -b10 F -b1 > -b100011101 6 -b10011110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100011101 " -b10 . -b10100000001001000110100001000000 % -b10100000001001000110100001000000 : -b10100000001001000110100001000000 L -b10100000001001000110100001000000 ] -0( -0) -0+ -0, -b1 0 -0' -#3200 -b1 A -b10100000001001000110100001000000 S -b0 O -b1111 W -1Q -b10100000001001000110100001000000 d -b11101 ` -b1111 h -0b -b10 G -1' -#3201 -b100111100 / -#3205 -1[ -b0 Y -0J -b11000100 H -b10 F -b0 > -b11000100 6 -b101100000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11000100 " -b10 . -b1110111101100111000100111101111 % -b1110111101100111000100111101111 : -b1110111101100111000100111101111 L -b1110111101100111000100111101111 ] -0( -0) -0+ -0, -b1 0 -0' -#3210 -b0 A -b10 G -b1110111101100111000100111101111 d -b0 ` -b1110 h -1b -b1110111101100111000100111101111 S -b11000100 O -b1110 W -0Q -1' -#3211 -b100111101 / -#3215 -0M -b1100 H -b10 F -b1100 6 -0; -b1100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111110 " -b10 . -1& -b1110100000101111100010111101000 % -b1110100000101111100010111101000 : -b1110100000101111100010111101000 L -b1110100000101111100010111101000 ] -0( -0) -0+ -0, -b1 0 -0' -#3220 -0E -b1110100000101111100010111101000 S -b1100 O -b1100 W -0V -b1110100000101111100010111101000 d -b1100 h -b10 G -b100 4 -1' -#3221 -b100111110 / -#3225 -b1010000 H -b10 F -b1010000 6 -b1010000 $ -b110 - -b110 < -b110 N -b110 _ -b11110101 " -b10 . -1& -b10001001110100001110011000010011 % -b10001001110100001110011000010011 : -b10001001110100001110011000010011 L -b10001001110100001110011000010011 ] -0( -0) -0+ -0, -b1 0 -0' -#3230 -b100 4 -b10 G -b10001001110100001110011000010011 d -b110 h -b10001001110100001110011000010011 S -b1010000 O -b110 W -1' -#3231 -b100111111 / -#3235 -0[ -b11101 Y -1J -b1 > -1M -b0 H -b10 F -b100011101 6 -1; -b1111001 $ -b100011101 " -b10 . -0& -b10101001011101100110000001010010 % -b10101001011101100110000001010010 : -b10101001011101100110000001010010 L -b10101001011101100110000001010010 ] -0( -0) -0+ -0, -b1 0 -0' -#3240 -1E -b1 A -b10101001011101100110000001010010 S -b0 O -1V -1Q -b10101001011101100110000001010010 d -b11101 ` -0b -b10 G -1' -#3241 -b101000000 / -#3245 -1[ -b0 Y -0J -b11101000 H -b10 F -b0 > -b11101000 6 -b110001010 $ -b11101000 " -b10 . -b10000111111001001011010000001111 % -b10000111111001001011010000001111 : -b10000111111001001011010000001111 L -b10000111111001001011010000001111 ] -0( -0) -0+ -0, -b1 0 -0' -#3250 -b0 A -b10 G -b10000111111001001011010000001111 d -b0 ` -1b -b10000111111001001011010000001111 S -b11101000 O -0Q -1' -#3251 -b101000001 / -#3255 -0[ -0^ -b100000 Y -1J -b1 > -1M -b0 H -b10 F -b100100000 6 -0; -b100100000 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100010 " -b10 . -1& -b111000100011111111100101110001 % -b111000100011111111100101110001 : -b111000100011111111100101110001 L -b111000100011111111100101110001 ] -0( -0) -0+ -0, -b1 0 -0' -#3258 -b1101100000000 T -#3260 -0E -b1 A -b1101100000000 # -b10 . -b1101100000000 ! -b1101100000000 C -b111000100011111111100101110001 S -b0 O -b1100 W -1Q -b111000100011111111100101110001 d -b100000 ` -b1100 h -0g -0b -b1101100000000 ? -b10 G -b100 4 -1' -#3261 -b101000010 / -#3265 -b100101 Y -b10 F -b100100101 6 -b100100101 $ -b11 - -b11 < -b11 N -b11 _ -b1101011 " -b10 . -1& -b10011100001100000101110000111000 % -b10011100001100000101110000111000 : -b10011100001100000101110000111000 L -b10011100001100000101110000111000 ] -0( -0) -0+ -0, -b1 0 -0' -#3270 -b100 4 -b10 G -b10011100001100000101110000111000 d -b100101 ` -b11 h -b10011100001100000101110000111000 S -b11 W -1' -#3271 -b101000011 / -#3275 -1^ -b11011101 Y -b10 F -b111011101 6 -1; -b111000000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111011101 " -b10 . -0& -b11011011101101000011110010110111 % -b11011011101101000011110010110111 : -b11011011101101000011110010110111 L -b11011011101101000011110010110111 ] -0( -0) -0+ -0, -b1 0 -0' -#3280 -1E -b11011011101101000011110010110111 S -b1110 W -b11011011101101000011110010110111 d -b11011101 ` -b1110 h -1g -b10 G -1' -#3281 -b101000100 / -#3285 -0^ -b10001011 Y -b10 F -b110001011 6 -0; -b110001011 $ -b100 - -b100 < -b100 N -b100 _ -b1000 " -b10 . -1& -b10101011010101110000100001010110 % -b10101011010101110000100001010110 : -b10101011010101110000100001010110 L -b10101011010101110000100001010110 ] -0( -0) -0+ -0, -b1 0 -0' -#3290 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10101011010101110000100001010110 d -b10001011 ` -b100 h -0g -b10101011010101110000100001010110 S -b100 W -1' -#3291 -b101000101 / -#3295 -1[ -0J -b10101 H -b0 > -1^ -b0 Y -b10 F -b10101 6 -1; -b100100101 $ -b111 - -b111 < -b111 N -b111 _ -b10101 " -b10 . -0& -b1000001100110010010011110000011 % -b1000001100110010010011110000011 : -b1000001100110010010011110000011 L -b1000001100110010010011110000011 ] -0( -0) -0+ -0, -b1 0 -0' -#3300 -1E -b0 A -b1000001100110010010011110000011 S -b10101 O -b111 W -0Q -b1000001100110010010011110000011 d -b0 ` -b111 h -1g -1b -b10 G -1' -#3301 -b101000110 / -#3305 -0[ -0^ -b11111011 Y -1J -b1 > -1M -b0 H -b10 F -b111111011 6 -0; -b111111011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11010010 " -b10 . -1& -b1010000101100111110100010100 % -b1010000101100111110100010100 : -b1010000101100111110100010100 L -b1010000101100111110100010100 ] -0( -0) -0+ -0, -b1 0 -0' -#3308 -b11000101000001000000000000000000 T -#3310 -0E -b1 A -b11000101000001000000000000000000 # -b10 . -b11000101000001000000000000000000 ! -b11000101000001000000000000000000 C -b100 4 -b11000101000001000000000000000000 ? -b10 G -b1010000101100111110100010100 d -b11111011 ` -b1011 h -0g -0b -b1010000101100111110100010100 S -b0 O -b1011 W -1Q -1' -#3311 -b101000111 / -#3315 -b11001110 Y -b10 F -b111001110 6 -b111001110 $ -b101 - -b101 < -b101 N -b101 _ -b10101011 " -b10 . -1& -b110111011000101101100001101 % -b110111011000101101100001101 : -b110111011000101101100001101 L -b110111011000101101100001101 ] -0( -0) -0+ -0, -b1 0 -0' -#3320 -b110111011000101101100001101 S -b101 W -b110111011000101101100001101 d -b11001110 ` -b101 h -b10 G -b100 4 -1' -#3321 -b101001000 / -#3325 -1[ -0J -b1011011 H -b0 > -1^ -b0 Y -b10 F -b1011011 6 -1; -b10000011 $ -b11 - -b11 < -b11 N -b11 _ -b1011011 " -b10 . -0& -b11101011110111101111010011010111 % -b11101011110111101111010011010111 : -b11101011110111101111010011010111 L -b11101011110111101111010011010111 ] -0( -0) -0+ -0, -b1 0 -0' -#3330 -1E -b0 A -b10 G -b11101011110111101111010011010111 d -b0 ` -b11 h -1g -1b -b11101011110111101111010011010111 S -b1011011 O -b11 W -0Q -1' -#3331 -b101001001 / -#3335 -0[ -0^ -b1010110 Y -1J -b1 > -1M -b0 H -b10 F -b101010110 6 -0; -b101010110 $ -b1 - -b1 < -b1 N -b1 _ -b111010100 " -b10 . -1& -b1000110001001111000101110001100 % -b1000110001001111000101110001100 : -b1000110001001111000101110001100 L -b1000110001001111000101110001100 ] -0( -0) -0+ -0, -b1 0 -0' -#3338 -b0 T -#3340 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b1000110001001111000101110001100 S -b0 O -b1 W -1Q -b1000110001001111000101110001100 d -b1010110 ` -b1 h -0g -0b -b0 ? -b10 G -b100 4 -1' -#3341 -b101001010 / -#3345 -1[ -0J -b11010101 H -b0 > -1^ -b0 Y -b10 F -b11010101 6 -1; -b111010101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11010101 " -b10 . -0& -b10001000000000100000111000010000 % -b10001000000000100000111000010000 : -b10001000000000100000111000010000 L -b10001000000000100000111000010000 ] -0( -0) -0+ -0, -b1 0 -0' -#3350 -1E -b0 A -b10 G -b10001000000000100000111000010000 d -b0 ` -b1011 h -1g -1b -b10001000000000100000111000010000 S -b11010101 O -b1011 W -0Q -1' -#3351 -b101001011 / -#3355 -b11011100 H -b10 F -b11011100 6 -b110011001 $ -b11011100 " -b10 . -b11100011011111111101010011000110 % -b11100011011111111101010011000110 : -b11100011011111111101010011000110 L -b11100011011111111101010011000110 ] -0( -0) -0+ -0, -b1 0 -0' -#3358 -b11010010001000100000000000000000 T -#3360 -b11010010001000100000000000000000 # -b10 . -b11010010001000100000000000000000 ! -b11010010001000100000000000000000 C -b11100011011111111101010011000110 S -b11011100 O -b11100011011111111101010011000110 d -b11010010001000100000000000000000 ? -b10 G -1' -#3361 -b101001100 / -#3365 -b10001001 H -b10 F -b10001001 6 -b1001000 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10001001 " -b10 . -b110111100001010000100001101 % -b110111100001010000100001101 : -b110111100001010000100001101 L -b110111100001010000100001101 ] -0( -0) -0+ -0, -b1 0 -0' -#3368 -b0 T -#3370 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b110111100001010000100001101 d -b1000 h -b110111100001010000100001101 S -b10001001 O -b1000 W -1' -#3371 -b101001101 / -#3375 -0[ -0^ -b10111001 Y -1J -b1 > -1M -b0 H -b10 F -b110111001 6 -0; -b110111001 $ -b110 - -b110 < -b110 N -b110 _ -b101100 " -b10 . -1& -b110111100010000010000101101111 % -b110111100010000010000101101111 : -b110111100010000010000101101111 L -b110111100010000010000101101111 ] -0( -0) -0+ -0, -b1 0 -0' -#3380 -0E -b1 A -b110111100010000010000101101111 S -b0 O -b110 W -1Q -b110111100010000010000101101111 d -b10111001 ` -b110 h -0g -0b -b10 G -b100 4 -1' -#3381 -b101001110 / -#3385 -1[ -0J -b1010010 H -b0 > -1^ -b0 Y -b10 F -b1010010 6 -1; -b110100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1010010 " -b10 . -0& -b10101010101111111010000001010101 % -b10101010101111111010000001010101 : -b10101010101111111010000001010101 L -b10101010101111111010000001010101 ] -0( -0) -0+ -0, -b1 0 -0' -#3390 -1E -b0 A -b10 G -b10101010101111111010000001010101 d -b0 ` -b1100 h -1g -1b -b10101010101111111010000001010101 S -b1010010 O -b1100 W -0Q -1' -#3391 -b101001111 / -#3395 -0[ -0^ -b10011010 Y -1J -b1 > -1M -b0 H -b10 F -b110011010 6 -0; -b110011010 $ -b101 - -b101 < -b101 N -b101 _ -b11101110 " -b10 . -1& -b1101110111101000011100011011 % -b1101110111101000011100011011 : -b1101110111101000011100011011 L -b1101110111101000011100011011 ] -0( -0) -0+ -0, -b1 0 -0' -#3400 -0E -b1 A -b1101110111101000011100011011 S -b0 O -b101 W -1Q -b1101110111101000011100011011 d -b10011010 ` -b101 h -0g -0b -b10 G -b100 4 -1' -#3401 -b101010000 / -#3405 -b1010101 Y -b10 F -b101010101 6 -b101010101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101000111 " -b10 . -1& -b1000101111010111111101110001011 % -b1000101111010111111101110001011 : -b1000101111010111111101110001011 L -b1000101111010111111101110001011 ] -0( -0) -0+ -0, -b1 0 -0' -#3410 -b100 4 -b10 G -b1000101111010111111101110001011 d -b1010101 ` -b1011 h -b1000101111010111111101110001011 S -b1011 W -1' -#3411 -b101010001 / -#3415 -1[ -1^ -b0 Y -0J -0M -b1111101 H -b10 F -b0 > -b1111101 6 -b1111101 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10110100 " -b10 . -1& -b1000101111111001010011110001011 % -b1000101111111001010011110001011 : -b1000101111111001010011110001011 L -b1000101111111001010011110001011 ] -0( -0) -0+ -0, -b1 0 -0' -#3420 -b0 A -b1000101111111001010011110001011 S -b1111101 O -b1000 W -0V -0Q -b1000101111111001010011110001011 d -b0 ` -b1000 h -1g -1b -b10 G -b100 4 -1' -#3421 -b101010010 / -#3425 -0[ -b10000110 Y -1J -b1 > -1M -b0 H -b10 F -b110000110 6 -1; -b1101000 $ -b11 - -b11 < -b11 N -b11 _ -b110000110 " -b10 . -0& -b1100001000101010111111111000010 % -b1100001000101010111111111000010 : -b1100001000101010111111111000010 L -b1100001000101010111111111000010 ] -0( -0) -0+ -0, -b1 0 -0' -#3430 -1E -b1 A -b10 G -b1100001000101010111111111000010 d -b10000110 ` -b11 h -0b -b1100001000101010111111111000010 S -b0 O -b11 W -1V -1Q -1' -#3431 -b101010011 / -#3435 -1[ -b0 Y -0J -b10001011 H -b10 F -b0 > -b10001011 6 -b101011101 $ -b10 - -b10 < -b10 N -b10 _ -b10001011 " -b10 . -b1110011000000110000111111100110 % -b1110011000000110000111111100110 : -b1110011000000110000111111100110 L -b1110011000000110000111111100110 ] -0( -0) -0+ -0, -b1 0 -0' -#3440 -b0 A -b1110011000000110000111111100110 S -b10001011 O -b10 W -0Q -b1110011000000110000111111100110 d -b0 ` -b10 h -1b -b10 G -1' -#3441 -b101010100 / -#3445 -0[ -0^ -b11011001 Y -1J -b1 > -1M -b0 H -b10 F -b111011001 6 -0; -b111011001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110100110 " -b10 . -1& -b1011100001010001011000110111000 % -b1011100001010001011000110111000 : -b1011100001010001011000110111000 L -b1011100001010001011000110111000 ] -0( -0) -0+ -0, -b1 0 -0' -#3450 -0E -b1 A -b100 4 -b10 G -b1011100001010001011000110111000 d -b11011001 ` -b1000 h -0g -0b -b1011100001010001011000110111000 S -b0 O -b1000 W -1Q -1' -#3451 -b101010101 / -#3455 -1^ -b10 Y -b10 F -b100000010 6 -1; -b100111 $ -b101 - -b101 < -b101 N -b101 _ -b100000010 " -b10 . -0& -b11001100000101111001100010011000 % -b11001100000101111001100010011000 : -b11001100000101111001100010011000 L -b11001100000101111001100010011000 ] -0( -0) -0+ -0, -b1 0 -0' -#3460 -1E -b11001100000101111001100010011000 S -b101 W -b11001100000101111001100010011000 d -b10 ` -b101 h -1g -b10 G -1' -#3461 -b101010110 / -#3465 -0^ -b10111110 Y -b10 F -b110111110 6 -0; -b110111110 $ -b111 - -b111 < -b111 N -b111 _ -b10010101 " -b10 . -1& -b11010001001011111011010010100010 % -b11010001001011111011010010100010 : -b11010001001011111011010010100010 L -b11010001001011111011010010100010 ] -0( -0) -0+ -0, -b1 0 -0' -#3470 -0E -b100 4 -b10 G -b11010001001011111011010010100010 d -b10111110 ` -b111 h -0g -b11010001001011111011010010100010 S -b111 W -1' -#3471 -b101010111 / -#3475 -b11110101 Y -b10 F -b111110101 6 -b111110101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10001011 " -b10 . -1& -b1001001101011101100011110010011 % -b1001001101011101100011110010011 : -b1001001101011101100011110010011 L -b1001001101011101100011110010011 ] -0( -0) -0+ -0, -b1 0 -0' -#3480 -b1001001101011101100011110010011 S -b1011 W -b1001001101011101100011110010011 d -b11110101 ` -b1011 h -b10 G -b100 4 -1' -#3481 -b101011000 / -#3485 -1^ -b11100011 Y -b10 F -b111100011 6 -1; -b11011111 $ -b101 - -b101 < -b101 N -b101 _ -b111100011 " -b10 . -0& -b1110110110000100010101111101101 % -b1110110110000100010101111101101 : -b1110110110000100010101111101101 L -b1110110110000100010101111101101 ] -0( -0) -0+ -0, -b1 0 -0' -#3490 -1E -b10 G -b1110110110000100010101111101101 d -b11100011 ` -b101 h -1g -b1110110110000100010101111101101 S -b101 W -1' -#3491 -b101011001 / -#3495 -b1000110 Y -b10 F -b101000110 6 -b10110001 $ -b10 - -b10 < -b10 N -b10 _ -b101000110 " -b10 . -b11100110110000010111100111001 % -b11100110110000010111100111001 : -b11100110110000010111100111001 L -b11100110110000010111100111001 ] -0( -0) -0+ -0, -b1 0 -0' -#3500 -b11100110110000010111100111001 S -b10 W -b11100110110000010111100111001 d -b1000110 ` -b10 h -b10 G -1' -#3501 -b101011010 / -#3505 -0^ -b1010110 Y -b10 F -b101010110 6 -0; -b101010110 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11111010 " -b10 . -1& -b100101110011000000110101001011 % -b100101110011000000110101001011 : -b100101110011000000110101001011 L -b100101110011000000110101001011 ] -0( -0) -0+ -0, -b1 0 -0' -#3510 -0E -b100 4 -b10 G -b100101110011000000110101001011 d -b1010110 ` -b1100 h -0g -b100101110011000000110101001011 S -b1100 W -1' -#3511 -b101011011 / -#3515 -1^ -b10010101 Y -b10 F -b110010101 6 -1; -b1001011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110010101 " -b10 . -0& -b1110100011001011100110111101000 % -b1110100011001011100110111101000 : -b1110100011001011100110111101000 L -b1110100011001011100110111101000 ] -0( -0) -0+ -0, -b1 0 -0' -#3520 -1E -b1110100011001011100110111101000 S -b1001 W -b1110100011001011100110111101000 d -b10010101 ` -b1001 h -1g -b10 G -1' -#3521 -b101011100 / -#3525 -b11001011 Y -b10 F -b111001011 6 -b0 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111001011 " -b10 . -b1101010001000111001011111010100 % -b1101010001000111001011111010100 : -b1101010001000111001011111010100 L -b1101010001000111001011111010100 ] -0( -0) -0+ -0, -b1 0 -0' -#3530 -b10 G -b1101010001000111001011111010100 d -b11001011 ` -b1111 h -b1101010001000111001011111010100 S -b1111 W -1' -#3531 -b101011101 / -#3535 -0^ -b110010 Y -b10 F -b100110010 6 -0; -b100110010 $ -b110 - -b110 < -b110 N -b110 _ -b110001100 " -b10 . -1& -b11110000100001100110100011100001 % -b11110000100001100110100011100001 : -b11110000100001100110100011100001 L -b11110000100001100110100011100001 ] -0( -0) -0+ -0, -b1 0 -0' -#3540 -0E -b11110000100001100110100011100001 S -b110 W -b11110000100001100110100011100001 d -b110010 ` -b110 h -0g -b10 G -b100 4 -1' -#3541 -b101011110 / -#3545 -1^ -b11001001 Y -b10 F -b111001001 6 -1; -b111010101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111001001 " -b10 . -0& -b10010111001001100001011000101110 % -b10010111001001100001011000101110 : -b10010111001001100001011000101110 L -b10010111001001100001011000101110 ] -0( -0) -0+ -0, -b1 0 -0' -#3550 -1E -b10 G -b10010111001001100001011000101110 d -b11001001 ` -b1100 h -1g -b10010111001001100001011000101110 S -b1100 W -1' -#3551 -b101011111 / -#3555 -b1100110 Y -b10 F -b101100110 6 -b110001001 $ -b111 - -b111 < -b111 N -b111 _ -b101100110 " -b10 . -b11101000001010101111101011010000 % -b11101000001010101111101011010000 : -b11101000001010101111101011010000 L -b11101000001010101111101011010000 ] -0( -0) -0+ -0, -b1 0 -0' -#3560 -b11101000001010101111101011010000 S -b111 W -b11101000001010101111101011010000 d -b1100110 ` -b111 h -b10 G -1' -#3561 -b101100000 / -#3565 -0^ -b10011001 Y -b10 F -b110011001 6 -0; -b110011001 $ -b110 - -b110 < -b110 N -b110 _ -b110010110 " -b10 . -1& -b10101001010100111101111001010010 % -b10101001010100111101111001010010 : -b10101001010100111101111001010010 L -b10101001010100111101111001010010 ] -0( -0) -0+ -0, -b1 0 -0' -#3570 -0E -b100 4 -b10 G -b10101001010100111101111001010010 d -b10011001 ` -b110 h -0g -b10101001010100111101111001010010 S -b110 W -1' -#3571 -b101100001 / -#3575 -1[ -0J -b10010110 H -b0 > -1^ -b0 Y -b10 F -b10010110 6 -1; -b100100011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b10010110 " -b10 . -0& -b11101100010011110000001011011000 % -b11101100010011110000001011011000 : -b11101100010011110000001011011000 L -b11101100010011110000001011011000 ] -0( -0) -0+ -0, -b1 0 -0' -#3580 -1E -b0 A -b11101100010011110000001011011000 S -b10010110 O -b1100 W -0Q -b11101100010011110000001011011000 d -b0 ` -b1100 h -1g -1b -b10 G -1' -#3581 -b101100010 / -#3585 -0M -b10011111 H -b10 F -b10011111 6 -0; -b10011111 $ -b110 - -b110 < -b110 N -b110 _ -b100111011 " -b10 . -1& -b10111011101000110001101001110111 % -b10111011101000110001101001110111 : -b10111011101000110001101001110111 L -b10111011101000110001101001110111 ] -0( -0) -0+ -0, -b1 0 -0' -#3590 -0E -b100 4 -b10 G -b10111011101000110001101001110111 d -b110 h -b10111011101000110001101001110111 S -b10011111 O -b110 W -0V -1' -#3591 -b101100011 / -#3595 -0[ -0^ -b1111100 Y -1J -1M -b0 H -b10 F -b1 > -b101111100 6 -b101111100 $ -b11 - -b11 < -b11 N -b11 _ -b1100100 " -b10 . -1& -b1110011111110111110110111100111 % -b1110011111110111110110111100111 : -b1110011111110111110110111100111 L -b1110011111110111110110111100111 ] -0( -0) -0+ -0, -b1 0 -0' -#3600 -b1 A -b1110011111110111110110111100111 S -b0 O -b11 W -1V -1Q -b1110011111110111110110111100111 d -b1111100 ` -b11 h -0g -0b -b10 G -b100 4 -1' -#3601 -b101100100 / -#3605 -b11 Y -b10 F -b100000011 6 -b100000011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101001011 " -b10 . -1& -b1110011000000011011001111100110 % -b1110011000000011011001111100110 : -b1110011000000011011001111100110 L -b1110011000000011011001111100110 ] -0( -0) -0+ -0, -b1 0 -0' -#3610 -b100 4 -b10 G -b1110011000000011011001111100110 d -b11 ` -b1000 h -b1110011000000011011001111100110 S -b1000 W -1' -#3611 -b101100101 / -#3615 -b11100000 Y -b10 F -b111100000 6 -b111100000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10001111 " -b10 . -1& -b10000000100111110111011000000001 % -b10000000100111110111011000000001 : -b10000000100111110111011000000001 L -b10000000100111110111011000000001 ] -0( -0) -0+ -0, -b1 0 -0' -#3620 -b10000000100111110111011000000001 S -b1110 W -b10000000100111110111011000000001 d -b11100000 ` -b1110 h -b10 G -b100 4 -1' -#3621 -b101100110 / -#3625 -1^ -b10000100 Y -b10 F -b110000100 6 -1; -b111100111 $ -b110 - -b110 < -b110 N -b110 _ -b110000100 " -b10 . -0& -b11101100001111100010100011011000 % -b11101100001111100010100011011000 : -b11101100001111100010100011011000 L -b11101100001111100010100011011000 ] -0( -0) -0+ -0, -b1 0 -0' -#3630 -1E -b10 G -b11101100001111100010100011011000 d -b10000100 ` -b110 h -1g -b11101100001111100010100011011000 S -b110 W -1' -#3631 -b101100111 / -#3635 -1[ -0J -0M -b1010011 H -b0 > -1^ -b0 Y -b10 F -b1010011 6 -0; -b1010011 $ -b11 - -b11 < -b11 N -b11 _ -b10010110 " -b10 . -1& -b101000011010000000100001010 % -b101000011010000000100001010 : -b101000011010000000100001010 L -b101000011010000000100001010 ] -0( -0) -0+ -0, -b1 0 -0' -#3640 -0E -b0 A -b101000011010000000100001010 S -b1010011 O -b11 W -0V -0Q -b101000011010000000100001010 d -b0 ` -b11 h -1b -b10 G -b100 4 -1' -#3641 -b101101000 / -#3645 -0[ -0^ -b10111101 Y -1J -1M -b0 H -b10 F -b1 > -b110111101 6 -b110111101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1111110 " -b10 . -1& -b1100000010011110111101111000000 % -b1100000010011110111101111000000 : -b1100000010011110111101111000000 L -b1100000010011110111101111000000 ] -0( -0) -0+ -0, -b1 0 -0' -#3650 -b1 A -b100 4 -b10 G -b1100000010011110111101111000000 d -b10111101 ` -b1111 h -0g -0b -b1100000010011110111101111000000 S -b0 O -b1111 W -1V -1Q -1' -#3651 -b101101001 / -#3655 -1^ -b10000010 Y -b10 F -b110000010 6 -1; -b1110001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110000010 " -b10 . -0& -b11010010000100000000100110100 % -b11010010000100000000100110100 : -b11010010000100000000100110100 L -b11010010000100000000100110100 ] -0( -0) -0+ -0, -b1 0 -0' -#3660 -1E -b11010010000100000000100110100 S -b1100 W -b11010010000100000000100110100 d -b10000010 ` -b1100 h -1g -b10 G -1' -#3661 -b101101010 / -#3665 -1[ -b0 Y -0J -b1100010 H -b10 F -b0 > -b1100010 6 -b110100 $ -b101 - -b101 < -b101 N -b101 _ -b1100010 " -b10 . -b1001000101101000000100110010001 % -b1001000101101000000100110010001 : -b1001000101101000000100110010001 L -b1001000101101000000100110010001 ] -0( -0) -0+ -0, -b1 0 -0' -#3670 -b0 A -b10 G -b1001000101101000000100110010001 d -b0 ` -b101 h -1b -b1001000101101000000100110010001 S -b1100010 O -b101 W -0Q -1' -#3671 -b101101011 / -#3675 -0M -b10000110 H -b10 F -b10000110 6 -0; -b10000110 $ -b10 - -b10 < -b10 N -b10 _ -b10000011 " -b10 . -1& -b1000011110001010101000110000111 % -b1000011110001010101000110000111 : -b1000011110001010101000110000111 L -b1000011110001010101000110000111 ] -0( -0) -0+ -0, -b1 0 -0' -#3680 -0E -b1000011110001010101000110000111 S -b10000110 O -b10 W -0V -b1000011110001010101000110000111 d -b10 h -b10 G -b100 4 -1' -#3681 -b101101100 / -#3685 -b1000 H -b10 F -b1000 6 -b1000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110010101 " -b10 . -1& -b1000001010111110110011110000010 % -b1000001010111110110011110000010 : -b1000001010111110110011110000010 L -b1000001010111110110011110000010 ] -0( -0) -0+ -0, -b1 0 -0' -#3690 -b100 4 -b10 G -b1000001010111110110011110000010 d -b1101 h -b1000001010111110110011110000010 S -b1000 O -b1101 W -1' -#3691 -b101101101 / -#3695 -1M -b11011110 H -b10 F -b11011110 6 -1; -b101000000 $ -b101 - -b101 < -b101 N -b101 _ -b11011110 " -b10 . -0& -b1100010001110011001110111000100 % -b1100010001110011001110111000100 : -b1100010001110011001110111000100 L -b1100010001110011001110111000100 ] -0( -0) -0+ -0, -b1 0 -0' -#3700 -1E -b1100010001110011001110111000100 S -b11011110 O -b101 W -1V -b1100010001110011001110111000100 d -b101 h -b10 G -1' -#3701 -b101101110 / -#3705 -b1101000 H -b10 F -b1101000 6 -b110101001 $ -b0 - -b0 < -b0 N -b0 _ -b1101000 " -b10 . -b10100111011011110100100001001110 % -b10100111011011110100100001001110 : -b10100111011011110100100001001110 L -b10100111011011110100100001001110 ] -0( -0) -0+ -0, -b1 0 -0' -#3710 -b10 G -b10100111011011110100100001001110 d -b0 h -b10100111011011110100100001001110 S -b1101000 O -b0 W -1' -#3711 -b101101111 / -#3715 -0[ -0^ -b111100 Y -1J -b1 > -1M -b0 H -b10 F -b100111100 6 -0; -b100111100 $ -b101 - -b101 < -b101 N -b101 _ -b111000 " -b10 . -1& -b100101011110101011101101001010 % -b100101011110101011101101001010 : -b100101011110101011101101001010 L -b100101011110101011101101001010 ] -0( -0) -0+ -0, -b1 0 -0' -#3720 -0E -b1 A -b100101011110101011101101001010 S -b0 O -b101 W -1Q -b100101011110101011101101001010 d -b111100 ` -b101 h -0g -0b -b10 G -b100 4 -1' -#3721 -b101110000 / -#3725 -1[ -1^ -b0 Y -0J -0M -b11011110 H -b10 F -b0 > -b11011110 6 -b11011110 $ -b111 - -b111 < -b111 N -b111 _ -b101010001 " -b10 . -1& -b11110011100111110101111011100111 % -b11110011100111110101111011100111 : -b11110011100111110101111011100111 L -b11110011100111110101111011100111 ] -0( -0) -0+ -0, -b1 0 -0' -#3730 -b0 A -b100 4 -b10 G -b11110011100111110101111011100111 d -b0 ` -b111 h -1g -1b -b11110011100111110101111011100111 S -b11011110 O -b111 W -0V -0Q -1' -#3731 -b101110001 / -#3735 -b11010010 H -b10 F -b11010010 6 -b11010010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11101001 " -b10 . -1& -b1000010111100000100100010000 % -b1000010111100000100100010000 : -b1000010111100000100100010000 L -b1000010111100000100100010000 ] -0( -0) -0+ -0, -b1 0 -0' -#3740 -b1000010111100000100100010000 S -b11010010 O -b1011 W -b1000010111100000100100010000 d -b1011 h -b10 G -b100 4 -1' -#3741 -b101110010 / -#3745 -1M -b1110011 H -b10 F -b1110011 6 -1; -b10111011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1110011 " -b10 . -0& -b1111101001101000011010111111010 % -b1111101001101000011010111111010 : -b1111101001101000011010111111010 L -b1111101001101000011010111111010 ] -0( -0) -0+ -0, -b1 0 -0' -#3750 -1E -b10 G -b1111101001101000011010111111010 d -b1101 h -b1111101001101000011010111111010 S -b1110011 O -b1101 W -1V -1' -#3751 -b101110011 / -#3755 -0[ -0^ -b10001 Y -1J -b1 > -1M -b0 H -b10 F -b100010001 6 -0; -b100010001 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111100000 " -b10 . -1& -b11001110111011011101100010011101 % -b11001110111011011101100010011101 : -b11001110111011011101100010011101 L -b11001110111011011101100010011101 ] -0( -0) -0+ -0, -b1 0 -0' -#3760 -0E -b1 A -b11001110111011011101100010011101 S -b0 O -b1110 W -1Q -b11001110111011011101100010011101 d -b10001 ` -b1110 h -0g -0b -b10 G -b100 4 -1' -#3761 -b101110100 / -#3765 -1[ -0J -b11001100 H -b0 > -1^ -b0 Y -b10 F -b11001100 6 -1; -b11010101 $ -b111 - -b111 < -b111 N -b111 _ -b11001100 " -b10 . -0& -b10011101110101010001000000111011 % -b10011101110101010001000000111011 : -b10011101110101010001000000111011 L -b10011101110101010001000000111011 ] -0( -0) -0+ -0, -b1 0 -0' -#3770 -1E -b0 A -b10 G -b10011101110101010001000000111011 d -b0 ` -b111 h -1g -1b -b10011101110101010001000000111011 S -b11001100 O -b111 W -0Q -1' -#3771 -b101110101 / -#3775 -0M -b1100 H -b10 F -b1100 6 -0; -b1100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1110100 " -b10 . -1& -b1010100101101111100000110101001 % -b1010100101101111100000110101001 : -b1010100101101111100000110101001 L -b1010100101101111100000110101001 ] -0( -0) -0+ -0, -b1 0 -0' -#3780 -0E -b1010100101101111100000110101001 S -b1100 O -b1100 W -0V -b1010100101101111100000110101001 d -b1100 h -b10 G -b100 4 -1' -#3781 -b101110110 / -#3785 -0[ -b111101 Y -1J -b1 > -1M -b0 H -b10 F -b100111101 6 -1; -b110010000 $ -b1 - -b1 < -b1 N -b1 _ -b100111101 " -b10 . -0& -b10001000100011001101100000010001 % -b10001000100011001101100000010001 : -b10001000100011001101100000010001 L -b10001000100011001101100000010001 ] -0( -0) -0+ -0, -b1 0 -0' -#3790 -1E -b1 A -b10 G -b10001000100011001101100000010001 d -b111101 ` -b1 h -0b -b10001000100011001101100000010001 S -b0 O -b1 W -1V -1Q -1' -#3791 -b101110111 / -#3795 -b100101 Y -b10 F -b100100101 6 -b10010000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100100101 " -b10 . -b11100011100001100000011011000111 % -b11100011100001100000011011000111 : -b11100011100001100000011011000111 L -b11100011100001100000011011000111 ] -0( -0) -0+ -0, -b1 0 -0' -#3800 -b11100011100001100000011011000111 S -b1110 W -b11100011100001100000011011000111 d -b100101 ` -b1110 h -b10 G -1' -#3801 -b101111000 / -#3805 -1[ -0J -0M -b11001110 H -b0 > -1^ -b0 Y -b10 F -b11001110 6 -0; -b11001110 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110101100 " -b10 . -1& -b1111101111010011110100111111011 % -b1111101111010011110100111111011 : -b1111101111010011110100111111011 L -b1111101111010011110100111111011 ] -0( -0) -0+ -0, -b1 0 -0' -#3808 -b101110000111000 e -#3810 -0E -b0 A -b101110000111000 # -b10 . -b101110000111000 ! -b101110000111000 C -b100 4 -b101110000111000 ? -b10 G -b1111101111010011110100111111011 d -b0 ` -b1011 h -1b -b1111101111010011110100111111011 S -b11001110 O -b1011 W -0V -0Q -1' -#3811 -b101111001 / -#3815 -b110010 H -b10 F -b110010 6 -b110010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b10101111 " -b10 . -1& -b1111011100110111111110111110111 % -b1111011100110111111110111110111 : -b1111011100110111111110111110111 L -b1111011100110111111110111110111 ] -0( -0) -0+ -0, -b1 0 -0' -#3820 -b1111011100110111111110111110111 S -b110010 O -b1100 W -b1111011100110111111110111110111 d -b1100 h -b10 G -b100 4 -1' -#3821 -b101111010 / -#3825 -b10111101 H -b10 F -b10111101 6 -b10111101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10011111 " -b10 . -1& -b11001100111101010000000010011001 % -b11001100111101010000000010011001 : -b11001100111101010000000010011001 L -b11001100111101010000000010011001 ] -0( -0) -0+ -0, -b1 0 -0' -#3830 -b100 4 -b10 G -b11001100111101010000000010011001 d -b1101 h -b11001100111101010000000010011001 S -b10111101 O -b1101 W -1' -#3831 -b101111011 / -#3835 -0[ -0^ -b111000 Y -1J -1M -b0 H -b10 F -b1 > -b100111000 6 -b100111000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111101110 " -b10 . -1& -b11101010011010110000100111010 % -b11101010011010110000100111010 : -b11101010011010110000100111010 L -b11101010011010110000100111010 ] -0( -0) -0+ -0, -b1 0 -0' -#3840 -b1 A -b11101010011010110000100111010 S -b0 O -b1111 W -1V -1Q -b11101010011010110000100111010 d -b111000 ` -b1111 h -0g -0b -b10 G -b100 4 -1' -#3841 -b101111100 / -#3845 -1^ -b10111110 Y -b10 F -b110111110 6 -1; -b11110001 $ -b110111110 " -b10 . -0& -b110100011101110001001101101000 % -b110100011101110001001101101000 : -b110100011101110001001101101000 L -b110100011101110001001101101000 ] -0( -0) -0+ -0, -b1 0 -0' -#3850 -1E -b10 G -b110100011101110001001101101000 d -b10111110 ` -1g -b110100011101110001001101101000 S -1' -#3851 -b101111101 / -#3855 -1[ -0J -0M -b101010 H -b0 > -1^ -b0 Y -b10 F -b101010 6 -0; -b101010 $ -b100 - -b100 < -b100 N -b100 _ -b1101101 " -b10 . -1& -b1110000100010001011110111100001 % -b1110000100010001011110111100001 : -b1110000100010001011110111100001 L -b1110000100010001011110111100001 ] -0( -0) -0+ -0, -b1 0 -0' -#3858 -b1011111011010010100010 e -#3860 -0E -b0 A -b1011111011010010100010 # -b10 . -b1011111011010010100010 ! -b1011111011010010100010 C -b1110000100010001011110111100001 S -b101010 O -b100 W -0V -0Q -b1110000100010001011110111100001 d -b0 ` -b100 h -1b -b1011111011010010100010 ? -b10 G -b100 4 -1' -#3861 -b101111110 / -#3865 -0[ -0^ -b10100101 Y -1J -1M -b0 H -b10 F -b1 > -b110100101 6 -b110100101 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101010111 " -b10 . -1& -b101001110001100011011101010011 % -b101001110001100011011101010011 : -b101001110001100011011101010011 L -b101001110001100011011101010011 ] -0( -0) -0+ -0, -b1 0 -0' -#3870 -b1 A -b100 4 -b10 G -b101001110001100011011101010011 d -b10100101 ` -b1010 h -0g -0b -b101001110001100011011101010011 S -b0 O -b1010 W -1V -1Q -1' -#3871 -b101111111 / -#3875 -1[ -0J -b1111111 H -b0 > -1^ -b0 Y -b10 F -b1111111 6 -1; -b101100000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1111111 " -b10 . -0& -b11001001101011001100010010010011 % -b11001001101011001100010010010011 : -b11001001101011001100010010010011 L -b11001001101011001100010010010011 ] -0( -0) -0+ -0, -b1 0 -0' -#3880 -1E -b0 A -b11001001101011001100010010010011 S -b1111111 O -b1111 W -0Q -b11001001101011001100010010010011 d -b0 ` -b1111 h -1g -1b -b10 G -1' -#3881 -b110000000 / -#3885 -0[ -0^ -b11110101 Y -1J -b1 > -1M -b0 H -b10 F -b111110101 6 -0; -b111110101 $ -b1 - -b1 < -b1 N -b1 _ -b10110100 " -b10 . -1& -b111010000100010111101101110100 % -b111010000100010111101101110100 : -b111010000100010111101101110100 L -b111010000100010111101101110100 ] -0( -0) -0+ -0, -b1 0 -0' -#3890 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b111010000100010111101101110100 d -b11110101 ` -b1 h -0g -0b -b111010000100010111101101110100 S -b0 O -b1 W -1Q -1' -#3891 -b110000001 / -#3895 -1^ -b10110000 Y -b10 F -b110110000 6 -1; -b11101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110110000 " -b10 . -0& -b10110011110000001011110001100111 % -b10110011110000001011110001100111 : -b10110011110000001011110001100111 L -b10110011110000001011110001100111 ] -0( -0) -0+ -0, -b1 0 -0' -#3900 -1E -b10110011110000001011110001100111 S -b1101 W -b10110011110000001011110001100111 d -b10110000 ` -b1101 h -1g -b10 G -1' -#3901 -b110000010 / -#3905 -1[ -0J -0M -b100011 H -b0 > -1^ -b0 Y -b10 F -b100011 6 -0; -b100011 $ -b100 - -b100 < -b100 N -b100 _ -b111100101 " -b10 . -1& -b10011000111000111100101000110001 % -b10011000111000111100101000110001 : -b10011000111000111100101000110001 L -b10011000111000111100101000110001 ] -0( -0) -0+ -0, -b1 0 -0' -#3908 -b0 e -#3910 -0E -b0 A -b100 4 -b10 G -b10011000111000111100101000110001 d -b0 ` -b100 h -1b -b10011000111000111100101000110001 S -b100011 O -b100 W -0V -0Q -1' -#3911 -b110000011 / -#3915 -b11011101 H -b10 F -b11011101 6 -b11011101 $ -b111 - -b111 < -b111 N -b111 _ -b10101101 " -b10 . -1& -b10000110111001111100111000001101 % -b10000110111001111100111000001101 : -b10000110111001111100111000001101 L -b10000110111001111100111000001101 ] -0( -0) -0+ -0, -b1 0 -0' -#3920 -b10000110111001111100111000001101 S -b11011101 O -b111 W -b10000110111001111100111000001101 d -b111 h -b10 G -b100 4 -1' -#3921 -b110000100 / -#3925 -b11111 H -b10 F -b11111 6 -b11111 $ -b111011 " -b10 . -1& -b11101010010101011100110011010100 % -b11101010010101011100110011010100 : -b11101010010101011100110011010100 L -b11101010010101011100110011010100 ] -0( -0) -0+ -0, -b1 0 -0' -#3930 -b100 4 -b10 G -b11101010010101011100110011010100 d -b11101010010101011100110011010100 S -b11111 O -1' -#3931 -b110000101 / -#3935 -0[ -b11100011 Y -1J -b1 > -1M -b0 H -b10 F -b111100011 6 -1; -b10010 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b111100011 " -b10 . -0& -b1010110101001110111011110101101 % -b1010110101001110111011110101101 : -b1010110101001110111011110101101 L -b1010110101001110111011110101101 ] -0( -0) -0+ -0, -b1 0 -0' -#3940 -1E -b1 A -b1010110101001110111011110101101 S -b0 O -b1000 W -1V -1Q -b1010110101001110111011110101101 d -b11100011 ` -b1000 h -0b -b10 G -1' -#3941 -b110000110 / -#3945 -1[ -b0 Y -0J -b1101010 H -b10 F -b0 > -b1101010 6 -b10111111 $ -b11 - -b11 < -b11 N -b11 _ -b1101010 " -b10 . -b11100001001001101100010011000010 % -b11100001001001101100010011000010 : -b11100001001001101100010011000010 L -b11100001001001101100010011000010 ] -0( -0) -0+ -0, -b1 0 -0' -#3950 -b0 A -b10 G -b11100001001001101100010011000010 d -b0 ` -b11 h -1b -b11100001001001101100010011000010 S -b1101010 O -b11 W -0Q -1' -#3951 -b110000111 / -#3955 -0[ -0^ -b10111000 Y -1J -b1 > -1M -b0 H -b10 F -b110111000 6 -0; -b110111000 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100101000 " -b10 . -1& -b1011110010110001101100110111100 % -b1011110010110001101100110111100 : -b1011110010110001101100110111100 L -b1011110010110001101100110111100 ] -0( -0) -0+ -0, -b1 0 -0' -#3960 -0E -b1 A -b1011110010110001101100110111100 S -b0 O -b1010 W -1Q -b1011110010110001101100110111100 d -b10111000 ` -b1010 h -0g -0b -b10 G -b100 4 -1' -#3961 -b110001000 / -#3965 -1[ -0J -b100010 H -b0 > -1^ -b0 Y -b10 F -b100010 6 -1; -b11111100 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100010 " -b10 . -0& -b1010000101101000111001110100001 % -b1010000101101000111001110100001 : -b1010000101101000111001110100001 L -b1010000101101000111001110100001 ] -0( -0) -0+ -0, -b1 0 -0' -#3970 -1E -b0 A -b10 G -b1010000101101000111001110100001 d -b0 ` -b1001 h -1g -1b -b1010000101101000111001110100001 S -b100010 O -b1001 W -0Q -1' -#3971 -b110001001 / -#3975 -b10000011 H -b10 F -b10000011 6 -b110010111 $ -b0 - -b0 < -b0 N -b0 _ -b10000011 " -b10 . -b110010110111010010011101100101 % -b110010110111010010011101100101 : -b110010110111010010011101100101 L -b110010110111010010011101100101 ] -0( -0) -0+ -0, -b1 0 -0' -#3980 -b110010110111010010011101100101 S -b10000011 O -b0 W -b110010110111010010011101100101 d -b0 h -b10 G -1' -#3981 -b110001010 / -#3985 -0[ -b1001 Y -1J -b0 H -b10 F -b1 > -b100001001 6 -b100110 $ -b100 - -b100 < -b100 N -b100 _ -b100001001 " -b10 . -b1001000100010011111001110010001 % -b1001000100010011111001110010001 : -b1001000100010011111001110010001 L -b1001000100010011111001110010001 ] -0( -0) -0+ -0, -b1 0 -0' -#3990 -b1 A -b10 G -b1001000100010011111001110010001 d -b1001 ` -b100 h -0b -b1001000100010011111001110010001 S -b0 O -b100 W -1Q -1' -#3991 -b110001011 / -#3995 -b10000111 Y -b10 F -b110000111 6 -b111001111 $ -b110000111 " -b10 . -b10111011011001111111100101110 % -b10111011011001111111100101110 : -b10111011011001111111100101110 L -b10111011011001111111100101110 ] -0( -0) -0+ -0, -b1 0 -0' -#4000 -b10111011011001111111100101110 S -b10111011011001111111100101110 d -b10000111 ` -b10 G -1' -#4001 -b110001100 / -#4005 -b11001100 Y -b10 F -b111001100 6 -b1000001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111001100 " -b10 . -b10100010111111011001110001000101 % -b10100010111111011001110001000101 : -b10100010111111011001110001000101 L -b10100010111111011001110001000101 ] -0( -0) -0+ -0, -b1 0 -0' -#4008 -b10110000110001100101011001100001 e -#4010 -b10110000110001100101011001100001 # -b10 . -b10110000110001100101011001100001 ! -b10110000110001100101011001100001 C -b10110000110001100101011001100001 ? -b10 G -b10100010111111011001110001000101 d -b11001100 ` -b1010 h -b10100010111111011001110001000101 S -b1010 W -1' -#4011 -b110001101 / -#4015 -b10101000 Y -b10 F -b110101000 6 -b10000 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110101000 " -b10 . -b10000000110101100100100100000 % -b10000000110101100100100100000 : -b10000000110101100100100100000 L -b10000000110101100100100100000 ] -0( -0) -0+ -0, -b1 0 -0' -#4018 -b0 e -#4020 -b0 # -b10 . -b0 ! -b0 C -b10000000110101100100100100000 S -b1001 W -b10000000110101100100100100000 d -b10101000 ` -b1001 h -b0 ? -b10 G -1' -#4021 -b110001110 / -#4025 -1[ -0J -0M -b11010 H -b0 > -1^ -b0 Y -b10 F -b11010 6 -0; -b11010 $ -b1 - -b1 < -b1 N -b1 _ -b110110111 " -b10 . -1& -b10010010000101011110000000100100 % -b10010010000101011110000000100100 : -b10010010000101011110000000100100 L -b10010010000101011110000000100100 ] -0( -0) -0+ -0, -b1 0 -0' -#4028 -b11011100000000001101110000000000 e -#4030 -0E -b0 A -b11011100000000001101110000000000 # -b10 . -b11011100000000001101110000000000 ! -b11011100000000001101110000000000 C -b100 4 -b11011100000000001101110000000000 ? -b10 G -b10010010000101011110000000100100 d -b0 ` -b1 h -1b -b10010010000101011110000000100100 S -b11010 O -b1 W -0V -0Q -1' -#4031 -b110001111 / -#4035 -0[ -b10110 Y -1J -b1 > -1M -b0 H -b10 F -b100010110 6 -1; -b110111100 $ -b100010110 " -b10 . -0& -b1011111011000000001110110111110 % -b1011111011000000001110110111110 : -b1011111011000000001110110111110 L -b1011111011000000001110110111110 ] -0( -0) -0+ -0, -b1 0 -0' -#4040 -1E -b1 A -b1011111011000000001110110111110 S -b0 O -1V -1Q -b1011111011000000001110110111110 d -b10110 ` -0b -b10 G -1' -#4041 -b110010000 / -#4045 -b10100101 Y -b10 F -b110100101 6 -b111011010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110100101 " -b10 . -b10101101011010011001100101011 % -b10101101011010011001100101011 : -b10101101011010011001100101011 L -b10101101011010011001100101011 ] -0( -0) -0+ -0, -b1 0 -0' -#4048 -b0 e -#4050 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b10101101011010011001100101011 d -b10100101 ` -b1100 h -b10101101011010011001100101011 S -b1100 W -1' -#4051 -b110010001 / -#4055 -1[ -0J -0M -b11001100 H -b0 > -1^ -b0 Y -b10 F -b11001100 6 -0; -b11001100 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100101100 " -b10 . -1& -b110100110011100001101101101001 % -b110100110011100001101101101001 : -b110100110011100001101101101001 L -b110100110011100001101101101001 ] -0( -0) -0+ -0, -b1 0 -0' -#4058 -b101001000000000011011100000000 e -#4060 -0E -b0 A -b101001000000000011011100000000 # -b10 . -b101001000000000011011100000000 ! -b101001000000000011011100000000 C -b110100110011100001101101101001 S -b11001100 O -b1000 W -0V -0Q -b110100110011100001101101101001 d -b0 ` -b1000 h -1b -b101001000000000011011100000000 ? -b10 G -b100 4 -1' -#4061 -b110010010 / -#4065 -0[ -0^ -b10010010 Y -1J -1M -b0 H -b10 F -b1 > -b110010010 6 -b110010010 $ -b11 - -b11 < -b11 N -b11 _ -b111111101 " -b10 . -1& -b1010011100011001101101110100111 % -b1010011100011001101101110100111 : -b1010011100011001101101110100111 L -b1010011100011001101101110100111 ] -0( -0) -0+ -0, -b1 0 -0' -#4070 -b1 A -b100 4 -b10 G -b1010011100011001101101110100111 d -b10010010 ` -b11 h -0g -0b -b1010011100011001101101110100111 S -b0 O -b11 W -1V -1Q -1' -#4071 -b110010011 / -#4075 -1[ -0J -b11000 H -b0 > -1^ -b0 Y -b10 F -b11000 6 -1; -b11010100 $ -b11000 " -b10 . -0& -b100001101110001101000101000011 % -b100001101110001101000101000011 : -b100001101110001101000101000011 L -b100001101110001101000101000011 ] -0( -0) -0+ -0, -b1 0 -0' -#4080 -1E -b0 A -b100001101110001101000101000011 S -b11000 O -0Q -b100001101110001101000101000011 d -b0 ` -1g -1b -b10 G -1' -#4081 -b110010100 / -#4085 -0M -b10010010 H -b10 F -b10010010 6 -0; -b10010010 $ -b111 - -b111 < -b111 N -b111 _ -b11001010 " -b10 . -1& -b1110101111101101110001111101011 % -b1110101111101101110001111101011 : -b1110101111101101110001111101011 L -b1110101111101101110001111101011 ] -0( -0) -0+ -0, -b1 0 -0' -#4090 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b1110101111101101110001111101011 d -b111 h -b1110101111101101110001111101011 S -b10010010 O -b111 W -0V -1' -#4091 -b110010101 / -#4095 -0[ -0^ -b1100110 Y -1J -1M -b0 H -b10 F -b1 > -b101100110 6 -b101100110 $ -b0 - -b0 < -b0 N -b0 _ -b11100011 " -b10 . -1& -b10011101011101011001100000111010 % -b10011101011101011001100000111010 : -b10011101011101011001100000111010 L -b10011101011101011001100000111010 ] -0( -0) -0+ -0, -b1 0 -0' -#4100 -b1 A -b10011101011101011001100000111010 S -b0 O -b0 W -1V -1Q -b10011101011101011001100000111010 d -b1100110 ` -b0 h -0g -0b -b10 G -b100 4 -1' -#4101 -b110010110 / -#4105 -b1001010 Y -b10 F -b101001010 6 -b101001010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10011100 " -b10 . -1& -b1101110110101101110110111011101 % -b1101110110101101110110111011101 : -b1101110110101101110110111011101 L -b1101110110101101110110111011101 ] -0( -0) -0+ -0, -b1 0 -0' -#4110 -b100 4 -b10 G -b1101110110101101110110111011101 d -b1001010 ` -b1010 h -b1101110110101101110110111011101 S -b1010 W -1' -#4111 -b110010111 / -#4115 -b10100001 Y -b10 F -b110100001 6 -b110100001 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10000001 " -b10 . -1& -b101101100001000111010101011011 % -b101101100001000111010101011011 : -b101101100001000111010101011011 L -b101101100001000111010101011011 ] -0( -0) -0+ -0, -b1 0 -0' -#4120 -b101101100001000111010101011011 S -b1101 W -b101101100001000111010101011011 d -b10100001 ` -b1101 h -b10 G -b100 4 -1' -#4121 -b110011000 / -#4125 -1[ -1^ -b0 Y -0J -0M -b1001010 H -b10 F -b0 > -b1001010 6 -b1001010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10101011 " -b10 . -1& -b10110101100100100001100001101011 % -b10110101100100100001100001101011 : -b10110101100100100001100001101011 L -b10110101100100100001100001101011 ] -0( -0) -0+ -0, -b1 0 -0' -#4130 -b0 A -b100 4 -b10 G -b10110101100100100001100001101011 d -b0 ` -b1110 h -1g -1b -b10110101100100100001100001101011 S -b1001010 O -b1110 W -0V -0Q -1' -#4131 -b110011001 / -#4135 -0[ -b10100010 Y -1J -b1 > -1M -b0 H -b10 F -b110100010 6 -1; -b10100100 $ -b1 - -b1 < -b1 N -b1 _ -b110100010 " -b10 . -0& -b11010110101111000111101010101101 % -b11010110101111000111101010101101 : -b11010110101111000111101010101101 L -b11010110101111000111101010101101 ] -0( -0) -0+ -0, -b1 0 -0' -#4140 -1E -b1 A -b11010110101111000111101010101101 S -b0 O -b1 W -1V -1Q -b11010110101111000111101010101101 d -b10100010 ` -b1 h -0b -b10 G -1' -#4141 -b110011010 / -#4145 -0^ -b1101011 Y -b10 F -b101101011 6 -0; -b101101011 $ -b0 - -b0 < -b0 N -b0 _ -b10010110 " -b10 . -1& -b111011001011011110001101110110 % -b111011001011011110001101110110 : -b111011001011011110001101110110 L -b111011001011011110001101110110 ] -0( -0) -0+ -0, -b1 0 -0' -#4148 -b1100011100110100011111100000000 e -#4150 -0E -b1100011100110100011111100000000 # -b10 . -b1100011100110100011111100000000 ! -b1100011100110100011111100000000 C -b100 4 -b1100011100110100011111100000000 ? -b10 G -b111011001011011110001101110110 d -b1101011 ` -b0 h -0g -b111011001011011110001101110110 S -b0 W -1' -#4151 -b110011011 / -#4155 -1[ -0J -b11001100 H -b0 > -1^ -b0 Y -b10 F -b11001100 6 -1; -b110011001 $ -b10 - -b10 < -b10 N -b10 _ -b11001100 " -b10 . -0& -b11010100110010011100000110 % -b11010100110010011100000110 : -b11010100110010011100000110 L -b11010100110010011100000110 ] -0( -0) -0+ -0, -b1 0 -0' -#4160 -1E -b0 A -b11010100110010011100000110 S -b11001100 O -b10 W -0Q -b11010100110010011100000110 d -b0 ` -b10 h -1g -1b -b10 G -1' -#4161 -b110011100 / -#4165 -0[ -b11010011 Y -1J -b0 H -b10 F -b1 > -b111010011 6 -b1001011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111010011 " -b10 . -b1010100010001100000000110101000 % -b1010100010001100000000110101000 : -b1010100010001100000000110101000 L -b1010100010001100000000110101000 ] -0( -0) -0+ -0, -b1 0 -0' -#4168 -b110100000000000000000000000000 T -#4170 -b1 A -b110100000000000000000000000000 # -b10 . -b110100000000000000000000000000 ! -b110100000000000000000000000000 C -b110100000000000000000000000000 ? -b10 G -b1010100010001100000000110101000 d -b11010011 ` -b1100 h -0b -b1010100010001100000000110101000 S -b0 O -b1100 W -1Q -1' -#4171 -b110011101 / -#4175 -0^ -b1001111 Y -b10 F -b101001111 6 -0; -b101001111 $ -b1 - -b1 < -b1 N -b1 _ -b10000111 " -b10 . -1& -b110110010101101100000101101100 % -b110110010101101100000101101100 : -b110110010101101100000101101100 L -b110110010101101100000101101100 ] -0( -0) -0+ -0, -b1 0 -0' -#4178 -b0 e -#4180 -0E -b0 # -b10 . -b0 ! -b0 C -b110110010101101100000101101100 S -b1 W -b110110010101101100000101101100 d -b1001111 ` -b1 h -0g -b0 ? -b10 G -b100 4 -1' -#4181 -b110011110 / -#4185 -1[ -1^ -b0 Y -0J -0M -b10010110 H -b10 F -b0 > -b10010110 6 -b10010110 $ -b110 - -b110 < -b110 N -b110 _ -b10000011 " -b10 . -1& -b10101010000010010100011001010100 % -b10101010000010010100011001010100 : -b10101010000010010100011001010100 L -b10101010000010010100011001010100 ] -0( -0) -0+ -0, -b1 0 -0' -#4190 -b0 A -b100 4 -b10 G -b10101010000010010100011001010100 d -b0 ` -b110 h -1g -1b -b10101010000010010100011001010100 S -b10010110 O -b110 W -0V -0Q -1' -#4191 -b110011111 / -#4195 -1M -b11111101 H -b10 F -b11111101 6 -1; -b10001011 $ -b10 - -b10 < -b10 N -b10 _ -b11111101 " -b10 . -0& -b1100111111100111100000111001111 % -b1100111111100111100000111001111 : -b1100111111100111100000111001111 L -b1100111111100111100000111001111 ] -0( -0) -0+ -0, -b1 0 -0' -#4200 -1E -b1100111111100111100000111001111 S -b11111101 O -b10 W -1V -b1100111111100111100000111001111 d -b10 h -b10 G -1' -#4201 -b110100000 / -#4205 -0[ -0^ -b10010001 Y -1J -b1 > -1M -b0 H -b10 F -b110010001 6 -0; -b110010001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10001100 " -b10 . -1& -b1010011001101011000011110100110 % -b1010011001101011000011110100110 : -b1010011001101011000011110100110 L -b1010011001101011000011110100110 ] -0( -0) -0+ -0, -b1 0 -0' -#4208 -b0 T -#4210 -0E -b1 A -b100 4 -b10 G -b1010011001101011000011110100110 d -b10010001 ` -b1001 h -0g -0b -b1010011001101011000011110100110 S -b0 O -b1001 W -1Q -1' -#4211 -b110100001 / -#4215 -1^ -b111110 Y -b10 F -b100111110 6 -1; -b110111 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100111110 " -b10 . -0& -b11101110100111010010011011011101 % -b11101110100111010010011011011101 : -b11101110100111010010011011011101 L -b11101110100111010010011011011101 ] -0( -0) -0+ -0, -b1 0 -0' -#4220 -1E -b11101110100111010010011011011101 S -b1000 W -b11101110100111010010011011011101 d -b111110 ` -b1000 h -1g -b10 G -1' -#4221 -b110100010 / -#4225 -1[ -b0 Y -0J -b10110110 H -b10 F -b0 > -b10110110 6 -b111111001 $ -b1 - -b1 < -b1 N -b1 _ -b10110110 " -b10 . -b1110011110010100110100111100111 % -b1110011110010100110100111100111 : -b1110011110010100110100111100111 L -b1110011110010100110100111100111 ] -0( -0) -0+ -0, -b1 0 -0' -#4230 -b0 A -b10 G -b1110011110010100110100111100111 d -b0 ` -b1 h -1b -b1110011110010100110100111100111 S -b10110110 O -b1 W -0Q -1' -#4231 -b110100011 / -#4235 -0[ -b1101000 Y -1J -b0 H -b10 F -b1 > -b101101000 6 -b101110111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101101000 " -b10 . -b10111111011111101111100101111 % -b10111111011111101111100101111 : -b10111111011111101111100101111 L -b10111111011111101111100101111 ] -0( -0) -0+ -0, -b1 0 -0' -#4238 -b11011110101101010001011010111101 T -#4240 -b1 A -b11011110101101010001011010111101 # -b10 . -b11011110101101010001011010111101 ! -b11011110101101010001011010111101 C -b10111111011111101111100101111 S -b0 O -b1101 W -1Q -b10111111011111101111100101111 d -b1101000 ` -b1101 h -0b -b11011110101101010001011010111101 ? -b10 G -1' -#4241 -b110100100 / -#4245 -b10100110 Y -b10 F -b110100110 6 -b10011110 $ -b110100110 " -b10 . -b11101111010110101010100111011 % -b11101111010110101010100111011 : -b11101111010110101010100111011 L -b11101111010110101010100111011 ] -0( -0) -0+ -0, -b1 0 -0' -#4248 -b1100100101100010000100011001 e -#4250 -b1100100101100010000100011001 # -b10 . -b1100100101100010000100011001 ! -b1100100101100010000100011001 C -b1100100101100010000100011001 ? -b10 G -b11101111010110101010100111011 d -b10100110 ` -b11101111010110101010100111011 S -1' -#4251 -b110100101 / -#4255 -0^ -b11100101 Y -b10 F -b111100101 6 -0; -b111100101 $ -b1 - -b1 < -b1 N -b1 _ -b110110100 " -b10 . -1& -b111000111010010010010101110001 % -b111000111010010010010101110001 : -b111000111010010010010101110001 L -b111000111010010010010101110001 ] -0( -0) -0+ -0, -b1 0 -0' -#4258 -b0 e -#4260 -0E -b0 # -b10 . -b0 ! -b0 C -b111000111010010010010101110001 S -b1 W -b111000111010010010010101110001 d -b11100101 ` -b1 h -0g -b0 ? -b10 G -b100 4 -1' -#4261 -b110100110 / -#4265 -b10110000 Y -b10 F -b110110000 6 -b110110000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101111 " -b10 . -1& -b11000001010000101000100110000 % -b11000001010000101000100110000 : -b11000001010000101000100110000 L -b11000001010000101000100110000 ] -0( -0) -0+ -0, -b1 0 -0' -#4270 -b100 4 -b10 G -b11000001010000101000100110000 d -b10110000 ` -b1101 h -b11000001010000101000100110000 S -b1101 W -1' -#4271 -b110100111 / -#4275 -1[ -0J -b1100101 H -b0 > -1^ -b0 Y -b10 F -b1100101 6 -1; -b1000110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1100101 " -b10 . -0& -b10110111110001111101111001101111 % -b10110111110001111101111001101111 : -b10110111110001111101111001101111 L -b10110111110001111101111001101111 ] -0( -0) -0+ -0, -b1 0 -0' -#4280 -1E -b0 A -b10110111110001111101111001101111 S -b1100101 O -b1001 W -0Q -b10110111110001111101111001101111 d -b0 ` -b1001 h -1g -1b -b10 G -1' -#4281 -b110101000 / -#4285 -0[ -b1001 Y -1J -b0 H -b10 F -b1 > -b100001001 6 -b110110110 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b100001001 " -b10 . -b10010101001001011101101000101010 % -b10010101001001011101101000101010 : -b10010101001001011101101000101010 L -b10010101001001011101101000101010 ] -0( -0) -0+ -0, -b1 0 -0' -#4288 -b0 T -#4290 -b1 A -b10 G -b10010101001001011101101000101010 d -b1001 ` -b1011 h -0b -b10010101001001011101101000101010 S -b0 O -b1011 W -1Q -1' -#4291 -b110101001 / -#4295 -b10 Y -b10 F -b100000010 6 -b100001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100000010 " -b10 . -b10010010101100001111110000100101 % -b10010010101100001111110000100101 : -b10010010101100001111110000100101 L -b10010010101100001111110000100101 ] -0( -0) -0+ -0, -b1 0 -0' -#4300 -b10010010101100001111110000100101 S -b1000 W -b10010010101100001111110000100101 d -b10 ` -b1000 h -b10 G -1' -#4301 -b110101010 / -#4305 -b11000000 Y -b10 F -b111000000 6 -b101011 $ -b110 - -b110 < -b110 N -b110 _ -b111000000 " -b10 . -b111110010110111100110101111100 % -b111110010110111100110101111100 : -b111110010110111100110101111100 L -b111110010110111100110101111100 ] -0( -0) -0+ -0, -b1 0 -0' -#4310 -b10 G -b111110010110111100110101111100 d -b11000000 ` -b110 h -b111110010110111100110101111100 S -b110 W -1' -#4311 -b110101011 / -#4315 -0^ -b100011 Y -b10 F -b100100011 6 -0; -b100100011 $ -b101 - -b101 < -b101 N -b101 _ -b101101000 " -b10 . -1& -b11011100111011101101101010111001 % -b11011100111011101101101010111001 : -b11011100111011101101101010111001 L -b11011100111011101101101010111001 ] -0( -0) -0+ -0, -b1 0 -0' -#4318 -b110111100101110001100101 e -#4320 -0E -b110111100101110001100101 # -b10 . -b110111100101110001100101 ! -b110111100101110001100101 C -b11011100111011101101101010111001 S -b101 W -b11011100111011101101101010111001 d -b100011 ` -b101 h -0g -b110111100101110001100101 ? -b10 G -b100 4 -1' -#4321 -b110101100 / -#4325 -1[ -1^ -b0 Y -0J -0M -b10110 H -b10 F -b0 > -b10110 6 -b10110 $ -b0 - -b0 < -b0 N -b0 _ -b101010011 " -b10 . -1& -b100111011000110100000101001110 % -b100111011000110100000101001110 : -b100111011000110100000101001110 L -b100111011000110100000101001110 ] -0( -0) -0+ -0, -b1 0 -0' -#4330 -b0 A -b100 4 -b10 G -b100111011000110100000101001110 d -b0 ` -b0 h -1g -1b -b100111011000110100000101001110 S -b10110 O -b0 W -0V -0Q -1' -#4331 -b110101101 / -#4335 -b11011111 H -b10 F -b11011111 6 -b11011111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11101011 " -b10 . -1& -b11001001011000111010010010010010 % -b11001001011000111010010010010010 : -b11001001011000111010010010010010 L -b11001001011000111010010010010010 ] -0( -0) -0+ -0, -b1 0 -0' -#4340 -b11001001011000111010010010010010 S -b11011111 O -b1100 W -b11001001011000111010010010010010 d -b1100 h -b10 G -b100 4 -1' -#4341 -b110101110 / -#4345 -b11001000 H -b10 F -b11001000 6 -b11001000 $ -b111 - -b111 < -b111 N -b111 _ -b1101110 " -b10 . -1& -b11000001000010110110100010000010 % -b11000001000010110110100010000010 : -b11000001000010110110100010000010 L -b11000001000010110110100010000010 ] -0( -0) -0+ -0, -b1 0 -0' -#4350 -b100 4 -b10 G -b11000001000010110110100010000010 d -b111 h -b11000001000010110110100010000010 S -b11001000 O -b111 W -1' -#4351 -b110101111 / -#4355 -0[ -b10110110 Y -1J -b1 > -1M -b0 H -b10 F -b110110110 6 -1; -b111100010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b110110110 " -b10 . -0& -b11001011100001101011000010010111 % -b11001011100001101011000010010111 : -b11001011100001101011000010010111 L -b11001011100001101011000010010111 ] -0( -0) -0+ -0, -b1 0 -0' -#4360 -1E -b1 A -b11001011100001101011000010010111 S -b0 O -b1111 W -1V -1Q -b11001011100001101011000010010111 d -b10110110 ` -b1111 h -0b -b10 G -1' -#4361 -b110110000 / -#4365 -b111001 Y -b10 F -b100111001 6 -b1000 $ -b100 - -b100 < -b100 N -b100 _ -b100111001 " -b10 . -b10100011001011010111011001000110 % -b10100011001011010111011001000110 : -b10100011001011010111011001000110 L -b10100011001011010111011001000110 ] -0( -0) -0+ -0, -b1 0 -0' -#4368 -b0 e -#4370 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b10100011001011010111011001000110 d -b111001 ` -b100 h -b10100011001011010111011001000110 S -b100 W -1' -#4371 -b110110001 / -#4375 -0^ -b10101111 Y -b10 F -b110101111 6 -0; -b110101111 $ -b11000111 " -b10 . -1& -b1010001000001001101110110100010 % -b1010001000001001101110110100010 : -b1010001000001001101110110100010 L -b1010001000001001101110110100010 ] -0( -0) -0+ -0, -b1 0 -0' -#4378 -b1000010111001111010010100000000 e -#4380 -0E -b1000010111001111010010100000000 # -b10 . -b1000010111001111010010100000000 ! -b1000010111001111010010100000000 C -b1010001000001001101110110100010 S -b1010001000001001101110110100010 d -b10101111 ` -0g -b1000010111001111010010100000000 ? -b10 G -b100 4 -1' -#4381 -b110110010 / -#4385 -1^ -b1111110 Y -b10 F -b101111110 6 -1; -b101100000 $ -b101 - -b101 < -b101 N -b101 _ -b101111110 " -b10 . -0& -b1110001111101110111000111100011 % -b1110001111101110111000111100011 : -b1110001111101110111000111100011 L -b1110001111101110111000111100011 ] -0( -0) -0+ -0, -b1 0 -0' -#4390 -1E -b10 G -b1110001111101110111000111100011 d -b1111110 ` -b101 h -1g -b1110001111101110111000111100011 S -b101 W -1' -#4391 -b110110011 / -#4395 -1[ -b0 Y -0J -b1000010 H -b10 F -b0 > -b1000010 6 -b100110111 $ -b1 - -b1 < -b1 N -b1 _ -b1000010 " -b10 . -b1000100110110111111101110001001 % -b1000100110110111111101110001001 : -b1000100110110111111101110001001 L -b1000100110110111111101110001001 ] -0( -0) -0+ -0, -b1 0 -0' -#4398 -b100100001001100000000000000000 e -#4400 -b0 A -b100100001001100000000000000000 # -b10 . -b100100001001100000000000000000 ! -b100100001001100000000000000000 C -b1000100110110111111101110001001 S -b1000010 O -b1 W -0Q -b1000100110110111111101110001001 d -b0 ` -b1 h -1b -b100100001001100000000000000000 ? -b10 G -1' -#4401 -b110110100 / -#4405 -0[ -0^ -b1010111 Y -1J -b1 > -1M -b0 H -b10 F -b101010111 6 -0; -b101010111 $ -b11 - -b11 < -b11 N -b11 _ -b11011010 " -b10 . -1& -b101111001001100010010101011110 % -b101111001001100010010101011110 : -b101111001001100010010101011110 L -b101111001001100010010101011110 ] -0( -0) -0+ -0, -b1 0 -0' -#4410 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b101111001001100010010101011110 d -b1010111 ` -b11 h -0g -0b -b101111001001100010010101011110 S -b0 O -b11 W -1Q -1' -#4411 -b110110101 / -#4415 -1[ -1^ -b0 Y -0J -0M -b111001 H -b10 F -b0 > -b111001 6 -b111001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101110 " -b10 . -1& -b100001100010010001111101000011 % -b100001100010010001111101000011 : -b100001100010010001111101000011 L -b100001100010010001111101000011 ] -0( -0) -0+ -0, -b1 0 -0' -#4420 -b0 A -b100001100010010001111101000011 S -b111001 O -b1000 W -0V -0Q -b100001100010010001111101000011 d -b0 ` -b1000 h -1g -1b -b10 G -b100 4 -1' -#4421 -b110110110 / -#4425 -1M -b100111 H -b10 F -b100111 6 -1; -b11 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100111 " -b10 . -0& -b1100001011001011111000111000010 % -b1100001011001011111000111000010 : -b1100001011001011111000111000010 L -b1100001011001011111000111000010 ] -0( -0) -0+ -0, -b1 0 -0' -#4430 -1E -b10 G -b1100001011001011111000111000010 d -b1100 h -b1100001011001011111000111000010 S -b100111 O -b1100 W -1V -1' -#4431 -b110110111 / -#4435 -0[ -0^ -b101100 Y -1J -b1 > -1M -b0 H -b10 F -b100101100 6 -0; -b100101100 $ -b100 - -b100 < -b100 N -b100 _ -b110111101 " -b10 . -1& -b10000010101000100001010000000101 % -b10000010101000100001010000000101 : -b10000010101000100001010000000101 L -b10000010101000100001010000000101 ] -0( -0) -0+ -0, -b1 0 -0' -#4440 -0E -b1 A -b10000010101000100001010000000101 S -b0 O -b100 W -1Q -b10000010101000100001010000000101 d -b101100 ` -b100 h -0g -0b -b10 G -b100 4 -1' -#4441 -b110111000 / -#4445 -b10110 Y -b10 F -b100010110 6 -b100010110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11001111 " -b10 . -1& -b10010011110100101011100000100111 % -b10010011110100101011100000100111 : -b10010011110100101011100000100111 L -b10010011110100101011100000100111 ] -0( -0) -0+ -0, -b1 0 -0' -#4450 -b100 4 -b10 G -b10010011110100101011100000100111 d -b10110 ` -b1111 h -b10010011110100101011100000100111 S -b1111 W -1' -#4451 -b110111001 / -#4455 -1^ -b1000110 Y -b10 F -b101000110 6 -1; -b111111001 $ -b11 - -b11 < -b11 N -b11 _ -b101000110 " -b10 . -0& -b10110111100011010100100101101 % -b10110111100011010100100101101 : -b10110111100011010100100101101 L -b10110111100011010100100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#4460 -1E -b10110111100011010100100101101 S -b11 W -b10110111100011010100100101101 d -b1000110 ` -b11 h -1g -b10 G -1' -#4461 -b110111010 / -#4465 -1[ -b0 Y -0J -b1100000 H -b10 F -b0 > -b1100000 6 -b110001100 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1100000 " -b10 . -b110101010011101011010101101010 % -b110101010011101011010101101010 : -b110101010011101011010101101010 L -b110101010011101011010101101010 ] -0( -0) -0+ -0, -b1 0 -0' -#4468 -b0 e -#4470 -b0 A -b10 G -b110101010011101011010101101010 d -b0 ` -b1001 h -1b -b110101010011101011010101101010 S -b1100000 O -b1001 W -0Q -1' -#4471 -b110111011 / -#4475 -0[ -b10001101 Y -1J -b0 H -b10 F -b1 > -b110001101 6 -b110011011 $ -b0 - -b0 < -b0 N -b0 _ -b110001101 " -b10 . -b111010111011110001101101110101 % -b111010111011110001101101110101 : -b111010111011110001101101110101 L -b111010111011110001101101110101 ] -0( -0) -0+ -0, -b1 0 -0' -#4478 -b10010000000011000000 T -#4480 -b1 A -b10010000000011000000 # -b10 . -b10010000000011000000 ! -b10010000000011000000 C -b111010111011110001101101110101 S -b0 O -b0 W -1Q -b111010111011110001101101110101 d -b10001101 ` -b0 h -0b -b10010000000011000000 ? -b10 G -1' -#4481 -b110111100 / -#4485 -0^ -b111010 Y -b10 F -b100111010 6 -0; -b100111010 $ -b100 - -b100 < -b100 N -b100 _ -b11011 " -b10 . -1& -b11000011001010000101111010000110 % -b11000011001010000101111010000110 : -b11000011001010000101111010000110 L -b11000011001010000101111010000110 ] -0( -0) -0+ -0, -b1 0 -0' -#4490 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b11000011001010000101111010000110 d -b111010 ` -b100 h -0g -b11000011001010000101111010000110 S -b100 W -1' -#4491 -b110111101 / -#4495 -1[ -1^ -b0 Y -0J -0M -b10110100 H -b10 F -b0 > -b10110100 6 -b10110100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111111010 " -b10 . -1& -b10010000001010000111010000100000 % -b10010000001010000111010000100000 : -b10010000001010000111010000100000 L -b10010000001010000111010000100000 ] -0( -0) -0+ -0, -b1 0 -0' -#4500 -b0 A -b10010000001010000111010000100000 S -b10110100 O -b1110 W -0V -0Q -b10010000001010000111010000100000 d -b0 ` -b1110 h -1g -1b -b10 G -b100 4 -1' -#4501 -b110111110 / -#4505 -0[ -b11000111 Y -1J -b1 > -1M -b0 H -b10 F -b111000111 6 -1; -b101010111 $ -b11 - -b11 < -b11 N -b11 _ -b111000111 " -b10 . -0& -b11011100010001110100100010111000 % -b11011100010001110100100010111000 : -b11011100010001110100100010111000 L -b11011100010001110100100010111000 ] -0( -0) -0+ -0, -b1 0 -0' -#4510 -1E -b1 A -b10 G -b11011100010001110100100010111000 d -b11000111 ` -b11 h -0b -b11011100010001110100100010111000 S -b0 O -b11 W -1V -1Q -1' -#4511 -b110111111 / -#4515 -0^ -b1101 Y -b10 F -b100001101 6 -0; -b100001101 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110101010 " -b10 . -1& -b1001000111101111110101110010001 % -b1001000111101111110101110010001 : -b1001000111101111110101110010001 L -b1001000111101111110101110010001 ] -0( -0) -0+ -0, -b1 0 -0' -#4520 -0E -b1001000111101111110101110010001 S -b1110 W -b1001000111101111110101110010001 d -b1101 ` -b1110 h -0g -b10 G -b100 4 -1' -#4521 -b111000000 / -#4525 -1^ -b11000001 Y -b10 F -b111000001 6 -1; -b111110110 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111000001 " -b10 . -0& -b1001001110110000000000110010011 % -b1001001110110000000000110010011 : -b1001001110110000000000110010011 L -b1001001110110000000000110010011 ] -0( -0) -0+ -0, -b1 0 -0' -#4530 -1E -b10 G -b1001001110110000000000110010011 d -b11000001 ` -b1010 h -1g -b1001001110110000000000110010011 S -b1010 W -1' -#4531 -b111000001 / -#4535 -1[ -0J -0M -b11010011 H -b0 > -1^ -b0 Y -b10 F -b11010011 6 -0; -b11010011 $ -b111 - -b111 < -b111 N -b111 _ -b100000101 " -b10 . -1& -b11001000100111000100000010010001 % -b11001000100111000100000010010001 : -b11001000100111000100000010010001 L -b11001000100111000100000010010001 ] -0( -0) -0+ -0, -b1 0 -0' -#4538 -b111111001111100000000011001001 e -#4540 -0E -b0 A -b111111001111100000000011001001 # -b10 . -b111111001111100000000011001001 ! -b111111001111100000000011001001 C -b11001000100111000100000010010001 S -b11010011 O -b111 W -0V -0Q -b11001000100111000100000010010001 d -b0 ` -b111 h -1b -b111111001111100000000011001001 ? -b10 G -b100 4 -1' -#4541 -b111000010 / -#4545 -0[ -b10101 Y -1J -b1 > -1M -b0 H -b10 F -b100010101 6 -1; -b111000011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100010101 " -b10 . -0& -b10101000001011101111011001010000 % -b10101000001011101111011001010000 : -b10101000001011101111011001010000 L -b10101000001011101111011001010000 ] -0( -0) -0+ -0, -b1 0 -0' -#4550 -1E -b1 A -b10 G -b10101000001011101111011001010000 d -b10101 ` -b1101 h -0b -b10101000001011101111011001010000 S -b0 O -b1101 W -1V -1Q -1' -#4551 -b111000011 / -#4555 -0^ -b11010101 Y -b10 F -b111010101 6 -0; -b111010101 $ -b100000011 " -b10 . -1& -b1010110100011000010000110101101 % -b1010110100011000010000110101101 : -b1010110100011000010000110101101 L -b1010110100011000010000110101101 ] -0( -0) -0+ -0, -b1 0 -0' -#4558 -b0 e -#4560 -0E -b0 # -b10 . -b0 ! -b0 C -b1010110100011000010000110101101 S -b1010110100011000010000110101101 d -b11010101 ` -0g -b0 ? -b10 G -b100 4 -1' -#4561 -b111000100 / -#4565 -1[ -1^ -b0 Y -0J -0M -b1010001 H -b10 F -b0 > -b1010001 6 -b1010001 $ -b0 - -b0 < -b0 N -b0 _ -b110001 " -b10 . -1& -b10110010110100100111100101100 % -b10110010110100100111100101100 : -b10110010110100100111100101100 L -b10110010110100100111100101100 ] -0( -0) -0+ -0, -b1 0 -0' -#4570 -b0 A -b100 4 -b10 G -b10110010110100100111100101100 d -b0 ` -b0 h -1g -1b -b10110010110100100111100101100 S -b1010001 O -b0 W -0V -0Q -1' -#4571 -b111000101 / -#4575 -b111000 H -b10 F -b111000 6 -b111000 $ -b100100000 " -b10 . -1& -b101000100111001000010101010001 % -b101000100111001000010101010001 : -b101000100111001000010101010001 L -b101000100111001000010101010001 ] -0( -0) -0+ -0, -b1 0 -0' -#4580 -b101000100111001000010101010001 S -b111000 O -b101000100111001000010101010001 d -b10 G -b100 4 -1' -#4581 -b111000110 / -#4585 -1M -b10011 H -b10 F -b10011 6 -1; -b10111110 $ -b110 - -b110 < -b110 N -b110 _ -b10011 " -b10 . -0& -b10011100100110101100110000111001 % -b10011100100110101100110000111001 : -b10011100100110101100110000111001 L -b10011100100110101100110000111001 ] -0( -0) -0+ -0, -b1 0 -0' -#4590 -1E -b10 G -b10011100100110101100110000111001 d -b110 h -b10011100100110101100110000111001 S -b10011 O -b110 W -1V -1' -#4591 -b111000111 / -#4595 -0[ -b10000110 Y -1J -b0 H -b10 F -b1 > -b110000110 6 -b10111111 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b110000110 " -b10 . -b10100010010100100001010001000100 % -b10100010010100100001010001000100 : -b10100010010100100001010001000100 L -b10100010010100100001010001000100 ] -0( -0) -0+ -0, -b1 0 -0' -#4598 -b0 T -#4600 -b1 A -b10100010010100100001010001000100 S -b0 O -b1111 W -1Q -b10100010010100100001010001000100 d -b10000110 ` -b1111 h -0b -b10 G -1' -#4601 -b111001000 / -#4605 -1[ -b0 Y -0J -b1001011 H -b10 F -b0 > -b1001011 6 -b11111010 $ -b110 - -b110 < -b110 N -b110 _ -b1001011 " -b10 . -b11000001101110111011001010000011 % -b11000001101110111011001010000011 : -b11000001101110111011001010000011 L -b11000001101110111011001010000011 ] -0( -0) -0+ -0, -b1 0 -0' -#4610 -b0 A -b10 G -b11000001101110111011001010000011 d -b0 ` -b110 h -1b -b11000001101110111011001010000011 S -b1001011 O -b110 W -0Q -1' -#4611 -b111001001 / -#4615 -0[ -0^ -b10011101 Y -1J -b1 > -1M -b0 H -b10 F -b110011101 6 -0; -b110011101 $ -b10 - -b10 < -b10 N -b10 _ -b100010 " -b10 . -1& -b10001000011101011000001000010000 % -b10001000011101011000001000010000 : -b10001000011101011000001000010000 L -b10001000011101011000001000010000 ] -0( -0) -0+ -0, -b1 0 -0' -#4620 -0E -b1 A -b10001000011101011000001000010000 S -b0 O -b10 W -1Q -b10001000011101011000001000010000 d -b10011101 ` -b10 h -0g -0b -b10 G -b100 4 -1' -#4621 -b111001010 / -#4625 -b11010 Y -b10 F -b100011010 6 -b100011010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110010010 " -b10 . -1& -b1111101000000011001100111111010 % -b1111101000000011001100111111010 : -b1111101000000011001100111111010 L -b1111101000000011001100111111010 ] -0( -0) -0+ -0, -b1 0 -0' -#4630 -b100 4 -b10 G -b1111101000000011001100111111010 d -b11010 ` -b1110 h -b1111101000000011001100111111010 S -b1110 W -1' -#4631 -b111001011 / -#4635 -1[ -1^ -b0 Y -0J -0M -b101101 H -b10 F -b0 > -b101101 6 -b101101 $ -b11 - -b11 < -b11 N -b11 _ -b1011110 " -b10 . -1& -b10111110110000101110100001111101 % -b10111110110000101110100001111101 : -b10111110110000101110100001111101 L -b10111110110000101110100001111101 ] -0( -0) -0+ -0, -b1 0 -0' -#4640 -b0 A -b10111110110000101110100001111101 S -b101101 O -b11 W -0V -0Q -b10111110110000101110100001111101 d -b0 ` -b11 h -1g -1b -b10 G -b100 4 -1' -#4641 -b111001100 / -#4645 -0[ -0^ -b11000010 Y -1J -1M -b0 H -b10 F -b1 > -b111000010 6 -b111000010 $ -b100 - -b100 < -b100 N -b100 _ -b100100110 " -b10 . -1& -b1000110001010000101011110001100 % -b1000110001010000101011110001100 : -b1000110001010000101011110001100 L -b1000110001010000101011110001100 ] -0( -0) -0+ -0, -b1 0 -0' -#4650 -b1 A -b100 4 -b10 G -b1000110001010000101011110001100 d -b11000010 ` -b100 h -0g -0b -b1000110001010000101011110001100 S -b0 O -b100 W -1V -1Q -1' -#4651 -b111001101 / -#4655 -1[ -1^ -b0 Y -0J -0M -b11100 H -b10 F -b0 > -b11100 6 -b11100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110000010 " -b10 . -1& -b100010010011000011000101000100 % -b100010010011000011000101000100 : -b100010010011000011000101000100 L -b100010010011000011000101000100 ] -0( -0) -0+ -0, -b1 0 -0' -#4660 -b0 A -b100010010011000011000101000100 S -b11100 O -b1011 W -0V -0Q -b100010010011000011000101000100 d -b0 ` -b1011 h -1g -1b -b10 G -b100 4 -1' -#4661 -b111001110 / -#4665 -1M -b1010101 H -b10 F -b1010101 6 -1; -b11001101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1010101 " -b10 . -0& -b11100110101001111110001011001101 % -b11100110101001111110001011001101 : -b11100110101001111110001011001101 L -b11100110101001111110001011001101 ] -0( -0) -0+ -0, -b1 0 -0' -#4670 -1E -b10 G -b11100110101001111110001011001101 d -b1001 h -b11100110101001111110001011001101 S -b1010101 O -b1001 W -1V -1' -#4671 -b111001111 / -#4675 -b10000010 H -b10 F -b10000010 6 -b111101111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b10000010 " -b10 . -b11100101111001100111001011001011 % -b11100101111001100111001011001011 : -b11100101111001100111001011001011 L -b11100101111001100111001011001011 ] -0( -0) -0+ -0, -b1 0 -0' -#4678 -b1110001001010101 T -#4680 -b1110001001010101 # -b10 . -b1110001001010101 ! -b1110001001010101 C -b11100101111001100111001011001011 S -b10000010 O -b1100 W -b11100101111001100111001011001011 d -b1100 h -b1110001001010101 ? -b10 G -1' -#4681 -b111010000 / -#4685 -0[ -0^ -b10111100 Y -1J -b1 > -1M -b0 H -b10 F -b110111100 6 -0; -b110111100 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b101011101 " -b10 . -1& -b11001111001110000010100010011110 % -b11001111001110000010100010011110 : -b11001111001110000010100010011110 L -b11001111001110000010100010011110 ] -0( -0) -0+ -0, -b1 0 -0' -#4688 -b0 T -#4690 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b11001111001110000010100010011110 d -b10111100 ` -b1001 h -0g -0b -b11001111001110000010100010011110 S -b0 O -b1001 W -1Q -1' -#4691 -b111010001 / -#4695 -b11111010 Y -b10 F -b111111010 6 -b111111010 $ -b101 - -b101 < -b101 N -b101 _ -b11111010 " -b10 . -1& -b10101110101110100100111001011101 % -b10101110101110100100111001011101 : -b10101110101110100100111001011101 L -b10101110101110100100111001011101 ] -0( -0) -0+ -0, -b1 0 -0' -#4700 -b10101110101110100100111001011101 S -b101 W -b10101110101110100100111001011101 d -b11111010 ` -b101 h -b10 G -b100 4 -1' -#4701 -b111010010 / -#4705 -1^ -b1101011 Y -b10 F -b101101011 6 -1; -b111110011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101101011 " -b10 . -0& -b10000010010010111111100000000100 % -b10000010010010111111100000000100 : -b10000010010010111111100000000100 L -b10000010010010111111100000000100 ] -0( -0) -0+ -0, -b1 0 -0' -#4710 -1E -b10 G -b10000010010010111111100000000100 d -b1101011 ` -b1101 h -1g -b10000010010010111111100000000100 S -b1101 W -1' -#4711 -b111010011 / -#4715 -b100101 Y -b10 F -b100100101 6 -b111000000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100100101 " -b10 . -b111101110011110101001101111011 % -b111101110011110101001101111011 : -b111101110011110101001101111011 L -b111101110011110101001101111011 ] -0( -0) -0+ -0, -b1 0 -0' -#4720 -b111101110011110101001101111011 S -b1110 W -b111101110011110101001101111011 d -b100101 ` -b1110 h -b10 G -1' -#4721 -b111010100 / -#4725 -1[ -b0 Y -0J -b1111 H -b10 F -b0 > -b1111 6 -b110000100 $ -b100 - -b100 < -b100 N -b100 _ -b1111 " -b10 . -b1111111110101101010100011111 % -b1111111110101101010100011111 : -b1111111110101101010100011111 L -b1111111110101101010100011111 ] -0( -0) -0+ -0, -b1 0 -0' -#4728 -b101110000111000 e -#4730 -b0 A -b101110000111000 # -b10 . -b101110000111000 ! -b101110000111000 C -b101110000111000 ? -b10 G -b1111111110101101010100011111 d -b0 ` -b100 h -1b -b1111111110101101010100011111 S -b1111 O -b100 W -0Q -1' -#4731 -b111010101 / -#4735 -0[ -b10101111 Y -1J -b0 H -b10 F -b1 > -b110101111 6 -b101000011 $ -b110101111 " -b10 . -b11101000001010100101011011010000 % -b11101000001010100101011011010000 : -b11101000001010100101011011010000 L -b11101000001010100101011011010000 ] -0( -0) -0+ -0, -b1 0 -0' -#4738 -b11011101111111000000000010111011 T -#4740 -b1 A -b11011101111111000000000010111011 # -b10 . -b11011101111111000000000010111011 ! -b11011101111111000000000010111011 C -b11101000001010100101011011010000 S -b0 O -1Q -b11101000001010100101011011010000 d -b10101111 ` -0b -b11011101111111000000000010111011 ? -b10 G -1' -#4741 -b111010110 / -#4745 -0^ -b10101100 Y -b10 F -b110101100 6 -0; -b110101100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111101011 " -b10 . -1& -b11001100100011110010100110011 % -b11001100100011110010100110011 : -b11001100100011110010100110011 L -b11001100100011110010100110011 ] -0( -0) -0+ -0, -b1 0 -0' -#4748 -b1000000000000000000 e -#4750 -0E -b1000000000000000000 # -b10 . -b1000000000000000000 ! -b1000000000000000000 C -b100 4 -b1000000000000000000 ? -b10 G -b11001100100011110010100110011 d -b10101100 ` -b1011 h -0g -b11001100100011110010100110011 S -b1011 W -1' -#4751 -b111010111 / -#4755 -1^ -b101111 Y -b10 F -b100101111 6 -1; -b110110010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100101111 " -b10 . -0& -b101001110101101110001101010011 % -b101001110101101110001101010011 : -b101001110101101110001101010011 L -b101001110101101110001101010011 ] -0( -0) -0+ -0, -b1 0 -0' -#4760 -1E -b101001110101101110001101010011 S -b1110 W -b101001110101101110001101010011 d -b101111 ` -b1110 h -1g -b10 G -1' -#4761 -b111011000 / -#4765 -1[ -0J -0M -b10001101 H -b0 > -1^ -b0 Y -b10 F -b10001101 6 -0; -b10001101 $ -b100 - -b100 < -b100 N -b100 _ -b101011100 " -b10 . -1& -b1001010110000111100011110010101 % -b1001010110000111100011110010101 : -b1001010110000111100011110010101 L -b1001010110000111100011110010101 ] -0( -0) -0+ -0, -b1 0 -0' -#4768 -b1101010010111010000000000000000 e -#4770 -0E -b0 A -b1101010010111010000000000000000 # -b10 . -b1101010010111010000000000000000 ! -b1101010010111010000000000000000 C -b100 4 -b1101010010111010000000000000000 ? -b10 G -b1001010110000111100011110010101 d -b0 ` -b100 h -1b -b1001010110000111100011110010101 S -b10001101 O -b100 W -0V -0Q -1' -#4771 -b111011001 / -#4775 -0[ -b10111001 Y -1J -b1 > -1M -b0 H -b10 F -b110111001 6 -1; -b1011111 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110111001 " -b10 . -0& -b1110000111100111000011111100001 % -b1110000111100111000011111100001 : -b1110000111100111000011111100001 L -b1110000111100111000011111100001 ] -0( -0) -0+ -0, -b1 0 -0' -#4780 -1E -b1 A -b1110000111100111000011111100001 S -b0 O -b1000 W -1V -1Q -b1110000111100111000011111100001 d -b10111001 ` -b1000 h -0b -b10 G -1' -#4781 -b111011010 / -#4785 -b10010100 Y -b10 F -b110010100 6 -b110100100 $ -b0 - -b0 < -b0 N -b0 _ -b110010100 " -b10 . -b11100001011110111011100111000 % -b11100001011110111011100111000 : -b11100001011110111011100111000 L -b11100001011110111011100111000 ] -0( -0) -0+ -0, -b1 0 -0' -#4788 -b100010000010000100000000 e -#4790 -b100010000010000100000000 # -b10 . -b100010000010000100000000 ! -b100010000010000100000000 C -b100010000010000100000000 ? -b10 G -b11100001011110111011100111000 d -b10010100 ` -b0 h -b11100001011110111011100111000 S -b0 W -1' -#4791 -b111011011 / -#4795 -1[ -b0 Y -0J -b1000110 H -b10 F -b0 > -b1000110 6 -b101100101 $ -b10 - -b10 < -b10 N -b10 _ -b1000110 " -b10 . -b10000100100110010100000000001001 % -b10000100100110010100000000001001 : -b10000100100110010100000000001001 L -b10000100100110010100000000001001 ] -0( -0) -0+ -0, -b1 0 -0' -#4798 -b10010100101010000000000100101 e -#4800 -b0 A -b10010100101010000000000100101 # -b10 . -b10010100101010000000000100101 ! -b10010100101010000000000100101 C -b10000100100110010100000000001001 S -b1000110 O -b10 W -0Q -b10000100100110010100000000001001 d -b0 ` -b10 h -1b -b10010100101010000000000100101 ? -b10 G -1' -#4801 -b111011100 / -#4805 -0M -b111 H -b10 F -b111 6 -0; -b111 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101111110 " -b10 . -1& -b11110110101101100010101011101101 % -b11110110101101100010101011101101 : -b11110110101101100010101011101101 L -b11110110101101100010101011101101 ] -0( -0) -0+ -0, -b1 0 -0' -#4808 -b0 T -#4810 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b11110110101101100010101011101101 d -b1000 h -b11110110101101100010101011101101 S -b111 O -b1000 W -0V -1' -#4811 -b111011101 / -#4815 -b100011 H -b10 F -b100011 6 -b100011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101011010 " -b10 . -1& -b11011000001101011101100010110000 % -b11011000001101011101100010110000 : -b11011000001101011101100010110000 L -b11011000001101011101100010110000 ] -0( -0) -0+ -0, -b1 0 -0' -#4820 -b11011000001101011101100010110000 S -b100011 O -b1100 W -b11011000001101011101100010110000 d -b1100 h -b10 G -b100 4 -1' -#4821 -b111011110 / -#4825 -0[ -b111000 Y -1J -b1 > -1M -b0 H -b10 F -b100111000 6 -1; -b1101110 $ -b100 - -b100 < -b100 N -b100 _ -b100111000 " -b10 . -0& -b11100000110110000011100011000001 % -b11100000110110000011100011000001 : -b11100000110110000011100011000001 L -b11100000110110000011100011000001 ] -0( -0) -0+ -0, -b1 0 -0' -#4830 -1E -b1 A -b10 G -b11100000110110000011100011000001 d -b111000 ` -b100 h -0b -b11100000110110000011100011000001 S -b0 O -b100 W -1V -1Q -1' -#4831 -b111011111 / -#4835 -b10001011 Y -b10 F -b110001011 6 -b1100011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110001011 " -b10 . -b1011110101100010100011110111101 % -b1011110101100010100011110111101 : -b1011110101100010100011110111101 L -b1011110101100010100011110111101 ] -0( -0) -0+ -0, -b1 0 -0' -#4838 -b11101010011010110000100111010 e -#4840 -b11101010011010110000100111010 # -b10 . -b11101010011010110000100111010 ! -b11101010011010110000100111010 C -b1011110101100010100011110111101 S -b1011 W -b1011110101100010100011110111101 d -b10001011 ` -b1011 h -b11101010011010110000100111010 ? -b10 G -1' -#4841 -b111100000 / -#4845 -0^ -b1000101 Y -b10 F -b101000101 6 -0; -b101000101 $ -b10 - -b10 < -b10 N -b10 _ -b101001101 " -b10 . -1& -b10101111000100001110110001011110 % -b10101111000100001110110001011110 : -b10101111000100001110110001011110 L -b10101111000100001110110001011110 ] -0( -0) -0+ -0, -b1 0 -0' -#4848 -b10101110000000000000000 e -#4850 -0E -b10101110000000000000000 # -b10 . -b10101110000000000000000 ! -b10101110000000000000000 C -b100 4 -b10101110000000000000000 ? -b10 G -b10101111000100001110110001011110 d -b1000101 ` -b10 h -0g -b10101111000100001110110001011110 S -b10 W -1' -#4851 -b111100001 / -#4855 -1[ -0J -b11000011 H -b0 > -1^ -b0 Y -b10 F -b11000011 6 -1; -b10001010 $ -b11 - -b11 < -b11 N -b11 _ -b11000011 " -b10 . -0& -b111001011101100000101101110010 % -b111001011101100000101101110010 : -b111001011101100000101101110010 L -b111001011101100000101101110010 ] -0( -0) -0+ -0, -b1 0 -0' -#4860 -1E -b0 A -b111001011101100000101101110010 S -b11000011 O -b11 W -0Q -b111001011101100000101101110010 d -b0 ` -b11 h -1g -1b -b10 G -1' -#4861 -b111100010 / -#4865 -0M -b1111001 H -b10 F -b1111001 6 -0; -b1111001 $ -b110 - -b110 < -b110 N -b110 _ -b110000001 " -b10 . -1& -b10101101111010010111010001011011 % -b10101101111010010111010001011011 : -b10101101111010010111010001011011 L -b10101101111010010111010001011011 ] -0( -0) -0+ -0, -b1 0 -0' -#4868 -b101101 T -#4870 -0E -b101101 # -b10 . -b101101 ! -b101101 C -b100 4 -b101101 ? -b10 G -b10101101111010010111010001011011 d -b110 h -b10101101111010010111010001011011 S -b1111001 O -b110 W -0V -1' -#4871 -b111100011 / -#4875 -0[ -0^ -b1111001 Y -1J -1M -b0 H -b10 F -b1 > -b101111001 6 -b101111001 $ -b10 - -b10 < -b10 N -b10 _ -b110011110 " -b10 . -1& -b10011110001101001001000000111100 % -b10011110001101001001000000111100 : -b10011110001101001001000000111100 L -b10011110001101001001000000111100 ] -0( -0) -0+ -0, -b1 0 -0' -#4880 -b1 A -b10011110001101001001000000111100 S -b0 O -b10 W -1V -1Q -b10011110001101001001000000111100 d -b1111001 ` -b10 h -0g -0b -b10 G -b100 4 -1' -#4881 -b111100100 / -#4885 -b100111 Y -b10 F -b100100111 6 -b100100111 $ -b1 - -b1 < -b1 N -b1 _ -b1011010 " -b10 . -1& -b11011000001110101011100010110000 % -b11011000001110101011100010110000 : -b11011000001110101011100010110000 L -b11011000001110101011100010110000 ] -0( -0) -0+ -0, -b1 0 -0' -#4890 -b100 4 -b10 G -b11011000001110101011100010110000 d -b100111 ` -b1 h -b11011000001110101011100010110000 S -b1 W -1' -#4891 -b111100101 / -#4895 -1[ -1^ -b0 Y -0J -0M -b10100101 H -b10 F -b0 > -b10100101 6 -b10100101 $ -b111 - -b111 < -b111 N -b111 _ -b10111010 " -b10 . -1& -b10110010111110011001010001100101 % -b10110010111110011001010001100101 : -b10110010111110011001010001100101 L -b10110010111110011001010001100101 ] -0( -0) -0+ -0, -b1 0 -0' -#4900 -b0 A -b10110010111110011001010001100101 S -b10100101 O -b111 W -0V -0Q -b10110010111110011001010001100101 d -b0 ` -b111 h -1g -1b -b10 G -b100 4 -1' -#4901 -b111100110 / -#4905 -b11000101 H -b10 F -b11000101 6 -b11000101 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111110000 " -b10 . -1& -b1010101110101100011100110101011 % -b1010101110101100011100110101011 : -b1010101110101100011100110101011 L -b1010101110101100011100110101011 ] -0( -0) -0+ -0, -b1 0 -0' -#4910 -b100 4 -b10 G -b1010101110101100011100110101011 d -b1010 h -b1010101110101100011100110101011 S -b11000101 O -b1010 W -1' -#4911 -b111100111 / -#4915 -b1011110 H -b10 F -b1011110 6 -b1011110 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b11111011 " -b10 . -1& -b10011010111011110111110000110101 % -b10011010111011110111110000110101 : -b10011010111011110111110000110101 L -b10011010111011110111110000110101 ] -0( -0) -0+ -0, -b1 0 -0' -#4920 -b10011010111011110111110000110101 S -b1011110 O -b1101 W -b10011010111011110111110000110101 d -b1101 h -b10 G -b100 4 -1' -#4921 -b111101000 / -#4925 -1M -b1011010 H -b10 F -b1011010 6 -1; -b101110010 $ -b1 - -b1 < -b1 N -b1 _ -b1011010 " -b10 . -0& -b100110100011011111100101001101 % -b100110100011011111100101001101 : -b100110100011011111100101001101 L -b100110100011011111100101001101 ] -0( -0) -0+ -0, -b1 0 -0' -#4930 -1E -b10 G -b100110100011011111100101001101 d -b1 h -b100110100011011111100101001101 S -b1011010 O -b1 W -1V -1' -#4931 -b111101001 / -#4935 -0[ -b11111110 Y -1J -b0 H -b10 F -b1 > -b111111110 6 -b111010100 $ -b110 - -b110 < -b110 N -b110 _ -b111111110 " -b10 . -b10101110111000101011100001011101 % -b10101110111000101011100001011101 : -b10101110111000101011100001011101 L -b10101110111000101011100001011101 ] -0( -0) -0+ -0, -b1 0 -0' -#4938 -b0 T -#4940 -b1 A -b0 # -b10 . -b0 ! -b0 C -b10101110111000101011100001011101 S -b0 O -b110 W -1Q -b10101110111000101011100001011101 d -b11111110 ` -b110 h -0b -b0 ? -b10 G -1' -#4941 -b111101010 / -#4945 -b10100100 Y -b10 F -b110100100 6 -b100000 $ -b10 - -b10 < -b10 N -b10 _ -b110100100 " -b10 . -b11110011010100110101001011100110 % -b11110011010100110101001011100110 : -b11110011010100110101001011100110 L -b11110011010100110101001011100110 ] -0( -0) -0+ -0, -b1 0 -0' -#4948 -b0 e -#4950 -b10 G -b11110011010100110101001011100110 d -b10100100 ` -b10 h -b11110011010100110101001011100110 S -b10 W -1' -#4951 -b111101011 / -#4955 -b1011011 Y -b10 F -b101011011 6 -b10001101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101011011 " -b10 . -b10010011011000010010010000100110 % -b10010011011000010010010000100110 : -b10010011011000010010010000100110 L -b10010011011000010010010000100110 ] -0( -0) -0+ -0, -b1 0 -0' -#4958 -b10111000000000000000000101111 e -#4960 -b10111000000000000000000101111 # -b10 . -b10111000000000000000000101111 ! -b10111000000000000000000101111 C -b10010011011000010010010000100110 S -b1011 W -b10010011011000010010010000100110 d -b1011011 ` -b1011 h -b10111000000000000000000101111 ? -b10 G -1' -#4961 -b111101100 / -#4965 -1[ -0J -0M -b10010110 H -b0 > -1^ -b0 Y -b10 F -b10010110 6 -0; -b10010110 $ -b100011001 " -b10 . -1& -b11110010111001001101110011100101 % -b11110010111001001101110011100101 : -b11110010111001001101110011100101 L -b11110010111001001101110011100101 ] -0( -0) -0+ -0, -b1 0 -0' -#4968 -b0 e -#4970 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b11110010111001001101110011100101 d -b0 ` -1b -b11110010111001001101110011100101 S -b10010110 O -0V -0Q -1' -#4971 -b111101101 / -#4975 -0[ -0^ -b11101101 Y -1J -1M -b0 H -b10 F -b1 > -b111101101 6 -b111101101 $ -b110 - -b110 < -b110 N -b110 _ -b10111111 " -b10 . -1& -b10111011000011000110110001110110 % -b10111011000011000110110001110110 : -b10111011000011000110110001110110 L -b10111011000011000110110001110110 ] -0( -0) -0+ -0, -b1 0 -0' -#4980 -b1 A -b10111011000011000110110001110110 S -b0 O -b110 W -1V -1Q -b10111011000011000110110001110110 d -b11101101 ` -b110 h -0g -0b -b10 G -b100 4 -1' -#4981 -b111101110 / -#4985 -b11100 Y -b10 F -b100011100 6 -b100011100 $ -b0 - -b0 < -b0 N -b0 _ -b11001011 " -b10 . -1& -b10001010000110100101100100010 % -b10001010000110100101100100010 : -b10001010000110100101100100010 L -b10001010000110100101100100010 ] -0( -0) -0+ -0, -b1 0 -0' -#4990 -b100 4 -b10 G -b10001010000110100101100100010 d -b11100 ` -b0 h -b10001010000110100101100100010 S -b0 W -1' -#4991 -b111101111 / -#4995 -b10011011 Y -b10 F -b110011011 6 -b110011011 $ -b10 - -b10 < -b10 N -b10 _ -b11000 " -b10 . -1& -b10010110011101110110011000101100 % -b10010110011101110110011000101100 : -b10010110011101110110011000101100 L -b10010110011101110110011000101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5000 -b10010110011101110110011000101100 S -b10 W -b10010110011101110110011000101100 d -b10011011 ` -b10 h -b10 G -b100 4 -1' -#5001 -b111110000 / -#5005 -1^ -b10110111 Y -b10 F -b110110111 6 -1; -b111100101 $ -b0 - -b0 < -b0 N -b0 _ -b110110111 " -b10 . -0& -b1000111001010100110100010001 % -b1000111001010100110100010001 : -b1000111001010100110100010001 L -b1000111001010100110100010001 ] -0( -0) -0+ -0, -b1 0 -0' -#5010 -1E -b10 G -b1000111001010100110100010001 d -b10110111 ` -b0 h -1g -b1000111001010100110100010001 S -b0 W -1' -#5011 -b111110001 / -#5015 -1[ -b0 Y -0J -b11111111 H -b10 F -b0 > -b11111111 6 -b101100010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11111111 " -b10 . -b1101011101001100111000111010111 % -b1101011101001100111000111010111 : -b1101011101001100111000111010111 L -b1101011101001100111000111010111 ] -0( -0) -0+ -0, -b1 0 -0' -#5020 -b0 A -b1101011101001100111000111010111 S -b11111111 O -b1110 W -0Q -b1101011101001100111000111010111 d -b0 ` -b1110 h -1b -b10 G -1' -#5021 -b111110010 / -#5025 -0M -b1110000 H -b10 F -b1110000 6 -0; -b1110000 $ -b10 - -b10 < -b10 N -b10 _ -b101001011 " -b10 . -1& -b1001010011000100110111110010100 % -b1001010011000100110111110010100 : -b1001010011000100110111110010100 L -b1001010011000100110111110010100 ] -0( -0) -0+ -0, -b1 0 -0' -#5030 -0E -b100 4 -b10 G -b1001010011000100110111110010100 d -b10 h -b1001010011000100110111110010100 S -b1110000 O -b10 W -0V -1' -#5031 -b111110011 / -#5035 -0[ -b111111 Y -1J -b1 > -1M -b0 H -b10 F -b100111111 6 -1; -b11101110 $ -b11 - -b11 < -b11 N -b11 _ -b100111111 " -b10 . -0& -b111110000010101101101101111100 % -b111110000010101101101101111100 : -b111110000010101101101101111100 L -b111110000010101101101101111100 ] -0( -0) -0+ -0, -b1 0 -0' -#5040 -1E -b1 A -b111110000010101101101101111100 S -b0 O -b11 W -1V -1Q -b111110000010101101101101111100 d -b111111 ` -b11 h -0b -b10 G -1' -#5041 -b111110100 / -#5045 -0^ -b10010100 Y -b10 F -b110010100 6 -0; -b110010100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101010011 " -b10 . -1& -b1011011000011001111011110110110 % -b1011011000011001111011110110110 : -b1011011000011001111011110110110 L -b1011011000011001111011110110110 ] -0( -0) -0+ -0, -b1 0 -0' -#5050 -0E -b100 4 -b10 G -b1011011000011001111011110110110 d -b10010100 ` -b1011 h -0g -b1011011000011001111011110110110 S -b1011 W -1' -#5051 -b111110101 / -#5055 -b11111000 Y -b10 F -b111111000 6 -b111111000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110101 " -b10 . -1& -b10000100100100010011111000001001 % -b10000100100100010011111000001001 : -b10000100100100010011111000001001 L -b10000100100100010011111000001001 ] -0( -0) -0+ -0, -b1 0 -0' -#5060 -b10000100100100010011111000001001 S -b1110 W -b10000100100100010011111000001001 d -b11111000 ` -b1110 h -b10 G -b100 4 -1' -#5061 -b111110110 / -#5065 -b1101 Y -b10 F -b100001101 6 -b100001101 $ -b0 - -b0 < -b0 N -b0 _ -b10001110 " -b10 . -1& -b101100101100101100101101011001 % -b101100101100101100101101011001 : -b101100101100101100101101011001 L -b101100101100101100101101011001 ] -0( -0) -0+ -0, -b1 0 -0' -#5070 -b100 4 -b10 G -b101100101100101100101101011001 d -b1101 ` -b0 h -b101100101100101100101101011001 S -b0 W -1' -#5071 -b111110111 / -#5075 -1[ -0J -b1100011 H -b0 > -1^ -b0 Y -b10 F -b1100011 6 -1; -b100111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1100011 " -b10 . -0& -b1010110000110101110001110101100 % -b1010110000110101110001110101100 : -b1010110000110101110001110101100 L -b1010110000110101110001110101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5080 -1E -b0 A -b1010110000110101110001110101100 S -b1100011 O -b1001 W -0Q -b1010110000110101110001110101100 d -b0 ` -b1001 h -1g -1b -b10 G -1' -#5081 -b111111000 / -#5085 -b11101111 H -b10 F -b11101111 6 -b110100100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11101111 " -b10 . -b11001000011111010100011010010000 % -b11001000011111010100011010010000 : -b11001000011111010100011010010000 L -b11001000011111010100011010010000 ] -0( -0) -0+ -0, -b1 0 -0' -#5088 -b10111001000101011000111000000000 T -#5090 -b10111001000101011000111000000000 # -b10 . -b10111001000101011000111000000000 ! -b10111001000101011000111000000000 C -b10111001000101011000111000000000 ? -b10 G -b11001000011111010100011010010000 d -b1100 h -b11001000011111010100011010010000 S -b11101111 O -b1100 W -1' -#5091 -b111111001 / -#5095 -0M -b111000 H -b10 F -b111000 6 -0; -b111000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10011 " -b10 . -1& -b1100101011110100001010111001010 % -b1100101011110100001010111001010 : -b1100101011110100001010111001010 L -b1100101011110100001010111001010 ] -0( -0) -0+ -0, -b1 0 -0' -#5098 -b0 T -#5100 -0E -b0 # -b10 . -b0 ! -b0 C -b1100101011110100001010111001010 S -b111000 O -b1111 W -0V -b1100101011110100001010111001010 d -b1111 h -b0 ? -b10 G -b100 4 -1' -#5101 -b111111010 / -#5105 -0[ -b11100011 Y -1J -b1 > -1M -b0 H -b10 F -b111100011 6 -1; -b10001100 $ -b10 - -b10 < -b10 N -b10 _ -b111100011 " -b10 . -0& -b11101100101010000010100011011001 % -b11101100101010000010100011011001 : -b11101100101010000010100011011001 L -b11101100101010000010100011011001 ] -0( -0) -0+ -0, -b1 0 -0' -#5110 -1E -b1 A -b10 G -b11101100101010000010100011011001 d -b11100011 ` -b10 h -0b -b11101100101010000010100011011001 S -b0 O -b10 W -1V -1Q -1' -#5111 -b111111011 / -#5115 -b11000010 Y -b10 F -b111000010 6 -b100010010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111000010 " -b10 . -b1001100110010011001010110011001 % -b1001100110010011001010110011001 : -b1001100110010011001010110011001 L -b1001100110010011001010110011001 ] -0( -0) -0+ -0, -b1 0 -0' -#5120 -b1001100110010011001010110011001 S -b1111 W -b1001100110010011001010110011001 d -b11000010 ` -b1111 h -b10 G -1' -#5121 -b111111100 / -#5125 -b10111100 Y -b10 F -b110111100 6 -b1111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110111100 " -b10 . -b11100000100001110110100011000001 % -b11100000100001110110100011000001 : -b11100000100001110110100011000001 L -b11100000100001110110100011000001 ] -0( -0) -0+ -0, -b1 0 -0' -#5128 -b10001010000110101011010010 e -#5130 -b10001010000110101011010010 # -b10 . -b10001010000110101011010010 ! -b10001010000110101011010010 C -b10001010000110101011010010 ? -b10 G -b11100000100001110110100011000001 d -b10111100 ` -b1010 h -b11100000100001110110100011000001 S -b1010 W -1' -#5131 -b111111101 / -#5135 -0^ -b11110 Y -b10 F -b100011110 6 -0; -b100011110 $ -b0 - -b0 < -b0 N -b0 _ -b110110111 " -b10 . -1& -b1110100101101101110110111101001 % -b1110100101101101110110111101001 : -b1110100101101101110110111101001 L -b1110100101101101110110111101001 ] -0( -0) -0+ -0, -b1 0 -0' -#5138 -b11001111000000000000000010011110 e -#5140 -0E -b11001111000000000000000010011110 # -b10 . -b11001111000000000000000010011110 ! -b11001111000000000000000010011110 C -b1110100101101101110110111101001 S -b0 W -b1110100101101101110110111101001 d -b11110 ` -b0 h -0g -b11001111000000000000000010011110 ? -b10 G -b100 4 -1' -#5141 -b111111110 / -#5145 -1[ -1^ -b0 Y -0J -0M -b110111 H -b10 F -b0 > -b110111 6 -b110111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b10000001 " -b10 . -1& -b110100000101000001100101101000 % -b110100000101000001100101101000 : -b110100000101000001100101101000 L -b110100000101000001100101101000 ] -0( -0) -0+ -0, -b1 0 -0' -#5150 -b0 A -b100 4 -b10 G -b110100000101000001100101101000 d -b0 ` -b1100 h -1g -1b -b110100000101000001100101101000 S -b110111 O -b1100 W -0V -0Q -1' -#5151 -b111111111 / -#5155 -0[ -0^ -b10000001 Y -1J -1M -b0 H -b10 F -b1 > -b110000001 6 -b110000001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111011100 " -b10 . -1& -b111000101111101000100001110 % -b111000101111101000100001110 : -b111000101111101000100001110 L -b111000101111101000100001110 ] -0( -0) -0+ -0, -b1 0 -0' -#5160 -b1 A -b111000101111101000100001110 S -b0 O -b1001 W -1V -1Q -b111000101111101000100001110 d -b10000001 ` -b1001 h -0g -0b -b10 G -b100 4 -1' -#5161 -b1000000000 / -#5165 -1[ -1^ -b0 Y -0J -0M -b111000 H -b10 F -b0 > -b111000 6 -b111000 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10000101 " -b10 . -1& -b1001111111110000100100110011111 % -b1001111111110000100100110011111 : -b1001111111110000100100110011111 L -b1001111111110000100100110011111 ] -0( -0) -0+ -0, -b1 0 -0' -#5170 -b0 A -b100 4 -b10 G -b1001111111110000100100110011111 d -b0 ` -b1000 h -1g -1b -b1001111111110000100100110011111 S -b111000 O -b1000 W -0V -0Q -1' -#5171 -b1000000001 / -#5175 -0[ -0^ -b101111 Y -1J -1M -b0 H -b10 F -b1 > -b100101111 6 -b100101111 $ -b1 - -b1 < -b1 N -b1 _ -b101100 " -b10 . -1& -b100111000101000001100001001 % -b100111000101000001100001001 : -b100111000101000001100001001 L -b100111000101000001100001001 ] -0( -0) -0+ -0, -b1 0 -0' -#5180 -b1 A -b100111000101000001100001001 S -b0 O -b1 W -1V -1Q -b100111000101000001100001001 d -b101111 ` -b1 h -0g -0b -b10 G -b100 4 -1' -#5181 -b1000000010 / -#5185 -1^ -b10001111 Y -b10 F -b110001111 6 -1; -b1101100 $ -b10 - -b10 < -b10 N -b10 _ -b110001111 " -b10 . -0& -b11000110100011110001100110001 % -b11000110100011110001100110001 : -b11000110100011110001100110001 L -b11000110100011110001100110001 ] -0( -0) -0+ -0, -b1 0 -0' -#5190 -1E -b10 G -b11000110100011110001100110001 d -b10001111 ` -b10 h -1g -b11000110100011110001100110001 S -b10 W -1' -#5191 -b1000000011 / -#5195 -1[ -0J -0M -b11011111 H -b0 > -1^ -b0 Y -b10 F -b11011111 6 -0; -b11011111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100010101 " -b10 . -1& -b1110110011000010011001111101100 % -b1110110011000010011001111101100 : -b1110110011000010011001111101100 L -b1110110011000010011001111101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5198 -b10111101000000000000000001111011 e -#5200 -0E -b0 A -b10111101000000000000000001111011 # -b10 . -b10111101000000000000000001111011 ! -b10111101000000000000000001111011 C -b1110110011000010011001111101100 S -b11011111 O -b1100 W -0V -0Q -b1110110011000010011001111101100 d -b0 ` -b1100 h -1b -b10111101000000000000000001111011 ? -b10 G -b100 4 -1' -#5201 -b1000000100 / -#5205 -0[ -0^ -b100100 Y -1J -1M -b0 H -b10 F -b1 > -b100100100 6 -b100100100 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b1111001 " -b10 . -1& -b1100100001001001001000111001000 % -b1100100001001001001000111001000 : -b1100100001001001001000111001000 L -b1100100001001001001000111001000 ] -0( -0) -0+ -0, -b1 0 -0' -#5210 -b1 A -b100 4 -b10 G -b1100100001001001001000111001000 d -b100100 ` -b1010 h -0g -0b -b1100100001001001001000111001000 S -b0 O -b1010 W -1V -1Q -1' -#5211 -b1000000101 / -#5215 -1[ -0J -b10001110 H -b0 > -1^ -b0 Y -b10 F -b10001110 6 -1; -b101111101 $ -b10 - -b10 < -b10 N -b10 _ -b10001110 " -b10 . -0& -b11110001001110000101010011100010 % -b11110001001110000101010011100010 : -b11110001001110000101010011100010 L -b11110001001110000101010011100010 ] -0( -0) -0+ -0, -b1 0 -0' -#5220 -1E -b0 A -b11110001001110000101010011100010 S -b10001110 O -b10 W -0Q -b11110001001110000101010011100010 d -b0 ` -b10 h -1g -1b -b10 G -1' -#5221 -b1000000110 / -#5225 -0[ -0^ -b1111000 Y -1J -b1 > -1M -b0 H -b10 F -b101111000 6 -0; -b101111000 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111000 " -b10 . -1& -b111001100101001011100001110 % -b111001100101001011100001110 : -b111001100101001011100001110 L -b111001100101001011100001110 ] -0( -0) -0+ -0, -b1 0 -0' -#5230 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b111001100101001011100001110 d -b1111000 ` -b1011 h -0g -0b -b111001100101001011100001110 S -b0 O -b1011 W -1Q -1' -#5231 -b1000000111 / -#5235 -1[ -0J -b1110000 H -b0 > -1^ -b0 Y -b10 F -b1110000 6 -1; -b11010101 $ -b11 - -b11 < -b11 N -b11 _ -b1110000 " -b10 . -0& -b1010100110000001001100010101 % -b1010100110000001001100010101 : -b1010100110000001001100010101 L -b1010100110000001001100010101 ] -0( -0) -0+ -0, -b1 0 -0' -#5240 -1E -b0 A -b1010100110000001001100010101 S -b1110000 O -b11 W -0Q -b1010100110000001001100010101 d -b0 ` -b11 h -1g -1b -b10 G -1' -#5241 -b1000001000 / -#5245 -b11111110 H -b10 F -b11111110 6 -b101011011 $ -b110 - -b110 < -b110 N -b110 _ -b11111110 " -b10 . -b11001111101101001011000010011111 % -b11001111101101001011000010011111 : -b11001111101101001011000010011111 L -b11001111101101001011000010011111 ] -0( -0) -0+ -0, -b1 0 -0' -#5248 -b110111100000000 T -#5250 -b110111100000000 # -b10 . -b110111100000000 ! -b110111100000000 C -b110111100000000 ? -b10 G -b11001111101101001011000010011111 d -b110 h -b11001111101101001011000010011111 S -b11111110 O -b110 W -1' -#5251 -b1000001001 / -#5255 -0[ -b10101001 Y -1J -b0 H -b10 F -b1 > -b110101001 6 -b11000110 $ -b10 - -b10 < -b10 N -b10 _ -b110101001 " -b10 . -b11101100101100001001110011011001 % -b11101100101100001001110011011001 : -b11101100101100001001110011011001 L -b11101100101100001001110011011001 ] -0( -0) -0+ -0, -b1 0 -0' -#5258 -b0 T -#5260 -b1 A -b0 # -b10 . -b0 ! -b0 C -b11101100101100001001110011011001 S -b0 O -b10 W -1Q -b11101100101100001001110011011001 d -b10101001 ` -b10 h -0b -b0 ? -b10 G -1' -#5261 -b1000001010 / -#5265 -b110010 Y -b10 F -b100110010 6 -b1100 - -b1100 < -b1100 N -b1100 _ -b100110010 " -b10 . -b101100001010001111110101011000 % -b101100001010001111110101011000 : -b101100001010001111110101011000 L -b101100001010001111110101011000 ] -0( -0) -0+ -0, -b1 0 -0' -#5268 -b11000101000010110011101010001011 e -#5270 -b11000101000010110011101010001011 # -b10 . -b11000101000010110011101010001011 ! -b11000101000010110011101010001011 C -b11000101000010110011101010001011 ? -b10 G -b101100001010001111110101011000 d -b110010 ` -b1100 h -b101100001010001111110101011000 S -b1100 W -1' -#5271 -b1000001011 / -#5275 -1[ -b0 Y -0J -b1000 H -b10 F -b0 > -b1000 6 -b111011101 $ -b101 - -b101 < -b101 N -b101 _ -b1000 " -b10 . -b11011101010000011001000010111010 % -b11011101010000011001000010111010 : -b11011101010000011001000010111010 L -b11011101010000011001000010111010 ] -0( -0) -0+ -0, -b1 0 -0' -#5278 -b1100100100001100110100000001101 e -#5280 -b0 A -b1100100100001100110100000001101 # -b10 . -b1100100100001100110100000001101 ! -b1100100100001100110100000001101 C -b11011101010000011001000010111010 S -b1000 O -b101 W -0Q -b11011101010000011001000010111010 d -b0 ` -b101 h -1b -b1100100100001100110100000001101 ? -b10 G -1' -#5281 -b1000001100 / -#5285 -0[ -b11011000 Y -1J -b0 H -b10 F -b1 > -b111011000 6 -b11111111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111011000 " -b10 . -b10011101001100001101000000111010 % -b10011101001100001101000000111010 : -b10011101001100001101000000111010 L -b10011101001100001101000000111010 ] -0( -0) -0+ -0, -b1 0 -0' -#5288 -b1000001010111110000000010000010 T -#5290 -b1 A -b1000001010111110000000010000010 # -b10 . -b1000001010111110000000010000010 ! -b1000001010111110000000010000010 C -b1000001010111110000000010000010 ? -b10 G -b10011101001100001101000000111010 d -b11011000 ` -b1101 h -0b -b10011101001100001101000000111010 S -b0 O -b1101 W -1Q -1' -#5291 -b1000001101 / -#5295 -1[ -0J -0M -b110010 H -b0 > -1^ -b0 Y -b10 F -b110010 6 -0; -b110010 $ -b1101101 " -b10 . -1& -b111111110111000101100101111111 % -b111111110111000101100101111111 : -b111111110111000101100101111111 L -b111111110111000101100101111111 ] -0( -0) -0+ -0, -b1 0 -0' -#5298 -b10101100111111010100000000000000 e -#5300 -0E -b0 A -b10101100111111010100000000000000 # -b10 . -b10101100111111010100000000000000 ! -b10101100111111010100000000000000 C -b111111110111000101100101111111 S -b110010 O -0V -0Q -b111111110111000101100101111111 d -b0 ` -1b -b10101100111111010100000000000000 ? -b10 G -b100 4 -1' -#5301 -b1000001110 / -#5305 -1M -b11000111 H -b10 F -b11000111 6 -1; -b1111110 $ -b1 - -b1 < -b1 N -b1 _ -b11000111 " -b10 . -0& -b10101011001101011010001001010110 % -b10101011001101011010001001010110 : -b10101011001101011010001001010110 L -b10101011001101011010001001010110 ] -0( -0) -0+ -0, -b1 0 -0' -#5310 -1E -b10 G -b10101011001101011010001001010110 d -b1 h -b10101011001101011010001001010110 S -b11000111 O -b1 W -1V -1' -#5311 -b1000001111 / -#5315 -0[ -b1010000 Y -1J -b0 H -b10 F -b1 > -b101010000 6 -b10110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101010000 " -b10 . -b110001001100011000100101100010 % -b110001001100011000100101100010 : -b110001001100011000100101100010 L -b110001001100011000100101100010 ] -0( -0) -0+ -0, -b1 0 -0' -#5318 -b0 T -#5320 -b1 A -b0 # -b10 . -b0 ! -b0 C -b110001001100011000100101100010 S -b0 O -b1111 W -1Q -b110001001100011000100101100010 d -b1010000 ` -b1111 h -0b -b0 ? -b10 G -1' -#5321 -b1000010000 / -#5325 -1[ -b0 Y -0J -b1000111 H -b10 F -b0 > -b1000111 6 -b110 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b1000111 " -b10 . -b11111011010011001110000011110110 % -b11111011010011001110000011110110 : -b11111011010011001110000011110110 L -b11111011010011001110000011110110 ] -0( -0) -0+ -0, -b1 0 -0' -#5328 -b0 e -#5330 -b0 A -b10 G -b11111011010011001110000011110110 d -b0 ` -b1110 h -1b -b11111011010011001110000011110110 S -b1000111 O -b1110 W -0Q -1' -#5331 -b1000010001 / -#5335 -0M -b11010101 H -b10 F -b11010101 6 -0; -b11010101 $ -b0 - -b0 < -b0 N -b0 _ -b111 " -b10 . -1& -b1110001100000010100001111100011 % -b1110001100000010100001111100011 : -b1110001100000010100001111100011 L -b1110001100000010100001111100011 ] -0( -0) -0+ -0, -b1 0 -0' -#5338 -b10011001000000000110011000110010 T -#5340 -0E -b10011001000000000110011000110010 # -b10 . -b10011001000000000110011000110010 ! -b10011001000000000110011000110010 C -b1110001100000010100001111100011 S -b11010101 O -b0 W -0V -b1110001100000010100001111100011 d -b0 h -b10011001000000000110011000110010 ? -b10 G -b100 4 -1' -#5341 -b1000010010 / -#5345 -0[ -0^ -b1010100 Y -1J -1M -b0 H -b10 F -b1 > -b101010100 6 -b101010100 $ -b101 - -b101 < -b101 N -b101 _ -b111000011 " -b10 . -1& -b10101100000100101101010001011000 % -b10101100000100101101010001011000 : -b10101100000100101101010001011000 L -b10101100000100101101010001011000 ] -0( -0) -0+ -0, -b1 0 -0' -#5350 -b1 A -b100 4 -b10 G -b10101100000100101101010001011000 d -b1010100 ` -b101 h -0g -0b -b10101100000100101101010001011000 S -b0 O -b101 W -1V -1Q -1' -#5351 -b1000010011 / -#5355 -1[ -0J -b11001000 H -b0 > -1^ -b0 Y -b10 F -b11001000 6 -1; -b111001 $ -b1 - -b1 < -b1 N -b1 _ -b11001000 " -b10 . -0& -b10100011000001101001010001000110 % -b10100011000001101001010001000110 : -b10100011000001101001010001000110 L -b10100011000001101001010001000110 ] -0( -0) -0+ -0, -b1 0 -0' -#5360 -1E -b0 A -b10100011000001101001010001000110 S -b11001000 O -b1 W -0Q -b10100011000001101001010001000110 d -b0 ` -b1 h -1g -1b -b10 G -1' -#5361 -b1000010100 / -#5365 -0[ -b1100111 Y -1J -b0 H -b10 F -b1 > -b101100111 6 -b10101 $ -b10 - -b10 < -b10 N -b10 _ -b101100111 " -b10 . -b1001110111101001000100110011101 % -b1001110111101001000100110011101 : -b1001110111101001000100110011101 L -b1001110111101001000100110011101 ] -0( -0) -0+ -0, -b1 0 -0' -#5368 -b10110110100010000010 T -#5370 -b1 A -b10110110100010000010 # -b10 . -b10110110100010000010 ! -b10110110100010000010 C -b10110110100010000010 ? -b10 G -b1001110111101001000100110011101 d -b1100111 ` -b10 h -0b -b1001110111101001000100110011101 S -b0 O -b10 W -1Q -1' -#5371 -b1000010101 / -#5375 -1[ -0J -0M -b10000100 H -b0 > -1^ -b0 Y -b10 F -b10000100 6 -0; -b10000100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1001 " -b10 . -1& -b10101111101011101011100101011 % -b10101111101011101011100101011 : -b10101111101011101011100101011 L -b10101111101011101011100101011 ] -0( -0) -0+ -0, -b1 0 -0' -#5380 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b10101111101011101011100101011 S -b10000100 O -b1100 W -0V -0Q -b10101111101011101011100101011 d -b0 ` -b1100 h -1b -b0 ? -b10 G -b100 4 -1' -#5381 -b1000010110 / -#5385 -0[ -0^ -b11000101 Y -1J -1M -b0 H -b10 F -b1 > -b111000101 6 -b111000101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b101001101 " -b10 . -1& -b1100001000001001111100011000 % -b1100001000001001111100011000 : -b1100001000001001111100011000 L -b1100001000001001111100011000 ] -0( -0) -0+ -0, -b1 0 -0' -#5390 -b1 A -b100 4 -b10 G -b1100001000001001111100011000 d -b11000101 ` -b1101 h -0g -0b -b1100001000001001111100011000 S -b0 O -b1101 W -1V -1Q -1' -#5391 -b1000010111 / -#5395 -b11111010 Y -b10 F -b111111010 6 -b111111010 $ -b1 - -b1 < -b1 N -b1 _ -b100001 " -b10 . -1& -b100110011001100001000101001100 % -b100110011001100001000101001100 : -b100110011001100001000101001100 L -b100110011001100001000101001100 ] -0( -0) -0+ -0, -b1 0 -0' -#5400 -b100110011001100001000101001100 S -b1 W -b100110011001100001000101001100 d -b11111010 ` -b1 h -b10 G -b100 4 -1' -#5401 -b1000011000 / -#5405 -1[ -1^ -b0 Y -0J -0M -b11100101 H -b10 F -b0 > -b11100101 6 -b11100101 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101111101 " -b10 . -1& -b10110111000101110011011001101110 % -b10110111000101110011011001101110 : -b10110111000101110011011001101110 L -b10110111000101110011011001101110 ] -0( -0) -0+ -0, -b1 0 -0' -#5410 -b0 A -b100 4 -b10 G -b10110111000101110011011001101110 d -b0 ` -b1010 h -1g -1b -b10110111000101110011011001101110 S -b11100101 O -b1010 W -0V -0Q -1' -#5411 -b1000011001 / -#5415 -1M -b1100011 H -b10 F -b1100011 6 -1; -b100000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1100011 " -b10 . -0& -b11000001001111010101001010000010 % -b11000001001111010101001010000010 : -b11000001001111010101001010000010 L -b11000001001111010101001010000010 ] -0( -0) -0+ -0, -b1 0 -0' -#5420 -1E -b11000001001111010101001010000010 S -b1100011 O -b1101 W -1V -b11000001001111010101001010000010 d -b1101 h -b10 G -1' -#5421 -b1000011010 / -#5425 -0[ -b10101 Y -1J -b0 H -b10 F -b1 > -b100010101 6 -b101110111 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100010101 " -b10 . -b111111100100001100101101111111 % -b111111100100001100101101111111 : -b111111100100001100101101111111 L -b111111100100001100101101111111 ] -0( -0) -0+ -0, -b1 0 -0' -#5428 -b10111001000101011000111000000000 T -#5430 -b1 A -b10111001000101011000111000000000 # -b10 . -b10111001000101011000111000000000 ! -b10111001000101011000111000000000 C -b10111001000101011000111000000000 ? -b10 G -b111111100100001100101101111111 d -b10101 ` -b1110 h -0b -b111111100100001100101101111111 S -b0 O -b1110 W -1Q -1' -#5431 -b1000011011 / -#5435 -b10000111 Y -b10 F -b110000111 6 -b10111000 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110000111 " -b10 . -b10101011111110000001101001010111 % -b10101011111110000001101001010111 : -b10101011111110000001101001010111 L -b10101011111110000001101001010111 ] -0( -0) -0+ -0, -b1 0 -0' -#5440 -b0 # -b10 . -b0 ! -b0 C -b10101011111110000001101001010111 S -b1001 W -b10101011111110000001101001010111 d -b10000111 ` -b1001 h -b0 ? -b10 G -1' -#5441 -b1000011100 / -#5445 -b1101100 Y -b10 F -b101101100 6 -b111001000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101101100 " -b10 . -b11101110001101000001011011011100 % -b11101110001101000001011011011100 : -b11101110001101000001011011011100 L -b11101110001101000001011011011100 ] -0( -0) -0+ -0, -b1 0 -0' -#5448 -b10110000110001100101011001100001 e -#5450 -b10110000110001100101011001100001 # -b10 . -b10110000110001100101011001100001 ! -b10110000110001100101011001100001 C -b10110000110001100101011001100001 ? -b10 G -b11101110001101000001011011011100 d -b1101100 ` -b1111 h -b11101110001101000001011011011100 S -b1111 W -1' -#5451 -b1000011101 / -#5455 -1[ -b0 Y -0J -b10010101 H -b10 F -b0 > -b10010101 6 -b11100001 $ -b1 - -b1 < -b1 N -b1 _ -b10010101 " -b10 . -b11010111111000111011000010101111 % -b11010111111000111011000010101111 : -b11010111111000111011000010101111 L -b11010111111000111011000010101111 ] -0( -0) -0+ -0, -b1 0 -0' -#5458 -b0 e -#5460 -b0 A -b0 # -b10 . -b0 ! -b0 C -b11010111111000111011000010101111 S -b10010101 O -b1 W -0Q -b11010111111000111011000010101111 d -b0 ` -b1 h -1b -b0 ? -b10 G -1' -#5461 -b1000011110 / -#5465 -0M -b11101010 H -b10 F -b11101010 6 -0; -b11101010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11100100 " -b10 . -1& -b10101110010100101110100001011100 % -b10101110010100101110100001011100 : -b10101110010100101110100001011100 L -b10101110010100101110100001011100 ] -0( -0) -0+ -0, -b1 0 -0' -#5468 -b0 T -#5470 -0E -b100 4 -b10 G -b10101110010100101110100001011100 d -b1111 h -b10101110010100101110100001011100 S -b11101010 O -b1111 W -0V -1' -#5471 -b1000011111 / -#5475 -1M -b10000 H -b10 F -b10000 6 -1; -b11010011 $ -b0 - -b0 < -b0 N -b0 _ -b10000 " -b10 . -0& -b1100001000111000110100011000 % -b1100001000111000110100011000 : -b1100001000111000110100011000 L -b1100001000111000110100011000 ] -0( -0) -0+ -0, -b1 0 -0' -#5480 -1E -b1100001000111000110100011000 S -b10000 O -b0 W -1V -b1100001000111000110100011000 d -b0 h -b10 G -1' -#5481 -b1000100000 / -#5485 -0[ -b10011 Y -1J -b0 H -b10 F -b1 > -b100010011 6 -b100000 $ -b101 - -b101 < -b101 N -b101 _ -b100010011 " -b10 . -b110101101001100001001101101011 % -b110101101001100001001101101011 : -b110101101001100001001101101011 L -b110101101001100001001101101011 ] -0( -0) -0+ -0, -b1 0 -0' -#5490 -b1 A -b10 G -b110101101001100001001101101011 d -b10011 ` -b101 h -0b -b110101101001100001001101101011 S -b0 O -b101 W -1Q -1' -#5491 -b1000100001 / -#5495 -0^ -b11001010 Y -b10 F -b111001010 6 -0; -b111001010 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b11101101 " -b10 . -1& -b10111010100110011010110001110101 % -b10111010100110011010110001110101 : -b10111010100110011010110001110101 L -b10111010100110011010110001110101 ] -0( -0) -0+ -0, -b1 0 -0' -#5500 -0E -b10111010100110011010110001110101 S -b1001 W -b10111010100110011010110001110101 d -b11001010 ` -b1001 h -0g -b10 G -b100 4 -1' -#5501 -b1000100010 / -#5505 -1^ -b11101111 Y -b10 F -b111101111 6 -1; -b101000101 $ -b101 - -b101 < -b101 N -b101 _ -b111101111 " -b10 . -0& -b10011000110000000100001000110001 % -b10011000110000000100001000110001 : -b10011000110000000100001000110001 L -b10011000110000000100001000110001 ] -0( -0) -0+ -0, -b1 0 -0' -#5510 -1E -b10 G -b10011000110000000100001000110001 d -b11101111 ` -b101 h -1g -b10011000110000000100001000110001 S -b101 W -1' -#5511 -b1000100011 / -#5515 -1[ -b0 Y -0J -b11111011 H -b10 F -b0 > -b11111011 6 -b101111010 $ -b10 - -b10 < -b10 N -b10 _ -b11111011 " -b10 . -b10010010100010100000001000100101 % -b10010010100010100000001000100101 : -b10010010100010100000001000100101 L -b10010010100010100000001000100101 ] -0( -0) -0+ -0, -b1 0 -0' -#5520 -b0 A -b10010010100010100000001000100101 S -b11111011 O -b10 W -0Q -b10010010100010100000001000100101 d -b0 ` -b10 h -1b -b10 G -1' -#5521 -b1000100100 / -#5525 -b10111001 H -b10 F -b10111001 6 -b1100100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10111001 " -b10 . -b10110110101011111101101001101101 % -b10110110101011111101101001101101 : -b10110110101011111101101001101101 L -b10110110101011111101101001101101 ] -0( -0) -0+ -0, -b1 0 -0' -#5530 -b10 G -b10110110101011111101101001101101 d -b1111 h -b10110110101011111101101001101101 S -b10111001 O -b1111 W -1' -#5531 -b1000100101 / -#5535 -b100001 H -b10 F -b100001 6 -b111000111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100001 " -b10 . -b10001000100100001100010000010001 % -b10001000100100001100010000010001 : -b10001000100100001100010000010001 L -b10001000100100001100010000010001 ] -0( -0) -0+ -0, -b1 0 -0' -#5540 -b10001000100100001100010000010001 S -b100001 O -b1001 W -b10001000100100001100010000010001 d -b1001 h -b10 G -1' -#5541 -b1000100110 / -#5545 -0[ -b11110011 Y -1J -b0 H -b10 F -b1 > -b111110011 6 -b101100011 $ -b10 - -b10 < -b10 N -b10 _ -b111110011 " -b10 . -b1010000000001111110001110100000 % -b1010000000001111110001110100000 : -b1010000000001111110001110100000 L -b1010000000001111110001110100000 ] -0( -0) -0+ -0, -b1 0 -0' -#5550 -b1 A -b10 G -b1010000000001111110001110100000 d -b11110011 ` -b10 h -0b -b1010000000001111110001110100000 S -b0 O -b10 W -1Q -1' -#5551 -b1000100111 / -#5555 -1[ -0J -0M -b1001110 H -b0 > -1^ -b0 Y -b10 F -b1001110 6 -0; -b1001110 $ -b101 - -b101 < -b101 N -b101 _ -b11000110 " -b10 . -1& -b1000110010000111101101110001100 % -b1000110010000111101101110001100 : -b1000110010000111101101110001100 L -b1000110010000111101101110001100 ] -0( -0) -0+ -0, -b1 0 -0' -#5560 -0E -b0 A -b1000110010000111101101110001100 S -b1001110 O -b101 W -0V -0Q -b1000110010000111101101110001100 d -b0 ` -b101 h -1b -b10 G -b100 4 -1' -#5561 -b1000101000 / -#5565 -0[ -b1011001 Y -1J -b1 > -1M -b0 H -b10 F -b101011001 6 -1; -b10001101 $ -b111 - -b111 < -b111 N -b111 _ -b101011001 " -b10 . -0& -b10000101010001111101100000001010 % -b10000101010001111101100000001010 : -b10000101010001111101100000001010 L -b10000101010001111101100000001010 ] -0( -0) -0+ -0, -b1 0 -0' -#5570 -1E -b1 A -b10 G -b10000101010001111101100000001010 d -b1011001 ` -b111 h -0b -b10000101010001111101100000001010 S -b0 O -b111 W -1V -1Q -1' -#5571 -b1000101001 / -#5575 -b101111 Y -b10 F -b100101111 6 -b10101001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100101111 " -b10 . -b1110100100101110011001111101001 % -b1110100100101110011001111101001 : -b1110100100101110011001111101001 L -b1110100100101110011001111101001 ] -0( -0) -0+ -0, -b1 0 -0' -#5580 -b1110100100101110011001111101001 S -b1001 W -b1110100100101110011001111101001 d -b101111 ` -b1001 h -b10 G -1' -#5581 -b1000101010 / -#5585 -1[ -0J -0M -b11101010 H -b0 > -1^ -b0 Y -b10 F -b11101010 6 -0; -b11101010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110010001 " -b10 . -1& -b1001110010110101001011110011100 % -b1001110010110101001011110011100 : -b1001110010110101001011110011100 L -b1001110010110101001011110011100 ] -0( -0) -0+ -0, -b1 0 -0' -#5588 -b1101010010111010000000000001001 e -#5590 -0E -b0 A -b1101010010111010000000000001001 # -b10 . -b1101010010111010000000000001001 ! -b1101010010111010000000000001001 C -b100 4 -b1101010010111010000000000001001 ? -b10 G -b1001110010110101001011110011100 d -b0 ` -b1010 h -1b -b1001110010110101001011110011100 S -b11101010 O -b1010 W -0V -0Q -1' -#5591 -b1000101011 / -#5595 -0[ -0^ -b10101101 Y -1J -1M -b0 H -b10 F -b1 > -b110101101 6 -b110101101 $ -b111 - -b111 < -b111 N -b111 _ -b11000100 " -b10 . -1& -b11001010110111000010111010010101 % -b11001010110111000010111010010101 : -b11001010110111000010111010010101 L -b11001010110111000010111010010101 ] -0( -0) -0+ -0, -b1 0 -0' -#5600 -b1 A -b11001010110111000010111010010101 S -b0 O -b111 W -1V -1Q -b11001010110111000010111010010101 d -b10101101 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#5601 -b1000101100 / -#5605 -1[ -0J -b11100110 H -b0 > -1^ -b0 Y -b10 F -b11100110 6 -1; -b1111101 $ -b10 - -b10 < -b10 N -b10 _ -b11100110 " -b10 . -0& -b110000101001000011011101100001 % -b110000101001000011011101100001 : -b110000101001000011011101100001 L -b110000101001000011011101100001 ] -0( -0) -0+ -0, -b1 0 -0' -#5610 -1E -b0 A -b10 G -b110000101001000011011101100001 d -b0 ` -b10 h -1g -1b -b110000101001000011011101100001 S -b11100110 O -b10 W -0Q -1' -#5611 -b1000101101 / -#5615 -b11001100 H -b10 F -b11001100 6 -b10000000 $ -b111 - -b111 < -b111 N -b111 _ -b11001100 " -b10 . -b1101000111100111111010111010001 % -b1101000111100111111010111010001 : -b1101000111100111111010111010001 L -b1101000111100111111010111010001 ] -0( -0) -0+ -0, -b1 0 -0' -#5618 -b110110000000001010001101101100 T -#5620 -b110110000000001010001101101100 # -b10 . -b110110000000001010001101101100 ! -b110110000000001010001101101100 C -b1101000111100111111010111010001 S -b11001100 O -b111 W -b1101000111100111111010111010001 d -b111 h -b110110000000001010001101101100 ? -b10 G -1' -#5621 -b1000101110 / -#5625 -b11011001 H -b10 F -b11011001 6 -b110010101 $ -b101 - -b101 < -b101 N -b101 _ -b11011001 " -b10 . -b1111010110101101110101111110101 % -b1111010110101101110101111110101 : -b1111010110101101110101111110101 L -b1111010110101101110101111110101 ] -0( -0) -0+ -0, -b1 0 -0' -#5628 -b110100000000000000000000000000 T -#5630 -b110100000000000000000000000000 # -b10 . -b110100000000000000000000000000 ! -b110100000000000000000000000000 C -b110100000000000000000000000000 ? -b10 G -b1111010110101101110101111110101 d -b101 h -b1111010110101101110101111110101 S -b11011001 O -b101 W -1' -#5631 -b1000101111 / -#5635 -0[ -b111010 Y -1J -b0 H -b10 F -b1 > -b100111010 6 -b1001 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100111010 " -b10 . -b1110110000011001101101111101100 % -b1110110000011001101101111101100 : -b1110110000011001101101111101100 L -b1110110000011001101101111101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5638 -b0 T -#5640 -b1 A -b0 # -b10 . -b0 ! -b0 C -b1110110000011001101101111101100 S -b0 O -b1101 W -1Q -b1110110000011001101101111101100 d -b111010 ` -b1101 h -0b -b0 ? -b10 G -1' -#5641 -b1000110000 / -#5645 -b1100011 Y -b10 F -b101100011 6 -b111111 $ -b101 - -b101 < -b101 N -b101 _ -b101100011 " -b10 . -b10001101100001101110001000011011 % -b10001101100001101110001000011011 : -b10001101100001101110001000011011 L -b10001101100001101110001000011011 ] -0( -0) -0+ -0, -b1 0 -0' -#5648 -b1010000000000000000000 e -#5650 -b1010000000000000000000 # -b10 . -b1010000000000000000000 ! -b1010000000000000000000 C -b1010000000000000000000 ? -b10 G -b10001101100001101110001000011011 d -b1100011 ` -b101 h -b10001101100001101110001000011011 S -b101 W -1' -#5651 -b1000110001 / -#5655 -b111011 Y -b10 F -b100111011 6 -b1111000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100111011 " -b10 . -b1110110000000101100010111101100 % -b1110110000000101100010111101100 : -b1110110000000101100010111101100 L -b1110110000000101100010111101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5658 -b0 e -#5660 -b0 # -b10 . -b0 ! -b0 C -b1110110000000101100010111101100 S -b1110 W -b1110110000000101100010111101100 d -b111011 ` -b1110 h -b0 ? -b10 G -1' -#5661 -b1000110010 / -#5665 -1[ -b0 Y -0J -b10001101 H -b10 F -b0 > -b10001101 6 -b1110011 $ -b11 - -b11 < -b11 N -b11 _ -b10001101 " -b10 . -b10100101001101010010101001001010 % -b10100101001101010010101001001010 : -b10100101001101010010101001001010 L -b10100101001101010010101001001010 ] -0( -0) -0+ -0, -b1 0 -0' -#5668 -b11110010011100010000001011100100 e -#5670 -b0 A -b11110010011100010000001011100100 # -b10 . -b11110010011100010000001011100100 ! -b11110010011100010000001011100100 C -b11110010011100010000001011100100 ? -b10 G -b10100101001101010010101001001010 d -b0 ` -b11 h -1b -b10100101001101010010101001001010 S -b10001101 O -b11 W -0Q -1' -#5671 -b1000110011 / -#5675 -0M -b10000 H -b10 F -b10000 6 -0; -b10000 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110101101 " -b10 . -1& -b11110110001110100111110011101100 % -b11110110001110100111110011101100 : -b11110110001110100111110011101100 L -b11110110001110100111110011101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5678 -b110000110000000000000000 T -#5680 -0E -b110000110000000000000000 # -b10 . -b110000110000000000000000 ! -b110000110000000000000000 C -b11110110001110100111110011101100 S -b10000 O -b1010 W -0V -b11110110001110100111110011101100 d -b1010 h -b110000110000000000000000 ? -b10 G -b100 4 -1' -#5681 -b1000110100 / -#5685 -0[ -0^ -b10110000 Y -1J -1M -b0 H -b10 F -b1 > -b110110000 6 -b110110000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11100110 " -b10 . -1& -b100110010010011000100101001100 % -b100110010010011000100101001100 : -b100110010010011000100101001100 L -b100110010010011000100101001100 ] -0( -0) -0+ -0, -b1 0 -0' -#5690 -b1 A -b100 4 -b10 G -b100110010010011000100101001100 d -b10110000 ` -b1110 h -0g -0b -b100110010010011000100101001100 S -b0 O -b1110 W -1V -1Q -1' -#5691 -b1000110101 / -#5695 -b11001100 Y -b10 F -b111001100 6 -b111001100 $ -b0 - -b0 < -b0 N -b0 _ -b11101010 " -b10 . -1& -b1000111100100000001111110001111 % -b1000111100100000001111110001111 : -b1000111100100000001111110001111 L -b1000111100100000001111110001111 ] -0( -0) -0+ -0, -b1 0 -0' -#5700 -b1000111100100000001111110001111 S -b0 W -b1000111100100000001111110001111 d -b11001100 ` -b0 h -b10 G -b100 4 -1' -#5701 -b1000110110 / -#5705 -1^ -b11111101 Y -b10 F -b111111101 6 -1; -b1001101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111111101 " -b10 . -0& -b101001100110110001100001010 % -b101001100110110001100001010 : -b101001100110110001100001010 L -b101001100110110001100001010 ] -0( -0) -0+ -0, -b1 0 -0' -#5710 -1E -b10 G -b101001100110110001100001010 d -b11111101 ` -b1101 h -1g -b101001100110110001100001010 S -b1101 W -1' -#5711 -b1000110111 / -#5715 -1[ -b0 Y -0J -b1100101 H -b10 F -b0 > -b1100101 6 -b100010001 $ -b100 - -b100 < -b100 N -b100 _ -b1100101 " -b10 . -b10100101101100000110111001001011 % -b10100101101100000110111001001011 : -b10100101101100000110111001001011 L -b10100101101100000110111001001011 ] -0( -0) -0+ -0, -b1 0 -0' -#5718 -b0 e -#5720 -b0 A -b0 # -b10 . -b0 ! -b0 C -b10100101101100000110111001001011 S -b1100101 O -b100 W -0Q -b10100101101100000110111001001011 d -b0 ` -b100 h -1b -b0 ? -b10 G -1' -#5721 -b1000111000 / -#5725 -b1010011 H -b10 F -b1010011 6 -b1110101 $ -b1010011 " -b10 . -b1111100101010011001010111111001 % -b1111100101010011001010111111001 : -b1111100101010011001010111111001 L -b1111100101010011001010111111001 ] -0( -0) -0+ -0, -b1 0 -0' -#5728 -b0 T -#5730 -b10 G -b1111100101010011001010111111001 d -b1111100101010011001010111111001 S -b1010011 O -1' -#5731 -b1000111001 / -#5735 -0[ -b10110000 Y -1J -b0 H -b10 F -b1 > -b110110000 6 -b11101010 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110110000 " -b10 . -b10011100111101010100000000111001 % -b10011100111101010100000000111001 : -b10011100111101010100000000111001 L -b10011100111101010100000000111001 ] -0( -0) -0+ -0, -b1 0 -0' -#5738 -b1011000110101110000000100001010 T -#5740 -b1 A -b1011000110101110000000100001010 # -b10 . -b1011000110101110000000100001010 ! -b1011000110101110000000100001010 C -b10011100111101010100000000111001 S -b0 O -b1101 W -1Q -b10011100111101010100000000111001 d -b10110000 ` -b1101 h -0b -b1011000110101110000000100001010 ? -b10 G -1' -#5741 -b1000111010 / -#5745 -b1011 Y -b10 F -b100001011 6 -b111110001 $ -b111 - -b111 < -b111 N -b111 _ -b100001011 " -b10 . -b1001001110000010101111110010011 % -b1001001110000010101111110010011 : -b1001001110000010101111110010011 L -b1001001110000010101111110010011 ] -0( -0) -0+ -0, -b1 0 -0' -#5748 -b100110010010011000100100110000 e -#5750 -b100110010010011000100100110000 # -b10 . -b100110010010011000100100110000 ! -b100110010010011000100100110000 C -b100110010010011000100100110000 ? -b10 G -b1001001110000010101111110010011 d -b1011 ` -b111 h -b1001001110000010101111110010011 S -b111 W -1' -#5751 -b1000111011 / -#5755 -1[ -0J -0M -b1100100 H -b0 > -1^ -b0 Y -b10 F -b1100100 6 -0; -b1100100 $ -b1 - -b1 < -b1 N -b1 _ -b111010000 " -b10 . -1& -b1100110100111001100111111001101 % -b1100110100111001100111111001101 : -b1100110100111001100111111001101 L -b1100110100111001100111111001101 ] -0( -0) -0+ -0, -b1 0 -0' -#5758 -b0 e -#5760 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b1100110100111001100111111001101 S -b1100100 O -b1 W -0V -0Q -b1100110100111001100111111001101 d -b0 ` -b1 h -1b -b0 ? -b10 G -b100 4 -1' -#5761 -b1000111100 / -#5765 -b11000001 H -b10 F -b11000001 6 -b11000001 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111111111 " -b10 . -1& -b1001010101000011001100010010 % -b1001010101000011001100010010 : -b1001010101000011001100010010 L -b1001010101000011001100010010 ] -0( -0) -0+ -0, -b1 0 -0' -#5770 -b100 4 -b10 G -b1001010101000011001100010010 d -b1101 h -b1001010101000011001100010010 S -b11000001 O -b1101 W -1' -#5771 -b1000111101 / -#5775 -b1011111 H -b10 F -b1011111 6 -b1011111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111110101 " -b10 . -1& -b1111111111101000010010111111111 % -b1111111111101000010010111111111 : -b1111111111101000010010111111111 L -b1111111111101000010010111111111 ] -0( -0) -0+ -0, -b1 0 -0' -#5780 -b1111111111101000010010111111111 S -b1011111 O -b1001 W -b1111111111101000010010111111111 d -b1001 h -b10 G -b100 4 -1' -#5781 -b1000111110 / -#5785 -0[ -b111111 Y -1J -b1 > -1M -b0 H -b10 F -b100111111 6 -1; -b10010100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100111111 " -b10 . -0& -b10000011111011001010100000000111 % -b10000011111011001010100000000111 : -b10000011111011001010100000000111 L -b10000011111011001010100000000111 ] -0( -0) -0+ -0, -b1 0 -0' -#5790 -1E -b1 A -b10 G -b10000011111011001010100000000111 d -b111111 ` -b1111 h -0b -b10000011111011001010100000000111 S -b0 O -b1111 W -1V -1Q -1' -#5791 -b1000111111 / -#5795 -b11010010 Y -b10 F -b111010010 6 -b111110 $ -b10 - -b10 < -b10 N -b10 _ -b111010010 " -b10 . -b10100011110011000111011001000111 % -b10100011110011000111011001000111 : -b10100011110011000111011001000111 L -b10100011110011000111011001000111 ] -0( -0) -0+ -0, -b1 0 -0' -#5800 -b10100011110011000111011001000111 S -b10 W -b10100011110011000111011001000111 d -b11010010 ` -b10 h -b10 G -1' -#5801 -b1001000000 / -#5805 -1[ -b0 Y -0J -b11111001 H -b10 F -b0 > -b11111001 6 -b11100111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b11111001 " -b10 . -b10100101001100100100111001001010 % -b10100101001100100100111001001010 : -b10100101001100100100111001001010 L -b10100101001100100100111001001010 ] -0( -0) -0+ -0, -b1 0 -0' -#5810 -b0 A -b10 G -b10100101001100100100111001001010 d -b0 ` -b1101 h -1b -b10100101001100100100111001001010 S -b11111001 O -b1101 W -0Q -1' -#5811 -b1001000001 / -#5815 -0M -b10011110 H -b10 F -b10011110 6 -0; -b10011110 $ -b10101100 " -b10 . -1& -b10110110010100111000011001101100 % -b10110110010100111000011001101100 : -b10110110010100111000011001101100 L -b10110110010100111000011001101100 ] -0( -0) -0+ -0, -b1 0 -0' -#5818 -b0 T -#5820 -0E -b10110110010100111000011001101100 S -b10011110 O -0V -b10110110010100111000011001101100 d -b10 G -b100 4 -1' -#5821 -b1001000010 / -#5825 -b101 H -b10 F -b101 6 -b101 $ -b0 - -b0 < -b0 N -b0 _ -b1100111 " -b10 . -1& -b11111001100011001001000011110011 % -b11111001100011001001000011110011 : -b11111001100011001001000011110011 L -b11111001100011001001000011110011 ] -0( -0) -0+ -0, -b1 0 -0' -#5830 -b100 4 -b10 G -b11111001100011001001000011110011 d -b0 h -b11111001100011001001000011110011 S -b101 O -b0 W -1' -#5831 -b1001000011 / -#5835 -1M -b10011010 H -b10 F -b10011010 6 -1; -b110110110 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10011010 " -b10 . -0& -b11010010001001110000001010100100 % -b11010010001001110000001010100100 : -b11010010001001110000001010100100 L -b11010010001001110000001010100100 ] -0( -0) -0+ -0, -b1 0 -0' -#5840 -1E -b11010010001001110000001010100100 S -b10011010 O -b1110 W -1V -b11010010001001110000001010100100 d -b1110 h -b10 G -1' -#5841 -b1001000100 / -#5845 -0[ -b100010 Y -1J -b0 H -b10 F -b1 > -b100100010 6 -b100011011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100100010 " -b10 . -b11001000011101001001010010010000 % -b11001000011101001001010010010000 : -b11001000011101001001010010010000 L -b11001000011101001001010010010000 ] -0( -0) -0+ -0, -b1 0 -0' -#5850 -b1 A -b10 G -b11001000011101001001010010010000 d -b100010 ` -b1100 h -0b -b11001000011101001001010010010000 S -b0 O -b1100 W -1Q -1' -#5851 -b1001000101 / -#5855 -1[ -b0 Y -0J -b1101110 H -b10 F -b0 > -b1101110 6 -b101000101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1101110 " -b10 . -b10101010001110101110010001010100 % -b10101010001110101110010001010100 : -b10101010001110101110010001010100 L -b10101010001110101110010001010100 ] -0( -0) -0+ -0, -b1 0 -0' -#5860 -b0 A -b10101010001110101110010001010100 S -b1101110 O -b1101 W -0Q -b10101010001110101110010001010100 d -b0 ` -b1101 h -1b -b10 G -1' -#5861 -b1001000110 / -#5865 -b11000100 H -b10 F -b11000100 6 -b111101011 $ -b10 - -b10 < -b10 N -b10 _ -b11000100 " -b10 . -b10101011101011100001111001010111 % -b10101011101011100001111001010111 : -b10101011101011100001111001010111 L -b10101011101011100001111001010111 ] -0( -0) -0+ -0, -b1 0 -0' -#5868 -b10000000000000000110110 T -#5870 -b10000000000000000110110 # -b10 . -b10000000000000000110110 ! -b10000000000000000110110 C -b10000000000000000110110 ? -b10 G -b10101011101011100001111001010111 d -b10 h -b10101011101011100001111001010111 S -b11000100 O -b10 W -1' -#5871 -b1001000111 / -#5875 -b10110 H -b10 F -b10110 6 -b101101011 $ -b11 - -b11 < -b11 N -b11 _ -b10110 " -b10 . -b10001110111010101101000000011101 % -b10001110111010101101000000011101 : -b10001110111010101101000000011101 L -b10001110111010101101000000011101 ] -0( -0) -0+ -0, -b1 0 -0' -#5878 -b0 T -#5880 -b0 # -b10 . -b0 ! -b0 C -b10001110111010101101000000011101 S -b10110 O -b11 W -b10001110111010101101000000011101 d -b11 h -b0 ? -b10 G -1' -#5881 -b1001001000 / -#5885 -0[ -b11100011 Y -1J -b0 H -b10 F -b1 > -b111100011 6 -b1111000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111100011 " -b10 . -b11001011010111110110111010010110 % -b11001011010111110110111010010110 : -b11001011010111110110111010010110 L -b11001011010111110110111010010110 ] -0( -0) -0+ -0, -b1 0 -0' -#5888 -b101001001111101000000000 T -#5890 -b1 A -b101001001111101000000000 # -b10 . -b101001001111101000000000 ! -b101001001111101000000000 C -b101001001111101000000000 ? -b10 G -b11001011010111110110111010010110 d -b11100011 ` -b1101 h -0b -b11001011010111110110111010010110 S -b0 O -b1101 W -1Q -1' -#5891 -b1001001001 / -#5895 -b10010011 Y -b10 F -b110010011 6 -b111101110 $ -b110 - -b110 < -b110 N -b110 _ -b110010011 " -b10 . -b11000101010011100111100010001010 % -b11000101010011100111100010001010 : -b11000101010011100111100010001010 L -b11000101010011100111100010001010 ] -0( -0) -0+ -0, -b1 0 -0' -#5900 -b0 # -b10 . -b0 ! -b0 C -b11000101010011100111100010001010 S -b110 W -b11000101010011100111100010001010 d -b10010011 ` -b110 h -b0 ? -b10 G -1' -#5901 -b1001001010 / -#5905 -1[ -0J -0M -b11000011 H -b0 > -1^ -b0 Y -b10 F -b11000011 6 -0; -b11000011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101101 " -b10 . -1& -b11100110000000010000100111001 % -b11100110000000010000100111001 : -b11100110000000010000100111001 L -b11100110000000010000100111001 ] -0( -0) -0+ -0, -b1 0 -0' -#5908 -b1000111000000000000000010001110 e -#5910 -0E -b0 A -b1000111000000000000000010001110 # -b10 . -b1000111000000000000000010001110 ! -b1000111000000000000000010001110 C -b100 4 -b1000111000000000000000010001110 ? -b10 G -b11100110000000010000100111001 d -b0 ` -b1100 h -1b -b11100110000000010000100111001 S -b11000011 O -b1100 W -0V -0Q -1' -#5911 -b1001001011 / -#5915 -1M -b10101001 H -b10 F -b10101001 6 -1; -b110000111 $ -b100 - -b100 < -b100 N -b100 _ -b10101001 " -b10 . -0& -b110110101010001111101101101101 % -b110110101010001111101101101101 : -b110110101010001111101101101101 L -b110110101010001111101101101101 ] -0( -0) -0+ -0, -b1 0 -0' -#5920 -1E -b110110101010001111101101101101 S -b10101001 O -b100 W -1V -b110110101010001111101101101101 d -b100 h -b10 G -1' -#5921 -b1001001100 / -#5925 -0[ -0^ -b10101011 Y -1J -b1 > -1M -b0 H -b10 F -b110101011 6 -0; -b110101011 $ -b101 - -b101 < -b101 N -b101 _ -b10100000 " -b10 . -1& -b10100110101110000110100101001 % -b10100110101110000110100101001 : -b10100110101110000110100101001 L -b10100110101110000110100101001 ] -0( -0) -0+ -0, -b1 0 -0' -#5928 -b0 T -#5930 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10100110101110000110100101001 d -b10101011 ` -b101 h -0g -0b -b10100110101110000110100101001 S -b0 O -b101 W -1Q -1' -#5931 -b1001001101 / -#5935 -1[ -1^ -b0 Y -0J -0M -b100111 H -b10 F -b0 > -b100111 6 -b100111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10011001 " -b10 . -1& -b11111010100010110100000011110101 % -b11111010100010110100000011110101 : -b11111010100010110100000011110101 L -b11111010100010110100000011110101 ] -0( -0) -0+ -0, -b1 0 -0' -#5940 -b0 A -b11111010100010110100000011110101 S -b100111 O -b1010 W -0V -0Q -b11111010100010110100000011110101 d -b0 ` -b1010 h -1g -1b -b10 G -b100 4 -1' -#5941 -b1001001110 / -#5945 -b11011100 H -b10 F -b11011100 6 -b11011100 $ -b1 - -b1 < -b1 N -b1 _ -b100101001 " -b10 . -1& -b10100010011111110010001001000100 % -b10100010011111110010001001000100 : -b10100010011111110010001001000100 L -b10100010011111110010001001000100 ] -0( -0) -0+ -0, -b1 0 -0' -#5950 -b100 4 -b10 G -b10100010011111110010001001000100 d -b1 h -b10100010011111110010001001000100 S -b11011100 O -b1 W -1' -#5951 -b1001001111 / -#5955 -0[ -0^ -b10010010 Y -1J -1M -b0 H -b10 F -b1 > -b110010010 6 -b110010010 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100011110 " -b10 . -1& -b10010001000000010101111000100010 % -b10010001000000010101111000100010 : -b10010001000000010101111000100010 L -b10010001000000010101111000100010 ] -0( -0) -0+ -0, -b1 0 -0' -#5960 -b1 A -b10010001000000010101111000100010 S -b0 O -b1101 W -1V -1Q -b10010001000000010101111000100010 d -b10010010 ` -b1101 h -0g -0b -b10 G -b100 4 -1' -#5961 -b1001010000 / -#5965 -b1000100 Y -b10 F -b101000100 6 -b101000100 $ -b101 - -b101 < -b101 N -b101 _ -b110111011 " -b10 . -1& -b11100010101010110101011011000101 % -b11100010101010110101011011000101 : -b11100010101010110101011011000101 L -b11100010101010110101011011000101 ] -0( -0) -0+ -0, -b1 0 -0' -#5970 -b100 4 -b10 G -b11100010101010110101011011000101 d -b1000100 ` -b101 h -b11100010101010110101011011000101 S -b101 W -1' -#5971 -b1001010001 / -#5975 -1^ -b10111100 Y -b10 F -b110111100 6 -1; -b110101010 $ -b110 - -b110 < -b110 N -b110 _ -b110111100 " -b10 . -0& -b11111010111000101111011011110101 % -b11111010111000101111011011110101 : -b11111010111000101111011011110101 L -b11111010111000101111011011110101 ] -0( -0) -0+ -0, -b1 0 -0' -#5980 -1E -b11111010111000101111011011110101 S -b110 W -b11111010111000101111011011110101 d -b10111100 ` -b110 h -1g -b10 G -1' -#5981 -b1001010010 / -#5985 -1[ -b0 Y -0J -b1111010 H -b10 F -b0 > -b1111010 6 -b11111011 $ -b111 - -b111 < -b111 N -b111 _ -b1111010 " -b10 . -b1001111101000010111000110011111 % -b1001111101000010111000110011111 : -b1001111101000010111000110011111 L -b1001111101000010111000110011111 ] -0( -0) -0+ -0, -b1 0 -0' -#5988 -b11001111000000000000000010011110 e -#5990 -b0 A -b11001111000000000000000010011110 # -b10 . -b11001111000000000000000010011110 ! -b11001111000000000000000010011110 C -b11001111000000000000000010011110 ? -b10 G -b1001111101000010111000110011111 d -b0 ` -b111 h -1b -b1001111101000010111000110011111 S -b1111010 O -b111 W -0Q -1' -#5991 -b1001010011 / -#5995 -0[ -b10010110 Y -1J -b0 H -b10 F -b1 > -b110010110 6 -b111011001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110010110 " -b10 . -b11101101000111101001011011011010 % -b11101101000111101001011011011010 : -b11101101000111101001011011011010 L -b11101101000111101001011011011010 ] -0( -0) -0+ -0, -b1 0 -0' -#6000 -b1 A -b0 # -b10 . -b0 ! -b0 C -b11101101000111101001011011011010 S -b0 O -b1000 W -1Q -b11101101000111101001011011011010 d -b10010110 ` -b1000 h -0b -b0 ? -b10 G -1' -#6001 -b1001010100 / -#6005 -1[ -b0 Y -0J -b1000001 H -b10 F -b0 > -b1000001 6 -b100100110 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1000001 " -b10 . -b10111101000111111101100101111 % -b10111101000111111101100101111 : -b10111101000111111101100101111 L -b10111101000111111101100101111 ] -0( -0) -0+ -0, -b1 0 -0' -#6008 -b0 e -#6010 -b0 A -b10 G -b10111101000111111101100101111 d -b0 ` -b1101 h -1b -b10111101000111111101100101111 S -b1000001 O -b1101 W -0Q -1' -#6011 -b1001010101 / -#6015 -b10001 H -b10 F -b10001 6 -b101101110 $ -b100 - -b100 < -b100 N -b100 _ -b10001 " -b10 . -b1010000100110000001011110100001 % -b1010000100110000001011110100001 : -b1010000100110000001011110100001 L -b1010000100110000001011110100001 ] -0( -0) -0+ -0, -b1 0 -0' -#6018 -b10000110110101000011101000001101 T -#6020 -b10000110110101000011101000001101 # -b10 . -b10000110110101000011101000001101 ! -b10000110110101000011101000001101 C -b1010000100110000001011110100001 S -b10001 O -b100 W -b1010000100110000001011110100001 d -b100 h -b10000110110101000011101000001101 ? -b10 G -1' -#6021 -b1001010110 / -#6025 -0[ -0^ -b11110100 Y -1J -b1 > -1M -b0 H -b10 F -b111110100 6 -0; -b111110100 $ -b1 - -b1 < -b1 N -b1 _ -b100001101 " -b10 . -1& -b1000001010000110001011110000010 % -b1000001010000110001011110000010 : -b1000001010000110001011110000010 L -b1000001010000110001011110000010 ] -0( -0) -0+ -0, -b1 0 -0' -#6028 -b0 T -#6030 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b1000001010000110001011110000010 d -b11110100 ` -b1 h -0g -0b -b1000001010000110001011110000010 S -b0 O -b1 W -1Q -1' -#6031 -b1001010111 / -#6035 -b11001010 Y -b10 F -b111001010 6 -b111001010 $ -b10 - -b10 < -b10 N -b10 _ -b1100110 " -b10 . -1& -b11001010111100011111111010010101 % -b11001010111100011111111010010101 : -b11001010111100011111111010010101 L -b11001010111100011111111010010101 ] -0( -0) -0+ -0, -b1 0 -0' -#6040 -b11001010111100011111111010010101 S -b10 W -b11001010111100011111111010010101 d -b11001010 ` -b10 h -b10 G -b100 4 -1' -#6041 -b1001011000 / -#6045 -1[ -1^ -b0 Y -0J -0M -b1101 H -b10 F -b0 > -b1101 6 -b1101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10101 " -b10 . -1& -b111011010011000110010101110110 % -b111011010011000110010101110110 : -b111011010011000110010101110110 L -b111011010011000110010101110110 ] -0( -0) -0+ -0, -b1 0 -0' -#6050 -b0 A -b100 4 -b10 G -b111011010011000110010101110110 d -b0 ` -b1011 h -1g -1b -b111011010011000110010101110110 S -b1101 O -b1011 W -0V -0Q -1' -#6051 -b1001011001 / -#6055 -0[ -b11111001 Y -1J -b1 > -1M -b0 H -b10 F -b111111001 6 -1; -b110100100 $ -b1 - -b1 < -b1 N -b1 _ -b111111001 " -b10 . -0& -b1011101010110011101111110111010 % -b1011101010110011101111110111010 : -b1011101010110011101111110111010 L -b1011101010110011101111110111010 ] -0( -0) -0+ -0, -b1 0 -0' -#6060 -1E -b1 A -b1011101010110011101111110111010 S -b0 O -b1 W -1V -1Q -b1011101010110011101111110111010 d -b11111001 ` -b1 h -0b -b10 G -1' -#6061 -b1001011010 / -#6065 -b10111110 Y -b10 F -b110111110 6 -b111011101 $ -b110 - -b110 < -b110 N -b110 _ -b110111110 " -b10 . -b11011100000100011110000010111000 % -b11011100000100011110000010111000 : -b11011100000100011110000010111000 L -b11011100000100011110000010111000 ] -0( -0) -0+ -0, -b1 0 -0' -#6070 -b10 G -b11011100000100011110000010111000 d -b10111110 ` -b110 h -b11011100000100011110000010111000 S -b110 W -1' -#6071 -b1001011011 / -#6075 -b10010100 Y -b10 F -b110010100 6 -b11100 $ -b11 - -b11 < -b11 N -b11 _ -b110010100 " -b10 . -b11101101001011111011010011011010 % -b11101101001011111011010011011010 : -b11101101001011111011010011011010 L -b11101101001011111011010011011010 ] -0( -0) -0+ -0, -b1 0 -0' -#6078 -b1011111011010010100010 e -#6080 -b1011111011010010100010 # -b10 . -b1011111011010010100010 ! -b1011111011010010100010 C -b11101101001011111011010011011010 S -b11 W -b11101101001011111011010011011010 d -b10010100 ` -b11 h -b1011111011010010100010 ? -b10 G -1' -#6081 -b1001011100 / -#6085 -0^ -b10100001 Y -b10 F -b110100001 6 -0; -b110100001 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110111101 " -b10 . -1& -b10010111011111111100000000101110 % -b10010111011111111100000000101110 : -b10010111011111111100000000101110 L -b10010111011111111100000000101110 ] -0( -0) -0+ -0, -b1 0 -0' -#6088 -b1011011100101011111011110110110 e -#6090 -0E -b1011011100101011111011110110110 # -b10 . -b1011011100101011111011110110110 ! -b1011011100101011111011110110110 C -b100 4 -b1011011100101011111011110110110 ? -b10 G -b10010111011111111100000000101110 d -b10100001 ` -b1100 h -0g -b10010111011111111100000000101110 S -b1100 W -1' -#6091 -b1001011101 / -#6095 -1[ -1^ -b0 Y -0J -0M -b1000001 H -b10 F -b0 > -b1000001 6 -b1000001 $ -b111 - -b111 < -b111 N -b111 _ -b1001011 " -b10 . -1& -b11110111001000000100100011101110 % -b11110111001000000100100011101110 : -b11110111001000000100100011101110 L -b11110111001000000100100011101110 ] -0( -0) -0+ -0, -b1 0 -0' -#6100 -b0 A -b11110111001000000100100011101110 S -b1000001 O -b111 W -0V -0Q -b11110111001000000100100011101110 d -b0 ` -b111 h -1g -1b -b10 G -b100 4 -1' -#6101 -b1001011110 / -#6105 -0[ -0^ -b11100 Y -1J -1M -b0 H -b10 F -b1 > -b100011100 6 -b100011100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11 " -b10 . -1& -b1000101001110010101100110001010 % -b1000101001110010101100110001010 : -b1000101001110010101100110001010 L -b1000101001110010101100110001010 ] -0( -0) -0+ -0, -b1 0 -0' -#6110 -b1 A -b100 4 -b10 G -b1000101001110010101100110001010 d -b11100 ` -b1111 h -0g -0b -b1000101001110010101100110001010 S -b0 O -b1111 W -1V -1Q -1' -#6111 -b1001011111 / -#6115 -b11101 Y -b10 F -b100011101 6 -b100011101 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100000111 " -b10 . -1& -b1110000000010101001001111100000 % -b1110000000010101001001111100000 : -b1110000000010101001001111100000 L -b1110000000010101001001111100000 ] -0( -0) -0+ -0, -b1 0 -0' -#6120 -b1110000000010101001001111100000 S -b1000 W -b1110000000010101001001111100000 d -b11101 ` -b1000 h -b10 G -b100 4 -1' -#6121 -b1001100000 / -#6125 -b1101 Y -b10 F -b100001101 6 -b100001101 $ -b11 - -b11 < -b11 N -b11 _ -b10010011 " -b10 . -1& -b11111101101001111101100111111 % -b11111101101001111101100111111 : -b11111101101001111101100111111 L -b11111101101001111101100111111 ] -0( -0) -0+ -0, -b1 0 -0' -#6130 -b100 4 -b10 G -b11111101101001111101100111111 d -b1101 ` -b11 h -b11111101101001111101100111111 S -b11 W -1' -#6131 -b1001100001 / -#6135 -b100011 Y -b10 F -b100100011 6 -b100100011 $ -b1 - -b1 < -b1 N -b1 _ -b100000110 " -b10 . -1& -b11111110010000001000100111111 % -b11111110010000001000100111111 : -b11111110010000001000100111111 L -b11111110010000001000100111111 ] -0( -0) -0+ -0, -b1 0 -0' -#6140 -b11111110010000001000100111111 S -b1 W -b11111110010000001000100111111 d -b100011 ` -b1 h -b10 G -b100 4 -1' -#6141 -b1001100010 / -#6145 -b110 Y -b10 F -b100000110 6 -b100000110 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111010101 " -b10 . -1& -b100011000011101100111101000110 % -b100011000011101100111101000110 : -b100011000011101100111101000110 L -b100011000011101100111101000110 ] -0( -0) -0+ -0, -b1 0 -0' -#6150 -b100 4 -b10 G -b100011000011101100111101000110 d -b110 ` -b1101 h -b100011000011101100111101000110 S -b1101 W -1' -#6151 -b1001100011 / -#6155 -1[ -1^ -b0 Y -0J -0M -b11110101 H -b10 F -b0 > -b11110101 6 -b11110101 $ -b11110100 " -b10 . -1& -b1000000101100000011010110000001 % -b1000000101100000011010110000001 : -b1000000101100000011010110000001 L -b1000000101100000011010110000001 ] -0( -0) -0+ -0, -b1 0 -0' -#6160 -b0 A -b1000000101100000011010110000001 S -b11110101 O -0V -0Q -b1000000101100000011010110000001 d -b0 ` -1g -1b -b10 G -b100 4 -1' -#6161 -b1001100100 / -#6165 -0[ -b10010010 Y -1J -b1 > -1M -b0 H -b10 F -b110010010 6 -1; -b110010110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110010010 " -b10 . -0& -b10001110000010101011110000011100 % -b10001110000010101011110000011100 : -b10001110000010101011110000011100 L -b10001110000010101011110000011100 ] -0( -0) -0+ -0, -b1 0 -0' -#6170 -1E -b1 A -b10 G -b10001110000010101011110000011100 d -b10010010 ` -b1001 h -0b -b10001110000010101011110000011100 S -b0 O -b1001 W -1V -1Q -1' -#6171 -b1001100101 / -#6175 -1[ -0J -0M -b1101111 H -b0 > -1^ -b0 Y -b10 F -b1101111 6 -0; -b1101111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111101011 " -b10 . -1& -b10011011011101011010100100110 % -b10011011011101011010100100110 : -b10011011011101011010100100110 L -b10011011011101011010100100110 ] -0( -0) -0+ -0, -b1 0 -0' -#6178 -b10010001000000011101101100100010 e -#6180 -0E -b0 A -b10010001000000011101101100100010 # -b10 . -b10010001000000011101101100100010 ! -b10010001000000011101101100100010 C -b10011011011101011010100100110 S -b1101111 O -b1010 W -0V -0Q -b10011011011101011010100100110 d -b0 ` -b1010 h -1b -b10010001000000011101101100100010 ? -b10 G -b100 4 -1' -#6181 -b1001100110 / -#6185 -0[ -0^ -b1001011 Y -1J -1M -b0 H -b10 F -b1 > -b101001011 6 -b101001011 $ -b11 - -b11 < -b11 N -b11 _ -b11100100 " -b10 . -1& -b1110001011111010100101111100010 % -b1110001011111010100101111100010 : -b1110001011111010100101111100010 L -b1110001011111010100101111100010 ] -0( -0) -0+ -0, -b1 0 -0' -#6190 -b1 A -b100 4 -b10 G -b1110001011111010100101111100010 d -b1001011 ` -b11 h -0g -0b -b1110001011111010100101111100010 S -b0 O -b11 W -1V -1Q -1' -#6191 -b1001100111 / -#6195 -b1000110 Y -b10 F -b101000110 6 -b101000110 $ -b1 - -b1 < -b1 N -b1 _ -b110110010 " -b10 . -1& -b10001100001001111100100100011 % -b10001100001001111100100100011 : -b10001100001001111100100100011 L -b10001100001001111100100100011 ] -0( -0) -0+ -0, -b1 0 -0' -#6200 -b10001100001001111100100100011 S -b1 W -b10001100001001111100100100011 d -b1000110 ` -b1 h -b10 G -b100 4 -1' -#6201 -b1001101000 / -#6205 -1[ -0J -b1101101 H -b0 > -1^ -b0 Y -b10 F -b1101101 6 -1; -b100011 $ -b100 - -b100 < -b100 N -b100 _ -b1101101 " -b10 . -0& -b11100010000100110111011011000100 % -b11100010000100110111011011000100 : -b11100010000100110111011011000100 L -b11100010000100110111011011000100 ] -0( -0) -0+ -0, -b1 0 -0' -#6210 -1E -b0 A -b10 G -b11100010000100110111011011000100 d -b0 ` -b100 h -1g -1b -b11100010000100110111011011000100 S -b1101101 O -b100 W -0Q -1' -#6211 -b1001101001 / -#6215 -b11010000 H -b10 F -b11010000 6 -b100111101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11010000 " -b10 . -b10101001100011100110111001010011 % -b10101001100011100110111001010011 : -b10101001100011100110111001010011 L -b10101001100011100110111001010011 ] -0( -0) -0+ -0, -b1 0 -0' -#6220 -b0 # -b10 . -b0 ! -b0 C -b10101001100011100110111001010011 S -b11010000 O -b1100 W -b10101001100011100110111001010011 d -b1100 h -b0 ? -b10 G -1' -#6221 -b1001101010 / -#6225 -b10001010 H -b10 F -b10001010 6 -b11100001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10001010 " -b10 . -b11110110001100011001101011101100 % -b11110110001100011001101011101100 : -b11110110001100011001101011101100 L -b11110110001100011001101011101100 ] -0( -0) -0+ -0, -b1 0 -0' -#6228 -b1010000000000100000 T -#6230 -b1010000000000100000 # -b10 . -b1010000000000100000 ! -b1010000000000100000 C -b1010000000000100000 ? -b10 G -b11110110001100011001101011101100 d -b1001 h -b11110110001100011001101011101100 S -b10001010 O -b1001 W -1' -#6231 -b1001101011 / -#6235 -0[ -b10000111 Y -1J -b0 H -b10 F -b1 > -b110000111 6 -b11101100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110000111 " -b10 . -b10100111000111111111100001001110 % -b10100111000111111111100001001110 : -b10100111000111111111100001001110 L -b10100111000111111111100001001110 ] -0( -0) -0+ -0, -b1 0 -0' -#6238 -b0 T -#6240 -b1 A -b0 # -b10 . -b0 ! -b0 C -b10100111000111111111100001001110 S -b0 O -b1011 W -1Q -b10100111000111111111100001001110 d -b10000111 ` -b1011 h -0b -b0 ? -b10 G -1' -#6241 -b1001101100 / -#6245 -1[ -0J -0M -b111101 H -b0 > -1^ -b0 Y -b10 F -b111101 6 -0; -b111101 $ -b100 - -b100 < -b100 N -b100 _ -b111001 " -b10 . -1& -b101101011000010101000101011010 % -b101101011000010101000101011010 : -b101101011000010101000101011010 L -b101101011000010101000101011010 ] -0( -0) -0+ -0, -b1 0 -0' -#6248 -b10110000110001100101011001100001 e -#6250 -0E -b0 A -b10110000110001100101011001100001 # -b10 . -b10110000110001100101011001100001 ! -b10110000110001100101011001100001 C -b100 4 -b10110000110001100101011001100001 ? -b10 G -b101101011000010101000101011010 d -b0 ` -b100 h -1b -b101101011000010101000101011010 S -b111101 O -b100 W -0V -0Q -1' -#6251 -b1001101101 / -#6255 -b101110 H -b10 F -b101110 6 -b101110 $ -b1 - -b1 < -b1 N -b1 _ -b100000100 " -b10 . -1& -b11000100110110100011110010001001 % -b11000100110110100011110010001001 : -b11000100110110100011110010001001 L -b11000100110110100011110010001001 ] -0( -0) -0+ -0, -b1 0 -0' -#6260 -b11000100110110100011110010001001 S -b101110 O -b1 W -b11000100110110100011110010001001 d -b1 h -b10 G -b100 4 -1' -#6261 -b1001101110 / -#6265 -b10100011 H -b10 F -b10100011 6 -b10100011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101110101 " -b10 . -1& -b10100000100001100100110001000001 % -b10100000100001100100110001000001 : -b10100000100001100100110001000001 L -b10100000100001100100110001000001 ] -0( -0) -0+ -0, -b1 0 -0' -#6270 -b100 4 -b10 G -b10100000100001100100110001000001 d -b1100 h -b10100000100001100100110001000001 S -b10100011 O -b1100 W -1' -#6271 -b1001101111 / -#6275 -1M -b1111011 H -b10 F -b1111011 6 -1; -b1001100 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b1111011 " -b10 . -0& -b11010000001110001000100110100 % -b11010000001110001000100110100 : -b11010000001110001000100110100 L -b11010000001110001000100110100 ] -0( -0) -0+ -0, -b1 0 -0' -#6280 -1E -b11010000001110001000100110100 S -b1111011 O -b1010 W -1V -b11010000001110001000100110100 d -b1010 h -b10 G -1' -#6281 -b1001110000 / -#6285 -0M -b1100011 H -b10 F -b1100011 6 -0; -b1100011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1010100 " -b10 . -1& -b1011001110100100011101110110011 % -b1011001110100100011101110110011 : -b1011001110100100011101110110011 L -b1011001110100100011101110110011 ] -0( -0) -0+ -0, -b1 0 -0' -#6288 -b110011100000000000100111 T -#6290 -0E -b110011100000000000100111 # -b10 . -b110011100000000000100111 ! -b110011100000000000100111 C -b100 4 -b110011100000000000100111 ? -b10 G -b1011001110100100011101110110011 d -b1100 h -b1011001110100100011101110110011 S -b1100011 O -b1100 W -0V -1' -#6291 -b1001110001 / -#6295 -1M -b10100100 H -b10 F -b10100100 6 -1; -b100000000 $ -b111 - -b111 < -b111 N -b111 _ -b10100100 " -b10 . -0& -b1001101110110011101100110011011 % -b1001101110110011101100110011011 : -b1001101110110011101100110011011 L -b1001101110110011101100110011011 ] -0( -0) -0+ -0, -b1 0 -0' -#6300 -1E -b1001101110110011101100110011011 S -b10100100 O -b111 W -1V -b1001101110110011101100110011011 d -b111 h -b10 G -1' -#6301 -b1001110010 / -#6305 -0[ -b1110110 Y -1J -b0 H -b10 F -b1 > -b101110110 6 -b101110000 $ -b110 - -b110 < -b110 N -b110 _ -b101110110 " -b10 . -b11100001001011111010011011000010 % -b11100001001011111010011011000010 : -b11100001001011111010011011000010 L -b11100001001011111010011011000010 ] -0( -0) -0+ -0, -b1 0 -0' -#6308 -b0 T -#6310 -b1 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b11100001001011111010011011000010 d -b1110110 ` -b110 h -0b -b11100001001011111010011011000010 S -b0 O -b110 W -1Q -1' -#6311 -b1001110011 / -#6315 -b11100001 Y -b10 F -b111100001 6 -b111110101 $ -b111 - -b111 < -b111 N -b111 _ -b111100001 " -b10 . -b1101001001010101101111111010010 % -b1101001001010101101111111010010 : -b1101001001010101101111111010010 L -b1101001001010101101111111010010 ] -0( -0) -0+ -0, -b1 0 -0' -#6318 -b11110100000000 e -#6320 -b11110100000000 # -b10 . -b11110100000000 ! -b11110100000000 C -b1101001001010101101111111010010 S -b111 W -b1101001001010101101111111010010 d -b11100001 ` -b111 h -b11110100000000 ? -b10 G -1' -#6321 -b1001110100 / -#6325 -b11000010 Y -b10 F -b111000010 6 -b101001111 $ -b111000010 " -b10 . -b1010101100110111101110110101011 % -b1010101100110111101110110101011 : -b1010101100110111101110110101011 L -b1010101100110111101110110101011 ] -0( -0) -0+ -0, -b1 0 -0' -#6328 -b0 e -#6330 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1010101100110111101110110101011 d -b11000010 ` -b1010101100110111101110110101011 S -1' -#6331 -b1001110101 / -#6335 -0^ -b10111101 Y -b10 F -b110111101 6 -0; -b110111101 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b101110 " -b10 . -1& -b11110100010001011011111011101000 % -b11110100010001011011111011101000 : -b11110100010001011011111011101000 L -b11110100010001011011111011101000 ] -0( -0) -0+ -0, -b1 0 -0' -#6338 -b10001010000110101011010010 e -#6340 -0E -b10001010000110101011010010 # -b10 . -b10001010000110101011010010 ! -b10001010000110101011010010 C -b11110100010001011011111011101000 S -b1110 W -b11110100010001011011111011101000 d -b10111101 ` -b1110 h -0g -b10001010000110101011010010 ? -b10 G -b100 4 -1' -#6341 -b1001110110 / -#6345 -1[ -1^ -b0 Y -0J -0M -b11100010 H -b10 F -b0 > -b11100010 6 -b11100010 $ -b10 - -b10 < -b10 N -b10 _ -b110000000 " -b10 . -1& -b11000101101001111011101010001011 % -b11000101101001111011101010001011 : -b11000101101001111011101010001011 L -b11000101101001111011101010001011 ] -0( -0) -0+ -0, -b1 0 -0' -#6350 -b0 A -b100 4 -b10 G -b11000101101001111011101010001011 d -b0 ` -b10 h -1g -1b -b11000101101001111011101010001011 S -b11100010 O -b10 W -0V -0Q -1' -#6351 -b1001110111 / -#6355 -b11111100 H -b10 F -b11111100 6 -b11111100 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10010000 " -b10 . -1& -b1111001001000101011110111110010 % -b1111001001000101011110111110010 : -b1111001001000101011110111110010 L -b1111001001000101011110111110010 ] -0( -0) -0+ -0, -b1 0 -0' -#6360 -b1111001001000101011110111110010 S -b11111100 O -b1010 W -b1111001001000101011110111110010 d -b1010 h -b10 G -b100 4 -1' -#6361 -b1001111000 / -#6365 -1M -b11000001 H -b10 F -b11000001 6 -1; -b100000011 $ -b1 - -b1 < -b1 N -b1 _ -b11000001 " -b10 . -0& -b11010001000101111010010010100010 % -b11010001000101111010010010100010 : -b11010001000101111010010010100010 L -b11010001000101111010010010100010 ] -0( -0) -0+ -0, -b1 0 -0' -#6370 -1E -b10 G -b11010001000101111010010010100010 d -b1 h -b11010001000101111010010010100010 S -b11000001 O -b1 W -1V -1' -#6371 -b1001111001 / -#6375 -b110110 H -b10 F -b110110 6 -b110001111 $ -b11 - -b11 < -b11 N -b11 _ -b110110 " -b10 . -b10110011001000110010110001100110 % -b10110011001000110010110001100110 : -b10110011001000110010110001100110 L -b10110011001000110010110001100110 ] -0( -0) -0+ -0, -b1 0 -0' -#6378 -b1001010101000000000000010010 T -#6380 -b1001010101000000000000010010 # -b10 . -b1001010101000000000000010010 ! -b1001010101000000000000010010 C -b10110011001000110010110001100110 S -b110110 O -b11 W -b10110011001000110010110001100110 d -b11 h -b1001010101000000000000010010 ? -b10 G -1' -#6381 -b1001111010 / -#6385 -0[ -b111110 Y -1J -b0 H -b10 F -b1 > -b100111110 6 -b101110101 $ -b110 - -b110 < -b110 N -b110 _ -b100111110 " -b10 . -b1100011010110100101001111000110 % -b1100011010110100101001111000110 : -b1100011010110100101001111000110 L -b1100011010110100101001111000110 ] -0( -0) -0+ -0, -b1 0 -0' -#6388 -b0 T -#6390 -b1 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1100011010110100101001111000110 d -b111110 ` -b110 h -0b -b1100011010110100101001111000110 S -b0 O -b110 W -1Q -1' -#6391 -b1001111011 / -#6395 -0^ -b11011101 Y -b10 F -b111011101 6 -0; -b111011101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1111111 " -b10 . -1& -b1011100001010001100100110111000 % -b1011100001010001100100110111000 : -b1011100001010001100100110111000 L -b1011100001010001100100110111000 ] -0( -0) -0+ -0, -b1 0 -0' -#6398 -b0 e -#6400 -0E -b1011100001010001100100110111000 S -b1001 W -b1011100001010001100100110111000 d -b11011101 ` -b1001 h -0g -b10 G -b100 4 -1' -#6401 -b1001111100 / -#6405 -1[ -1^ -b0 Y -0J -0M -b100110 H -b10 F -b0 > -b100110 6 -b100110 $ -b100 - -b100 < -b100 N -b100 _ -b111000101 " -b10 . -1& -b1111010010011101011111111110100 % -b1111010010011101011111111110100 : -b1111010010011101011111111110100 L -b1111010010011101011111111110100 ] -0( -0) -0+ -0, -b1 0 -0' -#6410 -b0 A -b100 4 -b10 G -b1111010010011101011111111110100 d -b0 ` -b100 h -1g -1b -b1111010010011101011111111110100 S -b100110 O -b100 W -0V -0Q -1' -#6411 -b1001111101 / -#6415 -b11101011 H -b10 F -b11101011 6 -b11101011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10000110 " -b10 . -1& -b11010011101000000001110010100111 % -b11010011101000000001110010100111 : -b11010011101000000001110010100111 L -b11010011101000000001110010100111 ] -0( -0) -0+ -0, -b1 0 -0' -#6420 -b11010011101000000001110010100111 S -b11101011 O -b1000 W -b11010011101000000001110010100111 d -b1000 h -b10 G -b100 4 -1' -#6421 -b1001111110 / -#6425 -b111110 H -b10 F -b111110 6 -b111110 $ -b1 - -b1 < -b1 N -b1 _ -b100111110 " -b10 . -1& -b11011110100100001111101010111101 % -b11011110100100001111101010111101 : -b11011110100100001111101010111101 L -b11011110100100001111101010111101 ] -0( -0) -0+ -0, -b1 0 -0' -#6430 -b100 4 -b10 G -b11011110100100001111101010111101 d -b1 h -b11011110100100001111101010111101 S -b111110 O -b1 W -1' -#6431 -b1001111111 / -#6435 -0[ -b11001011 Y -1J -b1 > -1M -b0 H -b10 F -b111001011 6 -1; -b1000101 $ -b110 - -b110 < -b110 N -b110 _ -b111001011 " -b10 . -0& -b1111110110101011101110111111101 % -b1111110110101011101110111111101 : -b1111110110101011101110111111101 L -b1111110110101011101110111111101 ] -0( -0) -0+ -0, -b1 0 -0' -#6440 -1E -b1 A -b1111110110101011101110111111101 S -b0 O -b110 W -1V -1Q -b1111110110101011101110111111101 d -b11001011 ` -b110 h -0b -b10 G -1' -#6441 -b1010000000 / -#6445 -1[ -b0 Y -0J -b10010100 H -b10 F -b0 > -b10010100 6 -b110101110 $ -b111 - -b111 < -b111 N -b111 _ -b10010100 " -b10 . -b1100010010001100001011111000100 % -b1100010010001100001011111000100 : -b1100010010001100001011111000100 L -b1100010010001100001011111000100 ] -0( -0) -0+ -0, -b1 0 -0' -#6450 -b0 A -b10 G -b1100010010001100001011111000100 d -b0 ` -b111 h -1b -b1100010010001100001011111000100 S -b10010100 O -b111 W -0Q -1' -#6451 -b1010000001 / -#6455 -0[ -b10010000 Y -1J -b0 H -b10 F -b1 > -b110010000 6 -b1101 $ -b110010000 " -b10 . -b11101010101011110100101011010101 % -b11101010101011110100101011010101 : -b11101010101011110100101011010101 L -b11101010101011110100101011010101 ] -0( -0) -0+ -0, -b1 0 -0' -#6460 -b1 A -b11101010101011110100101011010101 S -b0 O -1Q -b11101010101011110100101011010101 d -b10010000 ` -0b -b10 G -1' -#6461 -b1010000010 / -#6465 -0^ -b11110111 Y -b10 F -b111110111 6 -0; -b111110111 $ -b11 - -b11 < -b11 N -b11 _ -b110000 " -b10 . -1& -b11001000111101111110100110010 % -b11001000111101111110100110010 : -b11001000111101111110100110010 L -b11001000111101111110100110010 ] -0( -0) -0+ -0, -b1 0 -0' -#6470 -0E -b100 4 -b10 G -b11001000111101111110100110010 d -b11110111 ` -b11 h -0g -b11001000111101111110100110010 S -b11 W -1' -#6471 -b1010000011 / -#6475 -b10010011 Y -b10 F -b110010011 6 -b110010011 $ -b101 - -b101 < -b101 N -b101 _ -b11000101 " -b10 . -1& -b10101100111011001010100101011 % -b10101100111011001010100101011 : -b10101100111011001010100101011 L -b10101100111011001010100101011 ] -0( -0) -0+ -0, -b1 0 -0' -#6480 -b10101100111011001010100101011 S -b101 W -b10101100111011001010100101011 d -b10010011 ` -b101 h -b10 G -b100 4 -1' -#6481 -b1010000100 / -#6485 -1^ -b10111101 Y -b10 F -b110111101 6 -1; -b111001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110111101 " -b10 . -0& -b11111000000010100101011011110000 % -b11111000000010100101011011110000 : -b11111000000010100101011011110000 L -b11111000000010100101011011110000 ] -0( -0) -0+ -0, -b1 0 -0' -#6490 -1E -b10 G -b11111000000010100101011011110000 d -b10111101 ` -b1000 h -1g -b11111000000010100101011011110000 S -b1000 W -1' -#6491 -b1010000101 / -#6495 -1[ -b0 Y -0J -b10000011 H -b10 F -b0 > -b10000011 6 -b1110110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10000011 " -b10 . -b1101011001000011010100011010 % -b1101011001000011010100011010 : -b1101011001000011010100011010 L -b1101011001000011010100011010 ] -0( -0) -0+ -0, -b1 0 -0' -#6498 -b11110100010001011011111011000000 e -#6500 -b0 A -b11110100010001011011111011000000 # -b10 . -b11110100010001011011111011000000 ! -b11110100010001011011111011000000 C -b1101011001000011010100011010 S -b10000011 O -b1001 W -0Q -b1101011001000011010100011010 d -b0 ` -b1001 h -1b -b11110100010001011011111011000000 ? -b10 G -1' -#6501 -b1010000110 / -#6505 -0[ -b100011 Y -1J -b0 H -b10 F -b1 > -b100100011 6 -b10011000 $ -b111 - -b111 < -b111 N -b111 _ -b100100011 " -b10 . -b11010100110011010110011010101001 % -b11010100110011010110011010101001 : -b11010100110011010110011010101001 L -b11010100110011010110011010101001 ] -0( -0) -0+ -0, -b1 0 -0' -#6510 -b1 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b11010100110011010110011010101001 d -b100011 ` -b111 h -0b -b11010100110011010110011010101001 S -b0 O -b111 W -1Q -1' -#6511 -b1010000111 / -#6515 -0^ -b1110010 Y -b10 F -b101110010 6 -0; -b101110010 $ -b100 - -b100 < -b100 N -b100 _ -b100101 " -b10 . -1& -b11100111000010100100111011001110 % -b11100111000010100100111011001110 : -b11100111000010100100111011001110 L -b11100111000010100100111011001110 ] -0( -0) -0+ -0, -b1 0 -0' -#6518 -b111011100000000000111111 e -#6520 -0E -b111011100000000000111111 # -b10 . -b111011100000000000111111 ! -b111011100000000000111111 C -b11100111000010100100111011001110 S -b100 W -b11100111000010100100111011001110 d -b1110010 ` -b100 h -0g -b111011100000000000111111 ? -b10 G -b100 4 -1' -#6521 -b1010001000 / -#6525 -1[ -0J -b100000 H -b0 > -1^ -b0 Y -b10 F -b100000 6 -1; -b101110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100000 " -b10 . -0& -b11000101011110111110111010001010 % -b11000101011110111110111010001010 : -b11000101011110111110111010001010 L -b11000101011110111110111010001010 ] -0( -0) -0+ -0, -b1 0 -0' -#6530 -1E -b0 A -b10 G -b11000101011110111110111010001010 d -b0 ` -b1111 h -1g -1b -b11000101011110111110111010001010 S -b100000 O -b1111 W -0Q -1' -#6531 -b1010001001 / -#6535 -0[ -0^ -b1110100 Y -1J -b1 > -1M -b0 H -b10 F -b101110100 6 -0; -b101110100 $ -b11 - -b11 < -b11 N -b11 _ -b111011001 " -b10 . -1& -b111000000011110001010101110000 % -b111000000011110001010101110000 : -b111000000011110001010101110000 L -b111000000011110001010101110000 ] -0( -0) -0+ -0, -b1 0 -0' -#6540 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b111000000011110001010101110000 S -b0 O -b11 W -1Q -b111000000011110001010101110000 d -b1110100 ` -b11 h -0g -0b -b0 ? -b10 G -b100 4 -1' -#6541 -b1010001010 / -#6545 -1[ -1^ -b0 Y -0J -0M -b101001 H -b10 F -b0 > -b101001 6 -b101001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1000110 " -b10 . -1& -b11010101100001110000011010101011 % -b11010101100001110000011010101011 : -b11010101100001110000011010101011 L -b11010101100001110000011010101011 ] -0( -0) -0+ -0, -b1 0 -0' -#6550 -b0 A -b100 4 -b10 G -b11010101100001110000011010101011 d -b0 ` -b1001 h -1g -1b -b11010101100001110000011010101011 S -b101001 O -b1001 W -0V -0Q -1' -#6551 -b1010001011 / -#6555 -0[ -0^ -b1010110 Y -1J -1M -b0 H -b10 F -b1 > -b101010110 6 -b101010110 $ -b111 - -b111 < -b111 N -b111 _ -b111100111 " -b10 . -1& -b1001110101110010010010110011101 % -b1001110101110010010010110011101 : -b1001110101110010010010110011101 L -b1001110101110010010010110011101 ] -0( -0) -0+ -0, -b1 0 -0' -#6560 -b1 A -b1001110101110010010010110011101 S -b0 O -b111 W -1V -1Q -b1001110101110010010010110011101 d -b1010110 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#6561 -b1010001100 / -#6565 -1[ -1^ -b0 Y -0J -0M -b11111011 H -b10 F -b0 > -b11111011 6 -b11111011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110111110 " -b10 . -1& -b11011001110110110000011010110011 % -b11011001110110110000011010110011 : -b11011001110110110000011010110011 L -b11011001110110110000011010110011 ] -0( -0) -0+ -0, -b1 0 -0' -#6570 -b0 A -b100 4 -b10 G -b11011001110110110000011010110011 d -b0 ` -b1100 h -1g -1b -b11011001110110110000011010110011 S -b11111011 O -b1100 W -0V -0Q -1' -#6571 -b1010001101 / -#6575 -0[ -0^ -b1010010 Y -1J -1M -b0 H -b10 F -b1 > -b101010010 6 -b101010010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110111000 " -b10 . -1& -b10100100000110001110100001001000 % -b10100100000110001110100001001000 : -b10100100000110001110100001001000 L -b10100100000110001110100001001000 ] -0( -0) -0+ -0, -b1 0 -0' -#6580 -b1 A -b10100100000110001110100001001000 S -b0 O -b1010 W -1V -1Q -b10100100000110001110100001001000 d -b1010010 ` -b1010 h -0g -0b -b10 G -b100 4 -1' -#6581 -b1010001110 / -#6585 -1^ -b10110 Y -b10 F -b100010110 6 -1; -b100010110 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100010110 " -b10 . -0& -b1001111010001000110010110011110 % -b1001111010001000110010110011110 : -b1001111010001000110010110011110 L -b1001111010001000110010110011110 ] -0( -0) -0+ -0, -b1 0 -0' -#6590 -1E -b10 G -b1001111010001000110010110011110 d -b10110 ` -b1100 h -1g -b1001111010001000110010110011110 S -b1100 W -1' -#6591 -b1010001111 / -#6595 -0^ -b1000101 Y -b10 F -b101000101 6 -0; -b101000101 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100001001 " -b10 . -1& -b10101000101011111010100101010 % -b10101000101011111010100101010 : -b10101000101011111010100101010 L -b10101000101011111010100101010 ] -0( -0) -0+ -0, -b1 0 -0' -#6598 -b10010011110100101011100000100111 e -#6600 -0E -b10010011110100101011100000100111 # -b10 . -b10010011110100101011100000100111 ! -b10010011110100101011100000100111 C -b10101000101011111010100101010 S -b1000 W -b10101000101011111010100101010 d -b1000101 ` -b1000 h -0g -b10010011110100101011100000100111 ? -b10 G -b100 4 -1' -#6601 -b1010010000 / -#6605 -1[ -0J -b10001111 H -b0 > -1^ -b0 Y -b10 F -b10001111 6 -1; -b110000001 $ -b100 - -b100 < -b100 N -b100 _ -b10001111 " -b10 . -0& -b10001110000100111000110000011100 % -b10001110000100111000110000011100 : -b10001110000100111000110000011100 L -b10001110000100111000110000011100 ] -0( -0) -0+ -0, -b1 0 -0' -#6610 -1E -b0 A -b10 G -b10001110000100111000110000011100 d -b0 ` -b100 h -1g -1b -b10001110000100111000110000011100 S -b10001111 O -b100 W -0Q -1' -#6611 -b1010010001 / -#6615 -0M -b1001000 H -b10 F -b1001000 6 -0; -b1001000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100000011 " -b10 . -1& -b10001000100111110110101000010001 % -b10001000100111110110101000010001 : -b10001000100111110110101000010001 L -b10001000100111110110101000010001 ] -0( -0) -0+ -0, -b1 0 -0' -#6618 -b100100010011001001110100000000 T -#6620 -0E -b100100010011001001110100000000 # -b10 . -b100100010011001001110100000000 ! -b100100010011001001110100000000 C -b10001000100111110110101000010001 S -b1001000 O -b1110 W -0V -b10001000100111110110101000010001 d -b1110 h -b100100010011001001110100000000 ? -b10 G -b100 4 -1' -#6621 -b1010010010 / -#6625 -0[ -0^ -b10110000 Y -1J -1M -b0 H -b10 F -b1 > -b110110000 6 -b110110000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10000011 " -b10 . -1& -b10101011101101111100111001010111 % -b10101011101101111100111001010111 : -b10101011101101111100111001010111 L -b10101011101101111100111001010111 ] -0( -0) -0+ -0, -b1 0 -0' -#6630 -b1 A -b100 4 -b10 G -b10101011101101111100111001010111 d -b10110000 ` -b1111 h -0g -0b -b10101011101101111100111001010111 S -b0 O -b1111 W -1V -1Q -1' -#6631 -b1010010011 / -#6635 -1^ -b10100101 Y -b10 F -b110100101 6 -1; -b110111010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110100101 " -b10 . -0& -b1110111110101110101100111101111 % -b1110111110101110101100111101111 : -b1110111110101110101100111101111 L -b1110111110101110101100111101111 ] -0( -0) -0+ -0, -b1 0 -0' -#6640 -1E -b1110111110101110101100111101111 S -b1010 W -b1110111110101110101100111101111 d -b10100101 ` -b1010 h -1g -b10 G -1' -#6641 -b1010010100 / -#6645 -b10001100 Y -b10 F -b110001100 6 -b100011100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110001100 " -b10 . -b1110110010010010110100011101 % -b1110110010010010110100011101 : -b1110110010010010110100011101 L -b1110110010010010110100011101 ] -0( -0) -0+ -0, -b1 0 -0' -#6648 -b101001000000000011011100000000 e -#6650 -b101001000000000011011100000000 # -b10 . -b101001000000000011011100000000 ! -b101001000000000011011100000000 C -b101001000000000011011100000000 ? -b10 G -b1110110010010010110100011101 d -b10001100 ` -b1110 h -b1110110010010010110100011101 S -b1110 W -1' -#6651 -b1010010101 / -#6655 -0^ -b11000110 Y -b10 F -b111000110 6 -0; -b111000110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101101010 " -b10 . -1& -b10000001110100010001011000000011 % -b10000001110100010001011000000011 : -b10000001110100010001011000000011 L -b10000001110100010001011000000011 ] -0( -0) -0+ -0, -b1 0 -0' -#6658 -b111111000000000 e -#6660 -0E -b111111000000000 # -b10 . -b111111000000000 ! -b111111000000000 C -b10000001110100010001011000000011 S -b1111 W -b10000001110100010001011000000011 d -b11000110 ` -b1111 h -0g -b111111000000000 ? -b10 G -b100 4 -1' -#6661 -b1010010110 / -#6665 -1[ -0J -b11110110 H -b0 > -1^ -b0 Y -b10 F -b11110110 6 -1; -b11000 $ -b10 - -b10 < -b10 N -b10 _ -b11110110 " -b10 . -0& -b1110011101110010101000111100111 % -b1110011101110010101000111100111 : -b1110011101110010101000111100111 L -b1110011101110010101000111100111 ] -0( -0) -0+ -0, -b1 0 -0' -#6670 -1E -b0 A -b10 G -b1110011101110010101000111100111 d -b0 ` -b10 h -1g -1b -b1110011101110010101000111100111 S -b11110110 O -b10 W -0Q -1' -#6671 -b1010010111 / -#6675 -0[ -0^ -b11110100 Y -1J -b1 > -1M -b0 H -b10 F -b111110100 6 -0; -b111110100 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10001010 " -b10 . -1& -b1111111001110101010110111111110 % -b1111111001110101010110111111110 : -b1111111001110101010110111111110 L -b1111111001110101010110111111110 ] -0( -0) -0+ -0, -b1 0 -0' -#6678 -b0 T -#6680 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b1111111001110101010110111111110 S -b0 O -b1101 W -1Q -b1111111001110101010110111111110 d -b11110100 ` -b1101 h -0g -0b -b0 ? -b10 G -b100 4 -1' -#6681 -b1010011000 / -#6685 -1^ -b10101100 Y -b10 F -b110101100 6 -1; -b1000001 $ -b1 - -b1 < -b1 N -b1 _ -b110101100 " -b10 . -0& -b11011000001000110101010010110000 % -b11011000001000110101010010110000 : -b11011000001000110101010010110000 L -b11011000001000110101010010110000 ] -0( -0) -0+ -0, -b1 0 -0' -#6690 -1E -b10 G -b11011000001000110101010010110000 d -b10101100 ` -b1 h -1g -b11011000001000110101010010110000 S -b1 W -1' -#6691 -b1010011001 / -#6695 -1[ -0J -0M -b101001 H -b0 > -1^ -b0 Y -b10 F -b101001 6 -0; -b101001 $ -b11 - -b11 < -b11 N -b11 _ -b1010110 " -b10 . -1& -b10011011000010010010101000110110 % -b10011011000010010010101000110110 : -b10011011000010010010101000110110 L -b10011011000010010010101000110110 ] -0( -0) -0+ -0, -b1 0 -0' -#6698 -b11001000000001110010100110011 e -#6700 -0E -b0 A -b11001000000001110010100110011 # -b10 . -b11001000000001110010100110011 ! -b11001000000001110010100110011 C -b10011011000010010010101000110110 S -b101001 O -b11 W -0V -0Q -b10011011000010010010101000110110 d -b0 ` -b11 h -1b -b11001000000001110010100110011 ? -b10 G -b100 4 -1' -#6701 -b1010011010 / -#6705 -0[ -0^ -b1001101 Y -1J -1M -b0 H -b10 F -b1 > -b101001101 6 -b101001101 $ -b100 - -b100 < -b100 N -b100 _ -b110110010 " -b10 . -1& -b11101000011100101011010011010000 % -b11101000011100101011010011010000 : -b11101000011100101011010011010000 L -b11101000011100101011010011010000 ] -0( -0) -0+ -0, -b1 0 -0' -#6710 -b1 A -b100 4 -b10 G -b11101000011100101011010011010000 d -b1001101 ` -b100 h -0g -0b -b11101000011100101011010011010000 S -b0 O -b100 W -1V -1Q -1' -#6711 -b1010011011 / -#6715 -1[ -0J -b11110101 H -b0 > -1^ -b0 Y -b10 F -b11110101 6 -1; -b110011100 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11110101 " -b10 . -0& -b1111100000000000000110111111000 % -b1111100000000000000110111111000 : -b1111100000000000000110111111000 L -b1111100000000000000110111111000 ] -0( -0) -0+ -0, -b1 0 -0' -#6720 -1E -b0 A -b1111100000000000000110111111000 S -b11110101 O -b1010 W -0Q -b1111100000000000000110111111000 d -b0 ` -b1010 h -1g -1b -b10 G -1' -#6721 -b1010011100 / -#6725 -0[ -0^ -b100111 Y -1J -b1 > -1M -b0 H -b10 F -b100100111 6 -0; -b100100111 $ -b10 - -b10 < -b10 N -b10 _ -b10000 " -b10 . -1& -b1111010110010010101100011110 % -b1111010110010010101100011110 : -b1111010110010010101100011110 L -b1111010110010010101100011110 ] -0( -0) -0+ -0, -b1 0 -0' -#6728 -b1000000101100000000000010000001 T -#6730 -0E -b1 A -b1000000101100000000000010000001 # -b10 . -b1000000101100000000000010000001 ! -b1000000101100000000000010000001 C -b100 4 -b1000000101100000000000010000001 ? -b10 G -b1111010110010010101100011110 d -b100111 ` -b10 h -0g -0b -b1111010110010010101100011110 S -b0 O -b10 W -1Q -1' -#6731 -b1010011101 / -#6735 -1[ -0J -b1100 H -b0 > -1^ -b0 Y -b10 F -b1100 6 -1; -b1110111 $ -b0 - -b0 < -b0 N -b0 _ -b1100 " -b10 . -0& -b10110111101010111010000001101111 % -b10110111101010111010000001101111 : -b10110111101010111010000001101111 L -b10110111101010111010000001101111 ] -0( -0) -0+ -0, -b1 0 -0' -#6740 -1E -b0 A -b10110111101010111010000001101111 S -b1100 O -b0 W -0Q -b10110111101010111010000001101111 d -b0 ` -b0 h -1g -1b -b10 G -1' -#6741 -b1010011110 / -#6745 -b10010001 H -b10 F -b10010001 6 -b110010001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10010001 " -b10 . -b10011000010010111000101000110000 % -b10011000010010111000101000110000 : -b10011000010010111000101000110000 L -b10011000010010111000101000110000 ] -0( -0) -0+ -0, -b1 0 -0' -#6748 -b1010100101101110000000000000000 T -#6750 -b1010100101101110000000000000000 # -b10 . -b1010100101101110000000000000000 ! -b1010100101101110000000000000000 C -b1010100101101110000000000000000 ? -b10 G -b10011000010010111000101000110000 d -b1000 h -b10011000010010111000101000110000 S -b10010001 O -b1000 W -1' -#6751 -b1010011111 / -#6755 -0M -b10 H -b10 F -b10 6 -0; -b10 $ -b111 - -b111 < -b111 N -b111 _ -b1110000 " -b10 . -1& -b1001010001001100101011110010100 % -b1001010001001100101011110010100 : -b1001010001001100101011110010100 L -b1001010001001100101011110010100 ] -0( -0) -0+ -0, -b1 0 -0' -#6758 -b0 T -#6760 -0E -b0 # -b10 . -b0 ! -b0 C -b1001010001001100101011110010100 S -b10 O -b111 W -0V -b1001010001001100101011110010100 d -b111 h -b0 ? -b10 G -b100 4 -1' -#6761 -b1010100000 / -#6765 -1M -b111 H -b10 F -b111 6 -1; -b1111001 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111 " -b10 . -0& -b1100101111111011010000111001011 % -b1100101111111011010000111001011 : -b1100101111111011010000111001011 L -b1100101111111011010000111001011 ] -0( -0) -0+ -0, -b1 0 -0' -#6770 -1E -b10 G -b1100101111111011010000111001011 d -b1001 h -b1100101111111011010000111001011 S -b111 O -b1001 W -1V -1' -#6771 -b1010100001 / -#6775 -0[ -0^ -b1000100 Y -1J -b1 > -1M -b0 H -b10 F -b101000100 6 -0; -b101000100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111010111 " -b10 . -1& -b11010110110000010011010010101101 % -b11010110110000010011010010101101 : -b11010110110000010011010010101101 L -b11010110110000010011010010101101 ] -0( -0) -0+ -0, -b1 0 -0' -#6778 -b11110110000000000000000000000000 T -#6780 -0E -b1 A -b11110110000000000000000000000000 # -b10 . -b11110110000000000000000000000000 ! -b11110110000000000000000000000000 C -b11010110110000010011010010101101 S -b0 O -b1111 W -1Q -b11010110110000010011010010101101 d -b1000100 ` -b1111 h -0g -0b -b11110110000000000000000000000000 ? -b10 G -b100 4 -1' -#6781 -b1010100010 / -#6785 -1[ -0J -b10000101 H -b0 > -1^ -b0 Y -b10 F -b10000101 6 -1; -b111100011 $ -b110 - -b110 < -b110 N -b110 _ -b10000101 " -b10 . -0& -b11111011100101010001101011110111 % -b11111011100101010001101011110111 : -b11111011100101010001101011110111 L -b11111011100101010001101011110111 ] -0( -0) -0+ -0, -b1 0 -0' -#6790 -1E -b0 A -b10 G -b11111011100101010001101011110111 d -b0 ` -b110 h -1g -1b -b11111011100101010001101011110111 S -b10000101 O -b110 W -0Q -1' -#6791 -b1010100011 / -#6795 -0M -b11100011 H -b10 F -b11100011 6 -0; -b11100011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10000000 " -b10 . -1& -b10110100011001110010011001101000 % -b10110100011001110010011001101000 : -b10110100011001110010011001101000 L -b10110100011001110010011001101000 ] -0( -0) -0+ -0, -b1 0 -0' -#6798 -b11110000000000000000000000000 T -#6800 -0E -b11110000000000000000000000000 # -b10 . -b11110000000000000000000000000 ! -b11110000000000000000000000000 C -b10110100011001110010011001101000 S -b11100011 O -b1101 W -0V -b10110100011001110010011001101000 d -b1101 h -b11110000000000000000000000000 ? -b10 G -b100 4 -1' -#6801 -b1010100100 / -#6805 -0[ -0^ -b10000001 Y -1J -1M -b0 H -b10 F -b1 > -b110000001 6 -b110000001 $ -b10 - -b10 < -b10 N -b10 _ -b100110011 " -b10 . -1& -b11110011000010110110000011100110 % -b11110011000010110110000011100110 : -b11110011000010110110000011100110 L -b11110011000010110110000011100110 ] -0( -0) -0+ -0, -b1 0 -0' -#6810 -b1 A -b100 4 -b10 G -b11110011000010110110000011100110 d -b10000001 ` -b10 h -0g -0b -b11110011000010110110000011100110 S -b0 O -b10 W -1V -1Q -1' -#6811 -b1010100101 / -#6815 -1^ -b10011010 Y -b10 F -b110011010 6 -1; -b101000011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110011010 " -b10 . -0& -b1101101010100110110010111011010 % -b1101101010100110110010111011010 : -b1101101010100110110010111011010 L -b1101101010100110110010111011010 ] -0( -0) -0+ -0, -b1 0 -0' -#6820 -1E -b1101101010100110110010111011010 S -b1100 W -b1101101010100110110010111011010 d -b10011010 ` -b1100 h -1g -b10 G -1' -#6821 -b1010100110 / -#6825 -1[ -b0 Y -0J -b11101101 H -b10 F -b0 > -b11101101 6 -b110111101 $ -b111 - -b111 < -b111 N -b111 _ -b11101101 " -b10 . -b11100100111101100111010011001001 % -b11100100111101100111010011001001 : -b11100100111101100111010011001001 L -b11100100111101100111010011001001 ] -0( -0) -0+ -0, -b1 0 -0' -#6828 -b110111100000000000011011 e -#6830 -b0 A -b110111100000000000011011 # -b10 . -b110111100000000000011011 ! -b110111100000000000011011 C -b110111100000000000011011 ? -b10 G -b11100100111101100111010011001001 d -b0 ` -b111 h -1b -b11100100111101100111010011001001 S -b11101101 O -b111 W -0Q -1' -#6831 -b1010100111 / -#6835 -0[ -b101110 Y -1J -b0 H -b10 F -b1 > -b100101110 6 -b111111000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100101110 " -b10 . -b10100011100101101011100101000 % -b10100011100101101011100101000 : -b10100011100101101011100101000 L -b10100011100101101011100101000 ] -0( -0) -0+ -0, -b1 0 -0' -#6838 -b10111111000000000000000000000000 T -#6840 -b1 A -b10111111000000000000000000000000 # -b10 . -b10111111000000000000000000000000 ! -b10111111000000000000000000000000 C -b10100011100101101011100101000 S -b0 O -b1111 W -1Q -b10100011100101101011100101000 d -b101110 ` -b1111 h -0b -b10111111000000000000000000000000 ? -b10 G -1' -#6841 -b1010101000 / -#6845 -b1111110 Y -b10 F -b101111110 6 -b11010000 $ -b110 - -b110 < -b110 N -b110 _ -b101111110 " -b10 . -b101101101100001101010101011011 % -b101101101100001101010101011011 : -b101101101100001101010101011011 L -b101101101100001101010101011011 ] -0( -0) -0+ -0, -b1 0 -0' -#6848 -b0 e -#6850 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b101101101100001101010101011011 d -b1111110 ` -b110 h -b101101101100001101010101011011 S -b110 W -1' -#6851 -b1010101001 / -#6855 -0^ -b10101101 Y -b10 F -b110101101 6 -0; -b110101101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10011001 " -b10 . -1& -b11010011100010000110101010100111 % -b11010011100010000110101010100111 : -b11010011100010000110101010100111 L -b11010011100010000110101010100111 ] -0( -0) -0+ -0, -b1 0 -0' -#6858 -b100100001001100000000000000000 e -#6860 -0E -b100100001001100000000000000000 # -b10 . -b100100001001100000000000000000 ! -b100100001001100000000000000000 C -b11010011100010000110101010100111 S -b1001 W -b11010011100010000110101010100111 d -b10101101 ` -b1001 h -0g -b100100001001100000000000000000 ? -b10 G -b100 4 -1' -#6861 -b1010101010 / -#6865 -1^ -b10100 Y -b10 F -b100010100 6 -1; -b111011011 $ -b100010100 " -b10 . -0& -b1010001100110000110000110100011 % -b1010001100110000110000110100011 : -b1010001100110000110000110100011 L -b1010001100110000110000110100011 ] -0( -0) -0+ -0, -b1 0 -0' -#6870 -1E -b10 G -b1010001100110000110000110100011 d -b10100 ` -1g -b1010001100110000110000110100011 S -1' -#6871 -b1010101011 / -#6875 -b1001 Y -b10 F -b100001001 6 -b110100 $ -b1 - -b1 < -b1 N -b1 _ -b100001001 " -b10 . -b1011111011001000001100010111 % -b1011111011001000001100010111 : -b1011111011001000001100010111 L -b1011111011001000001100010111 ] -0( -0) -0+ -0, -b1 0 -0' -#6878 -b0 e -#6880 -b0 # -b10 . -b0 ! -b0 C -b1011111011001000001100010111 S -b1 W -b1011111011001000001100010111 d -b1001 ` -b1 h -b0 ? -b10 G -1' -#6881 -b1010101100 / -#6885 -1[ -b0 Y -0J -b10011 H -b10 F -b0 > -b10011 6 -b111001001 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10011 " -b10 . -b11110101110111000010110011101011 % -b11110101110111000010110011101011 : -b11110101110111000010110011101011 L -b11110101110111000010110011101011 ] -0( -0) -0+ -0, -b1 0 -0' -#6890 -b0 A -b10 G -b11110101110111000010110011101011 d -b0 ` -b1101 h -1b -b11110101110111000010110011101011 S -b10011 O -b1101 W -0Q -1' -#6891 -b1010101101 / -#6895 -0M -b1011 H -b10 F -b1011 6 -0; -b1011 $ -b11 - -b11 < -b11 N -b11 _ -b11011000 " -b10 . -1& -b10000000011111110100010000000000 % -b10000000011111110100010000000000 : -b10000000011111110100010000000000 L -b10000000011111110100010000000000 ] -0( -0) -0+ -0, -b1 0 -0' -#6898 -b0 T -#6900 -0E -b10000000011111110100010000000000 S -b1011 O -b11 W -0V -b10000000011111110100010000000000 d -b11 h -b10 G -b100 4 -1' -#6901 -b1010101110 / -#6905 -b110101 H -b10 F -b110101 6 -b110101 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b11111010 " -b10 . -1& -b11100101000100010110110011001010 % -b11100101000100010110110011001010 : -b11100101000100010110110011001010 L -b11100101000100010110110011001010 ] -0( -0) -0+ -0, -b1 0 -0' -#6910 -b100 4 -b10 G -b11100101000100010110110011001010 d -b1000 h -b11100101000100010110110011001010 S -b110101 O -b1000 W -1' -#6911 -b1010101111 / -#6915 -0[ -0^ -b111 Y -1J -1M -b0 H -b10 F -b1 > -b100000111 6 -b100000111 $ -b1 - -b1 < -b1 N -b1 _ -b10111000 " -b10 . -1& -b11110010001001100000011011100100 % -b11110010001001100000011011100100 : -b11110010001001100000011011100100 L -b11110010001001100000011011100100 ] -0( -0) -0+ -0, -b1 0 -0' -#6920 -b1 A -b11110010001001100000011011100100 S -b0 O -b1 W -1V -1Q -b11110010001001100000011011100100 d -b111 ` -b1 h -0g -0b -b10 G -b100 4 -1' -#6921 -b1010110000 / -#6925 -1[ -0J -b100010 H -b0 > -1^ -b0 Y -b10 F -b100010 6 -1; -b100011011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100010 " -b10 . -0& -b1010110100001110101000110101101 % -b1010110100001110101000110101101 : -b1010110100001110101000110101101 L -b1010110100001110101000110101101 ] -0( -0) -0+ -0, -b1 0 -0' -#6930 -1E -b0 A -b10 G -b1010110100001110101000110101101 d -b0 ` -b1000 h -1g -1b -b1010110100001110101000110101101 S -b100010 O -b1000 W -0Q -1' -#6931 -b1010110001 / -#6935 -0M -b10000111 H -b10 F -b10000111 6 -0; -b10000111 $ -b111 - -b111 < -b111 N -b111 _ -b111100100 " -b10 . -1& -b10010000111010111010110000100001 % -b10010000111010111010110000100001 : -b10010000111010111010110000100001 L -b10010000111010111010110000100001 ] -0( -0) -0+ -0, -b1 0 -0' -#6940 -0E -b10010000111010111010110000100001 S -b10000111 O -b111 W -0V -b10010000111010111010110000100001 d -b111 h -b10 G -b100 4 -1' -#6941 -b1010110010 / -#6945 -0[ -b10111011 Y -1J -b1 > -1M -b0 H -b10 F -b110111011 6 -1; -b11101111 $ -b1 - -b1 < -b1 N -b1 _ -b110111011 " -b10 . -0& -b11101000100011110010100111010 % -b11101000100011110010100111010 : -b11101000100011110010100111010 L -b11101000100011110010100111010 ] -0( -0) -0+ -0, -b1 0 -0' -#6950 -1E -b1 A -b10 G -b11101000100011110010100111010 d -b10111011 ` -b1 h -0b -b11101000100011110010100111010 S -b0 O -b1 W -1V -1Q -1' -#6951 -b1010110011 / -#6955 -b10110001 Y -b10 F -b110110001 6 -b101111000 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110110001 " -b10 . -b1010010100111000000000110100101 % -b1010010100111000000000110100101 : -b1010010100111000000000110100101 L -b1010010100111000000000110100101 ] -0( -0) -0+ -0, -b1 0 -0' -#6960 -b1010010100111000000000110100101 S -b1000 W -b1010010100111000000000110100101 d -b10110001 ` -b1000 h -b10 G -1' -#6961 -b1010110100 / -#6965 -0^ -b10010101 Y -b10 F -b110010101 6 -0; -b110010101 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b110010111 " -b10 . -1& -b1101101110000111110111111011011 % -b1101101110000111110111111011011 : -b1101101110000111110111111011011 L -b1101101110000111110111111011011 ] -0( -0) -0+ -0, -b1 0 -0' -#6968 -b110001101100111100000000 e -#6970 -0E -b110001101100111100000000 # -b10 . -b110001101100111100000000 ! -b110001101100111100000000 C -b100 4 -b110001101100111100000000 ? -b10 G -b1101101110000111110111111011011 d -b10010101 ` -b1110 h -0g -b1101101110000111110111111011011 S -b1110 W -1' -#6971 -b1010110101 / -#6975 -1^ -b1100100 Y -b10 F -b101100100 6 -1; -b101001111 $ -b10 - -b10 < -b10 N -b10 _ -b101100100 " -b10 . -0& -b11010100011100100001111010101000 % -b11010100011100100001111010101000 : -b11010100011100100001111010101000 L -b11010100011100100001111010101000 ] -0( -0) -0+ -0, -b1 0 -0' -#6980 -1E -b11010100011100100001111010101000 S -b10 W -b11010100011100100001111010101000 d -b1100100 ` -b10 h -1g -b10 G -1' -#6981 -b1010110110 / -#6985 -b10100011 Y -b10 F -b110100011 6 -b101101101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110100011 " -b10 . -b1000110011111101010100010001 % -b1000110011111101010100010001 : -b1000110011111101010100010001 L -b1000110011111101010100010001 ] -0( -0) -0+ -0, -b1 0 -0' -#6988 -b0 e -#6990 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1000110011111101010100010001 d -b10100011 ` -b1001 h -b1000110011111101010100010001 S -b1001 W -1' -#6991 -b1010110111 / -#6995 -b110001 Y -b10 F -b100110001 6 -b1111010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b100110001 " -b10 . -b10011000001100011100101000110000 % -b10011000001100011100101000110000 : -b10011000001100011100101000110000 L -b10011000001100011100101000110000 ] -0( -0) -0+ -0, -b1 0 -0' -#7000 -b10011000001100011100101000110000 S -b1011 W -b10011000001100011100101000110000 d -b110001 ` -b1011 h -b10 G -1' -#7001 -b1010111000 / -#7005 -1[ -0J -0M -b1001010 H -b0 > -1^ -b0 Y -b10 F -b1001010 6 -0; -b1001010 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110000010 " -b10 . -1& -b10100110100001110111001001001101 % -b10100110100001110111001001001101 : -b10100110100001110111001001001101 L -b10100110100001110111001001001101 ] -0( -0) -0+ -0, -b1 0 -0' -#7010 -0E -b0 A -b100 4 -b10 G -b10100110100001110111001001001101 d -b0 ` -b1010 h -1b -b10100110100001110111001001001101 S -b1001010 O -b1010 W -0V -0Q -1' -#7011 -b1010111001 / -#7015 -0[ -0^ -b100100 Y -1J -1M -b0 H -b10 F -b1 > -b100100100 6 -b100100100 $ -b110 - -b110 < -b110 N -b110 _ -b100111111 " -b10 . -1& -b1011101110000111101100110111011 % -b1011101110000111101100110111011 : -b1011101110000111101100110111011 L -b1011101110000111101100110111011 ] -0( -0) -0+ -0, -b1 0 -0' -#7020 -b1 A -b1011101110000111101100110111011 S -b0 O -b110 W -1V -1Q -b1011101110000111101100110111011 d -b100100 ` -b110 h -0g -0b -b10 G -b100 4 -1' -#7021 -b1010111010 / -#7025 -1[ -1^ -b0 Y -0J -0M -b1001111 H -b10 F -b0 > -b1001111 6 -b1001111 $ -b100 - -b100 < -b100 N -b100 _ -b101011101 " -b10 . -1& -b10000001100110000011100100000 % -b10000001100110000011100100000 : -b10000001100110000011100100000 L -b10000001100110000011100100000 ] -0( -0) -0+ -0, -b1 0 -0' -#7030 -b0 A -b100 4 -b10 G -b10000001100110000011100100000 d -b0 ` -b100 h -1g -1b -b10000001100110000011100100000 S -b1001111 O -b100 W -0V -0Q -1' -#7031 -b1010111011 / -#7035 -0[ -0^ -b1000101 Y -1J -1M -b0 H -b10 F -b1 > -b101000101 6 -b101000101 $ -b111 - -b111 < -b111 N -b111 _ -b10010 " -b10 . -1& -b11000001001011011000001010000010 % -b11000001001011011000001010000010 : -b11000001001011011000001010000010 L -b11000001001011011000001010000010 ] -0( -0) -0+ -0, -b1 0 -0' -#7040 -b1 A -b11000001001011011000001010000010 S -b0 O -b111 W -1V -1Q -b11000001001011011000001010000010 d -b1000101 ` -b111 h -0g -0b -b10 G -b100 4 -1' -#7041 -b1010111100 / -#7045 -1^ -b1101101 Y -b10 F -b101101101 6 -1; -b10010001 $ -b10 - -b10 < -b10 N -b10 _ -b101101101 " -b10 . -0& -b110000001101110000100101100000 % -b110000001101110000100101100000 : -b110000001101110000100101100000 L -b110000001101110000100101100000 ] -0( -0) -0+ -0, -b1 0 -0' -#7050 -1E -b10 G -b110000001101110000100101100000 d -b1101101 ` -b10 h -1g -b110000001101110000100101100000 S -b10 W -1' -#7051 -b1010111101 / -#7055 -1[ -b0 Y -0J -b10111011 H -b10 F -b0 > -b10111011 6 -b10111000 $ -b11 - -b11 < -b11 N -b11 _ -b10111011 " -b10 . -b1010001011110101101010110100010 % -b1010001011110101101010110100010 : -b1010001011110101101010110100010 L -b1010001011110101101010110100010 ] -0( -0) -0+ -0, -b1 0 -0' -#7058 -b100101010010011111100100000000 e -#7060 -b0 A -b100101010010011111100100000000 # -b10 . -b100101010010011111100100000000 ! -b100101010010011111100100000000 C -b1010001011110101101010110100010 S -b10111011 O -b11 W -0Q -b1010001011110101101010110100010 d -b0 ` -b11 h -1b -b100101010010011111100100000000 ? -b10 G -1' -#7061 -b1010111110 / -#7065 -0[ -b111000 Y -1J -b0 H -b10 F -b1 > -b100111000 6 -b10000011 $ -b100 - -b100 < -b100 N -b100 _ -b100111000 " -b10 . -b10110110000010000101100101101 % -b10110110000010000101100101101 : -b10110110000010000101100101101 L -b10110110000010000101100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#7068 -b101110000000001011011101011101 T -#7070 -b1 A -b101110000000001011011101011101 # -b10 . -b101110000000001011011101011101 ! -b101110000000001011011101011101 C -b101110000000001011011101011101 ? -b10 G -b10110110000010000101100101101 d -b111000 ` -b100 h -0b -b10110110000010000101100101101 S -b0 O -b100 W -1Q -1' -#7071 -b1010111111 / -#7075 -1[ -0J -0M -b11000 H -b0 > -1^ -b0 Y -b10 F -b11000 6 -0; -b11000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b110000010 " -b10 . -1& -b10110111111101000000001001101111 % -b10110111111101000000001001101111 : -b10110111111101000000001001101111 L -b10110111111101000000001001101111 ] -0( -0) -0+ -0, -b1 0 -0' -#7078 -b11101010011010110000100111010 e -#7080 -0E -b0 A -b11101010011010110000100111010 # -b10 . -b11101010011010110000100111010 ! -b11101010011010110000100111010 C -b10110111111101000000001001101111 S -b11000 O -b1111 W -0V -0Q -b10110111111101000000001001101111 d -b0 ` -b1111 h -1b -b11101010011010110000100111010 ? -b10 G -b100 4 -1' -#7081 -b1011000000 / -#7085 -0[ -0^ -b10111000 Y -1J -1M -b0 H -b10 F -b1 > -b110111000 6 -b110111000 $ -b11 - -b11 < -b11 N -b11 _ -b1001110 " -b10 . -1& -b1011111111100111001110110111111 % -b1011111111100111001110110111111 : -b1011111111100111001110110111111 L -b1011111111100111001110110111111 ] -0( -0) -0+ -0, -b1 0 -0' -#7090 -b1 A -b100 4 -b10 G -b1011111111100111001110110111111 d -b10111000 ` -b11 h -0g -0b -b1011111111100111001110110111111 S -b0 O -b11 W -1V -1Q -1' -#7091 -b1011000001 / -#7095 -1^ -b1100001 Y -b10 F -b101100001 6 -1; -b111101011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b101100001 " -b10 . -0& -b1101111101101011100111111011111 % -b1101111101101011100111111011111 : -b1101111101101011100111111011111 L -b1101111101101011100111111011111 ] -0( -0) -0+ -0, -b1 0 -0' -#7100 -1E -b1101111101101011100111111011111 S -b1001 W -b1101111101101011100111111011111 d -b1100001 ` -b1001 h -1g -b10 G -1' -#7101 -b1011000010 / -#7105 -0^ -b101001 Y -b10 F -b100101001 6 -0; -b100101001 $ -b11 - -b11 < -b11 N -b11 _ -b11111101 " -b10 . -1& -b110010010010010100100001100 % -b110010010010010100100001100 : -b110010010010010100100001100 L -b110010010010010100100001100 ] -0( -0) -0+ -0, -b1 0 -0' -#7108 -b0 e -#7110 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b110010010010010100100001100 d -b101001 ` -b11 h -0g -b110010010010010100100001100 S -b11 W -1' -#7111 -b1011000011 / -#7115 -b110000 Y -b10 F -b100110000 6 -b100110000 $ -b1001110 " -b10 . -1& -b10101100100001001110011001011001 % -b10101100100001001110011001011001 : -b10101100100001001110011001011001 L -b10101100100001001110011001011001 ] -0( -0) -0+ -0, -b1 0 -0' -#7120 -b10101100100001001110011001011001 S -b10101100100001001110011001011001 d -b110000 ` -b10 G -b100 4 -1' -#7121 -b1011000100 / -#7125 -1^ -b1011001 Y -b10 F -b101011001 6 -1; -b11 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101011001 " -b10 . -0& -b1100111101001011101101111001111 % -b1100111101001011101101111001111 : -b1100111101001011101101111001111 L -b1100111101001011101101111001111 ] -0( -0) -0+ -0, -b1 0 -0' -#7130 -1E -b10 G -b1100111101001011101101111001111 d -b1011001 ` -b1011 h -1g -b1100111101001011101101111001111 S -b1011 W -1' -#7131 -b1011000101 / -#7135 -1[ -b0 Y -0J -b1101 H -b10 F -b0 > -b1101 6 -b101110111 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1101 " -b10 . -b10010100011101000100010000101000 % -b10010100011101000100010000101000 : -b10010100011101000100010000101000 L -b10010100011101000100010000101000 ] -0( -0) -0+ -0, -b1 0 -0' -#7140 -b0 A -b10010100011101000100010000101000 S -b1101 O -b1111 W -0Q -b10010100011101000100010000101000 d -b0 ` -b1111 h -1b -b10 G -1' -#7141 -b1011000110 / -#7145 -0[ -0^ -b1111101 Y -1J -b1 > -1M -b0 H -b10 F -b101111101 6 -0; -b101111101 $ -b100 - -b100 < -b100 N -b100 _ -b1000001 " -b10 . -1& -b10001101010100000111000000011010 % -b10001101010100000111000000011010 : -b10001101010100000111000000011010 L -b10001101010100000111000000011010 ] -0( -0) -0+ -0, -b1 0 -0' -#7148 -b111011000000000110010101110110 T -#7150 -0E -b1 A -b111011000000000110010101110110 # -b10 . -b111011000000000110010101110110 ! -b111011000000000110010101110110 C -b100 4 -b111011000000000110010101110110 ? -b10 G -b10001101010100000111000000011010 d -b1111101 ` -b100 h -0g -0b -b10001101010100000111000000011010 S -b0 O -b100 W -1Q -1' -#7151 -b1011000111 / -#7155 -b1011100 Y -b10 F -b101011100 6 -b101011100 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111001001 " -b10 . -1& -b10001010101101101000110000010101 % -b10001010101101101000110000010101 : -b10001010101101101000110000010101 L -b10001010101101101000110000010101 ] -0( -0) -0+ -0, -b1 0 -0' -#7160 -b10001010101101101000110000010101 S -b1001 W -b10001010101101101000110000010101 d -b1011100 ` -b1001 h -b10 G -b100 4 -1' -#7161 -b1011001000 / -#7165 -b11011000 Y -b10 F -b111011000 6 -b111011000 $ -b1011110 " -b10 . -1& -b10001110110010100010110000011101 % -b10001110110010100010110000011101 : -b10001110110010100010110000011101 L -b10001110110010100010110000011101 ] -0( -0) -0+ -0, -b1 0 -0' -#7170 -b100 4 -b10 G -b10001110110010100010110000011101 d -b11011000 ` -b10001110110010100010110000011101 S -1' -#7171 -b1011001001 / -#7175 -b110101 Y -b10 F -b100110101 6 -b100110101 $ -b110 - -b110 < -b110 N -b110 _ -b111110100 " -b10 . -1& -b101010101100100111000101010101 % -b101010101100100111000101010101 : -b101010101100100111000101010101 L -b101010101100100111000101010101 ] -0( -0) -0+ -0, -b1 0 -0' -#7180 -b101010101100100111000101010101 S -b110 W -b101010101100100111000101010101 d -b110101 ` -b110 h -b10 G -b100 4 -1' -#7181 -b1011001010 / -#7185 -b10001110 Y -b10 F -b110001110 6 -b110001110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b11000001 " -b10 . -1& -b10011101001111011010101000111010 % -b10011101001111011010101000111010 : -b10011101001111011010101000111010 L -b10011101001111011010101000111010 ] -0( -0) -0+ -0, -b1 0 -0' -#7190 -b100 4 -b10 G -b10011101001111011010101000111010 d -b10001110 ` -b1001 h -b10011101001111011010101000111010 S -b1001 W -1' -#7191 -b1011001011 / -#7195 -1[ -1^ -b0 Y -0J -0M -b11110010 H -b10 F -b0 > -b11110010 6 -b11110010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11100111 " -b10 . -1& -b1101001001100100000111111010010 % -b1101001001100100000111111010010 : -b1101001001100100000111111010010 L -b1101001001100100000111111010010 ] -0( -0) -0+ -0, -b1 0 -0' -#7200 -b0 A -b1101001001100100000111111010010 S -b11110010 O -b1111 W -0V -0Q -b1101001001100100000111111010010 d -b0 ` -b1111 h -1g -1b -b10 G -b100 4 -1' -#7201 -b1011001100 / -#7205 -1M -b10 F -1; -b110100001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11110010 " -b10 . -0& -b11011000111111001100000010110001 % -b11011000111111001100000010110001 : -b11011000111111001100000010110001 L -b11011000111111001100000010110001 ] -0( -0) -0+ -0, -b1 0 -0' -#7210 -1E -b10 G -b11011000111111001100000010110001 d -b1010 h -b11011000111111001100000010110001 S -b1010 W -1V -1' -#7211 -b1011001101 / -#7215 -0M -b10000111 H -b10 F -b10000111 6 -0; -b10000111 $ -b0 - -b0 < -b0 N -b0 _ -b11111100 " -b10 . -1& -b1001110010001010101000110011100 % -b1001110010001010101000110011100 : -b1001110010001010101000110011100 L -b1001110010001010101000110011100 ] -0( -0) -0+ -0, -b1 0 -0' -#7218 -b1101001001100100000111111010010 T -#7220 -0E -b1101001001100100000111111010010 # -b10 . -b1101001001100100000111111010010 ! -b1101001001100100000111111010010 C -b1001110010001010101000110011100 S -b10000111 O -b0 W -0V -b1001110010001010101000110011100 d -b0 h -b1101001001100100000111111010010 ? -b10 G -b100 4 -1' -#7221 -b1011001110 / -#7225 -0[ -0^ -b11011100 Y -1J -1M -b0 H -b10 F -b1 > -b111011100 6 -b111011100 $ -b100 - -b100 < -b100 N -b100 _ -b110101010 " -b10 . -1& -b11110100010001010110010011101000 % -b11110100010001010110010011101000 : -b11110100010001010110010011101000 L -b11110100010001010110010011101000 ] -0( -0) -0+ -0, -b1 0 -0' -#7230 -b1 A -b100 4 -b10 G -b11110100010001010110010011101000 d -b11011100 ` -b100 h -0g -0b -b11110100010001010110010011101000 S -b0 O -b100 W -1V -1Q -1' -#7231 -b1011001111 / -#7235 -b10010000 Y -b10 F -b110010000 6 -b110010000 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110101111 " -b10 . -1& -b10001101001011110100101000011010 % -b10001101001011110100101000011010 : -b10001101001011110100101000011010 L -b10001101001011110100101000011010 ] -0( -0) -0+ -0, -b1 0 -0' -#7240 -b10001101001011110100101000011010 S -b1100 W -b10001101001011110100101000011010 d -b10010000 ` -b1100 h -b10 G -b100 4 -1' -#7241 -b1011010000 / -#7245 -1[ -1^ -b0 Y -0J -0M -b1001000 H -b10 F -b0 > -b1001000 6 -b1001000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100011100 " -b10 . -1& -b11000110010001011000010010001100 % -b11000110010001011000010010001100 : -b11000110010001011000010010001100 L -b11000110010001011000010010001100 ] -0( -0) -0+ -0, -b1 0 -0' -#7250 -b0 A -b100 4 -b10 G -b11000110010001011000010010001100 d -b0 ` -b1101 h -1g -1b -b11000110010001011000010010001100 S -b1001000 O -b1101 W -0V -0Q -1' -#7251 -b1011010001 / -#7255 -1M -b1000110 H -b10 F -b1000110 6 -1; -b111111100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b1000110 " -b10 . -0& -b11000011101101001111100110000 % -b11000011101101001111100110000 : -b11000011101101001111100110000 L -b11000011101101001111100110000 ] -0( -0) -0+ -0, -b1 0 -0' -#7260 -1E -b11000011101101001111100110000 S -b1000110 O -b1110 W -1V -b11000011101101001111100110000 d -b1110 h -b10 G -1' -#7261 -b1011010010 / -#7265 -b1010001 H -b10 F -b1010001 6 -b110111010 $ -b11 - -b11 < -b11 N -b11 _ -b1010001 " -b10 . -b10111111000101011110101001111110 % -b10111111000101011110101001111110 : -b10111111000101011110101001111110 L -b10111111000101011110101001111110 ] -0( -0) -0+ -0, -b1 0 -0' -#7268 -b0 T -#7270 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b10111111000101011110101001111110 d -b11 h -b10111111000101011110101001111110 S -b1010001 O -b11 W -1' -#7271 -b1011010011 / -#7275 -b10001010 H -b10 F -b10001010 6 -b1110101 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10001010 " -b10 . -b1011110111100001101100110111101 % -b1011110111100001101100110111101 : -b1011110111100001101100110111101 L -b1011110111100001101100110111101 ] -0( -0) -0+ -0, -b1 0 -0' -#7280 -b1011110111100001101100110111101 S -b10001010 O -b1011 W -b1011110111100001101100110111101 d -b1011 h -b10 G -1' -#7281 -b1011010100 / -#7285 -0[ -0^ -b11011010 Y -1J -b1 > -1M -b0 H -b10 F -b111011010 6 -0; -b111011010 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110110111 " -b10 . -1& -b10011001001001000010000000110010 % -b10011001001001000010000000110010 : -b10011001001001000010000000110010 L -b10011001001001000010000000110010 ] -0( -0) -0+ -0, -b1 0 -0' -#7290 -0E -b1 A -b100 4 -b10 G -b10011001001001000010000000110010 d -b11011010 ` -b1100 h -0g -0b -b10011001001001000010000000110010 S -b0 O -b1100 W -1Q -1' -#7291 -b1011010101 / -#7295 -1[ -1^ -b0 Y -0J -0M -b11010011 H -b10 F -b0 > -b11010011 6 -b11010011 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100110101 " -b10 . -1& -b1010011011000001101011110100110 % -b1010011011000001101011110100110 : -b1010011011000001101011110100110 L -b1010011011000001101011110100110 ] -0( -0) -0+ -0, -b1 0 -0' -#7300 -b0 A -b1010011011000001101011110100110 S -b11010011 O -b1111 W -0V -0Q -b1010011011000001101011110100110 d -b0 ` -b1111 h -1g -1b -b10 G -b100 4 -1' -#7301 -b1011010110 / -#7305 -0[ -0^ -b10010001 Y -1J -1M -b0 H -b10 F -b1 > -b110010001 6 -b110010001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1010101 " -b10 . -1& -b11110010000110100100100111100 % -b11110010000110100100100111100 : -b11110010000110100100100111100 L -b11110010000110100100100111100 ] -0( -0) -0+ -0, -b1 0 -0' -#7310 -b1 A -b100 4 -b10 G -b11110010000110100100100111100 d -b10010001 ` -b1000 h -0g -0b -b11110010000110100100100111100 S -b0 O -b1000 W -1V -1Q -1' -#7311 -b1011010111 / -#7315 -1[ -1^ -b0 Y -0J -0M -b11001010 H -b10 F -b0 > -b11001010 6 -b11001010 $ -b111 - -b111 < -b111 N -b111 _ -b10011100 " -b10 . -1& -b1101011000000000001101111010110 % -b1101011000000000001101111010110 : -b1101011000000000001101111010110 L -b1101011000000000001101111010110 ] -0( -0) -0+ -0, -b1 0 -0' -#7320 -b0 A -b1101011000000000001101111010110 S -b11001010 O -b111 W -0V -0Q -b1101011000000000001101111010110 d -b0 ` -b111 h -1g -1b -b10 G -b100 4 -1' -#7321 -b1011011000 / -#7325 -1M -b1001001 H -b10 F -b1001001 6 -1; -b100111011 $ -b10 - -b10 < -b10 N -b10 _ -b1001001 " -b10 . -0& -b1001110010111000000001110011100 % -b1001110010111000000001110011100 : -b1001110010111000000001110011100 L -b1001110010111000000001110011100 ] -0( -0) -0+ -0, -b1 0 -0' -#7330 -1E -b10 G -b1001110010111000000001110011100 d -b10 h -b1001110010111000000001110011100 S -b1001001 O -b10 W -1V -1' -#7331 -b1011011001 / -#7335 -b11010010 H -b10 F -b11010010 6 -b1101100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11010010 " -b10 . -b10010000000010110011011000100000 % -b10010000000010110011011000100000 : -b10010000000010110011011000100000 L -b10010000000010110011011000100000 ] -0( -0) -0+ -0, -b1 0 -0' -#7340 -b10010000000010110011011000100000 S -b11010010 O -b1100 W -b10010000000010110011011000100000 d -b1100 h -b10 G -1' -#7341 -b1011011010 / -#7345 -b10010110 H -b10 F -b10010110 6 -b110111111 $ -b10010110 " -b10 . -b11011011100110100101100110110 % -b11011011100110100101100110110 : -b11011011100110100101100110110 L -b11011011100110100101100110110 ] -0( -0) -0+ -0, -b1 0 -0' -#7348 -b1000000000000000100100010000 T -#7350 -b1000000000000000100100010000 # -b10 . -b1000000000000000100100010000 ! -b1000000000000000100100010000 C -b1000000000000000100100010000 ? -b10 G -b11011011100110100101100110110 d -b11011011100110100101100110110 S -b10010110 O -1' -#7351 -b1011011011 / -#7355 -0[ -b10101101 Y -1J -b0 H -b10 F -b1 > -b110101101 6 -b10111111 $ -b10 - -b10 < -b10 N -b10 _ -b110101101 " -b10 . -b1001100001010010010011110011000 % -b1001100001010010010011110011000 : -b1001100001010010010011110011000 L -b1001100001010010010011110011000 ] -0( -0) -0+ -0, -b1 0 -0' -#7358 -b11110010000010011101110011100101 T -#7360 -b1 A -b11110010000010011101110011100101 # -b10 . -b11110010000010011101110011100101 ! -b11110010000010011101110011100101 C -b1001100001010010010011110011000 S -b0 O -b10 W -1Q -b1001100001010010010011110011000 d -b10101101 ` -b10 h -0b -b11110010000010011101110011100101 ? -b10 G -1' -#7361 -b1011011100 / -#7365 -b10000100 Y -b10 F -b110000100 6 -b101101100 $ -b100 - -b100 < -b100 N -b100 _ -b110000100 " -b10 . -b110010100000000101011101100101 % -b110010100000000101011101100101 : -b110010100000000101011101100101 L -b110010100000000101011101100101 ] -0( -0) -0+ -0, -b1 0 -0' -#7368 -b11010011110111000010111010100111 e -#7370 -b11010011110111000010111010100111 # -b10 . -b11010011110111000010111010100111 ! -b11010011110111000010111010100111 C -b11010011110111000010111010100111 ? -b10 G -b110010100000000101011101100101 d -b10000100 ` -b100 h -b110010100000000101011101100101 S -b100 W -1' -#7371 -b1011011101 / -#7375 -1[ -b0 Y -0J -b11101010 H -b10 F -b0 > -b11101010 6 -b100111001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11101010 " -b10 . -b1011011010001011011100110110110 % -b1011011010001011011100110110110 : -b1011011010001011011100110110110 L -b1011011010001011011100110110110 ] -0( -0) -0+ -0, -b1 0 -0' -#7378 -b0 e -#7380 -b0 A -b0 # -b10 . -b0 ! -b0 C -b1011011010001011011100110110110 S -b11101010 O -b1011 W -0Q -b1011011010001011011100110110110 d -b0 ` -b1011 h -1b -b0 ? -b10 G -1' -#7381 -b1011011110 / -#7385 -0M -b1011010 H -b10 F -b1011010 6 -0; -b1011010 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1000 " -b10 . -1& -b1011010010010010111101110110100 % -b1011010010010010111101110110100 : -b1011010010010010111101110110100 L -b1011010010010010111101110110100 ] -0( -0) -0+ -0, -b1 0 -0' -#7388 -b1001110010100101001011101011100 T -#7390 -0E -b1001110010100101001011101011100 # -b10 . -b1001110010100101001011101011100 ! -b1001110010100101001011101011100 C -b100 4 -b1001110010100101001011101011100 ? -b10 G -b1011010010010010111101110110100 d -b1000 h -b1011010010010010111101110110100 S -b1011010 O -b1000 W -0V -1' -#7391 -b1011011111 / -#7395 -0[ -0^ -b11000011 Y -1J -1M -b0 H -b10 F -b1 > -b111000011 6 -b111000011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111000110 " -b10 . -1& -b11010001101101101110100110100 % -b11010001101101101110100110100 : -b11010001101101101110100110100 L -b11010001101101101110100110100 ] -0( -0) -0+ -0, -b1 0 -0' -#7400 -b1 A -b11010001101101101110100110100 S -b0 O -b1011 W -1V -1Q -b11010001101101101110100110100 d -b11000011 ` -b1011 h -0g -0b -b10 G -b100 4 -1' -#7401 -b1011100000 / -#7405 -1^ -b100100 Y -b10 F -b100100100 6 -1; -b1001101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100100100 " -b10 . -0& -b11000001010000000000100010000010 % -b11000001010000000000100010000010 : -b11000001010000000000100010000010 L -b11000001010000000000100010000010 ] -0( -0) -0+ -0, -b1 0 -0' -#7410 -1E -b10 G -b11000001010000000000100010000010 d -b100100 ` -b1111 h -1g -b11000001010000000000100010000010 S -b1111 W -1' -#7411 -b1011100001 / -#7415 -b10101010 Y -b10 F -b110101010 6 -b1011010 $ -b10 - -b10 < -b10 N -b10 _ -b110101010 " -b10 . -b1101010001010001100100011010 % -b1101010001010001100100011010 : -b1101010001010001100100011010 L -b1101010001010001100100011010 ] -0( -0) -0+ -0, -b1 0 -0' -#7418 -b1100100110000111101100100000000 e -#7420 -b1100100110000111101100100000000 # -b10 . -b1100100110000111101100100000000 ! -b1100100110000111101100100000000 C -b1101010001010001100100011010 S -b10 W -b1101010001010001100100011010 d -b10101010 ` -b10 h -b1100100110000111101100100000000 ? -b10 G -1' -#7421 -b1011100010 / -#7425 -1[ -b0 Y -0J -b11010100 H -b10 F -b0 > -b11010100 6 -b110000011 $ -b101 - -b101 < -b101 N -b101 _ -b11010100 " -b10 . -b10010001000100110010100000100010 % -b10010001000100110010100000100010 : -b10010001000100110010100000100010 L -b10010001000100110010100000100010 ] -0( -0) -0+ -0, -b1 0 -0' -#7428 -b0 e -#7430 -b0 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b10010001000100110010100000100010 d -b0 ` -b101 h -1b -b10010001000100110010100000100010 S -b11010100 O -b101 W -0Q -1' -#7431 -b1011100011 / -#7435 -0[ -0^ -b10111101 Y -1J -b1 > -1M -b0 H -b10 F -b110111101 6 -0; -b110111101 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10011 " -b10 . -1& -b10111001011011101101100001110010 % -b10111001011011101101100001110010 : -b10111001011011101101100001110010 L -b10111001011011101101100001110010 ] -0( -0) -0+ -0, -b1 0 -0' -#7438 -b0 T -#7440 -0E -b1 A -b10111001011011101101100001110010 S -b0 O -b1001 W -1Q -b10111001011011101101100001110010 d -b10111101 ` -b1001 h -0g -0b -b10 G -b100 4 -1' -#7441 -b1011100100 / -#7445 -1^ -b1101101 Y -b10 F -b101101101 6 -1; -b1101010 $ -b11 - -b11 < -b11 N -b11 _ -b101101101 " -b10 . -0& -b111010011100011100001101110100 % -b111010011100011100001101110100 : -b111010011100011100001101110100 L -b111010011100011100001101110100 ] -0( -0) -0+ -0, -b1 0 -0' -#7450 -1E -b10 G -b111010011100011100001101110100 d -b1101101 ` -b11 h -1g -b111010011100011100001101110100 S -b11 W -1' -#7451 -b1011100101 / -#7455 -1[ -b0 Y -0J -b110000 H -b10 F -b0 > -b110000 6 -b1101001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110000 " -b10 . -b1101111111111101101010111011111 % -b1101111111111101101010111011111 : -b1101111111111101101010111011111 L -b1101111111111101101010111011111 ] -0( -0) -0+ -0, -b1 0 -0' -#7458 -b100101010010011111100100000000 e -#7460 -b0 A -b100101010010011111100100000000 # -b10 . -b100101010010011111100100000000 ! -b100101010010011111100100000000 C -b1101111111111101101010111011111 S -b110000 O -b1010 W -0Q -b1101111111111101101010111011111 d -b0 ` -b1010 h -1b -b100101010010011111100100000000 ? -b10 G -1' -#7461 -b1011100110 / -#7465 -0[ -b10111010 Y -1J -b0 H -b10 F -b1 > -b110111010 6 -b101110111 $ -b101 - -b101 < -b101 N -b101 _ -b110111010 " -b10 . -b10010101001100110101110000101010 % -b10010101001100110101110000101010 : -b10010101001100110101110000101010 L -b10010101001100110101110000101010 ] -0( -0) -0+ -0, -b1 0 -0' -#7470 -b1 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b10010101001100110101110000101010 d -b10111010 ` -b101 h -0b -b10010101001100110101110000101010 S -b0 O -b101 W -1Q -1' -#7471 -b1011100111 / -#7475 -1[ -0J -0M -b10010110 H -b0 > -1^ -b0 Y -b10 F -b10010110 6 -0; -b10010110 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100110 " -b10 . -1& -b100110110011010111001101001101 % -b100110110011010111001101001101 : -b100110110011010111001101001101 L -b100110110011010111001101001101 ] -0( -0) -0+ -0, -b1 0 -0' -#7478 -b0 e -#7480 -0E -b0 A -b100110110011010111001101001101 S -b10010110 O -b1000 W -0V -0Q -b100110110011010111001101001101 d -b0 ` -b1000 h -1b -b10 G -b100 4 -1' -#7481 -b1011101000 / -#7485 -0[ -b11110010 Y -1J -b1 > -1M -b0 H -b10 F -b111110010 6 -1; -b10101110 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111110010 " -b10 . -0& -b11000110111111111010100110001 % -b11000110111111111010100110001 : -b11000110111111111010100110001 L -b11000110111111111010100110001 ] -0( -0) -0+ -0, -b1 0 -0' -#7490 -1E -b1 A -b10 G -b11000110111111111010100110001 d -b11110010 ` -b1010 h -0b -b11000110111111111010100110001 S -b0 O -b1010 W -1V -1Q -1' -#7491 -b1011101001 / -#7495 -0^ -b10010110 Y -b10 F -b110010110 6 -0; -b110010110 $ -b110 - -b110 < -b110 N -b110 _ -b111000101 " -b10 . -1& -b111000010001010010011101110000 % -b111000010001010010011101110000 : -b111000010001010010011101110000 L -b111000010001010010011101110000 ] -0( -0) -0+ -0, -b1 0 -0' -#7500 -0E -b111000010001010010011101110000 S -b110 W -b111000010001010010011101110000 d -b10010110 ` -b110 h -0g -b10 G -b100 4 -1' -#7501 -b1011101010 / -#7505 -1^ -b110001 Y -b10 F -b100110001 6 -1; -b100110000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100110001 " -b10 . -0& -b10000111010011101110010000001110 % -b10000111010011101110010000001110 : -b10000111010011101110010000001110 L -b10000111010011101110010000001110 ] -0( -0) -0+ -0, -b1 0 -0' -#7510 -1E -b10 G -b10000111010011101110010000001110 d -b110001 ` -b1101 h -1g -b10000111010011101110010000001110 S -b1101 W -1' -#7511 -b1011101011 / -#7515 -1[ -0J -0M -b11101111 H -b0 > -1^ -b0 Y -b10 F -b11101111 6 -0; -b11101111 $ -b10 - -b10 < -b10 N -b10 _ -b110010 " -b10 . -1& -b10011101000000011100110000111010 % -b10011101000000011100110000111010 : -b10011101000000011100110000111010 L -b10011101000000011100110000111010 ] -0( -0) -0+ -0, -b1 0 -0' -#7520 -0E -b0 A -b10011101000000011100110000111010 S -b11101111 O -b10 W -0V -0Q -b10011101000000011100110000111010 d -b0 ` -b10 h -1b -b10 G -b100 4 -1' -#7521 -b1011101100 / -#7525 -1M -b11110001 H -b10 F -b11110001 6 -1; -b10010110 $ -b110 - -b110 < -b110 N -b110 _ -b11110001 " -b10 . -0& -b1010110110101001100011110101101 % -b1010110110101001100011110101101 : -b1010110110101001100011110101101 L -b1010110110101001100011110101101 ] -0( -0) -0+ -0, -b1 0 -0' -#7530 -1E -b10 G -b1010110110101001100011110101101 d -b110 h -b1010110110101001100011110101101 S -b11110001 O -b110 W -1V -1' -#7531 -b1011101101 / -#7535 -0[ -b111001 Y -1J -b0 H -b10 F -b1 > -b100111001 6 -b10101101 $ -b101 - -b101 < -b101 N -b101 _ -b100111001 " -b10 . -b1101101000110000110100011011 % -b1101101000110000110100011011 : -b1101101000110000110100011011 L -b1101101000110000110100011011 ] -0( -0) -0+ -0, -b1 0 -0' -#7538 -b1011110010000000000000000000 T -#7540 -b1 A -b1011110010000000000000000000 # -b10 . -b1011110010000000000000000000 ! -b1011110010000000000000000000 C -b1101101000110000110100011011 S -b0 O -b101 W -1Q -b1101101000110000110100011011 d -b111001 ` -b101 h -0b -b1011110010000000000000000000 ? -b10 G -1' -#7541 -b1011101110 / -#7545 -b1000100 Y -b10 F -b101000100 6 -b110111011 $ -b110 - -b110 < -b110 N -b110 _ -b101000100 " -b10 . -b1101011001110000100110111010110 % -b1101011001110000100110111010110 : -b1101011001110000100110111010110 L -b1101011001110000100110111010110 ] -0( -0) -0+ -0, -b1 0 -0' -#7548 -b1000010111001111010010100000000 e -#7550 -b1000010111001111010010100000000 # -b10 . -b1000010111001111010010100000000 ! -b1000010111001111010010100000000 C -b1000010111001111010010100000000 ? -b10 G -b1101011001110000100110111010110 d -b1000100 ` -b110 h -b1101011001110000100110111010110 S -b110 W -1' -#7551 -b1011101111 / -#7555 -1[ -0J -0M -b1011010 H -b0 > -1^ -b0 Y -b10 F -b1011010 6 -0; -b1011010 $ -b100 - -b100 < -b100 N -b100 _ -b1001110 " -b10 . -1& -b101110001010011011110101011100 % -b101110001010011011110101011100 : -b101110001010011011110101011100 L -b101110001010011011110101011100 ] -0( -0) -0+ -0, -b1 0 -0' -#7558 -b11010110110000010011010010101101 e -#7560 -0E -b0 A -b11010110110000010011010010101101 # -b10 . -b11010110110000010011010010101101 ! -b11010110110000010011010010101101 C -b101110001010011011110101011100 S -b1011010 O -b100 W -0V -0Q -b101110001010011011110101011100 d -b0 ` -b100 h -1b -b11010110110000010011010010101101 ? -b10 G -b100 4 -1' -#7561 -b1011110000 / -#7565 -b10110100 H -b10 F -b10110100 6 -b10110100 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111100100 " -b10 . -1& -b101100011001100010011101011000 % -b101100011001100010011101011000 : -b101100011001100010011101011000 L -b101100011001100010011101011000 ] -0( -0) -0+ -0, -b1 0 -0' -#7570 -b100 4 -b10 G -b101100011001100010011101011000 d -b1001 h -b101100011001100010011101011000 S -b10110100 O -b1001 W -1' -#7571 -b1011110001 / -#7575 -b11011 H -b10 F -b11011 6 -b11011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100100100 " -b10 . -1& -b10011100111110000100000000111001 % -b10011100111110000100000000111001 : -b10011100111110000100000000111001 L -b10011100111110000100000000111001 ] -0( -0) -0+ -0, -b1 0 -0' -#7580 -b10011100111110000100000000111001 S -b11011 O -b1010 W -b10011100111110000100000000111001 d -b1010 h -b10 G -b100 4 -1' -#7581 -b1011110010 / -#7585 -1M -b10010000 H -b10 F -b10010000 6 -1; -b111110111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10010000 " -b10 . -0& -b110111100110111110000101101111 % -b110111100110111110000101101111 : -b110111100110111110000101101111 L -b110111100110111110000101101111 ] -0( -0) -0+ -0, -b1 0 -0' -#7590 -1E -b10 G -b110111100110111110000101101111 d -b1001 h -b110111100110111110000101101111 S -b10010000 O -b1001 W -1V -1' -#7591 -b1011110011 / -#7595 -0M -b11110001 H -b10 F -b11110001 6 -0; -b11110001 $ -b101 - -b101 < -b101 N -b101 _ -b1110001 " -b10 . -1& -b101110010011011110001101011100 % -b101110010011011110001101011100 : -b101110010011011110001101011100 L -b101110010011011110001101011100 ] -0( -0) -0+ -0, -b1 0 -0' -#7598 -b0 T -#7600 -0E -b0 # -b10 . -b0 ! -b0 C -b101110010011011110001101011100 S -b11110001 O -b101 W -0V -b101110010011011110001101011100 d -b101 h -b0 ? -b10 G -b100 4 -1' -#7601 -b1011110100 / -#7605 -0[ -b10010101 Y -1J -b1 > -1M -b0 H -b10 F -b110010101 6 -1; -b100100100 $ -b111 - -b111 < -b111 N -b111 _ -b110010101 " -b10 . -0& -b10110011100000011100001001100111 % -b10110011100000011100001001100111 : -b10110011100000011100001001100111 L -b10110011100000011100001001100111 ] -0( -0) -0+ -0, -b1 0 -0' -#7610 -1E -b1 A -b10 G -b10110011100000011100001001100111 d -b10010101 ` -b111 h -0b -b10110011100000011100001001100111 S -b0 O -b111 W -1V -1Q -1' -#7611 -b1011110101 / -#7615 -0^ -b10001000 Y -b10 F -b110001000 6 -0; -b110001000 $ -b101 - -b101 < -b101 N -b101 _ -b101101100 " -b10 . -1& -b11110001110101010011111011100011 % -b11110001110101010011111011100011 : -b11110001110101010011111011100011 L -b11110001110101010011111011100011 ] -0( -0) -0+ -0, -b1 0 -0' -#7618 -b1101101110000111110111100000000 e -#7620 -0E -b1101101110000111110111100000000 # -b10 . -b1101101110000111110111100000000 ! -b1101101110000111110111100000000 C -b11110001110101010011111011100011 S -b101 W -b11110001110101010011111011100011 d -b10001000 ` -b101 h -0g -b1101101110000111110111100000000 ? -b10 G -b100 4 -1' -#7621 -b1011110110 / -#7625 -1[ -0J -b1110001 H -b0 > -1^ -b0 Y -b10 F -b1110001 6 -1; -b1100 $ -b111 - -b111 < -b111 N -b111 _ -b1110001 " -b10 . -0& -b101001011010111010110101010010 % -b101001011010111010110101010010 : -b101001011010111010110101010010 L -b101001011010111010110101010010 ] -0( -0) -0+ -0, -b1 0 -0' -#7630 -1E -b0 A -b10 G -b101001011010111010110101010010 d -b0 ` -b111 h -1g -1b -b101001011010111010110101010010 S -b1110001 O -b111 W -0Q -1' -#7631 -b1011110111 / -#7635 -0[ -0^ -b10011011 Y -1J -b1 > -1M -b0 H -b10 F -b110011011 6 -0; -b110011011 $ -b11 - -b11 < -b11 N -b11 _ -b10111 " -b10 . -1& -b10001010100111011001100000010101 % -b10001010100111011001100000010101 : -b10001010100111011001100000010101 L -b10001010100111011001100000010101 ] -0( -0) -0+ -0, -b1 0 -0' -#7638 -b10100000000000001001100001000001 T -#7640 -0E -b1 A -b10100000000000001001100001000001 # -b10 . -b10100000000000001001100001000001 ! -b10100000000000001001100001000001 C -b10001010100111011001100000010101 S -b0 O -b11 W -1Q -b10001010100111011001100000010101 d -b10011011 ` -b11 h -0g -0b -b10100000000000001001100001000001 ? -b10 G -b100 4 -1' -#7641 -b1011111000 / -#7645 -1[ -1^ -b0 Y -0J -0M -b11000111 H -b10 F -b0 > -b11000111 6 -b11000111 $ -b10 - -b10 < -b10 N -b10 _ -b101011110 " -b10 . -1& -b10011101101110010000001000111011 % -b10011101101110010000001000111011 : -b10011101101110010000001000111011 L -b10011101101110010000001000111011 ] -0( -0) -0+ -0, -b1 0 -0' -#7650 -b0 A -b100 4 -b10 G -b10011101101110010000001000111011 d -b0 ` -b10 h -1g -1b -b10011101101110010000001000111011 S -b11000111 O -b10 W -0V -0Q -1' -#7651 -b1011111001 / -#7655 -b100101 H -b10 F -b100101 6 -b100101 $ -b111 - -b111 < -b111 N -b111 _ -b111100101 " -b10 . -1& -b10010100101110100010100100101 % -b10010100101110100010100100101 : -b10010100101110100010100100101 L -b10010100101110100010100100101 ] -0( -0) -0+ -0, -b1 0 -0' -#7660 -b10010100101110100010100100101 S -b100101 O -b111 W -b10010100101110100010100100101 d -b111 h -b10 G -b100 4 -1' -#7661 -b1011111010 / -#7665 -0[ -b11001101 Y -1J -b1 > -1M -b0 H -b10 F -b111001101 6 -1; -b100110110 $ -b110 - -b110 < -b110 N -b110 _ -b111001101 " -b10 . -0& -b11100111000010110111110011001110 % -b11100111000010110111110011001110 : -b11100111000010110111110011001110 L -b11100111000010110111110011001110 ] -0( -0) -0+ -0, -b1 0 -0' -#7670 -1E -b1 A -b10 G -b11100111000010110111110011001110 d -b11001101 ` -b110 h -0b -b11100111000010110111110011001110 S -b0 O -b110 W -1V -1Q -1' -#7671 -b1011111011 / -#7675 -1[ -b0 Y -0J -b1010001 H -b10 F -b0 > -b1010001 6 -b111100110 $ -b1010001 " -b10 . -b11101001011010101111110011010010 % -b11101001011010101111110011010010 : -b11101001011010101111110011010010 L -b11101001011010101111110011010010 ] -0( -0) -0+ -0, -b1 0 -0' -#7678 -b0 e -#7680 -b0 A -b0 # -b10 . -b0 ! -b0 C -b11101001011010101111110011010010 S -b1010001 O -0Q -b11101001011010101111110011010010 d -b0 ` -1b -b0 ? -b10 G -1' -#7681 -b1011111100 / -#7685 -b11010110 H -b10 F -b11010110 6 -b111010101 $ -b11010110 " -b10 . -b11100111110011010001001011001111 % -b11100111110011010001001011001111 : -b11100111110011010001001011001111 L -b11100111110011010001001011001111 ] -0( -0) -0+ -0, -b1 0 -0' -#7688 -b0 T -#7690 -b10 G -b11100111110011010001001011001111 d -b11100111110011010001001011001111 S -b11010110 O -1' -#7691 -b1011111101 / -#7695 -0[ -b1100110 Y -1J -b0 H -b10 F -b1 > -b101100110 6 -b100111100 $ -b1 - -b1 < -b1 N -b1 _ -b101100110 " -b10 . -b10011011010001000100110000110110 % -b10011011010001000100110000110110 : -b10011011010001000100110000110110 L -b10011011010001000100110000110110 ] -0( -0) -0+ -0, -b1 0 -0' -#7700 -b1 A -b10011011010001000100110000110110 S -b0 O -b1 W -1Q -b10011011010001000100110000110110 d -b1100110 ` -b1 h -0b -b10 G -1' -#7701 -b1011111110 / -#7705 -b1101011 Y -b10 F -b101101011 6 -b110100 $ -b101 - -b101 < -b101 N -b101 _ -b101101011 " -b10 . -b10111111001111001101101001111110 % -b10111111001111001101101001111110 : -b10111111001111001101101001111110 L -b10111111001111001101101001111110 ] -0( -0) -0+ -0, -b1 0 -0' -#7710 -b10 G -b10111111001111001101101001111110 d -b1101011 ` -b101 h -b10111111001111001101101001111110 S -b101 W -1' -#7711 -b1011111111 / -#7715 -1[ -b0 Y -0J -b110110 H -b10 F -b0 > -b110110 6 -b110111000 $ -b10 - -b10 < -b10 N -b10 _ -b110110 " -b10 . -b101110111001101110100101011101 % -b101110111001101110100101011101 : -b101110111001101110100101011101 L -b101110111001101110100101011101 ] -0( -0) -0+ -0, -b1 0 -0' -#7720 -b0 A -b101110111001101110100101011101 S -b110110 O -b10 W -0Q -b101110111001101110100101011101 d -b0 ` -b10 h -1b -b10 G -1' -#7721 -b1100000000 / -#7725 -0[ -0^ -b10110010 Y -1J -b1 > -1M -b0 H -b10 F -b110110010 6 -0; -b110110010 $ -b101 - -b101 < -b101 N -b101 _ -b10011110 " -b10 . -1& -b110110111110101110001101101101 % -b110110111110101110001101101101 : -b110110111110101110001101101101 L -b110110111110101110001101101101 ] -0( -0) -0+ -0, -b1 0 -0' -#7730 -0E -b1 A -b100 4 -b10 G -b110110111110101110001101101101 d -b10110010 ` -b101 h -0g -0b -b110110111110101110001101101101 S -b0 O -b101 W -1Q -1' -#7731 -b1100000001 / -#7735 -1[ -0J -b101001 H -b0 > -1^ -b0 Y -b10 F -b101001 6 -1; -b100100 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101001 " -b10 . -0& -b11010011001001110001001010100110 % -b11010011001001110001001010100110 : -b11010011001001110001001010100110 L -b11010011001001110001001010100110 ] -0( -0) -0+ -0, -b1 0 -0' -#7740 -1E -b0 A -b11010011001001110001001010100110 S -b101001 O -b1000 W -0Q -b11010011001001110001001010100110 d -b0 ` -b1000 h -1g -1b -b10 G -1' -#7741 -b1100000010 / -#7745 -b1100010 H -b10 F -b1100010 6 -b10 $ -b10 - -b10 < -b10 N -b10 _ -b1100010 " -b10 . -b1111110010110001011100011111 % -b1111110010110001011100011111 : -b1111110010110001011100011111 L -b1111110010110001011100011111 ] -0( -0) -0+ -0, -b1 0 -0' -#7748 -b11010101000000000010101000110110 T -#7750 -b11010101000000000010101000110110 # -b10 . -b11010101000000000010101000110110 ! -b11010101000000000010101000110110 C -b11010101000000000010101000110110 ? -b10 G -b1111110010110001011100011111 d -b10 h -b1111110010110001011100011111 S -b1100010 O -b10 W -1' -#7751 -b1100000011 / -#7755 -0M -b11000110 H -b10 F -b11000110 6 -0; -b11000110 $ -b101 - -b101 < -b101 N -b101 _ -b101101001 " -b10 . -1& -b11000010100111001111100010000101 % -b11000010100111001111100010000101 : -b11000010100111001111100010000101 L -b11000010100111001111100010000101 ] -0( -0) -0+ -0, -b1 0 -0' -#7758 -b0 T -#7760 -0E -b0 # -b10 . -b0 ! -b0 C -b11000010100111001111100010000101 S -b11000110 O -b101 W -0V -b11000010100111001111100010000101 d -b101 h -b0 ? -b10 G -b100 4 -1' -#7761 -b1100000100 / -#7765 -1M -b10000101 H -b10 F -b10000101 6 -1; -b101111011 $ -b10 - -b10 < -b10 N -b10 _ -b10000101 " -b10 . -0& -b1001100000001110001110110011000 % -b1001100000001110001110110011000 : -b1001100000001110001110110011000 L -b1001100000001110001110110011000 ] -0( -0) -0+ -0, -b1 0 -0' -#7770 -1E -b10 G -b1001100000001110001110110011000 d -b10 h -b1001100000001110001110110011000 S -b10000101 O -b10 W -1V -1' -#7771 -b1100000101 / -#7775 -0[ -b11001111 Y -1J -b0 H -b10 F -b1 > -b111001111 6 -b101011 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111001111 " -b10 . -b1111001001010110001010111110010 % -b1111001001010110001010111110010 : -b1111001001010110001010111110010 L -b1111001001010110001010111110010 ] -0( -0) -0+ -0, -b1 0 -0' -#7778 -b11110000000000000000000000000 T -#7780 -b1 A -b11110000000000000000000000000 # -b10 . -b11110000000000000000000000000 ! -b11110000000000000000000000000 C -b1111001001010110001010111110010 S -b0 O -b1111 W -1Q -b1111001001010110001010111110010 d -b11001111 ` -b1111 h -0b -b11110000000000000000000000000 ? -b10 G -1' -#7781 -b1100000110 / -#7785 -1[ -0J -0M -b11100 H -b0 > -1^ -b0 Y -b10 F -b11100 6 -0; -b11100 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10001000 " -b10 . -1& -b10011111111101110011100000111111 % -b10011111111101110011100000111111 : -b10011111111101110011100000111111 L -b10011111111101110011100000111111 ] -0( -0) -0+ -0, -b1 0 -0' -#7790 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10011111111101110011100000111111 d -b0 ` -b1101 h -1b -b10011111111101110011100000111111 S -b11100 O -b1101 W -0V -0Q -1' -#7791 -b1100000111 / -#7795 -0[ -0^ -b11010 Y -1J -1M -b0 H -b10 F -b1 > -b100011010 6 -b100011010 $ -b11 - -b11 < -b11 N -b11 _ -b110110001 " -b10 . -1& -b10110001101011111000101001100011 % -b10110001101011111000101001100011 : -b10110001101011111000101001100011 L -b10110001101011111000101001100011 ] -0( -0) -0+ -0, -b1 0 -0' -#7800 -b1 A -b10110001101011111000101001100011 S -b0 O -b11 W -1V -1Q -b10110001101011111000101001100011 d -b11010 ` -b11 h -0g -0b -b10 G -b100 4 -1' -#7801 -b1100001000 / -#7805 -1[ -0J -b11000100 H -b0 > -1^ -b0 Y -b10 F -b11000100 6 -1; -b1010010 $ -b101 - -b101 < -b101 N -b101 _ -b11000100 " -b10 . -0& -b10111000000010100010101001110000 % -b10111000000010100010101001110000 : -b10111000000010100010101001110000 L -b10111000000010100010101001110000 ] -0( -0) -0+ -0, -b1 0 -0' -#7810 -1E -b0 A -b10 G -b10111000000010100010101001110000 d -b0 ` -b101 h -1g -1b -b10111000000010100010101001110000 S -b11000100 O -b101 W -0Q -1' -#7811 -b1100001001 / -#7815 -0M -b10001111 H -b10 F -b10001111 6 -0; -b10001111 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11011110 " -b10 . -1& -b1000010111110001000110110000101 % -b1000010111110001000110110000101 : -b1000010111110001000110110000101 L -b1000010111110001000110110000101 ] -0( -0) -0+ -0, -b1 0 -0' -#7818 -b0 T -#7820 -0E -b1000010111110001000110110000101 S -b10001111 O -b1011 W -0V -b1000010111110001000110110000101 d -b1011 h -b10 G -b100 4 -1' -#7821 -b1100001010 / -#7825 -0[ -0^ -b1010 Y -1J -1M -b0 H -b10 F -b1 > -b100001010 6 -b100001010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b1100001 " -b10 . -1& -b1111010101001000000111111110101 % -b1111010101001000000111111110101 : -b1111010101001000000111111110101 L -b1111010101001000000111111110101 ] -0( -0) -0+ -0, -b1 0 -0' -#7830 -b1 A -b100 4 -b10 G -b1111010101001000000111111110101 d -b1010 ` -b1111 h -0g -0b -b1111010101001000000111111110101 S -b0 O -b1111 W -1V -1Q -1' -#7831 -b1100001011 / -#7835 -b10000110 Y -b10 F -b110000110 6 -b110000110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1010000 " -b10 . -1& -b10001001110100111011100000010011 % -b10001001110100111011100000010011 : -b10001001110100111011100000010011 L -b10001001110100111011100000010011 ] -0( -0) -0+ -0, -b1 0 -0' -#7840 -b10001001110100111011100000010011 S -b1001 W -b10001001110100111011100000010011 d -b10000110 ` -b1001 h -b10 G -b100 4 -1' -#7841 -b1100001100 / -#7845 -b11010001 Y -b10 F -b111010001 6 -b111010001 $ -b111 - -b111 < -b111 N -b111 _ -b101111011 " -b10 . -1& -b10111110111111000011110001111101 % -b10111110111111000011110001111101 : -b10111110111111000011110001111101 L -b10111110111111000011110001111101 ] -0( -0) -0+ -0, -b1 0 -0' -#7850 -b100 4 -b10 G -b10111110111111000011110001111101 d -b11010001 ` -b111 h -b10111110111111000011110001111101 S -b111 W -1' -#7851 -b1100001101 / -#7855 -1^ -b10111 Y -b10 F -b100010111 6 -1; -b11100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100010111 " -b10 . -0& -b11001010110100000111100010010101 % -b11001010110100000111100010010101 : -b11001010110100000111100010010101 L -b11001010110100000111100010010101 ] -0( -0) -0+ -0, -b1 0 -0' -#7860 -1E -b11001010110100000111100010010101 S -b1100 W -b11001010110100000111100010010101 d -b10111 ` -b1100 h -1g -b10 G -1' -#7861 -b1100001110 / -#7865 -b10000000 Y -b10 F -b110000000 6 -b101011101 $ -b100 - -b100 < -b100 N -b100 _ -b110000000 " -b10 . -b10010100010000100010010000101000 % -b10010100010000100010010000101000 : -b10010100010000100010010000101000 L -b10010100010000100010010000101000 ] -0( -0) -0+ -0, -b1 0 -0' -#7870 -b10 G -b10010100010000100010010000101000 d -b10000000 ` -b100 h -b10010100010000100010010000101000 S -b100 W -1' -#7871 -b1100001111 / -#7875 -1[ -0J -0M -b1010101 H -b0 > -1^ -b0 Y -b10 F -b1010101 6 -0; -b1010101 $ -b1 - -b1 < -b1 N -b1 _ -b100101101 " -b10 . -1& -b10001001000011010101111000010010 % -b10001001000011010101111000010010 : -b10001001000011010101111000010010 L -b10001001000011010101111000010010 ] -0( -0) -0+ -0, -b1 0 -0' -#7880 -0E -b0 A -b10001001000011010101111000010010 S -b1010101 O -b1 W -0V -0Q -b10001001000011010101111000010010 d -b0 ` -b1 h -1b -b10 G -b100 4 -1' -#7881 -b1100010000 / -#7885 -0[ -b111001 Y -1J -b1 > -1M -b0 H -b10 F -b100111001 6 -1; -b10100101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100111001 " -b10 . -0& -b10100000000010011101100101000 % -b10100000000010011101100101000 : -b10100000000010011101100101000 L -b10100000000010011101100101000 ] -0( -0) -0+ -0, -b1 0 -0' -#7890 -1E -b1 A -b10 G -b10100000000010011101100101000 d -b111001 ` -b1101 h -0b -b10100000000010011101100101000 S -b0 O -b1101 W -1V -1Q -1' -#7891 -b1100010001 / -#7895 -b1101110 Y -b10 F -b101101110 6 -b110010010 $ -b101 - -b101 < -b101 N -b101 _ -b101101110 " -b10 . -b1101000001010001001000111010000 % -b1101000001010001001000111010000 : -b1101000001010001001000111010000 L -b1101000001010001001000111010000 ] -0( -0) -0+ -0, -b1 0 -0' -#7898 -b1000010111001111010010100000000 e -#7900 -b1000010111001111010010100000000 # -b10 . -b1000010111001111010010100000000 ! -b1000010111001111010010100000000 C -b1101000001010001001000111010000 S -b101 W -b1101000001010001001000111010000 d -b1101110 ` -b101 h -b1000010111001111010010100000000 ? -b10 G -1' -#7901 -b1100010010 / -#7905 -b11011000 Y -b10 F -b111011000 6 -b11100010 $ -b11 - -b11 < -b11 N -b11 _ -b111011000 " -b10 . -b1001000011110111100011110010000 % -b1001000011110111100011110010000 : -b1001000011110111100011110010000 L -b1001000011110111100011110010000 ] -0( -0) -0+ -0, -b1 0 -0' -#7908 -b0 e -#7910 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1001000011110111100011110010000 d -b11011000 ` -b11 h -b1001000011110111100011110010000 S -b11 W -1' -#7911 -b1100010011 / -#7915 -b1011011 Y -b10 F -b101011011 6 -b100011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b101011011 " -b10 . -b1111110001010110001101111111100 % -b1111110001010110001101111111100 : -b1111110001010110001101111111100 L -b1111110001010110001101111111100 ] -0( -0) -0+ -0, -b1 0 -0' -#7918 -b10001110111111010100000000011101 e -#7920 -b10001110111111010100000000011101 # -b10 . -b10001110111111010100000000011101 ! -b10001110111111010100000000011101 C -b1111110001010110001101111111100 S -b1010 W -b1111110001010110001101111111100 d -b1011011 ` -b1010 h -b10001110111111010100000000011101 ? -b10 G -1' -#7921 -b1100010100 / -#7925 -1[ -b0 Y -0J -b10110010 H -b10 F -b0 > -b10110010 6 -b11000011 $ -b111 - -b111 < -b111 N -b111 _ -b10110010 " -b10 . -b11011011011101001101001010110110 % -b11011011011101001101001010110110 : -b11011011011101001101001010110110 L -b11011011011101001101001010110110 ] -0( -0) -0+ -0, -b1 0 -0' -#7928 -b0 e -#7930 -b0 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b11011011011101001101001010110110 d -b0 ` -b111 h -1b -b11011011011101001101001010110110 S -b10110010 O -b111 W -0Q -1' -#7931 -b1100010101 / -#7935 -b10011 H -b10 F -b10011 6 -b101011010 $ -b1 - -b1 < -b1 N -b1 _ -b10011 " -b10 . -b101111000001110101011101011110 % -b101111000001110101011101011110 : -b101111000001110101011101011110 L -b101111000001110101011101011110 ] -0( -0) -0+ -0, -b1 0 -0' -#7940 -b101111000001110101011101011110 S -b10011 O -b1 W -b101111000001110101011101011110 d -b1 h -b10 G -1' -#7941 -b1100010110 / -#7945 -0[ -b11110101 Y -1J -b0 H -b10 F -b1 > -b111110101 6 -b100111110 $ -b111 - -b111 < -b111 N -b111 _ -b111110101 " -b10 . -b1111011101000010000000111110111 % -b1111011101000010000000111110111 : -b1111011101000010000000111110111 L -b1111011101000010000000111110111 ] -0( -0) -0+ -0, -b1 0 -0' -#7950 -b1 A -b10 G -b1111011101000010000000111110111 d -b11110101 ` -b111 h -0b -b1111011101000010000000111110111 S -b0 O -b111 W -1Q -1' -#7951 -b1100010111 / -#7955 -1[ -0J -0M -b11100 H -b0 > -1^ -b0 Y -b10 F -b11100 6 -0; -b11100 $ -b11 - -b11 < -b11 N -b11 _ -b101001 " -b10 . -1& -b1110110000000100100100111101100 % -b1110110000000100100100111101100 : -b1110110000000100100100111101100 L -b1110110000000100100100111101100 ] -0( -0) -0+ -0, -b1 0 -0' -#7958 -b1001001000000001100011101110100 e -#7960 -0E -b0 A -b1001001000000001100011101110100 # -b10 . -b1001001000000001100011101110100 ! -b1001001000000001100011101110100 C -b1110110000000100100100111101100 S -b11100 O -b11 W -0V -0Q -b1110110000000100100100111101100 d -b0 ` -b11 h -1b -b1001001000000001100011101110100 ? -b10 G -b100 4 -1' -#7961 -b1100011000 / -#7965 -0[ -b1110100 Y -1J -b1 > -1M -b0 H -b10 F -b101110100 6 -1; -b111000 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b101110100 " -b10 . -0& -b11110101101100111000100111101 % -b11110101101100111000100111101 : -b11110101101100111000100111101 L -b11110101101100111000100111101 ] -0( -0) -0+ -0, -b1 0 -0' -#7970 -1E -b1 A -b10 G -b11110101101100111000100111101 d -b1110100 ` -b1110 h -0b -b11110101101100111000100111101 S -b0 O -b1110 W -1V -1Q -1' -#7971 -b1100011001 / -#7975 -1[ -b0 Y -0J -b1001000 H -b10 F -b0 > -b1001000 6 -b10101011 $ -b10 - -b10 < -b10 N -b10 _ -b1001000 " -b10 . -b10010001000000000000100100100 % -b10010001000000000000100100100 : -b10010001000000000000100100100 L -b10010001000000000000100100100 ] -0( -0) -0+ -0, -b1 0 -0' -#7978 -b1010101110000 e -#7980 -b0 A -b1010101110000 # -b10 . -b1010101110000 ! -b1010101110000 C -b10010001000000000000100100100 S -b1001000 O -b10 W -0Q -b10010001000000000000100100100 d -b0 ` -b10 h -1b -b1010101110000 ? -b10 G -1' -#7981 -b1100011010 / -#7985 -0[ -b10001011 Y -1J -b0 H -b10 F -b1 > -b110001011 6 -b10101001 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b110001011 " -b10 . -b11101011110100111001111011010111 % -b11101011110100111001111011010111 : -b11101011110100111001111011010111 L -b11101011110100111001111011010111 ] -0( -0) -0+ -0, -b1 0 -0' -#7988 -b11000110010001010110101010001100 T -#7990 -b1 A -b11000110010001010110101010001100 # -b10 . -b11000110010001010110101010001100 ! -b11000110010001010110101010001100 C -b11000110010001010110101010001100 ? -b10 G -b11101011110100111001111011010111 d -b10001011 ` -b1111 h -0b -b11101011110100111001111011010111 S -b0 O -b1111 W -1Q -1' -#7991 -b1100011011 / -#7995 -b1000010 Y -b10 F -b101000010 6 -b10010000 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101000010 " -b10 . -b10001011010110000000100100010 % -b10001011010110000000100100010 : -b10001011010110000000100100010 L -b10001011010110000000100100010 ] -0( -0) -0+ -0, -b1 0 -0' -#7998 -b10101110000000000000000 e -#8000 -b10101110000000000000000 # -b10 . -b10101110000000000000000 ! -b10101110000000000000000 C -b10001011010110000000100100010 S -b1100 W -b10001011010110000000100100010 d -b1000010 ` -b1100 h -b10101110000000000000000 ? -b10 G -1' -#8001 -b1100011100 / -#8005 -0^ -b100 Y -b10 F -b100000100 6 -0; -b100000100 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10111010 " -b10 . -1& -b10011101101101010100000000111011 % -b10011101101101010100000000111011 : -b10011101101101010100000000111011 L -b10011101101101010100000000111011 ] -0( -0) -0+ -0, -b1 0 -0' -#8008 -b0 e -#8010 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10011101101101010100000000111011 d -b100 ` -b1101 h -0g -b10011101101101010100000000111011 S -b1101 W -1' -#8011 -b1100011101 / -#8015 -b10111100 Y -b10 F -b110111100 6 -b110111100 $ -b100 - -b100 < -b100 N -b100 _ -b101110110 " -b10 . -1& -b11100011101011101000111011000111 % -b11100011101011101000111011000111 : -b11100011101011101000111011000111 L -b11100011101011101000111011000111 ] -0( -0) -0+ -0, -b1 0 -0' -#8020 -b11100011101011101000111011000111 S -b100 W -b11100011101011101000111011000111 d -b10111100 ` -b100 h -b10 G -b100 4 -1' -#8021 -b1100011110 / -#8025 -b111 Y -b10 F -b100000111 6 -b100000111 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101100100 " -b10 . -1& -b11111101111100110010110011111011 % -b11111101111100110010110011111011 : -b11111101111100110010110011111011 L -b11111101111100110010110011111011 ] -0( -0) -0+ -0, -b1 0 -0' -#8030 -b100 4 -b10 G -b11111101111100110010110011111011 d -b111 ` -b1011 h -b11111101111100110010110011111011 S -b1011 W -1' -#8031 -b1100011111 / -#8035 -1[ -1^ -b0 Y -0J -0M -b100010 H -b10 F -b0 > -b100010 6 -b100010 $ -b1 - -b1 < -b1 N -b1 _ -b111 " -b10 . -1& -b11111111111000010001100111111 % -b11111111111000010001100111111 : -b11111111111000010001100111111 L -b11111111111000010001100111111 ] -0( -0) -0+ -0, -b1 0 -0' -#8040 -b0 A -b11111111111000010001100111111 S -b100010 O -b1 W -0V -0Q -b11111111111000010001100111111 d -b0 ` -b1 h -1g -1b -b10 G -b100 4 -1' -#8041 -b1100100000 / -#8045 -0[ -0^ -b11110111 Y -1J -1M -b0 H -b10 F -b1 > -b111110111 6 -b111110111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100100100 " -b10 . -1& -b10101010001111000010111001010100 % -b10101010001111000010111001010100 : -b10101010001111000010111001010100 L -b10101010001111000010111001010100 ] -0( -0) -0+ -0, -b1 0 -0' -#8050 -b1 A -b100 4 -b10 G -b10101010001111000010111001010100 d -b11110111 ` -b1010 h -0g -0b -b10101010001111000010111001010100 S -b0 O -b1010 W -1V -1Q -1' -#8051 -b1100100001 / -#8055 -1[ -1^ -b0 Y -0J -0M -b10011 H -b10 F -b0 > -b10011 6 -b10011 $ -b110 - -b110 < -b110 N -b110 _ -b1001001 " -b10 . -1& -b10110001000100111011110001100010 % -b10110001000100111011110001100010 : -b10110001000100111011110001100010 L -b10110001000100111011110001100010 ] -0( -0) -0+ -0, -b1 0 -0' -#8060 -b0 A -b10110001000100111011110001100010 S -b10011 O -b110 W -0V -0Q -b10110001000100111011110001100010 d -b0 ` -b110 h -1g -1b -b10 G -b100 4 -1' -#8061 -b1100100010 / -#8065 -0[ -b10100 Y -1J -b1 > -1M -b0 H -b10 F -b100010100 6 -1; -b100001110 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b100010100 " -b10 . -0& -b10010010010001111010100100100 % -b10010010010001111010100100100 : -b10010010010001111010100100100 L -b10010010010001111010100100100 ] -0( -0) -0+ -0, -b1 0 -0' -#8070 -1E -b1 A -b10 G -b10010010010001111010100100100 d -b10100 ` -b1011 h -0b -b10010010010001111010100100100 S -b0 O -b1011 W -1V -1Q -1' -#8071 -b1100100011 / -#8075 -0^ -b1111101 Y -b10 F -b101111101 6 -0; -b101111101 $ -b10 - -b10 < -b10 N -b10 _ -b110100011 " -b10 . -1& -b11011011100001110100101010110111 % -b11011011100001110100101010110111 : -b11011011100001110100101010110111 L -b11011011100001110100101010110111 ] -0( -0) -0+ -0, -b1 0 -0' -#8080 -0E -b11011011100001110100101010110111 S -b10 W -b11011011100001110100101010110111 d -b1111101 ` -b10 h -0g -b10 G -b100 4 -1' -#8081 -b1100100100 / -#8085 -1[ -1^ -b0 Y -0J -0M -b10010 H -b10 F -b0 > -b10010 6 -b10010 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110001111 " -b10 . -1& -b1111000111111011110011111110001 % -b1111000111111011110011111110001 : -b1111000111111011110011111110001 L -b1111000111111011110011111110001 ] -0( -0) -0+ -0, -b1 0 -0' -#8090 -b0 A -b100 4 -b10 G -b1111000111111011110011111110001 d -b0 ` -b1000 h -1g -1b -b1111000111111011110011111110001 S -b10010 O -b1000 W -0V -0Q -1' -#8091 -b1100100101 / -#8095 -0[ -0^ -b10000110 Y -1J -1M -b0 H -b10 F -b1 > -b110000110 6 -b110000110 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101101 " -b10 . -1& -b10110101001100010000010001101010 % -b10110101001100010000010001101010 : -b10110101001100010000010001101010 L -b10110101001100010000010001101010 ] -0( -0) -0+ -0, -b1 0 -0' -#8100 -b1 A -b10110101001100010000010001101010 S -b0 O -b1100 W -1V -1Q -b10110101001100010000010001101010 d -b10000110 ` -b1100 h -0g -0b -b10 G -b100 4 -1' -#8101 -b1100100110 / -#8105 -1[ -0J -b1110110 H -b0 > -1^ -b0 Y -b10 F -b1110110 6 -1; -b10111001 $ -b1 - -b1 < -b1 N -b1 _ -b1110110 " -b10 . -0& -b101100111101000000010101011001 % -b101100111101000000010101011001 : -b101100111101000000010101011001 L -b101100111101000000010101011001 ] -0( -0) -0+ -0, -b1 0 -0' -#8110 -1E -b0 A -b10 G -b101100111101000000010101011001 d -b0 ` -b1 h -1g -1b -b101100111101000000010101011001 S -b1110110 O -b1 W -0Q -1' -#8111 -b1100100111 / -#8115 -0M -b11010010 H -b10 F -b11010010 6 -0; -b11010010 $ -b100001001 " -b10 . -1& -b11100000010101001101000011000000 % -b11100000010101001101000011000000 : -b11100000010101001101000011000000 L -b11100000010101001101000011000000 ] -0( -0) -0+ -0, -b1 0 -0' -#8118 -b110010000000000001110011 T -#8120 -0E -b110010000000000001110011 # -b10 . -b110010000000000001110011 ! -b110010000000000001110011 C -b11100000010101001101000011000000 S -b11010010 O -0V -b11100000010101001101000011000000 d -b110010000000000001110011 ? -b10 G -b100 4 -1' -#8121 -b1100101000 / -#8125 -1M -b10110011 H -b10 F -b10110011 6 -1; -b101011010 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10110011 " -b10 . -0& -b10100011000001101001100101000 % -b10100011000001101001100101000 : -b10100011000001101001100101000 L -b10100011000001101001100101000 ] -0( -0) -0+ -0, -b1 0 -0' -#8130 -1E -b10 G -b10100011000001101001100101000 d -b1001 h -b10100011000001101001100101000 S -b10110011 O -b1001 W -1V -1' -#8131 -b1100101001 / -#8135 -0M -b10111 H -b10 F -b10111 6 -0; -b10111 $ -b10 - -b10 < -b10 N -b10 _ -b100001100 " -b10 . -1& -b11011101100001001010001010111011 % -b11011101100001001010001010111011 : -b11011101100001001010001010111011 L -b11011101100001001010001010111011 ] -0( -0) -0+ -0, -b1 0 -0' -#8138 -b11011111011100 T -#8140 -0E -b11011111011100 # -b10 . -b11011111011100 ! -b11011111011100 C -b11011101100001001010001010111011 S -b10111 O -b10 W -0V -b11011101100001001010001010111011 d -b10 h -b11011111011100 ? -b10 G -b100 4 -1' -#8141 -b1100101010 / -#8145 -1M -b1100110 H -b10 F -b1100110 6 -1; -b110111001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1100110 " -b10 . -0& -b1111110000101010010101111111100 % -b1111110000101010010101111111100 : -b1111110000101010010101111111100 L -b1111110000101010010101111111100 ] -0( -0) -0+ -0, -b1 0 -0' -#8150 -1E -b10 G -b1111110000101010010101111111100 d -b1000 h -b1111110000101010010101111111100 S -b1100110 O -b1000 W -1V -1' -#8151 -b1100101011 / -#8155 -0M -b110 H -b10 F -b110 6 -0; -b110 $ -b1 - -b1 < -b1 N -b1 _ -b101100100 " -b10 . -1& -b10111110000111111101010001111100 % -b10111110000111111101010001111100 : -b10111110000111111101010001111100 L -b10111110000111111101010001111100 ] -0( -0) -0+ -0, -b1 0 -0' -#8158 -b0 T -#8160 -0E -b0 # -b10 . -b0 ! -b0 C -b10111110000111111101010001111100 S -b110 O -b1 W -0V -b10111110000111111101010001111100 d -b1 h -b0 ? -b10 G -b100 4 -1' -#8161 -b1100101100 / -#8165 -0[ -0^ -b10010110 Y -1J -1M -b0 H -b10 F -b1 > -b110010110 6 -b110010110 $ -b11 - -b11 < -b11 N -b11 _ -b11010101 " -b10 . -1& -b11011101000010110010001010111010 % -b11011101000010110010001010111010 : -b11011101000010110010001010111010 L -b11011101000010110010001010111010 ] -0( -0) -0+ -0, -b1 0 -0' -#8170 -b1 A -b100 4 -b10 G -b11011101000010110010001010111010 d -b10010110 ` -b11 h -0g -0b -b11011101000010110010001010111010 S -b0 O -b11 W -1V -1Q -1' -#8171 -b1100101101 / -#8175 -1[ -0J -b10011001 H -b0 > -1^ -b0 Y -b10 F -b10011001 6 -1; -b101010 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10011001 " -b10 . -0& -b10011110000001011001001000111100 % -b10011110000001011001001000111100 : -b10011110000001011001001000111100 L -b10011110000001011001001000111100 ] -0( -0) -0+ -0, -b1 0 -0' -#8180 -1E -b0 A -b10011110000001011001001000111100 S -b10011001 O -b1111 W -0Q -b10011110000001011001001000111100 d -b0 ` -b1111 h -1g -1b -b10 G -1' -#8181 -b1100101110 / -#8185 -0M -b100011 H -b10 F -b100011 6 -0; -b100011 $ -b10 - -b10 < -b10 N -b10 _ -b110101110 " -b10 . -1& -b10101101110101110111100101011 % -b10101101110101110111100101011 : -b10101101110101110111100101011 L -b10101101110101110111100101011 ] -0( -0) -0+ -0, -b1 0 -0' -#8190 -0E -b100 4 -b10 G -b10101101110101110111100101011 d -b10 h -b10101101110101110111100101011 S -b100011 O -b10 W -0V -1' -#8191 -b1100101111 / -#8195 -0[ -0^ -b11101000 Y -1J -1M -b0 H -b10 F -b1 > -b111101000 6 -b111101000 $ -b1 - -b1 < -b1 N -b1 _ -b100011100 " -b10 . -1& -b10111101110100100011001001111011 % -b10111101110100100011001001111011 : -b10111101110100100011001001111011 L -b10111101110100100011001001111011 ] -0( -0) -0+ -0, -b1 0 -0' -#8200 -b1 A -b10111101110100100011001001111011 S -b0 O -b1 W -1V -1Q -b10111101110100100011001001111011 d -b11101000 ` -b1 h -0g -0b -b10 G -b100 4 -1' -#8201 -b1100110000 / -#8205 -1[ -1^ -b0 Y -0J -0M -b11111001 H -b10 F -b0 > -b11111001 6 -b11111001 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b110010 " -b10 . -1& -b1000100001011101011111110001000 % -b1000100001011101011111110001000 : -b1000100001011101011111110001000 L -b1000100001011101011111110001000 ] -0( -0) -0+ -0, -b1 0 -0' -#8210 -b0 A -b100 4 -b10 G -b1000100001011101011111110001000 d -b0 ` -b1010 h -1g -1b -b1000100001011101011111110001000 S -b11111001 O -b1010 W -0V -0Q -1' -#8211 -b1100110001 / -#8215 -1M -b1110 H -b10 F -b1110 6 -1; -b1001000 $ -b101 - -b101 < -b101 N -b101 _ -b1110 " -b10 . -0& -b10001111101111111001001000011111 % -b10001111101111111001001000011111 : -b10001111101111111001001000011111 L -b10001111101111111001001000011111 ] -0( -0) -0+ -0, -b1 0 -0' -#8220 -1E -b10001111101111111001001000011111 S -b1110 O -b101 W -1V -b10001111101111111001001000011111 d -b101 h -b10 G -1' -#8221 -b1100110010 / -#8225 -b10100110 H -b10 F -b10100110 6 -b100010000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b10100110 " -b10 . -b11001111100011011001111010011111 % -b11001111100011011001111010011111 : -b11001111100011011001111010011111 L -b11001111100011011001111010011111 ] -0( -0) -0+ -0, -b1 0 -0' -#8230 -b10 G -b11001111100011011001111010011111 d -b1101 h -b11001111100011011001111010011111 S -b10100110 O -b1101 W -1' -#8231 -b1100110011 / -#8235 -b11111000 H -b10 F -b11111000 6 -b111010 $ -b100 - -b100 < -b100 N -b100 _ -b11111000 " -b10 . -b111000000000001000010101110000 % -b111000000000001000010101110000 : -b111000000000001000010101110000 L -b111000000000001000010101110000 ] -0( -0) -0+ -0, -b1 0 -0' -#8240 -b111000000000001000010101110000 S -b11111000 O -b100 W -b111000000000001000010101110000 d -b100 h -b10 G -1' -#8241 -b1100110100 / -#8245 -0M -b100000 H -b10 F -b100000 6 -0; -b100000 $ -b0 - -b0 < -b0 N -b0 _ -b1101010 " -b10 . -1& -b101011100101010101010101010111 % -b101011100101010101010101010111 : -b101011100101010101010101010111 L -b101011100101010101010101010111 ] -0( -0) -0+ -0, -b1 0 -0' -#8248 -b1110100000000000100110100000000 T -#8250 -0E -b1110100000000000100110100000000 # -b10 . -b1110100000000000100110100000000 ! -b1110100000000000100110100000000 C -b100 4 -b1110100000000000100110100000000 ? -b10 G -b101011100101010101010101010111 d -b0 h -b101011100101010101010101010111 S -b100000 O -b0 W -0V -1' -#8251 -b1100110101 / -#8255 -1M -b10101001 H -b10 F -b10101001 6 -1; -b11101110 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10101001 " -b10 . -0& -b10110001011110001111100101100 % -b10110001011110001111100101100 : -b10110001011110001111100101100 L -b10110001011110001111100101100 ] -0( -0) -0+ -0, -b1 0 -0' -#8260 -1E -b10110001011110001111100101100 S -b10101001 O -b1010 W -1V -b10110001011110001111100101100 d -b1010 h -b10 G -1' -#8261 -b1100110110 / -#8265 -0[ -b1110110 Y -1J -b0 H -b10 F -b1 > -b101110110 6 -b1011111 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101110110 " -b10 . -b1000010001110110100010110000100 % -b1000010001110110100010110000100 : -b1000010001110110100010110000100 L -b1000010001110110100010110000100 ] -0( -0) -0+ -0, -b1 0 -0' -#8268 -b0 T -#8270 -b1 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1000010001110110100010110000100 d -b1110110 ` -b1111 h -0b -b1000010001110110100010110000100 S -b0 O -b1111 W -1Q -1' -#8271 -b1100110111 / -#8275 -0^ -b11110011 Y -b10 F -b111110011 6 -0; -b111110011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10001110 " -b10 . -1& -b10011000001001100010011000110000 % -b10011000001001100010011000110000 : -b10011000001001100010011000110000 L -b10011000001001100010011000110000 ] -0( -0) -0+ -0, -b1 0 -0' -#8278 -b11110100000000 e -#8280 -0E -b11110100000000 # -b10 . -b11110100000000 ! -b11110100000000 C -b10011000001001100010011000110000 S -b1011 W -b10011000001001100010011000110000 d -b11110011 ` -b1011 h -0g -b11110100000000 ? -b10 G -b100 4 -1' -#8281 -b1100111000 / -#8285 -1[ -1^ -b0 Y -0J -0M -b1110011 H -b10 F -b0 > -b1110011 6 -b1110011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10011010 " -b10 . -1& -b10111011011000101000100101110 % -b10111011011000101000100101110 : -b10111011011000101000100101110 L -b10111011011000101000100101110 ] -0( -0) -0+ -0, -b1 0 -0' -#8290 -b0 A -b100 4 -b10 G -b10111011011000101000100101110 d -b0 ` -b1001 h -1g -1b -b10111011011000101000100101110 S -b1110011 O -b1001 W -0V -0Q -1' -#8291 -b1100111001 / -#8295 -1M -b11000001 H -b10 F -b11000001 6 -1; -b10010001 $ -b0 - -b0 < -b0 N -b0 _ -b11000001 " -b10 . -0& -b111010111010110111100001110 % -b111010111010110111100001110 : -b111010111010110111100001110 L -b111010111010110111100001110 ] -0( -0) -0+ -0, -b1 0 -0' -#8300 -1E -b111010111010110111100001110 S -b11000001 O -b0 W -1V -b111010111010110111100001110 d -b0 h -b10 G -1' -#8301 -b1100111010 / -#8305 -b1110000 H -b10 F -b1110000 6 -b1100010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b1110000 " -b10 . -b111110101000111011000101111101 % -b111110101000111011000101111101 : -b111110101000111011000101111101 L -b111110101000111011000101111101 ] -0( -0) -0+ -0, -b1 0 -0' -#8308 -b1001010101000000000000010010 T -#8310 -b1001010101000000000000010010 # -b10 . -b1001010101000000000000010010 ! -b1001010101000000000000010010 C -b1001010101000000000000010010 ? -b10 G -b111110101000111011000101111101 d -b1011 h -b111110101000111011000101111101 S -b1110000 O -b1011 W -1' -#8311 -b1100111011 / -#8315 -0M -b10001001 H -b10 F -b10001001 6 -0; -b10001001 $ -b1111111 " -b10 . -1& -b11101000101000010011011011010001 % -b11101000101000010011011011010001 : -b11101000101000010011011011010001 L -b11101000101000010011011011010001 ] -0( -0) -0+ -0, -b1 0 -0' -#8318 -b110111100000000 T -#8320 -0E -b110111100000000 # -b10 . -b110111100000000 ! -b110111100000000 C -b11101000101000010011011011010001 S -b10001001 O -0V -b11101000101000010011011011010001 d -b110111100000000 ? -b10 G -b100 4 -1' -#8321 -b1100111100 / -#8325 -0[ -b1011111 Y -1J -b1 > -1M -b0 H -b10 F -b101011111 6 -1; -b101000110 $ -b101011111 " -b10 . -0& -b11101110100001101111100111011 % -b11101110100001101111100111011 : -b11101110100001101111100111011 L -b11101110100001101111100111011 ] -0( -0) -0+ -0, -b1 0 -0' -#8330 -1E -b1 A -b10 G -b11101110100001101111100111011 d -b1011111 ` -0b -b11101110100001101111100111011 S -b0 O -1V -1Q -1' -#8331 -b1100111101 / -#8335 -1[ -b0 Y -0J -b11011000 H -b10 F -b0 > -b11011000 6 -b101101100 $ -b10 - -b10 < -b10 N -b10 _ -b11011000 " -b10 . -b10010101111001000001100100101 % -b10010101111001000001100100101 : -b10010101111001000001100100101 L -b10010101111001000001100100101 ] -0( -0) -0+ -0, -b1 0 -0' -#8338 -b0 e -#8340 -b0 A -b0 # -b10 . -b0 ! -b0 C -b10010101111001000001100100101 S -b11011000 O -b10 W -0Q -b10010101111001000001100100101 d -b0 ` -b10 h -1b -b0 ? -b10 G -1' -#8341 -b1100111110 / -#8345 -0[ -0^ -b10100000 Y -1J -b1 > -1M -b0 H -b10 F -b110100000 6 -0; -b110100000 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b110010000 " -b10 . -1& -b101010110001000110110101010101 % -b101010110001000110110101010101 : -b101010110001000110110101010101 L -b101010110001000110110101010101 ] -0( -0) -0+ -0, -b1 0 -0' -#8348 -b101110011110000000000001011 T -#8350 -0E -b1 A -b101110011110000000000001011 # -b10 . -b101110011110000000000001011 ! -b101110011110000000000001011 C -b100 4 -b101110011110000000000001011 ? -b10 G -b101010110001000110110101010101 d -b10100000 ` -b1101 h -0g -0b -b101010110001000110110101010101 S -b0 O -b1101 W -1Q -1' -#8351 -b1100111111 / -#8355 -1[ -0J -b10100101 H -b0 > -1^ -b0 Y -b10 F -b10100101 6 -1; -b10100111 $ -b1 - -b1 < -b1 N -b1 _ -b10100101 " -b10 . -0& -b10000011011011101000111000000110 % -b10000011011011101000111000000110 : -b10000011011011101000111000000110 L -b10000011011011101000111000000110 ] -0( -0) -0+ -0, -b1 0 -0' -#8360 -1E -b0 A -b10000011011011101000111000000110 S -b10100101 O -b1 W -0Q -b10000011011011101000111000000110 d -b0 ` -b1 h -1g -1b -b10 G -1' -#8361 -b1101000000 / -#8365 -0[ -0^ -b11000110 Y -1J -b1 > -1M -b0 H -b10 F -b111000110 6 -0; -b111000110 $ -b10 - -b10 < -b10 N -b10 _ -b101111011 " -b10 . -1& -b1000000000110111110101110000000 % -b1000000000110111110101110000000 : -b1000000000110111110101110000000 L -b1000000000110111110101110000000 ] -0( -0) -0+ -0, -b1 0 -0' -#8368 -b111110011001010001100101 T -#8370 -0E -b1 A -b111110011001010001100101 # -b10 . -b111110011001010001100101 ! -b111110011001010001100101 C -b100 4 -b111110011001010001100101 ? -b10 G -b1000000000110111110101110000000 d -b11000110 ` -b10 h -0g -0b -b1000000000110111110101110000000 S -b0 O -b10 W -1Q -1' -#8371 -b1101000001 / -#8375 -1^ -b1110001 Y -b10 F -b101110001 6 -1; -b100111 $ -b111 - -b111 < -b111 N -b111 _ -b101110001 " -b10 . -0& -b1100010110000110001011111000101 % -b1100010110000110001011111000101 : -b1100010110000110001011111000101 L -b1100010110000110001011111000101 ] -0( -0) -0+ -0, -b1 0 -0' -#8380 -1E -b1100010110000110001011111000101 S -b111 W -b1100010110000110001011111000101 d -b1110001 ` -b111 h -1g -b10 G -1' -#8381 -b1101000010 / -#8385 -1[ -0J -0M -b1101001 H -b0 > -1^ -b0 Y -b10 F -b1101001 6 -0; -b1101001 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b101110010 " -b10 . -1& -b1000100011001001100001110001000 % -b1000100011001001100001110001000 : -b1000100011001001100001110001000 L -b1000100011001001100001110001000 ] -0( -0) -0+ -0, -b1 0 -0' -#8390 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b1000100011001001100001110001000 d -b0 ` -b1111 h -1b -b1000100011001001100001110001000 S -b1101001 O -b1111 W -0V -0Q -1' -#8391 -b1101000011 / -#8395 -0[ -b11001100 Y -1J -b1 > -1M -b0 H -b10 F -b111001100 6 -1; -b1110 $ -b1 - -b1 < -b1 N -b1 _ -b111001100 " -b10 . -0& -b1000011101001011100101110000111 % -b1000011101001011100101110000111 : -b1000011101001011100101110000111 L -b1000011101001011100101110000111 ] -0( -0) -0+ -0, -b1 0 -0' -#8400 -1E -b1 A -b1000011101001011100101110000111 S -b0 O -b1 W -1V -1Q -b1000011101001011100101110000111 d -b11001100 ` -b1 h -0b -b10 G -1' -#8401 -b1101000100 / -#8405 -b1010001 Y -b10 F -b101010001 6 -b100100101 $ -b101010001 " -b10 . -b10011001111011100001111000110011 % -b10011001111011100001111000110011 : -b10011001111011100001111000110011 L -b10011001111011100001111000110011 ] -0( -0) -0+ -0, -b1 0 -0' -#8410 -b10 G -b10011001111011100001111000110011 d -b1010001 ` -b10011001111011100001111000110011 S -1' -#8411 -b1101000101 / -#8415 -1[ -b0 Y -0J -b1000 H -b10 F -b0 > -b1000 6 -b111111010 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b1000 " -b10 . -b10110101010010001010010001101010 % -b10110101010010001010010001101010 : -b10110101010010001010010001101010 L -b10110101010010001010010001101010 ] -0( -0) -0+ -0, -b1 0 -0' -#8420 -b0 A -b10110101010010001010010001101010 S -b1000 O -b1000 W -0Q -b10110101010010001010010001101010 d -b0 ` -b1000 h -1b -b10 G -1' -#8421 -b1101000110 / -#8425 -0[ -0^ -b1110010 Y -1J -b1 > -1M -b0 H -b10 F -b101110010 6 -0; -b101110010 $ -b11 - -b11 < -b11 N -b11 _ -b111100101 " -b10 . -1& -b10010111100000011100001000101111 % -b10010111100000011100001000101111 : -b10010111100000011100001000101111 L -b10010111100000011100001000101111 ] -0( -0) -0+ -0, -b1 0 -0' -#8428 -b1000001010111110000000010000010 T -#8430 -0E -b1 A -b1000001010111110000000010000010 # -b10 . -b1000001010111110000000010000010 ! -b1000001010111110000000010000010 C -b100 4 -b1000001010111110000000010000010 ? -b10 G -b10010111100000011100001000101111 d -b1110010 ` -b11 h -0g -0b -b10010111100000011100001000101111 S -b0 O -b11 W -1Q -1' -#8431 -b1101000111 / -#8435 -1[ -1^ -b0 Y -0J -0M -b11111 H -b10 F -b0 > -b11111 6 -b11111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1001 " -b10 . -1& -b1010011101101010100100110100111 % -b1010011101101010100100110100111 : -b1010011101101010100100110100111 L -b1010011101101010100100110100111 ] -0( -0) -0+ -0, -b1 0 -0' -#8440 -b0 A -b1010011101101010100100110100111 S -b11111 O -b1100 W -0V -0Q -b1010011101101010100100110100111 d -b0 ` -b1100 h -1g -1b -b10 G -b100 4 -1' -#8441 -b1101001000 / -#8445 -0[ -0^ -b11110111 Y -1J -1M -b0 H -b10 F -b1 > -b111110111 6 -b111110111 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11111001 " -b10 . -1& -b10010001111110111110101000100011 % -b10010001111110111110101000100011 : -b10010001111110111110101000100011 L -b10010001111110111110101000100011 ] -0( -0) -0+ -0, -b1 0 -0' -#8450 -b1 A -b100 4 -b10 G -b10010001111110111110101000100011 d -b11110111 ` -b1010 h -0g -0b -b10010001111110111110101000100011 S -b0 O -b1010 W -1V -1Q -1' -#8451 -b1101001001 / -#8455 -1^ -b10000 Y -b10 F -b100010000 6 -1; -b1011110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100010000 " -b10 . -0& -b11100110101000010110100011001101 % -b11100110101000010110100011001101 : -b11100110101000010110100011001101 L -b11100110101000010110100011001101 ] -0( -0) -0+ -0, -b1 0 -0' -#8460 -1E -b11100110101000010110100011001101 S -b1001 W -b11100110101000010110100011001101 d -b10000 ` -b1001 h -1g -b10 G -1' -#8461 -b1101001010 / -#8465 -b1101011 Y -b10 F -b101101011 6 -b110100 $ -b101101011 " -b10 . -b110100011110100011010101101000 % -b110100011110100011010101101000 : -b110100011110100011010101101000 L -b110100011110100011010101101000 ] -0( -0) -0+ -0, -b1 0 -0' -#8470 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b110100011110100011010101101000 d -b1101011 ` -b110100011110100011010101101000 S -1' -#8471 -b1101001011 / -#8475 -1[ -b0 Y -0J -b1000111 H -b10 F -b0 > -b1000111 6 -b110111010 $ -b1 - -b1 < -b1 N -b1 _ -b1000111 " -b10 . -b1110100010111100010001111101000 % -b1110100010111100010001111101000 : -b1110100010111100010001111101000 L -b1110100010111100010001111101000 ] -0( -0) -0+ -0, -b1 0 -0' -#8480 -b0 A -b1110100010111100010001111101000 S -b1000111 O -b1 W -0Q -b1110100010111100010001111101000 d -b0 ` -b1 h -1b -b10 G -1' -#8481 -b1101001100 / -#8485 -b11001 H -b10 F -b11001 6 -b100111111 $ -b11 - -b11 < -b11 N -b11 _ -b11001 " -b10 . -b11111000100110010111011011110001 % -b11111000100110010111011011110001 : -b11111000100110010111011011110001 L -b11111000100110010111011011110001 ] -0( -0) -0+ -0, -b1 0 -0' -#8488 -b10011001000000000110011000110010 T -#8490 -b10011001000000000110011000110010 # -b10 . -b10011001000000000110011000110010 ! -b10011001000000000110011000110010 C -b10011001000000000110011000110010 ? -b10 G -b11111000100110010111011011110001 d -b11 h -b11111000100110010111011011110001 S -b11001 O -b11 W -1' -#8491 -b1101001101 / -#8495 -0[ -0^ -b11100110 Y -1J -b1 > -1M -b0 H -b10 F -b111100110 6 -0; -b111100110 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b111001 " -b10 . -1& -b10101011011110100101111001010110 % -b10101011011110100101111001010110 : -b10101011011110100101111001010110 L -b10101011011110100101111001010110 ] -0( -0) -0+ -0, -b1 0 -0' -#8498 -b11011100000000000000000 T -#8500 -0E -b1 A -b11011100000000000000000 # -b10 . -b11011100000000000000000 ! -b11011100000000000000000 C -b10101011011110100101111001010110 S -b0 O -b1010 W -1Q -b10101011011110100101111001010110 d -b11100110 ` -b1010 h -0g -0b -b11011100000000000000000 ? -b10 G -b100 4 -1' -#8501 -b1101001110 / -#8505 -1[ -0J -b10110100 H -b0 > -1^ -b0 Y -b10 F -b10110100 6 -1; -b101001001 $ -b101 - -b101 < -b101 N -b101 _ -b10110100 " -b10 . -0& -b11110001111110101010011011100011 % -b11110001111110101010011011100011 : -b11110001111110101010011011100011 L -b11110001111110101010011011100011 ] -0( -0) -0+ -0, -b1 0 -0' -#8510 -1E -b0 A -b10 G -b11110001111110101010011011100011 d -b0 ` -b101 h -1g -1b -b11110001111110101010011011100011 S -b10110100 O -b101 W -0Q -1' -#8511 -b1101001111 / -#8515 -0M -b11110101 H -b10 F -b11110101 6 -0; -b11110101 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100100001 " -b10 . -1& -b1011000011100000011010110110000 % -b1011000011100000011010110110000 : -b1011000011100000011010110110000 L -b1011000011100000011010110110000 ] -0( -0) -0+ -0, -b1 0 -0' -#8518 -b101100001010000111010001011000 T -#8520 -0E -b101100001010000111010001011000 # -b10 . -b101100001010000111010001011000 ! -b101100001010000111010001011000 C -b1011000011100000011010110110000 S -b11110101 O -b1101 W -0V -b1011000011100000011010110110000 d -b1101 h -b101100001010000111010001011000 ? -b10 G -b100 4 -1' -#8521 -b1101010000 / -#8525 -0[ -0^ -b100100 Y -1J -1M -b0 H -b10 F -b1 > -b100100100 6 -b100100100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111101 " -b10 . -1& -b11000000000001101011000010000000 % -b11000000000001101011000010000000 : -b11000000000001101011000010000000 L -b11000000000001101011000010000000 ] -0( -0) -0+ -0, -b1 0 -0' -#8530 -b1 A -b100 4 -b10 G -b11000000000001101011000010000000 d -b100100 ` -b1110 h -0g -0b -b11000000000001101011000010000000 S -b0 O -b1110 W -1V -1Q -1' -#8531 -b1101010001 / -#8535 -b1011010 Y -b10 F -b101011010 6 -b101011010 $ -b1 - -b1 < -b1 N -b1 _ -b111100101 " -b10 . -1& -b11110101011101010100010011101010 % -b11110101011101010100010011101010 : -b11110101011101010100010011101010 L -b11110101011101010100010011101010 ] -0( -0) -0+ -0, -b1 0 -0' -#8540 -b11110101011101010100010011101010 S -b1 W -b11110101011101010100010011101010 d -b1011010 ` -b1 h -b10 G -b100 4 -1' -#8541 -b1101010010 / -#8545 -1[ -0J -b10001100 H -b0 > -1^ -b0 Y -b10 F -b10001100 6 -1; -b1101110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10001100 " -b10 . -0& -b11000110101010010110010010001101 % -b11000110101010010110010010001101 : -b11000110101010010110010010001101 L -b11000110101010010110010010001101 ] -0( -0) -0+ -0, -b1 0 -0' -#8550 -1E -b0 A -b10 G -b11000110101010010110010010001101 d -b0 ` -b1111 h -1g -1b -b11000110101010010110010010001101 S -b10001100 O -b1111 W -0Q -1' -#8551 -b1101010011 / -#8555 -b10101110 H -b10 F -b10101110 6 -b1011110 $ -b10 - -b10 < -b10 N -b10 _ -b10101110 " -b10 . -b1110001010001100001110111100010 % -b1110001010001100001110111100010 : -b1110001010001100001110111100010 L -b1110001010001100001110111100010 ] -0( -0) -0+ -0, -b1 0 -0' -#8558 -b0 T -#8560 -b0 # -b10 . -b0 ! -b0 C -b1110001010001100001110111100010 S -b10101110 O -b10 W -b1110001010001100001110111100010 d -b10 h -b0 ? -b10 G -1' -#8561 -b1101010100 / -#8565 -0M -b10111011 H -b10 F -b10111011 6 -0; -b10111011 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b111101101 " -b10 . -1& -b10111010011110110100011001110100 % -b10111010011110110100011001110100 : -b10111010011110110100011001110100 L -b10111010011110110100011001110100 ] -0( -0) -0+ -0, -b1 0 -0' -#8570 -0E -b100 4 -b10 G -b10111010011110110100011001110100 d -b1110 h -b10111010011110110100011001110100 S -b10111011 O -b1110 W -0V -1' -#8571 -b1101010101 / -#8575 -1M -b100110 H -b10 F -b100110 6 -1; -b110100000 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100110 " -b10 . -0& -b111110100001001001011101111101 % -b111110100001001001011101111101 : -b111110100001001001011101111101 L -b111110100001001001011101111101 ] -0( -0) -0+ -0, -b1 0 -0' -#8580 -1E -b111110100001001001011101111101 S -b100110 O -b1111 W -1V -b111110100001001001011101111101 d -b1111 h -b10 G -1' -#8581 -b1101010110 / -#8585 -0[ -0^ -b1111111 Y -1J -b1 > -1M -b0 H -b10 F -b101111111 6 -0; -b101111111 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100001 " -b10 . -1& -b10000110100100100111101000001101 % -b10000110100100100111101000001101 : -b10000110100100100111101000001101 L -b10000110100100100111101000001101 ] -0( -0) -0+ -0, -b1 0 -0' -#8588 -b10011100000000001111011 T -#8590 -0E -b1 A -b10011100000000001111011 # -b10 . -b10011100000000001111011 ! -b10011100000000001111011 C -b100 4 -b10011100000000001111011 ? -b10 G -b10000110100100100111101000001101 d -b1111111 ` -b1110 h -0g -0b -b10000110100100100111101000001101 S -b0 O -b1110 W -1Q -1' -#8591 -b1101010111 / -#8595 -b111101 Y -b10 F -b100111101 6 -b100111101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111110 " -b10 . -1& -b1001000000000010011010110010000 % -b1001000000000010011010110010000 : -b1001000000000010011010110010000 L -b1001000000000010011010110010000 ] -0( -0) -0+ -0, -b1 0 -0' -#8600 -b1001000000000010011010110010000 S -b1111 W -b1001000000000010011010110010000 d -b111101 ` -b1111 h -b10 G -b100 4 -1' -#8601 -b1101011000 / -#8605 -1[ -0J -b110101 H -b0 > -1^ -b0 Y -b10 F -b110101 6 -1; -b111110011 $ -b10 - -b10 < -b10 N -b10 _ -b110101 " -b10 . -0& -b10001001111100101010000000010011 % -b10001001111100101010000000010011 : -b10001001111100101010000000010011 L -b10001001111100101010000000010011 ] -0( -0) -0+ -0, -b1 0 -0' -#8610 -1E -b0 A -b10 G -b10001001111100101010000000010011 d -b0 ` -b10 h -1g -1b -b10001001111100101010000000010011 S -b110101 O -b10 W -0Q -1' -#8611 -b1101011001 / -#8615 -0[ -b10000 Y -1J -b0 H -b10 F -b1 > -b100010000 6 -b10100011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b100010000 " -b10 . -b10110111000001111000110001101110 % -b10110111000001111000110001101110 : -b10110111000001111000110001101110 L -b10110111000001111000110001101110 ] -0( -0) -0+ -0, -b1 0 -0' -#8618 -b11100101000000000000000000000000 T -#8620 -b1 A -b11100101000000000000000000000000 # -b10 . -b11100101000000000000000000000000 ! -b11100101000000000000000000000000 C -b10110111000001111000110001101110 S -b0 O -b1000 W -1Q -b10110111000001111000110001101110 d -b10000 ` -b1000 h -0b -b11100101000000000000000000000000 ? -b10 G -1' -#8621 -b1101011010 / -#8625 -0^ -b100 Y -b10 F -b100000100 6 -0; -b100000100 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100110110 " -b10 . -1& -b10010000010100111011001000100000 % -b10010000010100111011001000100000 : -b10010000010100111011001000100000 L -b10010000010100111011001000100000 ] -0( -0) -0+ -0, -b1 0 -0' -#8630 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10010000010100111011001000100000 d -b100 ` -b1100 h -0g -b10010000010100111011001000100000 S -b1100 W -1' -#8631 -b1101011011 / -#8635 -1[ -0J -b10111011 H -b0 > -1^ -b0 Y -b10 F -b10111011 6 -1; -b110011000 $ -b110 - -b110 < -b110 N -b110 _ -b10111011 " -b10 . -0& -b111111100001011001101101111111 % -b111111100001011001101101111111 : -b111111100001011001101101111111 L -b111111100001011001101101111111 ] -0( -0) -0+ -0, -b1 0 -0' -#8640 -1E -b0 A -b111111100001011001101101111111 S -b10111011 O -b110 W -0Q -b111111100001011001101101111111 d -b0 ` -b110 h -1g -1b -b10 G -1' -#8641 -b1101011100 / -#8645 -0[ -b11001111 Y -1J -b0 H -b10 F -b1 > -b111001111 6 -b10 $ -b111001111 " -b10 . -b10101101101101111110110001011011 % -b10101101101101111110110001011011 : -b10101101101101111110110001011011 L -b10101101101101111110110001011011 ] -0( -0) -0+ -0, -b1 0 -0' -#8648 -b10111010011110110100011001011101 T -#8650 -b1 A -b10111010011110110100011001011101 # -b10 . -b10111010011110110100011001011101 ! -b10111010011110110100011001011101 C -b10111010011110110100011001011101 ? -b10 G -b10101101101101111110110001011011 d -b11001111 ` -0b -b10101101101101111110110001011011 S -b0 O -1Q -1' -#8651 -b1101011101 / -#8655 -1[ -0J -0M -b10110111 H -b0 > -1^ -b0 Y -b10 F -b10110111 6 -0; -b10110111 $ -b0 - -b0 < -b0 N -b0 _ -b111000011 " -b10 . -1& -b10010101001100010011100100101 % -b10010101001100010011100100101 : -b10010101001100010011100100101 L -b10010101001100010011100100101 ] -0( -0) -0+ -0, -b1 0 -0' -#8660 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b10010101001100010011100100101 S -b10110111 O -b0 W -0V -0Q -b10010101001100010011100100101 d -b0 ` -b0 h -1b -b0 ? -b10 G -b100 4 -1' -#8661 -b1101011110 / -#8665 -b10100110 H -b10 F -b10100110 6 -b10100110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100100001 " -b10 . -1& -b10110110000010001001110001101100 % -b10110110000010001001110001101100 : -b10110110000010001001110001101100 L -b10110110000010001001110001101100 ] -0( -0) -0+ -0, -b1 0 -0' -#8670 -b100 4 -b10 G -b10110110000010001001110001101100 d -b1001 h -b10110110000010001001110001101100 S -b10100110 O -b1001 W -1' -#8671 -b1101011111 / -#8675 -b1100001 H -b10 F -b1100001 6 -b1100001 $ -b0 - -b0 < -b0 N -b0 _ -b110110010 " -b10 . -1& -b1011011001101100010100110110110 % -b1011011001101100010100110110110 : -b1011011001101100010100110110110 L -b1011011001101100010100110110110 ] -0( -0) -0+ -0, -b1 0 -0' -#8680 -b1011011001101100010100110110110 S -b1100001 O -b0 W -b1011011001101100010100110110110 d -b0 h -b10 G -b100 4 -1' -#8681 -b1101100000 / -#8685 -b1100 - -b1100 < -b1100 N -b1100 _ -b10111101 " -b10 . -1& -b1011001101100100001010110110011 % -b1011001101100100001010110110011 : -b1011001101100100001010110110011 L -b1011001101100100001010110110011 ] -0( -0) -0+ -0, -b1 0 -0' -#8690 -b100 4 -b10 G -b1011001101100100001010110110011 d -b1100 h -b1011001101100100001010110110011 S -b1100 W -1' -#8691 -b1101100001 / -#8695 -0[ -0^ -b10011011 Y -1J -1M -b0 H -b10 F -b1 > -b110011011 6 -b110011011 $ -b11 - -b11 < -b11 N -b11 _ -b11111101 " -b10 . -1& -b1101111111011010010000111011111 % -b1101111111011010010000111011111 : -b1101111111011010010000111011111 L -b1101111111011010010000111011111 ] -0( -0) -0+ -0, -b1 0 -0' -#8700 -b1 A -b1101111111011010010000111011111 S -b0 O -b11 W -1V -1Q -b1101111111011010010000111011111 d -b10011011 ` -b11 h -0g -0b -b10 G -b100 4 -1' -#8701 -b1101100010 / -#8705 -1^ -b11010 Y -b10 F -b100011010 6 -1; -b100101100 $ -b110 - -b110 < -b110 N -b110 _ -b100011010 " -b10 . -0& -b1101101111101101000000111011011 % -b1101101111101101000000111011011 : -b1101101111101101000000111011011 L -b1101101111101101000000111011011 ] -0( -0) -0+ -0, -b1 0 -0' -#8710 -1E -b10 G -b1101101111101101000000111011011 d -b11010 ` -b110 h -1g -b1101101111101101000000111011011 S -b110 W -1' -#8711 -b1101100011 / -#8715 -1[ -b0 Y -0J -b10100110 H -b10 F -b0 > -b10100110 6 -b110011101 $ -b111 - -b111 < -b111 N -b111 _ -b10100110 " -b10 . -b1100110011100000111101111001100 % -b1100110011100000111101111001100 : -b1100110011100000111101111001100 L -b1100110011100000111101111001100 ] -0( -0) -0+ -0, -b1 0 -0' -#8718 -b1111101000000011000101001100011 e -#8720 -b0 A -b1111101000000011000101001100011 # -b10 . -b1111101000000011000101001100011 ! -b1111101000000011000101001100011 C -b1100110011100000111101111001100 S -b10100110 O -b111 W -0Q -b1100110011100000111101111001100 d -b0 ` -b111 h -1b -b1111101000000011000101001100011 ? -b10 G -1' -#8721 -b1101100100 / -#8725 -0[ -0^ -b10111111 Y -1J -b1 > -1M -b0 H -b10 F -b110111111 6 -0; -b110111111 $ -b11 - -b11 < -b11 N -b11 _ -b1101000 " -b10 . -1& -b10000011011011111100100000000110 % -b10000011011011111100100000000110 : -b10000011011011111100100000000110 L -b10000011011011111100100000000110 ] -0( -0) -0+ -0, -b1 0 -0' -#8728 -b10110110000000000000000001101100 T -#8730 -0E -b1 A -b10110110000000000000000001101100 # -b10 . -b10110110000000000000000001101100 ! -b10110110000000000000000001101100 C -b100 4 -b10110110000000000000000001101100 ? -b10 G -b10000011011011111100100000000110 d -b10111111 ` -b11 h -0g -0b -b10000011011011111100100000000110 S -b0 O -b11 W -1Q -1' -#8731 -b1101100101 / -#8735 -1^ -b10010100 Y -b10 F -b110010100 6 -1; -b111000000 $ -b111 - -b111 < -b111 N -b111 _ -b110010100 " -b10 . -0& -b10010110101010011111010000101101 % -b10010110101010011111010000101101 : -b10010110101010011111010000101101 L -b10010110101010011111010000101101 ] -0( -0) -0+ -0, -b1 0 -0' -#8740 -1E -b10010110101010011111010000101101 S -b111 W -b10010110101010011111010000101101 d -b10010100 ` -b111 h -1g -b10 G -1' -#8741 -b1101100110 / -#8745 -b11001110 Y -b10 F -b111001110 6 -b101000010 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111001110 " -b10 . -b10110111110000110111100101101 % -b10110111110000110111100101101 : -b10110111110000110111100101101 L -b10110111110000110111100101101 ] -0( -0) -0+ -0, -b1 0 -0' -#8748 -b1011011100101011111011110110110 e -#8750 -b1011011100101011111011110110110 # -b10 . -b1011011100101011111011110110110 ! -b1011011100101011111011110110110 C -b1011011100101011111011110110110 ? -b10 G -b10110111110000110111100101101 d -b11001110 ` -b1001 h -b10110111110000110111100101101 S -b1001 W -1' -#8751 -b1101100111 / -#8755 -b11000011 Y -b10 F -b111000011 6 -b111011100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111000011 " -b10 . -b10011000110010001110111000110001 % -b10011000110010001110111000110001 : -b10011000110010001110111000110001 L -b10011000110010001110111000110001 ] -0( -0) -0+ -0, -b1 0 -0' -#8758 -b10110111011000100000100001101 e -#8760 -b10110111011000100000100001101 # -b10 . -b10110111011000100000100001101 ! -b10110111011000100000100001101 C -b10011000110010001110111000110001 S -b1011 W -b10011000110010001110111000110001 d -b11000011 ` -b1011 h -b10110111011000100000100001101 ? -b10 G -1' -#8761 -b1101101000 / -#8765 -0^ -b11101111 Y -b10 F -b111101111 6 -0; -b111101111 $ -b110 - -b110 < -b110 N -b110 _ -b100111 " -b10 . -1& -b1010000111100110111000110100001 % -b1010000111100110111000110100001 : -b1010000111100110111000110100001 L -b1010000111100110111000110100001 ] -0( -0) -0+ -0, -b1 0 -0' -#8768 -b11010000100011101110100110100 e -#8770 -0E -b11010000100011101110100110100 # -b10 . -b11010000100011101110100110100 ! -b11010000100011101110100110100 C -b100 4 -b11010000100011101110100110100 ? -b10 G -b1010000111100110111000110100001 d -b11101111 ` -b110 h -0g -b1010000111100110111000110100001 S -b110 W -1' -#8771 -b1101101001 / -#8775 -b11001100 Y -b10 F -b111001100 6 -b111001100 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10101000 " -b10 . -1& -b10001001000001101101111000010010 % -b10001001000001101101111000010010 : -b10001001000001101101111000010010 L -b10001001000001101101111000010010 ] -0( -0) -0+ -0, -b1 0 -0' -#8780 -b10001001000001101101111000010010 S -b1010 W -b10001001000001101101111000010010 d -b11001100 ` -b1010 h -b10 G -b100 4 -1' -#8781 -b1101101010 / -#8785 -b11001011 Y -b10 F -b111001011 6 -b111001011 $ -b100 - -b100 < -b100 N -b100 _ -b110110101 " -b10 . -1& -b11011100101010110010111010111001 % -b11011100101010110010111010111001 : -b11011100101010110010111010111001 L -b11011100101010110010111010111001 ] -0( -0) -0+ -0, -b1 0 -0' -#8790 -b100 4 -b10 G -b11011100101010110010111010111001 d -b11001011 ` -b100 h -b11011100101010110010111010111001 S -b100 W -1' -#8791 -b1101101011 / -#8795 -b11100011 Y -b10 F -b111100011 6 -b111100011 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10001000 " -b10 . -1& -b10010011000001101001111000100110 % -b10010011000001101001111000100110 : -b10010011000001101001111000100110 L -b10010011000001101001111000100110 ] -0( -0) -0+ -0, -b1 0 -0' -#8800 -b10010011000001101001111000100110 S -b1110 W -b10010011000001101001111000100110 d -b11100011 ` -b1110 h -b10 G -b100 4 -1' -#8801 -b1101101100 / -#8805 -1^ -b111101 Y -b10 F -b100111101 6 -1; -b100111110 $ -b10 - -b10 < -b10 N -b10 _ -b100111101 " -b10 . -0& -b11010101001111110011110010101010 % -b11010101001111110011110010101010 : -b11010101001111110011110010101010 L -b11010101001111110011110010101010 ] -0( -0) -0+ -0, -b1 0 -0' -#8810 -1E -b10 G -b11010101001111110011110010101010 d -b111101 ` -b10 h -1g -b11010101001111110011110010101010 S -b10 W -1' -#8811 -b1101101101 / -#8815 -1[ -b0 Y -0J -b11101001 H -b10 F -b0 > -b11101001 6 -b10111 $ -b0 - -b0 < -b0 N -b0 _ -b11101001 " -b10 . -b100011011001101101101101000110 % -b100011011001101101101101000110 : -b100011011001101101101101000110 L -b100011011001101101101101000110 ] -0( -0) -0+ -0, -b1 0 -0' -#8818 -b1001000000000010011010110010000 e -#8820 -b0 A -b1001000000000010011010110010000 # -b10 . -b1001000000000010011010110010000 ! -b1001000000000010011010110010000 C -b100011011001101101101101000110 S -b11101001 O -b0 W -0Q -b100011011001101101101101000110 d -b0 ` -b0 h -1b -b1001000000000010011010110010000 ? -b10 G -1' -#8821 -b1101101110 / -#8825 -0[ -b10011 Y -1J -b0 H -b10 F -b1 > -b100010011 6 -b111011111 $ -b10 - -b10 < -b10 N -b10 _ -b100010011 " -b10 . -b10000111010110010100111000001110 % -b10000111010110010100111000001110 : -b10000111010110010100111000001110 L -b10000111010110010100111000001110 ] -0( -0) -0+ -0, -b1 0 -0' -#8828 -b100001100000000000000000 T -#8830 -b1 A -b100001100000000000000000 # -b10 . -b100001100000000000000000 ! -b100001100000000000000000 C -b100001100000000000000000 ? -b10 G -b10000111010110010100111000001110 d -b10011 ` -b10 h -0b -b10000111010110010100111000001110 S -b0 O -b10 W -1Q -1' -#8831 -b1101101111 / -#8835 -1[ -0J -0M -b11010010 H -b0 > -1^ -b0 Y -b10 F -b11010010 6 -0; -b11010010 $ -b100 - -b100 < -b100 N -b100 _ -b1111101 " -b10 . -1& -b1010000110111110110100110100001 % -b1010000110111110110100110100001 : -b1010000110111110110100110100001 L -b1010000110111110110100110100001 ] -0( -0) -0+ -0, -b1 0 -0' -#8838 -b0 e -#8840 -0E -b0 A -b0 # -b10 . -b0 ! -b0 C -b1010000110111110110100110100001 S -b11010010 O -b100 W -0V -0Q -b1010000110111110110100110100001 d -b0 ` -b100 h -1b -b0 ? -b10 G -b100 4 -1' -#8841 -b1101110000 / -#8845 -0[ -b100010 Y -1J -b1 > -1M -b0 H -b10 F -b100100010 6 -1; -b100110100 $ -b101 - -b101 < -b101 N -b101 _ -b100100010 " -b10 . -0& -b11000110101000010001010010001101 % -b11000110101000010001010010001101 : -b11000110101000010001010010001101 L -b11000110101000010001010010001101 ] -0( -0) -0+ -0, -b1 0 -0' -#8850 -1E -b1 A -b10 G -b11000110101000010001010010001101 d -b100010 ` -b101 h -0b -b11000110101000010001010010001101 S -b0 O -b101 W -1V -1Q -1' -#8851 -b1101110001 / -#8855 -0^ -b11101 Y -b10 F -b100011101 6 -0; -b100011101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111001011 " -b10 . -1& -b1000111000000011010011110001110 % -b1000111000000011010011110001110 : -b1000111000000011010011110001110 L -b1000111000000011010011110001110 ] -0( -0) -0+ -0, -b1 0 -0' -#8860 -0E -b1000111000000011010011110001110 S -b1100 W -b1000111000000011010011110001110 d -b11101 ` -b1100 h -0g -b10 G -b100 4 -1' -#8861 -b1101110010 / -#8865 -1[ -1^ -b0 Y -0J -0M -b1000010 H -b10 F -b0 > -b1000010 6 -b1000010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110011 " -b10 . -1& -b1000011101001110001101110000111 % -b1000011101001110001101110000111 : -b1000011101001110001101110000111 L -b1000011101001110001101110000111 ] -0( -0) -0+ -0, -b1 0 -0' -#8870 -b0 A -b100 4 -b10 G -b1000011101001110001101110000111 d -b0 ` -b1011 h -1g -1b -b1000011101001110001101110000111 S -b1000010 O -b1011 W -0V -0Q -1' -#8871 -b1101110011 / -#8875 -b10101101 H -b10 F -b10101101 6 -b10101101 $ -b111 - -b111 < -b111 N -b111 _ -b110011011 " -b10 . -1& -b1101011011100111110011111010110 % -b1101011011100111110011111010110 : -b1101011011100111110011111010110 L -b1101011011100111110011111010110 ] -0( -0) -0+ -0, -b1 0 -0' -#8880 -b1101011011100111110011111010110 S -b10101101 O -b111 W -b1101011011100111110011111010110 d -b111 h -b10 G -b100 4 -1' -#8881 -b1101110100 / -#8885 -1M -b1000110 H -b10 F -b1000110 6 -1; -b101101 $ -b110 - -b110 < -b110 N -b110 _ -b1000110 " -b10 . -0& -b10011010101111101010011000110101 % -b10011010101111101010011000110101 : -b10011010101111101010011000110101 L -b10011010101111101010011000110101 ] -0( -0) -0+ -0, -b1 0 -0' -#8890 -1E -b10 G -b10011010101111101010011000110101 d -b110 h -b10011010101111101010011000110101 S -b1000110 O -b110 W -1V -1' -#8891 -b1101110101 / -#8895 -0[ -0^ -b10000101 Y -1J -b1 > -1M -b0 H -b10 F -b110000101 6 -0; -b110000101 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11111011 " -b10 . -1& -b11001011001111111011111010010110 % -b11001011001111111011111010010110 : -b11001011001111111011111010010110 L -b11001011001111111011111010010110 ] -0( -0) -0+ -0, -b1 0 -0' -#8898 -b0 T -#8900 -0E -b1 A -b11001011001111111011111010010110 S -b0 O -b1111 W -1Q -b11001011001111111011111010010110 d -b10000101 ` -b1111 h -0g -0b -b10 G -b100 4 -1' -#8901 -b1101110110 / -#8905 -b10111100 Y -b110111100 6 -1^ -b10 F -1; -b1101 - -b1101 < -b1101 N -b1101 _ -b110111100 " -b10 . -0& -b101101111111101001111101011011 % -b101101111111101001111101011011 : -b101101111111101001111101011011 L -b101101111111101001111101011011 ] -0( -0) -0+ -0, -b1 0 -0' -#8910 -1E -b10 G -b101101111111101001111101011011 d -b10111100 ` -b1101 h -1g -b101101111111101001111101011011 S -b1101 W -1' -#8911 -b1101110111 / -#8915 -b1100101 Y -b10 F -b101100101 6 -b10010001 $ -b101 - -b101 < -b101 N -b101 _ -b101100101 " -b10 . -b11001000100010110111010010010001 % -b11001000100010110111010010010001 : -b11001000100010110111010010010001 L -b11001000100010110111010010010001 ] -0( -0) -0+ -0, -b1 0 -0' -#8918 -b11001111101011100000000010011110 e -#8920 -b11001111101011100000000010011110 # -b10 . -b11001111101011100000000010011110 ! -b11001111101011100000000010011110 C -b11001000100010110111010010010001 S -b101 W -b11001000100010110111010010010001 d -b1100101 ` -b101 h -b11001111101011100000000010011110 ? -b10 G -1' -#8921 -b1101111000 / -#8925 -b0 Y -b10 F -b100000000 6 -b11001011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b100000000 " -b10 . -b110100011000010101111101101000 % -b110100011000010101111101101000 : -b110100011000010101111101101000 L -b110100011000010101111101101000 ] -0( -0) -0+ -0, -b1 0 -0' -#8928 -b0 e -#8930 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b110100011000010101111101101000 d -b0 ` -b1010 h -b110100011000010101111101101000 S -b1010 W -1' -#8931 -b1101111001 / -#8935 -b11101100 Y -b10 F -b111101100 6 -b111100101 $ -b111101100 " -b10 . -b110001110101100101101101100011 % -b110001110101100101101101100011 : -b110001110101100101101101100011 L -b110001110101100101101101100011 ] -0( -0) -0+ -0, -b1 0 -0' -#8940 -b110001110101100101101101100011 S -b110001110101100101101101100011 d -b11101100 ` -b10 G -1' -#8941 -b1101111010 / -#8945 -0^ -b10001010 Y -b10 F -b110001010 6 -0; -b110001010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10101100 " -b10 . -1& -b101101101110111010011101011011 % -b101101101110111010011101011011 : -b101101101110111010011101011011 L -b101101101110111010011101011011 ] -0( -0) -0+ -0, -b1 0 -0' -#8950 -0E -b100 4 -b10 G -b101101101110111010011101011011 d -b10001010 ` -b1110 h -0g -b101101101110111010011101011011 S -b1110 W -1' -#8951 -b1101111011 / -#8955 -b1111001 Y -b10 F -b101111001 6 -b101111001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101100011 " -b10 . -1& -b10010010100100000010111000100101 % -b10010010100100000010111000100101 : -b10010010100100000010111000100101 L -b10010010100100000010111000100101 ] -0( -0) -0+ -0, -b1 0 -0' -#8960 -b10010010100100000010111000100101 S -b1011 W -b10010010100100000010111000100101 d -b1111001 ` -b1011 h -b10 G -b100 4 -1' -#8961 -b1101111100 / -#8965 -b10110111 Y -b10 F -b110110111 6 -b110110111 $ -b111 - -b111 < -b111 N -b111 _ -b111101001 " -b10 . -1& -b1111000000100110100100011110 % -b1111000000100110100100011110 : -b1111000000100110100100011110 L -b1111000000100110100100011110 ] -0( -0) -0+ -0, -b1 0 -0' -#8970 -b100 4 -b10 G -b1111000000100110100100011110 d -b10110111 ` -b111 h -b1111000000100110100100011110 S -b111 W -1' -#8971 -b1101111101 / -#8975 -1[ -0J -b11100100 H -b0 > -1^ -b0 Y -b10 F -b11100100 6 -1; -b110111110 $ -b11 - -b11 < -b11 N -b11 _ -b11100100 " -b10 . -0& -b11011001101000110111101010110011 % -b11011001101000110111101010110011 : -b11011001101000110111101010110011 L -b11011001101000110111101010110011 ] -0( -0) -0+ -0, -b1 0 -0' -#8980 -1E -b0 A -b11011001101000110111101010110011 S -b11100100 O -b11 W -0Q -b11011001101000110111101010110011 d -b0 ` -b11 h -1g -1b -b10 G -1' -#8981 -b1101111110 / -#8985 -b11100011 H -b10 F -b11100011 6 -b10010111 $ -b1 - -b1 < -b1 N -b1 _ -b11100011 " -b10 . -b1101100000101111011110111011000 % -b1101100000101111011110111011000 : -b1101100000101111011110111011000 L -b1101100000101111011110111011000 ] -0( -0) -0+ -0, -b1 0 -0' -#8990 -b10 G -b1101100000101111011110111011000 d -b1 h -b1101100000101111011110111011000 S -b11100011 O -b1 W -1' -#8991 -b1101111111 / -#8995 -0[ -0^ -b11100110 Y -1J -b1 > -1M -b0 H -b10 F -b111100110 6 -0; -b111100110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100001011 " -b10 . -1& -b10101010010101111001100101010 % -b10101010010101111001100101010 : -b10101010010101111001100101010 L -b10101010010101111001100101010 ] -0( -0) -0+ -0, -b1 0 -0' -#8998 -b10110100011001110000000001101000 T -#9000 -0E -b1 A -b10110100011001110000000001101000 # -b10 . -b10110100011001110000000001101000 ! -b10110100011001110000000001101000 C -b10101010010101111001100101010 S -b0 O -b1001 W -1Q -b10101010010101111001100101010 d -b11100110 ` -b1001 h -0g -0b -b10110100011001110000000001101000 ? -b10 G -b100 4 -1' -#9001 -b1110000000 / -#9005 -1[ -0J -b1011101 H -b0 > -1^ -b0 Y -b10 F -b1011101 6 -1; -b110100000 $ -b111 - -b111 < -b111 N -b111 _ -b1011101 " -b10 . -0& -b10010100000101101011000000101000 % -b10010100000101101011000000101000 : -b10010100000101101011000000101000 L -b10010100000101101011000000101000 ] -0( -0) -0+ -0, -b1 0 -0' -#9010 -1E -b0 A -b10 G -b10010100000101101011000000101000 d -b0 ` -b111 h -1g -1b -b10010100000101101011000000101000 S -b1011101 O -b111 W -0Q -1' -#9011 -b1110000001 / -#9015 -b1000010 H -b10 F -b1000010 6 -b11100001 $ -b10 - -b10 < -b10 N -b10 _ -b1000010 " -b10 . -b101100010010011101101101011000 % -b101100010010011101101101011000 : -b101100010010011101101101011000 L -b101100010010011101101101011000 ] -0( -0) -0+ -0, -b1 0 -0' -#9018 -b1101101100000000 T -#9020 -b1101101100000000 # -b10 . -b1101101100000000 ! -b1101101100000000 C -b101100010010011101101101011000 S -b1000010 O -b10 W -b101100010010011101101101011000 d -b10 h -b1101101100000000 ? -b10 G -1' -#9021 -b1110000010 / -#9025 -b11000001 H -b10 F -b11000001 6 -b111000111 $ -b101 - -b101 < -b101 N -b101 _ -b11000001 " -b10 . -b1110010110101100011000111100101 % -b1110010110101100011000111100101 : -b1110010110101100011000111100101 L -b1110010110101100011000111100101 ] -0( -0) -0+ -0, -b1 0 -0' -#9028 -b1000011000000000001101110000111 T -#9030 -b1000011000000000001101110000111 # -b10 . -b1000011000000000001101110000111 ! -b1000011000000000001101110000111 C -b1000011000000000001101110000111 ? -b10 G -b1110010110101100011000111100101 d -b101 h -b1110010110101100011000111100101 S -b11000001 O -b101 W -1' -#9031 -b1110000011 / -#9035 -0M -b1000011 H -b10 F -b1000011 6 -0; -b1000011 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10101101 " -b10 . -1& -b11011011010111110101110010110110 % -b11011011010111110101110010110110 : -b11011011010111110101110010110110 L -b11011011010111110101110010110110 ] -0( -0) -0+ -0, -b1 0 -0' -#9038 -b1001010101000000000000010010 T -#9040 -0E -b1001010101000000000000010010 # -b10 . -b1001010101000000000000010010 ! -b1001010101000000000000010010 C -b11011011010111110101110010110110 S -b1000011 O -b1110 W -0V -b11011011010111110101110010110110 d -b1110 h -b1001010101000000000000010010 ? -b10 G -b100 4 -1' -#9041 -b1110000100 / -#9045 -0[ -b1001011 Y -1J -b1 > -1M -b0 H -b10 F -b101001011 6 -1; -b100000101 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b101001011 " -b10 . -0& -b110000110101110001100001100 % -b110000110101110001100001100 : -b110000110101110001100001100 L -b110000110101110001100001100 ] -0( -0) -0+ -0, -b1 0 -0' -#9050 -1E -b1 A -b10 G -b110000110101110001100001100 d -b1001011 ` -b1100 h -0b -b110000110101110001100001100 S -b0 O -b1100 W -1V -1Q -1' -#9051 -b1110000101 / -#9055 -1[ -b0 Y -0J -b1111100 H -b10 F -b0 > -b1111100 6 -b111001000 $ -b101 - -b101 < -b101 N -b101 _ -b1111100 " -b10 . -b10100011001111010100000101 % -b10100011001111010100000101 : -b10100011001111010100000101 L -b10100011001111010100000101 ] -0( -0) -0+ -0, -b1 0 -0' -#9058 -b100101111100010 e -#9060 -b0 A -b100101111100010 # -b10 . -b100101111100010 ! -b100101111100010 C -b10100011001111010100000101 S -b1111100 O -b101 W -0Q -b10100011001111010100000101 d -b0 ` -b101 h -1b -b100101111100010 ? -b10 G -1' -#9061 -b1110000110 / -#9065 -0[ -0^ -b11111111 Y -1J -b1 > -1M -b0 H -b10 F -b111111111 6 -0; -b111111111 $ -b11 - -b11 < -b11 N -b11 _ -b111000011 " -b10 . -1& -b10111110101100000000101001111101 % -b10111110101100000000101001111101 : -b10111110101100000000101001111101 L -b10111110101100000000101001111101 ] -0( -0) -0+ -0, -b1 0 -0' -#9068 -b0 T -#9070 -0E -b1 A -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10111110101100000000101001111101 d -b11111111 ` -b11 h -0g -0b -b10111110101100000000101001111101 S -b0 O -b11 W -1Q -1' -#9071 -b1110000111 / -#9075 -1[ -0J -b10000001 H -b0 > -1^ -b0 Y -b10 F -b10000001 6 -1; -b101011011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10000001 " -b10 . -0& -b101000100001111100011101010001 % -b101000100001111100011101010001 : -b101000100001111100011101010001 L -b101000100001111100011101010001 ] -0( -0) -0+ -0, -b1 0 -0' -#9080 -1E -b0 A -b101000100001111100011101010001 S -b10000001 O -b1010 W -0Q -b101000100001111100011101010001 d -b0 ` -b1010 h -1g -1b -b10 G -1' -#9081 -b1110001000 / -#9085 -0M -b10100010 H -b10 F -b10100010 6 -0; -b10100010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b100101 " -b10 . -1& -b101101010111110110100101011010 % -b101101010111110110100101011010 : -b101101010111110110100101011010 L -b101101010111110110100101011010 ] -0( -0) -0+ -0, -b1 0 -0' -#9088 -b11111110 T -#9090 -0E -b11111110 # -b10 . -b11111110 ! -b11111110 C -b100 4 -b11111110 ? -b10 G -b101101010111110110100101011010 d -b1011 h -b101101010111110110100101011010 S -b10100010 O -b1011 W -0V -1' -#9091 -b1110001001 / -#9095 -1M -b10000100 H -b10 F -b10000100 6 -1; -b100000001 $ -b11 - -b11 < -b11 N -b11 _ -b10000100 " -b10 . -0& -b111011011011010000010101110110 % -b111011011011010000010101110110 : -b111011011011010000010101110110 L -b111011011011010000010101110110 ] -0( -0) -0+ -0, -b1 0 -0' -#9100 -1E -b111011011011010000010101110110 S -b10000100 O -b11 W -1V -b111011011011010000010101110110 d -b11 h -b10 G -1' -#9101 -b1110001010 / -#9105 -0M -b100101 H -b10 F -b100101 6 -0; -b100101 $ -b10 - -b10 < -b10 N -b10 _ -b110100000 " -b10 . -1& -b1010001100000000001100110100011 % -b1010001100000000001100110100011 : -b1010001100000000001100110100011 L -b1010001100000000001100110100011 ] -0( -0) -0+ -0, -b1 0 -0' -#9108 -b10101111101010000000000000000 T -#9110 -0E -b10101111101010000000000000000 # -b10 . -b10101111101010000000000000000 ! -b10101111101010000000000000000 C -b100 4 -b10101111101010000000000000000 ? -b10 G -b1010001100000000001100110100011 d -b10 h -b1010001100000000001100110100011 S -b100101 O -b10 W -0V -1' -#9111 -b1110001011 / -#9115 -0[ -0^ -b10111001 Y -1J -1M -b0 H -b10 F -b1 > -b110111001 6 -b110111001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b1110000 " -b10 . -1& -b10101100100100010100110001011001 % -b10101100100100010100110001011001 : -b10101100100100010100110001011001 L -b10101100100100010100110001011001 ] -0( -0) -0+ -0, -b1 0 -0' -#9120 -b1 A -b10101100100100010100110001011001 S -b0 O -b1011 W -1V -1Q -b10101100100100010100110001011001 d -b10111001 ` -b1011 h -0g -0b -b10 G -b100 4 -1' -#9121 -b1110001100 / -#9125 -b11110 Y -b10 F -b100011110 6 -b100011110 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100001011 " -b10 . -1& -b10110010100101000111001001100101 % -b10110010100101000111001001100101 : -b10110010100101000111001001100101 L -b10110010100101000111001001100101 ] -0( -0) -0+ -0, -b1 0 -0' -#9130 -b100 4 -b10 G -b10110010100101000111001001100101 d -b11110 ` -b1101 h -b10110010100101000111001001100101 S -b1101 W -1' -#9131 -b1110001101 / -#9135 -1[ -0J -b10100 H -b0 > -1^ -b0 Y -b10 F -b10100 6 -1; -b100111100 $ -b10 - -b10 < -b10 N -b10 _ -b10100 " -b10 . -0& -b1000010000000110000011110000100 % -b1000010000000110000011110000100 : -b1000010000000110000011110000100 L -b1000010000000110000011110000100 ] -0( -0) -0+ -0, -b1 0 -0' -#9140 -1E -b0 A -b1000010000000110000011110000100 S -b10100 O -b10 W -0Q -b1000010000000110000011110000100 d -b0 ` -b10 h -1g -1b -b10 G -1' -#9141 -b1110001110 / -#9145 -0M -b11001111 H -b10 F -b11001111 6 -0; -b11001111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11100010 " -b10 . -1& -b10010000001011101110011000100000 % -b10010000001011101110011000100000 : -b10010000001011101110011000100000 L -b10010000001011101110011000100000 ] -0( -0) -0+ -0, -b1 0 -0' -#9148 -b0 T -#9150 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10010000001011101110011000100000 d -b1100 h -b10010000001011101110011000100000 S -b11001111 O -b1100 W -0V -1' -#9151 -b1110001111 / -#9155 -b1010001 H -b10 F -b1010001 6 -b1010001 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b10101000 " -b10 . -1& -b1011000101111100101100010110 % -b1011000101111100101100010110 : -b1011000101111100101100010110 L -b1011000101111100101100010110 ] -0( -0) -0+ -0, -b1 0 -0' -#9160 -b1011000101111100101100010110 S -b1010001 O -b1111 W -b1011000101111100101100010110 d -b1111 h -b10 G -b100 4 -1' -#9161 -b1110010000 / -#9165 -0[ -1J -b1 > -1M -b0 H -b10 F -b100000000 6 -1; -b111010000 $ -b110 - -b110 < -b110 N -b110 _ -b100000000 " -b10 . -0& -b11010011000101011110100010100110 % -b11010011000101011110100010100110 : -b11010011000101011110100010100110 L -b11010011000101011110100010100110 ] -0( -0) -0+ -0, -b1 0 -0' -#9170 -1E -b1 A -b10 G -b11010011000101011110100010100110 d -b110 h -0b -b11010011000101011110100010100110 S -b0 O -b110 W -1V -1Q -1' -#9171 -b1110010001 / -#9175 -0^ -b11111 Y -b10 F -b100011111 6 -0; -b100011111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b10010011 " -b10 . -1& -b11111110000111001011100011111100 % -b11111110000111001011100011111100 : -b11111110000111001011100011111100 L -b11111110000111001011100011111100 ] -0( -0) -0+ -0, -b1 0 -0' -#9178 -b0 e -#9180 -0E -b11111110000111001011100011111100 S -b1001 W -b11111110000111001011100011111100 d -b11111 ` -b1001 h -0g -b10 G -b100 4 -1' -#9181 -b1110010010 / -#9185 -b100111 Y -b10 F -b100100111 6 -b100100111 $ -b0 - -b0 < -b0 N -b0 _ -b101011111 " -b10 . -1& -b1111000010111101100000111110000 % -b1111000010111101100000111110000 : -b1111000010111101100000111110000 L -b1111000010111101100000111110000 ] -0( -0) -0+ -0, -b1 0 -0' -#9190 -b100 4 -b10 G -b1111000010111101100000111110000 d -b100111 ` -b0 h -b1111000010111101100000111110000 S -b0 W -1' -#9191 -b1110010011 / -#9195 -1[ -0J -b10010111 H -b0 > -1^ -b0 Y -b10 F -b10010111 6 -1; -b1000000 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10010111 " -b10 . -0& -b10010100000000011101111000101000 % -b10010100000000011101111000101000 : -b10010100000000011101111000101000 L -b10010100000000011101111000101000 ] -0( -0) -0+ -0, -b1 0 -0' -#9200 -1E -b0 A -b10010100000000011101111000101000 S -b10010111 O -b1011 W -0Q -b10010100000000011101111000101000 d -b0 ` -b1011 h -1g -1b -b10 G -1' -#9201 -b1110010100 / -#9205 -b1010111 H -b10 F -b1010111 6 -b100110 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1010111 " -b10 . -b11011010111101110111100010110101 % -b11011010111101110111100010110101 : -b11011010111101110111100010110101 L -b11011010111101110111100010110101 ] -0( -0) -0+ -0, -b1 0 -0' -#9210 -b10 G -b11011010111101110111100010110101 d -b1001 h -b11011010111101110111100010110101 S -b1010111 O -b1001 W -1' -#9211 -b1110010101 / -#9215 -0[ -b1111 Y -1J -b0 H -b10 F -b1 > -b100001111 6 -b101101010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100001111 " -b10 . -b1101011100110001001011111010111 % -b1101011100110001001011111010111 : -b1101011100110001001011111010111 L -b1101011100110001001011111010111 ] -0( -0) -0+ -0, -b1 0 -0' -#9220 -b1 A -b1101011100110001001011111010111 S -b0 O -b1110 W -1Q -b1101011100110001001011111010111 d -b1111 ` -b1110 h -0b -b10 G -1' -#9221 -b1110010110 / -#9225 -1[ -0J -0M -b110011 H -b0 > -1^ -b0 Y -b10 F -b110011 6 -0; -b110011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b10100101 " -b10 . -1& -b11111001110101111011001011110011 % -b11111001110101111011001011110011 : -b11111001110101111011001011110011 L -b11111001110101111011001011110011 ] -0( -0) -0+ -0, -b1 0 -0' -#9228 -b1010110 e -#9230 -0E -b0 A -b1010110 # -b10 . -b1010110 ! -b1010110 C -b100 4 -b1010110 ? -b10 G -b11111001110101111011001011110011 d -b0 ` -b1010 h -1b -b11111001110101111011001011110011 S -b110011 O -b1010 W -0V -0Q -1' -#9231 -b1110010111 / -#9235 -b11111101 H -b10 F -b11111101 6 -b11111101 $ -b100 - -b100 < -b100 N -b100 _ -b101101001 " -b10 . -1& -b1001000101111001110001110010001 % -b1001000101111001110001110010001 : -b1001000101111001110001110010001 L -b1001000101111001110001110010001 ] -0( -0) -0+ -0, -b1 0 -0' -#9240 -b1001000101111001110001110010001 S -b11111101 O -b100 W -b1001000101111001110001110010001 d -b100 h -b10 G -b100 4 -1' -#9241 -b1110011000 / -#9245 -0[ -b10010 Y -1J -b1 > -1M -b0 H -b10 F -b100010010 6 -1; -b10100111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100010010 " -b10 . -0& -b10010000110100001000111000100001 % -b10010000110100001000111000100001 : -b10010000110100001000111000100001 L -b10010000110100001000111000100001 ] -0( -0) -0+ -0, -b1 0 -0' -#9250 -1E -b1 A -b10 G -b10010000110100001000111000100001 d -b10010 ` -b1001 h -0b -b10010000110100001000111000100001 S -b0 O -b1001 W -1V -1Q -1' -#9251 -b1110011001 / -#9255 -0^ -b10010011 Y -b10 F -b110010011 6 -0; -b110010011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b100000101 " -b10 . -1& -b11010100100000011101100010101001 % -b11010100100000011101100010101001 : -b11010100100000011101100010101001 L -b11010100100000011101100010101001 ] -0( -0) -0+ -0, -b1 0 -0' -#9258 -b0 e -#9260 -0E -b0 # -b10 . -b0 ! -b0 C -b11010100100000011101100010101001 S -b1011 W -b11010100100000011101100010101001 d -b10010011 ` -b1011 h -0g -b0 ? -b10 G -b100 4 -1' -#9261 -b1110011010 / -#9265 -1^ -b10111010 Y -b10 F -b110111010 6 -1; -b101000111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110111010 " -b10 . -0& -b11111111101100111000100011111111 % -b11111111101100111000100011111111 : -b11111111101100111000100011111111 L -b11111111101100111000100011111111 ] -0( -0) -0+ -0, -b1 0 -0' -#9270 -1E -b10 G -b11111111101100111000100011111111 d -b10111010 ` -b1100 h -1g -b11111111101100111000100011111111 S -b1100 W -1' -#9271 -b1110011011 / -#9275 -1[ -b0 Y -0J -b10011100 H -b10 F -b0 > -b10011100 6 -b111100001 $ -b111 - -b111 < -b111 N -b111 _ -b10011100 " -b10 . -b1010001110001111010100010100 % -b1010001110001111010100010100 : -b1010001110001111010100010100 L -b1010001110001111010100010100 ] -0( -0) -0+ -0, -b1 0 -0' -#9280 -b0 A -b1010001110001111010100010100 S -b10011100 O -b111 W -0Q -b1010001110001111010100010100 d -b0 ` -b111 h -1b -b10 G -1' -#9281 -b1110011100 / -#9285 -0[ -0^ -b11111010 Y -1J -b1 > -1M -b0 H -b10 F -b111111010 6 -0; -b111111010 $ -b110 - -b110 < -b110 N -b110 _ -b1100101 " -b10 . -1& -b1111111010010000101011111111110 % -b1111111010010000101011111111110 : -b1111111010010000101011111111110 L -b1111111010010000101011111111110 ] -0( -0) -0+ -0, -b1 0 -0' -#9290 -0E -b1 A -b100 4 -b10 G -b1111111010010000101011111111110 d -b11111010 ` -b110 h -0g -0b -b1111111010010000101011111111110 S -b0 O -b110 W -1Q -1' -#9291 -b1110011101 / -#9295 -1^ -b1100001 Y -b10 F -b101100001 6 -1; -b1011101 $ -b11 - -b11 < -b11 N -b11 _ -b101100001 " -b10 . -0& -b1101001111011000111111111010011 % -b1101001111011000111111111010011 : -b1101001111011000111111111010011 L -b1101001111011000111111111010011 ] -0( -0) -0+ -0, -b1 0 -0' -#9300 -1E -b1101001111011000111111111010011 S -b11 W -b1101001111011000111111111010011 d -b1100001 ` -b11 h -1g -b10 G -1' -#9301 -b1110011110 / -#9305 -b111010 Y -b10 F -b100111010 6 -b111001000 $ -b100 - -b100 < -b100 N -b100 _ -b100111010 " -b10 . -b1110101010010011100110111101010 % -b1110101010010011100110111101010 : -b1110101010010011100110111101010 L -b1110101010010011100110111101010 ] -0( -0) -0+ -0, -b1 0 -0' -#9310 -b10 G -b1110101010010011100110111101010 d -b111010 ` -b100 h -b1110101010010011100110111101010 S -b100 W -1' -#9311 -b1110011111 / -#9315 -1[ -b0 Y -0J -b11000011 H -b10 F -b0 > -b11000011 6 -b101000001 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b11000011 " -b10 . -b10001011101001001110111000010111 % -b10001011101001001110111000010111 : -b10001011101001001110111000010111 L -b10001011101001001110111000010111 ] -0( -0) -0+ -0, -b1 0 -0' -#9318 -b1010000000000000000000 e -#9320 -b0 A -b1010000000000000000000 # -b10 . -b1010000000000000000000 ! -b1010000000000000000000 C -b10001011101001001110111000010111 S -b11000011 O -b1101 W -0Q -b10001011101001001110111000010111 d -b0 ` -b1101 h -1b -b1010000000000000000000 ? -b10 G -1' -#9321 -b1110100000 / -#9325 -b100110 H -b10 F -b100110 6 -b111110110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b100110 " -b10 . -b11001000011000011011110010010000 % -b11001000011000011011110010010000 : -b11001000011000011011110010010000 L -b11001000011000011011110010010000 ] -0( -0) -0+ -0, -b1 0 -0' -#9328 -b11100110000000000000000101101 T -#9330 -b11100110000000000000000101101 # -b10 . -b11100110000000000000000101101 ! -b11100110000000000000000101101 C -b11100110000000000000000101101 ? -b10 G -b11001000011000011011110010010000 d -b1111 h -b11001000011000011011110010010000 S -b100110 O -b1111 W -1' -#9331 -b1110100001 / -#9335 -0[ -0^ -b10100001 Y -1J -b1 > -1M -b0 H -b10 F -b110100001 6 -0; -b110100001 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b10001111 " -b10 . -1& -b10110111100100010100010001101111 % -b10110111100100010100010001101111 : -b10110111100100010100010001101111 L -b10110111100100010100010001101111 ] -0( -0) -0+ -0, -b1 0 -0' -#9338 -b10011100000000001111011 T -#9340 -0E -b1 A -b10011100000000001111011 # -b10 . -b10011100000000001111011 ! -b10011100000000001111011 C -b10110111100100010100010001101111 S -b0 O -b1011 W -1Q -b10110111100100010100010001101111 d -b10100001 ` -b1011 h -0g -0b -b10011100000000001111011 ? -b10 G -b100 4 -1' -#9341 -b1110100010 / -#9345 -1[ -0J -b111000 H -b0 > -1^ -b0 Y -b10 F -b111000 6 -1; -b11 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b111000 " -b10 . -0& -b1010010110110111100111110100101 % -b1010010110110111100111110100101 : -b1010010110110111100111110100101 L -b1010010110110111100111110100101 ] -0( -0) -0+ -0, -b1 0 -0' -#9350 -1E -b0 A -b10 G -b1010010110110111100111110100101 d -b0 ` -b1101 h -1g -1b -b1010010110110111100111110100101 S -b111000 O -b1101 W -0Q -1' -#9351 -b1110100011 / -#9355 -0[ -0^ -b10101 Y -1J -b1 > -1M -b0 H -b10 F -b100010101 6 -0; -b100010101 $ -b11 - -b11 < -b11 N -b11 _ -b10001 " -b10 . -1& -b1100101111010100110110111001011 % -b1100101111010100110110111001011 : -b1100101111010100110110111001011 L -b1100101111010100110110111001011 ] -0( -0) -0+ -0, -b1 0 -0' -#9358 -b1001111011110100001010111001010 T -#9360 -0E -b1 A -b1001111011110100001010111001010 # -b10 . -b1001111011110100001010111001010 ! -b1001111011110100001010111001010 C -b1100101111010100110110111001011 S -b0 O -b11 W -1Q -b1100101111010100110110111001011 d -b10101 ` -b11 h -0g -0b -b1001111011110100001010111001010 ? -b10 G -b100 4 -1' -#9361 -b1110100100 / -#9365 -1[ -0J -b1001000 H -b0 > -1^ -b0 Y -b10 F -b1001000 6 -1; -b110011 $ -b101 - -b101 < -b101 N -b101 _ -b1001000 " -b10 . -0& -b11101110100001110110101011011101 % -b11101110100001110110101011011101 : -b11101110100001110110101011011101 L -b11101110100001110110101011011101 ] -0( -0) -0+ -0, -b1 0 -0' -#9370 -1E -b0 A -b10 G -b11101110100001110110101011011101 d -b0 ` -b101 h -1g -1b -b11101110100001110110101011011101 S -b1001000 O -b101 W -0Q -1' -#9371 -b1110100101 / -#9375 -0[ -0^ -b10111011 Y -1J -b1 > -1M -b0 H -b10 F -b110111011 6 -0; -b110111011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b111100101 " -b10 . -1& -b101110001010011010001101011100 % -b101110001010011010001101011100 : -b101110001010011010001101011100 L -b101110001010011010001101011100 ] -0( -0) -0+ -0, -b1 0 -0' -#9378 -b11000110010001010110101010001100 T -#9380 -0E -b1 A -b11000110010001010110101010001100 # -b10 . -b11000110010001010110101010001100 ! -b11000110010001010110101010001100 C -b101110001010011010001101011100 S -b0 O -b1011 W -1Q -b101110001010011010001101011100 d -b10111011 ` -b1011 h -0g -0b -b11000110010001010110101010001100 ? -b10 G -b100 4 -1' -#9381 -b1110100110 / -#9385 -1[ -1^ -b0 Y -0J -0M -b1010011 H -b10 F -b0 > -b1010011 6 -b1010011 $ -b111 - -b111 < -b111 N -b111 _ -b111101101 " -b10 . -1& -b1111110000000001001011111111100 % -b1111110000000001001011111111100 : -b1111110000000001001011111111100 L -b1111110000000001001011111111100 ] -0( -0) -0+ -0, -b1 0 -0' -#9390 -b0 A -b100 4 -b10 G -b1111110000000001001011111111100 d -b0 ` -b111 h -1g -1b -b1111110000000001001011111111100 S -b1010011 O -b111 W -0V -0Q -1' -#9391 -b1110100111 / -#9395 -b1100110 H -b10 F -b1100110 6 -b1100110 $ -b100 - -b100 < -b100 N -b100 _ -b111000011 " -b10 . -1& -b1100111111010011100110111001111 % -b1100111111010011100110111001111 : -b1100111111010011100110111001111 L -b1100111111010011100110111001111 ] -0( -0) -0+ -0, -b1 0 -0' -#9400 -b1100111111010011100110111001111 S -b1100110 O -b100 W -b1100111111010011100110111001111 d -b100 h -b10 G -b100 4 -1' -#9401 -b1110101000 / -#9405 -1M -b110110 H -b10 F -b110110 6 -1; -b100001000 $ -b1 - -b1 < -b1 N -b1 _ -b110110 " -b10 . -0& -b10111111010101111101000001111110 % -b10111111010101111101000001111110 : -b10111111010101111101000001111110 L -b10111111010101111101000001111110 ] -0( -0) -0+ -0, -b1 0 -0' -#9410 -1E -b10 G -b10111111010101111101000001111110 d -b1 h -b10111111010101111101000001111110 S -b110110 O -b1 W -1V -1' -#9411 -b1110101001 / -#9415 -b1010010 H -b10 F -b1010010 6 -b11010011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b1010010 " -b10 . -b11000000100010111101101010000001 % -b11000000100010111101101010000001 : -b11000000100010111101101010000001 L -b11000000100010111101101010000001 ] -0( -0) -0+ -0, -b1 0 -0' -#9418 -b0 T -#9420 -b0 # -b10 . -b0 ! -b0 C -b11000000100010111101101010000001 S -b1010010 O -b1001 W -b11000000100010111101101010000001 d -b1001 h -b0 ? -b10 G -1' -#9421 -b1110101010 / -#9425 -0[ -b10100010 Y -1J -b0 H -b10 F -b1 > -b110100010 6 -b101000000 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110100010 " -b10 . -b1001110100001111001100010011 % -b1001110100001111001100010011 : -b1001110100001111001100010011 L -b1001110100001111001100010011 ] -0( -0) -0+ -0, -b1 0 -0' -#9430 -b1 A -b10 G -b1001110100001111001100010011 d -b10100010 ` -b1011 h -0b -b1001110100001111001100010011 S -b0 O -b1011 W -1Q -1' -#9431 -b1110101011 / -#9435 -1[ -0J -0M -b1101110 H -b0 > -1^ -b0 Y -b10 F -b1101110 6 -0; -b1101110 $ -b101 - -b101 < -b101 N -b101 _ -b100000001 " -b10 . -1& -b11111111011101100010100011111110 % -b11111111011101100010100011111110 : -b11111111011101100010100011111110 L -b11111111011101100010100011111110 ] -0( -0) -0+ -0, -b1 0 -0' -#9438 -b1100011100110100011111100000000 e -#9440 -0E -b0 A -b1100011100110100011111100000000 # -b10 . -b1100011100110100011111100000000 ! -b1100011100110100011111100000000 C -b11111111011101100010100011111110 S -b1101110 O -b101 W -0V -0Q -b11111111011101100010100011111110 d -b0 ` -b101 h -1b -b1100011100110100011111100000000 ? -b10 G -b100 4 -1' -#9441 -b1110101100 / -#9445 -0[ -0^ -b10000001 Y -1J -1M -b0 H -b10 F -b1 > -b110000001 6 -b110000001 $ -b1 - -b1 < -b1 N -b1 _ -b100101001 " -b10 . -1& -b1001100001100010001011110011000 % -b1001100001100010001011110011000 : -b1001100001100010001011110011000 L -b1001100001100010001011110011000 ] -0( -0) -0+ -0, -b1 0 -0' -#9450 -b1 A -b100 4 -b10 G -b1001100001100010001011110011000 d -b10000001 ` -b1 h -0g -0b -b1001100001100010001011110011000 S -b0 O -b1 W -1V -1Q -1' -#9451 -b1110101101 / -#9455 -1^ -b10011011 Y -b10 F -b110011011 6 -1; -b110001011 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b110011011 " -b10 . -0& -b1001111100001101110001110011111 % -b1001111100001101110001110011111 : -b1001111100001101110001110011111 L -b1001111100001101110001110011111 ] -0( -0) -0+ -0, -b1 0 -0' -#9460 -1E -b1001111100001101110001110011111 S -b1000 W -b1001111100001101110001110011111 d -b10011011 ` -b1000 h -1g -b10 G -1' -#9461 -b1110101110 / -#9465 -b11010000 Y -b10 F -b111010000 6 -b11011100 $ -b111 - -b111 < -b111 N -b111 _ -b111010000 " -b10 . -b100010110100110110111101000101 % -b100010110100110110111101000101 : -b100010110100110110111101000101 L -b100010110100110110111101000101 ] -0( -0) -0+ -0, -b1 0 -0' -#9468 -b10000111011111 e -#9470 -b10000111011111 # -b10 . -b10000111011111 ! -b10000111011111 C -b10000111011111 ? -b10 G -b100010110100110110111101000101 d -b11010000 ` -b111 h -b100010110100110110111101000101 S -b111 W -1' -#9471 -b1110101111 / -#9475 -0^ -b10111010 Y -b10 F -b110111010 6 -0; -b110111010 $ -b10 - -b10 < -b10 N -b10 _ -b101010001 " -b10 . -1& -b1010111000100010101111110101110 % -b1010111000100010101111110101110 : -b1010111000100010101111110101110 L -b1010111000100010101111110101110 ] -0( -0) -0+ -0, -b1 0 -0' -#9478 -b0 e -#9480 -0E -b0 # -b10 . -b0 ! -b0 C -b1010111000100010101111110101110 S -b10 W -b1010111000100010101111110101110 d -b10111010 ` -b10 h -0g -b0 ? -b10 G -b100 4 -1' -#9481 -b1110110000 / -#9485 -1[ -1^ -b0 Y -0J -0M -b110011 H -b10 F -b0 > -b110011 6 -b110011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b1001110 " -b10 . -1& -b10011100011111010010110000111000 % -b10011100011111010010110000111000 : -b10011100011111010010110000111000 L -b10011100011111010010110000111000 ] -0( -0) -0+ -0, -b1 0 -0' -#9490 -b0 A -b100 4 -b10 G -b10011100011111010010110000111000 d -b0 ` -b1011 h -1g -1b -b10011100011111010010110000111000 S -b110011 O -b1011 W -0V -0Q -1' -#9491 -b1110110001 / -#9495 -0[ -b110 Y -1J -b1 > -1M -b0 H -b10 F -b100000110 6 -1; -b100110 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b100000110 " -b10 . -0& -b1100000011111100111101111000000 % -b1100000011111100111101111000000 : -b1100000011111100111101111000000 L -b1100000011111100111101111000000 ] -0( -0) -0+ -0, -b1 0 -0' -#9500 -1E -b1 A -b1100000011111100111101111000000 S -b0 O -b1100 W -1V -1Q -b1100000011111100111101111000000 d -b110 ` -b1100 h -0b -b10 G -1' -#9501 -b1110110010 / -#9505 -0^ -b10011 Y -b10 F -b100010011 6 -0; -b100010011 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11101001 " -b10 . -1& -b10110010101010000101011001100101 % -b10110010101010000101011001100101 : -b10110010101010000101011001100101 L -b10110010101010000101011001100101 ] -0( -0) -0+ -0, -b1 0 -0' -#9508 -b100011000011100000000001000110 e -#9510 -0E -b100011000011100000000001000110 # -b10 . -b100011000011100000000001000110 ! -b100011000011100000000001000110 C -b100 4 -b100011000011100000000001000110 ? -b10 G -b10110010101010000101011001100101 d -b10011 ` -b1010 h -0g -b10110010101010000101011001100101 S -b1010 W -1' -#9511 -b1110110011 / -#9515 -1[ -0J -b110000 H -b0 > -1^ -b0 Y -b10 F -b110000 6 -1; -b100100100 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b110000 " -b10 . -0& -b10000100011010000000100000001000 % -b10000100011010000000100000001000 : -b10000100011010000000100000001000 L -b10000100011010000000100000001000 ] -0( -0) -0+ -0, -b1 0 -0' -#9520 -1E -b0 A -b10000100011010000000100000001000 S -b110000 O -b1011 W -0Q -b10000100011010000000100000001000 d -b0 ` -b1011 h -1g -1b -b10 G -1' -#9521 -b1110110100 / -#9525 -b11011010 H -b10 F -b11011010 6 -b1101110 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b11011010 " -b10 . -b10000101101111011011101000001011 % -b10000101101111011011101000001011 : -b10000101101111011011101000001011 L -b10000101101111011011101000001011 ] -0( -0) -0+ -0, -b1 0 -0' -#9530 -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b10000101101111011011101000001011 d -b1111 h -b10000101101111011011101000001011 S -b11011010 O -b1111 W -1' -#9531 -b1110110101 / -#9535 -0M -b11010100 H -b10 F -b11010100 6 -0; -b11010100 $ -b111000100 " -b10 . -1& -b1011010110001110001110110110101 % -b1011010110001110001110110110101 : -b1011010110001110001110110110101 L -b1011010110001110001110110110101 ] -0( -0) -0+ -0, -b1 0 -0' -#9540 -0E -b1011010110001110001110110110101 S -b11010100 O -0V -b1011010110001110001110110110101 d -b10 G -b100 4 -1' -#9541 -b1110110110 / -#9545 -0[ -b11010000 Y -1J -b1 > -1M -b0 H -b10 F -b111010000 6 -1; -b11111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111010000 " -b10 . -0& -b10000111011101011011011000001110 % -b10000111011101011011011000001110 : -b10000111011101011011011000001110 L -b10000111011101011011011000001110 ] -0( -0) -0+ -0, -b1 0 -0' -#9550 -1E -b1 A -b10 G -b10000111011101011011011000001110 d -b11010000 ` -b1100 h -0b -b10000111011101011011011000001110 S -b0 O -b1100 W -1V -1Q -1' -#9551 -b1110110111 / -#9555 -1[ -0J -0M -b1000 H -b0 > -1^ -b0 Y -b10 F -b1000 6 -0; -b1000 $ -b11 - -b11 < -b11 N -b11 _ -b11101000 " -b10 . -1& -b11100011100011011000001011000111 % -b11100011100011011000001011000111 : -b11100011100011011000001011000111 L -b11100011100011011000001011000111 ] -0( -0) -0+ -0, -b1 0 -0' -#9558 -b0 e -#9560 -0E -b0 A -b11100011100011011000001011000111 S -b1000 O -b11 W -0V -0Q -b11100011100011011000001011000111 d -b0 ` -b11 h -1b -b10 G -b100 4 -1' -#9561 -b1110111000 / -#9565 -0[ -b11010111 Y -1J -b1 > -1M -b0 H -b10 F -b111010111 6 -1; -b11001011 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b111010111 " -b10 . -0& -b11010101010110000010111010101010 % -b11010101010110000010111010101010 : -b11010101010110000010111010101010 L -b11010101010110000010111010101010 ] -0( -0) -0+ -0, -b1 0 -0' -#9570 -1E -b1 A -b10 G -b11010101010110000010111010101010 d -b11010111 ` -b1100 h -0b -b11010101010110000010111010101010 S -b0 O -b1100 W -1V -1Q -1' -#9571 -b1110111001 / -#9575 -b1 Y -b10 F -b100000001 6 -b100011111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b100000001 " -b10 . -b1000111110000100000011110001111 % -b1000111110000100000011110001111 : -b1000111110000100000011110001111 L -b1000111110000100000011110001111 ] -0( -0) -0+ -0, -b1 0 -0' -#9580 -b1000111110000100000011110001111 S -b1001 W -b1000111110000100000011110001111 d -b1 ` -b1001 h -b10 G -1' -#9581 -b1110111010 / -#9585 -0^ -b11100110 Y -b10 F -b111100110 6 -0; -b111100110 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b101100010 " -b10 . -1& -b10001011000100110101101000010110 % -b10001011000100110101101000010110 : -b10001011000100110101101000010110 L -b10001011000100110101101000010110 ] -0( -0) -0+ -0, -b1 0 -0' -#9590 -0E -b100 4 -b10 G -b10001011000100110101101000010110 d -b11100110 ` -b1000 h -0g -b10001011000100110101101000010110 S -b1000 W -1' -#9591 -b1110111011 / -#9595 -1[ -1^ -b0 Y -0J -0M -b1111101 H -b10 F -b0 > -b1111101 6 -b1111101 $ -b100 - -b100 < -b100 N -b100 _ -b101000011 " -b10 . -1& -b1111010111101111110100111110101 % -b1111010111101111110100111110101 : -b1111010111101111110100111110101 L -b1111010111101111110100111110101 ] -0( -0) -0+ -0, -b1 0 -0' -#9600 -b0 A -b1111010111101111110100111110101 S -b1111101 O -b100 W -0V -0Q -b1111010111101111110100111110101 d -b0 ` -b100 h -1g -1b -b10 G -b100 4 -1' -#9601 -b1110111100 / -#9605 -0[ -0^ -b1111011 Y -1J -1M -b0 H -b10 F -b1 > -b101111011 6 -b101111011 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b11010011 " -b10 . -1& -b10111000001000011011010001110000 % -b10111000001000011011010001110000 : -b10111000001000011011010001110000 L -b10111000001000011011010001110000 ] -0( -0) -0+ -0, -b1 0 -0' -#9610 -b1 A -b100 4 -b10 G -b10111000001000011011010001110000 d -b1111011 ` -b1110 h -0g -0b -b10111000001000011011010001110000 S -b0 O -b1110 W -1V -1Q -1' -#9611 -b1110111101 / -#9615 -1[ -1^ -b0 Y -0J -0M -b100111 H -b10 F -b0 > -b100111 6 -b100111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b11011001 " -b10 . -1& -b11010001101110010011001010100011 % -b11010001101110010011001010100011 : -b11010001101110010011001010100011 L -b11010001101110010011001010100011 ] -0( -0) -0+ -0, -b1 0 -0' -#9620 -b0 A -b11010001101110010011001010100011 S -b100111 O -b1100 W -0V -0Q -b11010001101110010011001010100011 d -b0 ` -b1100 h -1g -1b -b10 G -b100 4 -1' -#9621 -b1110111110 / -#9625 -1M -b100001 H -b10 F -b100001 6 -1; -b1100111 $ -b11 - -b11 < -b11 N -b11 _ -b100001 " -b10 . -0& -b1010101111101101100111110101011 % -b1010101111101101100111110101011 : -b1010101111101101100111110101011 L -b1010101111101101100111110101011 ] -0( -0) -0+ -0, -b1 0 -0' -#9630 -1E -b10 G -b1010101111101101100111110101011 d -b11 h -b1010101111101101100111110101011 S -b100001 O -b11 W -1V -1' -#9631 -b1110111111 / -#9635 -0[ -0^ -b11110111 Y -1J -b1 > -1M -b0 H -b10 F -b111110111 6 -0; -b111110111 $ -b101 - -b101 < -b101 N -b101 _ -b100100111 " -b10 . -1& -b100001111000001100100001000 % -b100001111000001100100001000 : -b100001111000001100100001000 L -b100001111000001100100001000 ] -0( -0) -0+ -0, -b1 0 -0' -#9640 -0E -b1 A -b100001111000001100100001000 S -b0 O -b101 W -1Q -b100001111000001100100001000 d -b11110111 ` -b101 h -0g -0b -b10 G -b100 4 -1' -#9641 -b1111000000 / -#9645 -1[ -0J -b111011 H -b0 > -1^ -b0 Y -b10 F -b111011 6 -1; -b1101100 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111011 " -b10 . -0& -b1011101010110011011100010111 % -b1011101010110011011100010111 : -b1011101010110011011100010111 L -b1011101010110011011100010111 ] -0( -0) -0+ -0, -b1 0 -0' -#9650 -1E -b0 A -b10 G -b1011101010110011011100010111 d -b0 ` -b1111 h -1g -1b -b1011101010110011011100010111 S -b111011 O -b1111 W -0Q -1' -#9651 -b1111000001 / -#9655 -0M -b10111111 H -b10 F -b10111111 6 -0; -b10111111 $ -b11 - -b11 < -b11 N -b11 _ -b100100111 " -b10 . -1& -b11111101011110110101111011111010 % -b11111101011110110101111011111010 : -b11111101011110110101111011111010 L -b11111101011110110101111011111010 ] -0( -0) -0+ -0, -b1 0 -0' -#9658 -b1011100000011111001100010110 T -#9660 -0E -b1011100000011111001100010110 # -b10 . -b1011100000011111001100010110 ! -b1011100000011111001100010110 C -b11111101011110110101111011111010 S -b10111111 O -b11 W -0V -b11111101011110110101111011111010 d -b11 h -b1011100000011111001100010110 ? -b10 G -b100 4 -1' -#9661 -b1111000010 / -#9665 -1M -b1100011 H -b10 F -b1100011 6 -1; -b100000010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b1100011 " -b10 . -0& -b101001110111110101110101010011 % -b101001110111110101110101010011 : -b101001110111110101110101010011 L -b101001110111110101110101010011 ] -0( -0) -0+ -0, -b1 0 -0' -#9670 -1E -b10 G -b101001110111110101110101010011 d -b1011 h -b101001110111110101110101010011 S -b1100011 O -b1011 W -1V -1' -#9671 -b1111000011 / -#9675 -b11000000 H -b10 F -b11000000 6 -b11101 $ -b1010 - -b1010 < -b1010 N -b1010 _ -b11000000 " -b10 . -b11110101100010011010111011101011 % -b11110101100010011010111011101011 : -b11110101100010011010111011101011 L -b11110101100010011010111011101011 ] -0( -0) -0+ -0, -b1 0 -0' -#9678 -b1011001110100101000111000000000 T -#9680 -b1011001110100101000111000000000 # -b10 . -b1011001110100101000111000000000 ! -b1011001110100101000111000000000 C -b11110101100010011010111011101011 S -b11000000 O -b1010 W -b11110101100010011010111011101011 d -b1010 h -b1011001110100101000111000000000 ? -b10 G -1' -#9681 -b1111000100 / -#9685 -0M -b10011110 H -b10 F -b10011110 6 -0; -b10011110 $ -b0 - -b0 < -b0 N -b0 _ -b110000101 " -b10 . -1& -b101010011010110010100001010 % -b101010011010110010100001010 : -b101010011010110010100001010 L -b101010011010110010100001010 ] -0( -0) -0+ -0, -b1 0 -0' -#9688 -b0 T -#9690 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b101010011010110010100001010 d -b0 h -b101010011010110010100001010 S -b10011110 O -b0 W -0V -1' -#9691 -b1111000101 / -#9695 -1M -b1101011 H -b10 F -b1101011 6 -1; -b111111011 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b1101011 " -b10 . -0& -b11011010101110000000001010110101 % -b11011010101110000000001010110101 : -b11011010101110000000001010110101 L -b11011010101110000000001010110101 ] -0( -0) -0+ -0, -b1 0 -0' -#9700 -1E -b11011010101110000000001010110101 S -b1101011 O -b1011 W -1V -b11011010101110000000001010110101 d -b1011 h -b10 G -1' -#9701 -b1111000110 / -#9705 -0[ -b1101 Y -1J -b0 H -b10 F -b1 > -b100001101 6 -b111000011 $ -b101 - -b101 < -b101 N -b101 _ -b100001101 " -b10 . -b100000010000100001001101000000 % -b100000010000100001001101000000 : -b100000010000100001001101000000 L -b100000010000100001001101000000 ] -0( -0) -0+ -0, -b1 0 -0' -#9710 -b1 A -b10 G -b100000010000100001001101000000 d -b1101 ` -b101 h -0b -b100000010000100001001101000000 S -b0 O -b101 W -1Q -1' -#9711 -b1111000111 / -#9715 -1[ -b0 Y -0J -b1000100 H -b10 F -b0 > -b1000100 6 -b100111111 $ -b11 - -b11 < -b11 N -b11 _ -b1000100 " -b10 . -b10100111111001110000001001001111 % -b10100111111001110000001001001111 : -b10100111111001110000001001001111 L -b10100111111001110000001001001111 ] -0( -0) -0+ -0, -b1 0 -0' -#9718 -b1001000111101111111101100111111 e -#9720 -b0 A -b1001000111101111111101100111111 # -b10 . -b1001000111101111111101100111111 ! -b1001000111101111111101100111111 C -b10100111111001110000001001001111 S -b1000100 O -b11 W -0Q -b10100111111001110000001001001111 d -b0 ` -b11 h -1b -b1001000111101111111101100111111 ? -b10 G -1' -#9721 -b1111001000 / -#9725 -0[ -0^ -b10110000 Y -1J -b1 > -1M -b0 H -b10 F -b110110000 6 -0; -b110110000 $ -b100 - -b100 < -b100 N -b100 _ -b11110000 " -b10 . -1& -b1011010111101001010100110110101 % -b1011010111101001010100110110101 : -b1011010111101001010100110110101 L -b1011010111101001010100110110101 ] -0( -0) -0+ -0, -b1 0 -0' -#9728 -b1100111101101000000000000000000 T -#9730 -0E -b1 A -b1100111101101000000000000000000 # -b10 . -b1100111101101000000000000000000 ! -b1100111101101000000000000000000 C -b100 4 -b1100111101101000000000000000000 ? -b10 G -b1011010111101001010100110110101 d -b10110000 ` -b100 h -0g -0b -b1011010111101001010100110110101 S -b0 O -b100 W -1Q -1' -#9731 -b1111001001 / -#9735 -1[ -0J -b10110100 H -b0 > -1^ -b0 Y -b10 F -b10110100 6 -1; -b1010100 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10110100 " -b10 . -0& -b100111000110110110000101001110 % -b100111000110110110000101001110 : -b100111000110110110000101001110 L -b100111000110110110000101001110 ] -0( -0) -0+ -0, -b1 0 -0' -#9740 -1E -b0 A -b100111000110110110000101001110 S -b10110100 O -b1000 W -0Q -b100111000110110110000101001110 d -b0 ` -b1000 h -1g -1b -b10 G -1' -#9741 -b1111001010 / -#9745 -b1000110 H -b10 F -b1000110 6 -b101110011 $ -b0 - -b0 < -b0 N -b0 _ -b1000110 " -b10 . -b11000011101011011111100110000 % -b11000011101011011111100110000 : -b11000011101011011111100110000 L -b11000011101011011111100110000 ] -0( -0) -0+ -0, -b1 0 -0' -#9748 -b101100001010000111010001011000 T -#9750 -b101100001010000111010001011000 # -b10 . -b101100001010000111010001011000 ! -b101100001010000111010001011000 C -b101100001010000111010001011000 ? -b10 G -b11000011101011011111100110000 d -b0 h -b11000011101011011111100110000 S -b1000110 O -b0 W -1' -#9751 -b1111001011 / -#9755 -0[ -b11110010 Y -1J -b0 H -b10 F -b1 > -b111110010 6 -b100101011 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b111110010 " -b10 . -b1110110001011010011011111101100 % -b1110110001011010011011111101100 : -b1110110001011010011011111101100 L -b1110110001011010011011111101100 ] -0( -0) -0+ -0, -b1 0 -0' -#9758 -b0 T -#9760 -b1 A -b0 # -b10 . -b0 ! -b0 C -b1110110001011010011011111101100 S -b0 O -b1001 W -1Q -b1110110001011010011011111101100 d -b11110010 ` -b1001 h -0b -b0 ? -b10 G -1' -#9761 -b1111001100 / -#9765 -1[ -b0 Y -0J -b10001 H -b10 F -b0 > -b10001 6 -b100010 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b10001 " -b10 . -b11011001101011010010110010110011 % -b11011001101011010010110010110011 : -b11011001101011010010110010110011 L -b11011001101011010010110010110011 ] -0( -0) -0+ -0, -b1 0 -0' -#9768 -b0 e -#9770 -b0 A -b10 G -b11011001101011010010110010110011 d -b0 ` -b1110 h -1b -b11011001101011010010110010110011 S -b10001 O -b1110 W -0Q -1' -#9771 -b1111001101 / -#9775 -0M -b11110010 H -b10 F -b11110010 6 -0; -b11110010 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b111011010 " -b10 . -1& -b10100000001010100110111001000000 % -b10100000001010100110111001000000 : -b10100000001010100110111001000000 L -b10100000001010100110111001000000 ] -0( -0) -0+ -0, -b1 0 -0' -#9780 -0E -b10100000001010100110111001000000 S -b11110010 O -b1000 W -0V -b10100000001010100110111001000000 d -b1000 h -b10 G -b100 4 -1' -#9781 -b1111001110 / -#9785 -0[ -b100100 Y -1J -b1 > -1M -b0 H -b10 F -b100100100 6 -1; -b10011111 $ -b111 - -b111 < -b111 N -b111 _ -b100100100 " -b10 . -0& -b10110001100111101110100001100011 % -b10110001100111101110100001100011 : -b10110001100111101110100001100011 L -b10110001100111101110100001100011 ] -0( -0) -0+ -0, -b1 0 -0' -#9790 -1E -b1 A -b10 G -b10110001100111101110100001100011 d -b100100 ` -b111 h -0b -b10110001100111101110100001100011 S -b0 O -b111 W -1V -1Q -1' -#9791 -b1111001111 / -#9795 -1[ -b0 Y -0J -b1100000 H -b10 F -b0 > -b1100000 6 -b11001100 $ -b101 - -b101 < -b101 N -b101 _ -b1100000 " -b10 . -b1110000110001000010000111100001 % -b1110000110001000010000111100001 : -b1110000110001000010000111100001 L -b1110000110001000010000111100001 ] -0( -0) -0+ -0, -b1 0 -0' -#9798 -b11000000000001101011000000000000 e -#9800 -b0 A -b11000000000001101011000000000000 # -b10 . -b11000000000001101011000000000000 ! -b11000000000001101011000000000000 C -b1110000110001000010000111100001 S -b1100000 O -b101 W -0Q -b1110000110001000010000111100001 d -b0 ` -b101 h -1b -b11000000000001101011000000000000 ? -b10 G -1' -#9801 -b1111010000 / -#9805 -0M -b110100 H -b10 F -b110100 6 -0; -b110100 $ -b110 - -b110 < -b110 N -b110 _ -b111011001 " -b10 . -1& -b10101111011101101111100101011 % -b10101111011101101111100101011 : -b10101111011101101111100101011 L -b10101111011101101111100101011 ] -0( -0) -0+ -0, -b1 0 -0' -#9808 -b10010000000011000000 T -#9810 -0E -b10010000000011000000 # -b10 . -b10010000000011000000 ! -b10010000000011000000 C -b100 4 -b10010000000011000000 ? -b10 G -b10101111011101101111100101011 d -b110 h -b10101111011101101111100101011 S -b110100 O -b110 W -0V -1' -#9811 -b1111010001 / -#9815 -b110000 H -b10 F -b110000 6 -b110000 $ -b11 - -b11 < -b11 N -b11 _ -b111100011 " -b10 . -1& -b1111111110111101110110111111111 % -b1111111110111101110110111111111 : -b1111111110111101110110111111111 L -b1111111110111101110110111111111 ] -0( -0) -0+ -0, -b1 0 -0' -#9820 -b1111111110111101110110111111111 S -b110000 O -b11 W -b1111111110111101110110111111111 d -b11 h -b10 G -b100 4 -1' -#9821 -b1111010010 / -#9825 -1M -b11000101 H -b10 F -b11000101 6 -1; -b101010011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b11000101 " -b10 . -0& -b1011100010110111101111110111000 % -b1011100010110111101111110111000 : -b1011100010110111101111110111000 L -b1011100010110111101111110111000 ] -0( -0) -0+ -0, -b1 0 -0' -#9830 -1E -b10 G -b1011100010110111101111110111000 d -b1101 h -b1011100010110111101111110111000 S -b11000101 O -b1101 W -1V -1' -#9831 -b1111010011 / -#9835 -0M -b1100001 H -b10 F -b1100001 6 -0; -b1100001 $ -b1000 - -b1000 < -b1000 N -b1000 _ -b10101100 " -b10 . -1& -b10000111100110000100000100 % -b10000111100110000100000100 : -b10000111100110000100000100 L -b10000111100110000100000100 ] -0( -0) -0+ -0, -b1 0 -0' -#9838 -b1010101000000000011100100101101 T -#9840 -0E -b1010101000000000011100100101101 # -b10 . -b1010101000000000011100100101101 ! -b1010101000000000011100100101101 C -b10000111100110000100000100 S -b1100001 O -b1000 W -0V -b10000111100110000100000100 d -b1000 h -b1010101000000000011100100101101 ? -b10 G -b100 4 -1' -#9841 -b1111010100 / -#9845 -1M -b1100000 H -b10 F -b1100000 6 -1; -b11100111 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b1100000 " -b10 . -0& -b10100001101010010110101001000011 % -b10100001101010010110101001000011 : -b10100001101010010110101001000011 L -b10100001101010010110101001000011 ] -0( -0) -0+ -0, -b1 0 -0' -#9850 -1E -b10 G -b10100001101010010110101001000011 d -b1101 h -b10100001101010010110101001000011 S -b1100000 O -b1101 W -1V -1' -#9851 -b1111010101 / -#9855 -0[ -b11110001 Y -1J -b0 H -b10 F -b1 > -b111110001 6 -b111111111 $ -b1111 - -b1111 < -b1111 N -b1111 _ -b111110001 " -b10 . -b1100000000000110101010111000000 % -b1100000000000110101010111000000 : -b1100000000000110101010111000000 L -b1100000000000110101010111000000 ] -0( -0) -0+ -0, -b1 0 -0' -#9858 -b10010000000011000000 T -#9860 -b1 A -b10010000000011000000 # -b10 . -b10010000000011000000 ! -b10010000000011000000 C -b1100000000000110101010111000000 S -b0 O -b1111 W -1Q -b1100000000000110101010111000000 d -b11110001 ` -b1111 h -0b -b10010000000011000000 ? -b10 G -1' -#9861 -b1111010110 / -#9865 -1[ -b0 Y -0J -b11001100 H -b10 F -b0 > -b11001100 6 -b10111010 $ -b10 - -b10 < -b10 N -b10 _ -b11001100 " -b10 . -b1010000001100001010101110100000 % -b1010000001100001010101110100000 : -b1010000001100001010101110100000 L -b1010000001100001010101110100000 ] -0( -0) -0+ -0, -b1 0 -0' -#9868 -b0 e -#9870 -b0 A -b0 # -b10 . -b0 ! -b0 C -b0 ? -b10 G -b1010000001100001010101110100000 d -b0 ` -b10 h -1b -b1010000001100001010101110100000 S -b11001100 O -b10 W -0Q -1' -#9871 -b1111010111 / -#9875 -0[ -0^ -b10101111 Y -1J -b1 > -1M -b0 H -b10 F -b110101111 6 -0; -b110101111 $ -b1001 - -b1001 < -b1001 N -b1001 _ -b110110111 " -b10 . -1& -b10011111111101010101000000111111 % -b10011111111101010101000000111111 : -b10011111111101010101000000111111 L -b10011111111101010101000000111111 ] -0( -0) -0+ -0, -b1 0 -0' -#9878 -b110100000000000000000000000000 T -#9880 -0E -b1 A -b110100000000000000000000000000 # -b10 . -b110100000000000000000000000000 ! -b110100000000000000000000000000 C -b10011111111101010101000000111111 S -b0 O -b1001 W -1Q -b10011111111101010101000000111111 d -b10101111 ` -b1001 h -0g -0b -b110100000000000000000000000000 ? -b10 G -b100 4 -1' -#9881 -b1111011000 / -#9885 -1[ -0J -b10011 H -b0 > -1^ -b0 Y -b10 F -b10011 6 -1; -b10000 $ -b110 - -b110 < -b110 N -b110 _ -b10011 " -b10 . -0& -b11110100000100000011110011101000 % -b11110100000100000011110011101000 : -b11110100000100000011110011101000 L -b11110100000100000011110011101000 ] -0( -0) -0+ -0, -b1 0 -0' -#9890 -1E -b0 A -b10 G -b11110100000100000011110011101000 d -b0 ` -b110 h -1g -1b -b11110100000100000011110011101000 S -b10011 O -b110 W -0Q -1' -#9891 -b1111011001 / -#9895 -0M -b110110 H -b10 F -b110110 6 -0; -b110110 $ -b101111111 " -b10 . -1& -b10000000010011101110010000000000 % -b10000000010011101110010000000000 : -b10000000010011101110010000000000 L -b10000000010011101110010000000000 ] -0( -0) -0+ -0, -b1 0 -0' -#9898 -b100111011110000000000 T -#9900 -0E -b100111011110000000000 # -b10 . -b100111011110000000000 ! -b100111011110000000000 C -b10000000010011101110010000000000 S -b110110 O -0V -b10000000010011101110010000000000 d -b100111011110000000000 ? -b10 G -b100 4 -1' -#9901 -b1111011010 / -#9905 -0[ -0^ -b1101010 Y -1J -1M -b0 H -b10 F -b1 > -b101101010 6 -b101101010 $ -b101 - -b101 < -b101 N -b101 _ -b10111011 " -b10 . -1& -b11110000101100110001110011100001 % -b11110000101100110001110011100001 : -b11110000101100110001110011100001 L -b11110000101100110001110011100001 ] -0( -0) -0+ -0, -b1 0 -0' -#9910 -b1 A -b100 4 -b10 G -b11110000101100110001110011100001 d -b1101010 ` -b101 h -0g -0b -b11110000101100110001110011100001 S -b0 O -b101 W -1V -1Q -1' -#9911 -b1111011011 / -#9915 -1[ -1^ -b0 Y -0J -0M -b11110100 H -b10 F -b0 > -b11110100 6 -b11110100 $ -b110 - -b110 < -b110 N -b110 _ -b11101011 " -b10 . -1& -b1100101010001010000111111001010 % -b1100101010001010000111111001010 : -b1100101010001010000111111001010 L -b1100101010001010000111111001010 ] -0( -0) -0+ -0, -b1 0 -0' -#9920 -b0 A -b1100101010001010000111111001010 S -b11110100 O -b110 W -0V -0Q -b1100101010001010000111111001010 d -b0 ` -b110 h -1g -1b -b10 G -b100 4 -1' -#9921 -b1111011100 / -#9925 -b0 H -b10 F -b0 6 -b0 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b110011011 " -b10 . -1& -b11101111001001101000000011011110 % -b11101111001001101000000011011110 : -b11101111001001101000000011011110 L -b11101111001001101000000011011110 ] -0( -0) -0+ -0, -b1 0 -0' -#9930 -b100 4 -b10 G -b11101111001001101000000011011110 d -b1100 h -b11101111001001101000000011011110 S -b0 O -b1100 W -1' -#9931 -b1111011101 / -#9935 -b1100110 H -b10 F -b1100110 6 -b1100110 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b101100010 " -b10 . -1& -b101011010000011001011101010110 % -b101011010000011001011101010110 : -b101011010000011001011101010110 L -b101011010000011001011101010110 ] -0( -0) -0+ -0, -b1 0 -0' -#9940 -b101011010000011001011101010110 S -b1100110 O -b1011 W -b101011010000011001011101010110 d -b1011 h -b10 G -b100 4 -1' -#9941 -b1111011110 / -#9945 -b1111011 H -b10 F -b1111011 6 -b1111011 $ -b1101 - -b1101 < -b1101 N -b1101 _ -b100101011 " -b10 . -1& -b11101110011101101011111011011100 % -b11101110011101101011111011011100 : -b11101110011101101011111011011100 L -b11101110011101101011111011011100 ] -0( -0) -0+ -0, -b1 0 -0' -#9950 -b100 4 -b10 G -b11101110011101101011111011011100 d -b1101 h -b11101110011101101011111011011100 S -b1111011 O -b1101 W -1' -#9951 -b1111011111 / -#9955 -1M -b10111001 H -b10 F -b10111001 6 -1; -b100000011 $ -b110 - -b110 < -b110 N -b110 _ -b10111001 " -b10 . -0& -b110001000010000111010101100010 % -b110001000010000111010101100010 : -b110001000010000111010101100010 L -b110001000010000111010101100010 ] -0( -0) -0+ -0, -b1 0 -0' -#9960 -1E -b110001000010000111010101100010 S -b10111001 O -b110 W -1V -b110001000010000111010101100010 d -b110 h -b10 G -1' -#9961 -b1111100000 / -#9965 -0M -b10100100 H -b10 F -b10100100 6 -0; -b10100100 $ -b1110 - -b1110 < -b1110 N -b1110 _ -b100011000 " -b10 . -1& -b10101111000010110010001001011110 % -b10101111000010110010001001011110 : -b10101111000010110010001001011110 L -b10101111000010110010001001011110 ] -0( -0) -0+ -0, -b1 0 -0' -#9968 -b0 T -#9970 -0E -b0 # -b10 . -b0 ! -b0 C -b100 4 -b0 ? -b10 G -b10101111000010110010001001011110 d -b1110 h -b10101111000010110010001001011110 S -b10100100 O -b1110 W -0V -1' -#9971 -b1111100001 / -#9975 -0[ -b1001001 Y -1J -b1 > -1M -b0 H -b10 F -b101001001 6 -1; -b1010010 $ -b101001001 " -b10 . -0& -b10110101110000000010100001101011 % -b10110101110000000010100001101011 : -b10110101110000000010100001101011 L -b10110101110000000010100001101011 ] -0( -0) -0+ -0, -b1 0 -0' -#9980 -1E -b1 A -b10110101110000000010100001101011 S -b0 O -1V -1Q -b10110101110000000010100001101011 d -b1001001 ` -0b -b10 G -1' -#9981 -b1111100010 / -#9985 -b1000010 Y -b10 F -b101000010 6 -b100111100 $ -b111 - -b111 < -b111 N -b111 _ -b101000010 " -b10 . -b101111101110001101101101011111 % -b101111101110001101101101011111 : -b101111101110001101101101011111 L -b101111101110001101101101011111 ] -0( -0) -0+ -0, -b1 0 -0' -#9988 -b10010010000000000000000001011000 e -#9990 -b10010010000000000000000001011000 # -b10 . -b10010010000000000000000001011000 ! -b10010010000000000000000001011000 C -b10010010000000000000000001011000 ? -b10 G -b101111101110001101101101011111 d -b1000010 ` -b111 h -b101111101110001101101101011111 S -b111 W -1' -#9991 -b1111100011 / -#9995 -1[ -b0 Y -0J -b1011010 H -b10 F -b0 > -b1011010 6 -b1011111 $ -b1100 - -b1100 < -b1100 N -b1100 _ -b1011010 " -b10 . -b10100101101101010001111001001011 % -b10100101101101010001111001001011 : -b10100101101101010001111001001011 L -b10100101101101010001111001001011 ] -0( -0) -0+ -0, -b1 0 -0' -#9998 -b0 e -#10000 -b0 A -b0 # -b10 . -b0 ! -b0 C -b10100101101101010001111001001011 S -b1011010 O -b1100 W -0Q -b10100101101101010001111001001011 d -b0 ` -b1100 h -1b -b0 ? -b10 G -1' -#10001 -b1111100100 / -#10005 -b11111111 H -b10 F -b11111111 6 -b110110010 $ -b1011 - -b1011 < -b1011 N -b1011 _ -b11111111 " -b10 . -b1111000001001100111100011110 % -b1111000001001100111100011110 : -b1111000001001100111100011110 L -b1111000001001100111100011110 ] -0( -0) -0+ -0, -b1 0 -0' -#10008 -b1011010001010010000000000000000 T -#10010 -b1011010001010010000000000000000 # -b10 . -b1011010001010010000000000000000 ! -b1011010001010010000000000000000 C -b1011010001010010000000000000000 ? -b10 G -b1111000001001100111100011110 d -b1011 h -b1111000001001100111100011110 S -b11111111 O -b1011 W -1' -#10011 -b1111100101 / -#10015 -b100011 H -b10 F -b100011 6 -b110011110 $ -b100 - -b100 < -b100 N -b100 _ -b100011 " -b10 . -b1010101011100000001001110101010 % -b1010101011100000001001110101010 : -b1010101011100000001001110101010 L -b1010101011100000001001110101010 ] -0( -0) -0+ -0, -b1 0 -0' -#10018 -b0 T -#10020 -b0 # -b10 . -b0 ! -b0 C -b1010101011100000001001110101010 S -b100011 O -b100 W -b1010101011100000001001110101010 d -b100 h -b0 ? -b10 G -1' -#10021 -b1111100110 / -#10025 -b1111101 H -b10 F -b1111101 6 -b10101011 $ -b11 - -b11 < -b11 N -b11 _ -b1111101 " -b10 . -b1001100110011000111111110011001 % -b1001100110011000111111110011001 : -b1001100110011000111111110011001 L -b1001100110011000111111110011001 ] -0( -0) -0+ -0, -b1 0 -0' -#10028 -b11011000001101011110111100000000 T -#10030 -b11011000001101011110111100000000 # -b10 . -b11011000001101011110111100000000 ! -b11011000001101011110111100000000 C -b11011000001101011110111100000000 ? -b10 G -b1001100110011000111111110011001 d -b11 h -b1001100110011000111111110011001 S -b1111101 O -b11 W -1' -#10031 -b1111100111 / -#10035 -0[ -b11110101 Y -1J -b0 H -b10 F -b1 > -b111110101 6 -b10100010 $ -b111110101 " -b10 . -b100101011101110110101101001010 % -b100101011101110110101101001010 : -b100101011101110110101101001010 L -b100101011101110110101101001010 ] -0( -0) -0+ -0, -b1 0 -0' -#10038 -b1000101111101110000000000000000 T -#10040 -b1 A -b1000101111101110000000000000000 # -b10 . -b1000101111101110000000000000000 ! -b1000101111101110000000000000000 C -b100101011101110110101101001010 S -b0 O -1Q -b100101011101110110101101001010 d -b11110101 ` -0b -b1000101111101110000000000000000 ? -b10 G -1' -#10041 -b1111101000 / -#10045 -1[ -0J -0M -b11000001 H -b0 > -1^ -b0 Y -b10 F -b11000001 6 -0; -b11000001 $ -b111 - -b111 < -b111 N -b111 _ -b1000110 " -b10 . -1& -b10000010011011110111100100000 % -b10000010011011110111100100000 : -b10000010011011110111100100000 L -b10000010011011110111100100000 ] -0( -0) -0+ -0, -b1 0 -0' -#10048 -b1001001000000001100011101110100 e -#10050 -0E -b0 A -b1001001000000001100011101110100 # -b10 . -b1001001000000001100011101110100 ! -b1001001000000001100011101110100 C -b100 4 -b1001001000000001100011101110100 ? -b10 G -b10000010011011110111100100000 d -b0 ` -b111 h -1b -b10000010011011110111100100000 S -b11000001 O -b111 W -0V -0Q -1' -#10051
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/sky130_sram_1kbyte_1rw1r_32x256_8.v b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/sky130_sram_1kbyte_1rw1r_32x256_8.v deleted file mode 100755 index 1a195b3..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/sky130_sram_1kbyte_1rw1r_32x256_8.v +++ /dev/null
@@ -1,121 +0,0 @@ -// OpenRAM SRAM model -// Words: 256 -// Word size: 32 -// Write size: 8 - -module sky130_sram_1kbyte_1rw1r_32x256_8( -`ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif -// Port 0: RW - clk0,csb0,web0,wmask0,addr0,din0,dout0, -// Port 1: R - clk1,csb1,addr1,dout1 - ); - - parameter NUM_WMASKS = 4 ; - parameter DATA_WIDTH = 32 ; - parameter ADDR_WIDTH = 8 ; - parameter RAM_DEPTH = 1 << ADDR_WIDTH; - // FIXME: This delay is arbitrary. - parameter DELAY = 3 ; - parameter VERBOSE = 1 ; //Set to 0 to only display warnings - parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary - -`ifdef USE_POWER_PINS - inout vccd1; - inout vssd1; -`endif - input clk0; // clock - input csb0; // active low chip select - input web0; // active low write control - input [NUM_WMASKS-1:0] wmask0; // write mask - input [ADDR_WIDTH-1:0] addr0; - input [DATA_WIDTH-1:0] din0; - output [DATA_WIDTH-1:0] dout0; - input clk1; // clock - input csb1; // active low chip select - input [ADDR_WIDTH-1:0] addr1; - output [DATA_WIDTH-1:0] dout1; - - reg csb0_reg; - reg web0_reg; - reg [NUM_WMASKS-1:0] wmask0_reg; - reg [ADDR_WIDTH-1:0] addr0_reg; - reg [DATA_WIDTH-1:0] din0_reg; - reg [DATA_WIDTH-1:0] dout0; - - // All inputs are registers - always @(posedge clk0) - begin - csb0_reg = csb0; - web0_reg = web0; - wmask0_reg = wmask0; - addr0_reg = addr0; - din0_reg = din0; - //#(T_HOLD) dout0 = 32'bx; - if ( !csb0_reg && web0_reg && VERBOSE ) - $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]); - if ( !csb0_reg && !web0_reg && VERBOSE ) - $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg); - end - - reg csb1_reg; - reg [ADDR_WIDTH-1:0] addr1_reg; - reg [DATA_WIDTH-1:0] dout1; - - // All inputs are registers - always @(posedge clk1) - begin - csb1_reg = csb1; - addr1_reg = addr1; - if (!csb0 && !web0 && !csb1 && (addr0 == addr1)) - $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1); - //#(T_HOLD) dout1 = 32'bx; - if ( !csb1_reg && VERBOSE ) - $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]); - end - -reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1]; -integer i; -initial - //if (IZERO) - for (i=0; i<RAM_DEPTH; i=i+1) mem[i] = {DATA_WIDTH{1'b0}}; - //else - //if (IFILE != "") $readmemh({IFILE,".hex"}, mem); - - - // Memory Write Block Port 0 - // Write Operation : When web0 = 0, csb0 = 0 - always @ (negedge clk0) - begin : MEM_WRITE0 - if ( !csb0_reg && !web0_reg ) begin - if (wmask0_reg[0]) - mem[addr0_reg][7:0] = din0_reg[7:0]; - if (wmask0_reg[1]) - mem[addr0_reg][15:8] = din0_reg[15:8]; - if (wmask0_reg[2]) - mem[addr0_reg][23:16] = din0_reg[23:16]; - if (wmask0_reg[3]) - mem[addr0_reg][31:24] = din0_reg[31:24]; - end - end - - // Memory Read Block Port 0 - // Read Operation : When web0 = 1, csb0 = 0 - always @ (negedge clk0) - begin : MEM_READ0 - if (!csb0_reg && web0_reg) - dout0 <= #(DELAY) mem[addr0_reg]; - end - - // Memory Read Block Port 1 - // Read Operation : When web1 = 1, csb1 = 0 - always @ (negedge clk1) - begin : MEM_READ1 - if (!csb1_reg) - dout1 <= #(DELAY) mem[addr1_reg]; - end - -endmodule
diff --git a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/utils.vh b/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/utils.vh deleted file mode 100644 index 6a8c518..0000000 --- a/verilog/rtl/rams/ram_512x32_1rw_2021-11-24_03-18-56/utils.vh +++ /dev/null
@@ -1,113 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2013, University of British Columbia (UBC); All rights reserved. // -// // -// Redistribution and use in source and binary forms, with or without // -// modification, are permitted provided that the following conditions are met: // -// * Redistributions of source code must retain the above copyright // -// notice, this list of conditions and the following disclaimer. // -// * Redistributions in binary form must reproduce the above copyright // -// notice, this list of conditions and the following disclaimer in the // -// documentation and/or other materials provided with the distribution. // -// * Neither the name of the University of British Columbia (UBC) nor the names // -// of its contributors may be used to endorse or promote products // -// derived from this software without specific prior written permission. // -// // -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // -// DISCLAIMED. IN NO EVENT SHALL University of British Columbia (UBC) BE LIABLE // -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER // -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, // -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -//////////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////////// -// utils.vh: Design utilities (pre-compile) // -// // -// Author: Ameer M. Abdelhadi (ameer@ece.ubc.ca, ameer.abdelhadi@gmail.com) // -// SRAM-based Multi-ported RAMs; University of British Columbia (UBC), March 2013 // -//////////////////////////////////////////////////////////////////////////////////// - -`ifndef __UTILS_VH__ -`define __UTILS_VH__ - -`define DEBUG_MODE // debug mode, comment this line for other modes -`define VERBOSE // verbose debug, comment this line for other modes - -// Initiate Array structure - use once before calling packing/unpacking modules -`define ARRINIT integer _i_,_j_ -// pack/unpack 1D/2D/3D arrays; use in "always @*" if combinatorial -`define ARR2D1D(D1W,D2W, SRC,DST) for(_i_=1;_i_<=(D1W);_i_=_i_+1) DST[((D2W)*_i_-1)-:D2W] = SRC[_i_-1] -`define ARR1D2D(D1W,D2W, SRC,DST) for(_i_=1;_i_<=(D1W);_i_=_i_+1) DST[_i_-1] = SRC[((D2W)*_i_-1)-:D2W] -`define ARR2D3D(D1W,D2W,D3W,SRC,DST) for(_i_=0;_i_< (D1W);_i_=_i_+1) for(_j_=1;_j_<=(D2W);_j_=_j_+1) DST[_i_][_j_-1] = SRC[_i_][((D3W)*_j_-1)-:D3W] -`define ARR3D2D(D1W,D2W,D3W,SRC,DST) for(_i_=0;_i_< (D1W);_i_=_i_+1) for(_j_=1;_j_<=(D2W);_j_=_j_+1) DST[_i_][((D3W)*_j_-1)-:D3W] = SRC[_i_][_j_-1] - -// print a 2-D array in a comma-delimited list -`define ARRPRN(ARRLEN,PRNSRC) for (_i_=(ARRLEN)-1;_i_>=0;_i_=_i_-1) $write("%c%h%c",(_i_==(ARRLEN)-1)?"[":"",PRNSRC[_i_],!_i_?"]":",") -// Initialize a vector with a specific width random number; extra bits are zero padded -`define GETRAND(RAND,RANDW) RAND=0; repeat ((RANDW)/32) RAND=(RAND<<32)|{$random}; RAND=(RAND<<((RANDW)%32))|({$random}>>(32-(RANDW)%32)) - -// factorial (n!) -`define fact(n) ( ( ((n) >= 2 ) ? 2 : 1) * \ - ( ((n) >= 3 ) ? 3 : 1) * \ - ( ((n) >= 4 ) ? 4 : 1) * \ - ( ((n) >= 5 ) ? 5 : 1) * \ - ( ((n) >= 6 ) ? 6 : 1) * \ - ( ((n) >= 7 ) ? 7 : 1) * \ - ( ((n) >= 8 ) ? 8 : 1) * \ - ( ((n) >= 9 ) ? 9 : 1) * \ - ( ((n) >= 10 ) ? 10 : 1) ) - -// ceiling of log2 -`define log2(x) ( ( ((x) > 1 ) ? 1 : 0) + \ - ( ((x) > 2 ) ? 1 : 0) + \ - ( ((x) > 4 ) ? 1 : 0) + \ - ( ((x) > 8 ) ? 1 : 0) + \ - ( ((x) > 16 ) ? 1 : 0) + \ - ( ((x) > 32 ) ? 1 : 0) + \ - ( ((x) > 64 ) ? 1 : 0) + \ - ( ((x) > 128 ) ? 1 : 0) + \ - ( ((x) > 256 ) ? 1 : 0) + \ - ( ((x) > 512 ) ? 1 : 0) + \ - ( ((x) > 1024 ) ? 1 : 0) + \ - ( ((x) > 2048 ) ? 1 : 0) + \ - ( ((x) > 4096 ) ? 1 : 0) + \ - ( ((x) > 8192 ) ? 1 : 0) + \ - ( ((x) > 16384 ) ? 1 : 0) + \ - ( ((x) > 32768 ) ? 1 : 0) + \ - ( ((x) > 65536 ) ? 1 : 0) + \ - ( ((x) > 131072 ) ? 1 : 0) + \ - ( ((x) > 262144 ) ? 1 : 0) + \ - ( ((x) > 524288 ) ? 1 : 0) + \ - ( ((x) > 1048576) ? 1 : 0) + \ - ( ((x) > 2097152) ? 1 : 0) + \ - ( ((x) > 4194304) ? 1 : 0) ) - -// floor of log2 -`define log2f(x) ( ( ((x) >= 2 ) ? 1 : 0) + \ - ( ((x) >= 4 ) ? 1 : 0) + \ - ( ((x) >= 8 ) ? 1 : 0) + \ - ( ((x) >= 16 ) ? 1 : 0) + \ - ( ((x) >= 32 ) ? 1 : 0) + \ - ( ((x) >= 64 ) ? 1 : 0) + \ - ( ((x) >= 128 ) ? 1 : 0) + \ - ( ((x) >= 256 ) ? 1 : 0) + \ - ( ((x) >= 512 ) ? 1 : 0) + \ - ( ((x) >= 1024 ) ? 1 : 0) + \ - ( ((x) >= 2048 ) ? 1 : 0) + \ - ( ((x) >= 4096 ) ? 1 : 0) + \ - ( ((x) >= 8192 ) ? 1 : 0) + \ - ( ((x) >= 16384 ) ? 1 : 0) + \ - ( ((x) >= 32768 ) ? 1 : 0) + \ - ( ((x) >= 65536 ) ? 1 : 0) + \ - ( ((x) >= 131072 ) ? 1 : 0) + \ - ( ((x) >= 262144 ) ? 1 : 0) + \ - ( ((x) >= 524288 ) ? 1 : 0) + \ - ( ((x) >= 1048576) ? 1 : 0) + \ - ( ((x) >= 2097152) ? 1 : 0) + \ - ( ((x) >= 4194304) ? 1 : 0) ) - -`endif //__UTILS_VH__
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/Makefile b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/Makefile deleted file mode 100644 index dd9bae8..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/Makefile +++ /dev/null
@@ -1,18 +0,0 @@ -XRUN = xrun -VCS = vcs -IV = iverilog - -all: clean iverilog - -iverilog: - iverilog -o test sky130_sram_1kbyte_1rw1r_32x256_8.v ram* utils.vh - vvp test - rm -f *.mif *.hex *.vvp test - -xrun: - xrun -gui -xprop F utils.vh sky130_sram_1kbyte_1rw1r_32x256_8.v ram* -access +rwc - -clean: - rm -f *.mif *.hex *.vvp *.vcd *.txt test - -.PHONY: clean
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_1rw.v b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_1rw.v deleted file mode 100644 index 35c2bd5..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_1rw.v +++ /dev/null
@@ -1,159 +0,0 @@ -`include "utils.vh" -module ram_generic_1rw - #( parameter NUM_WMASKS = 4, - parameter MEMD = 512, - parameter DATA_WIDTH = 32, // data width - parameter nRPORTS = 1 , // number of reading ports - parameter nWPORTS = 1, // number of write ports - parameter IZERO = 0 , // binary / Initial RAM with zeros (has priority over IFILE) - parameter IFILE = "", // initialization mif file (don't pass extension), optional - parameter BASIC_MODEL = 256, - parameter ADDR_WIDTH = 9, - parameter BASIC_DATA_WIDTH = 32, - parameter fixed_width = 0, - parameter DELAY = 3, - parameter BYPASS = 1 - )( `ifdef USE_POWER_PINS - inout vccd1, - inout vssd1, -`endif - input clk, // clock - input csb, // active low chip select - input web, // active low write control - input [NUM_WMASKS-1:0] wmask, // write mask - input [ADDR_WIDTH-1:0] addr, - input [DATA_WIDTH-1:0] din, - output reg[DATA_WIDTH-1:0] dout, - input clk1, - input csb1, - input [ADDR_WIDTH-1:0] addr1, - output reg [DATA_WIDTH-1:0] dout1); - -localparam ADDRW = ADDR_WIDTH; // address width -localparam NUM_OF_BANKS = MEMD / BASIC_MODEL; -localparam Basic_ADDRW = `log2(BASIC_MODEL); // address width -localparam horizontal_banks = DATA_WIDTH / BASIC_DATA_WIDTH; - -reg [DATA_WIDTH-1:0] RData_out; -wire[DATA_WIDTH-1:0] Rdata [NUM_OF_BANKS-1:0]; -wire [$clog2(NUM_OF_BANKS):0] Addr_sel; -reg [$clog2(NUM_OF_BANKS):0] Raddr_sel; -reg [Basic_ADDRW-1:0] Addr [NUM_OF_BANKS-1:0]; -reg wen [NUM_OF_BANKS-1:0]; -reg csb_i [NUM_OF_BANKS-1:0]; -reg web_reg; - -// port 2 -reg [DATA_WIDTH-1:0] RData_out_1; -wire[DATA_WIDTH-1:0] Rdata_1 [NUM_OF_BANKS-1:0]; -wire [$clog2(NUM_OF_BANKS):0] Addr_sel_1; -reg [$clog2(NUM_OF_BANKS):0] Raddr_sel_1; -reg [Basic_ADDRW-1:0] Addr_1 [NUM_OF_BANKS-1:0]; -reg csb_i_1 [NUM_OF_BANKS-1:0]; - - -assign Addr_sel = addr / BASIC_MODEL;//addr % NUM_OF_BANKS; -assign Addr_sel_1 = addr1 / BASIC_MODEL; - -always @(posedge clk) begin -Raddr_sel <= addr / BASIC_MODEL; // addr % NUM_OF_BANKS; -Raddr_sel_1 <= addr1 / BASIC_MODEL; -web_reg <= web; -end - -integer i; -integer j; - - always @* begin - for(i=0; i<NUM_OF_BANKS; i=i+1) begin - Addr[i] = (Addr_sel == i) ? addr : 0; - wen[i] = (Addr_sel == i) ? web : 1; - csb_i[i] = (Addr_sel == i) ? csb : 1; - end -end - -always @* begin - for(i=0; i<NUM_OF_BANKS; i=i+1) begin - Addr_1[i] = (Addr_sel_1 == i) ? addr1 : 0; - csb_i_1[i] = (Addr_sel_1 == i) ? csb1 : 1; - end -end - -genvar p,h; -generate - for(p=0; p<NUM_OF_BANKS; p=p+1) begin - if(fixed_width == 32'h00000001) begin - for(h=0; h<horizontal_banks; h=h+1) begin - - sky130_sram_1kbyte_1rw1r_32x256_8 - ram_i ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(csb_i[p]), - .web0(wen[p]), - .wmask0(wmask[4*h +: 4]), - .addr0(Addr[p]), - .din0(din[BASIC_DATA_WIDTH*h +: BASIC_DATA_WIDTH]), - .dout0(Rdata[p][BASIC_DATA_WIDTH*h +: BASIC_DATA_WIDTH]), - .clk1(clk1), - .csb1(csb_i_1[p]), - .addr1(Addr_1[p]), - .dout1(Rdata_1[p][BASIC_DATA_WIDTH*h +: BASIC_DATA_WIDTH])); - end - end - else begin - sky130_sram_1kbyte_1rw1r_32x256_8 - ram_i ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk0(clk), - .csb0(csb_i[p]), - .web0(wen[p]), - .wmask0(wmask), - .addr0(Addr[p]), - .din0(din), - .dout0(Rdata[p]), - .clk1(clk1), - .csb1(csb_i_1[p]), - .addr1(Addr_1[p]), - .dout1(Rdata_1[p])); - end - - end -endgenerate - -always @(posedge clk) begin - if(web_reg==1) begin - for(j=0; j<NUM_OF_BANKS; j=j+1) begin - RData_out = (Raddr_sel == j) ? Rdata[j] : RData_out; - end - end - else - RData_out = RData_out; - // Port 2 -end -always @(posedge clk) begin - for(j=0; j<NUM_OF_BANKS; j=j+1) begin - //RData_out_1 = (Raddr_sel_1 == q) ? Rdata_1[q] : RData_out_1; - if(Raddr_sel_1 == j) - RData_out_1 = Rdata_1[j]; - else - RData_out_1 = RData_out_1; - end -end - -always @* begin -dout = RData_out; -end - - -always @* begin -dout1 = RData_out_1; -end - -endmodule - -
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_2r1w.v b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_2r1w.v deleted file mode 100644 index 95edafa..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_2r1w.v +++ /dev/null
@@ -1,80 +0,0 @@ -`include "utils.vh" -module ram_generic_nr1w - #( parameter NUM_WMASKS = 4, - parameter MEMD = 512, - parameter DATA_WIDTH = 32, // data width - parameter nRPORTS = 2 , // number of reading ports - parameter nWPORTS = 1, // number of write ports - parameter IZERO = 0 , // binary / Initial RAM with zeros (has priority over IFILE) - parameter IFILE = "", // initialization mif file (don't pass extension), optional - parameter BASIC_MODEL = 256, - parameter ADDR_WIDTH = 9, - parameter DELAY = 3, - parameter BYPASS = 1 - )( `ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif - addr, clk, csb, web, wmask, din, dout, addr1, csb1, clk1, dout1); - `ifdef USE_POWER_PINS - inout vccd1; - inout vssd1; - `endif - input clk; // clock - input csb; // active low chip select - input web; // active low write control - input [NUM_WMASKS-1:0] wmask; // write mask - input [ADDR_WIDTH * nRPORTS-1:0] addr; - input [DATA_WIDTH-1:0] din; - output reg [DATA_WIDTH*nRPORTS-1:0] dout; - input clk1; - input csb1; - input [ADDR_WIDTH * nRPORTS-1:0] addr1; - output reg [DATA_WIDTH*nRPORTS-1:0] dout1; - // unpacked read addresses/data - reg [ADDR_WIDTH-1:0] RAddr_upk [nRPORTS-1:0]; // read addresses - unpacked 2D array - wire [DATA_WIDTH-1:0] RData_upk [nRPORTS-1:0]; // read data - unpacked 2D array - reg [ADDR_WIDTH-1:0] RAddr_upk_1 [nRPORTS-1:0]; // read addresses - unpacked 2D array - wire [DATA_WIDTH-1:0] RData_upk_1 [nRPORTS-1:0]; // read data - unpacked 2D array - - // unpack read addresses; pack read data - `ARRINIT; - always @* begin - `ARR1D2D(nRPORTS,ADDR_WIDTH,addr,RAddr_upk); - `ARR2D1D(nRPORTS,DATA_WIDTH,RData_upk,dout); - `ARR1D2D(nRPORTS,ADDR_WIDTH,addr1,RAddr_upk_1); - `ARR2D1D(nRPORTS,DATA_WIDTH,RData_upk_1,dout1); - end -genvar rpi; - generate - for (rpi=0 ; rpi<nRPORTS; rpi=rpi+1) begin - ram_generic_1rw #( .NUM_WMASKS (NUM_WMASKS), - .MEMD(MEMD), - .DATA_WIDTH(DATA_WIDTH), // data width - .nRPORTS(1), // number of reading ports - .nWPORTS(1), // number of write ports - .IZERO (IZERO), // binary / Initial RAM with zeros (has priority over IFILE) - .IFILE (IFILE), // initialization mif file (don't pass extension), optional - .BASIC_MODEL (BASIC_MODEL), - .ADDR_WIDTH(ADDR_WIDTH), - .DELAY (DELAY), - .BYPASS(BYPASS)) - ram_1rw ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk(clk), // clock - .csb(csb), // active low chip select - .web(web), // active low write control - .wmask(wmask), // write mask - .addr(RAddr_upk[rpi]/*(web == 0) ? RAddr_upk[0] : RAddr_upk[rpi]*/), - .din(din), - .dout(RData_upk[rpi]), - .clk1(clk1), - .csb1(csb1), - .addr1(RAddr_upk_1[rpi]), - .dout1(RData_upk_1[rpi])); - end - endgenerate -endmodule -
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_2r1w_tb.v b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_2r1w_tb.v deleted file mode 100644 index 49cb7a9..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/ram_generated_512x32_2r1w_tb.v +++ /dev/null
@@ -1,289 +0,0 @@ -`include "utils.vh" - -// set default value for the following parameters, if not defined from command-line -// memory depth -`ifndef WMASK -`define WMASK 4 -`endif - -`ifndef MEMD -`define MEMD 512 -`endif -// data width -`ifndef DATAW -`define DATAW 32 -`endif -// number of reading ports -`ifndef nWPORTS -`define nWPORTS 1 -`endif -// number of writing ports -`ifndef nRPORTS -`define nRPORTS 2 -`endif -// Simulation cycles count -`ifndef CYCC -`define CYCC 1000 -`endif - -`ifndef Basic_Model -`define Basic_Model 256 -`endif - -`ifndef ADDRW -`define ADDRW 9 -`endif - -// WDW (Write-During-Write) protection -`ifndef WDW -`define WDW 0 -`endif - -// WAW (Write-After-Write) protection -`ifndef WAW -`define WAW 1 -`endif - -// RDW (Read-During-Write) protection -`ifndef RDW -`define RDW 1 -`endif - -// RAW (Read-After-Write) protection -`ifndef RAW -`define RAW 1 -`endif - -module ram_generic_nr1w_tb; - - localparam MEMD = `MEMD ; // memory depth - localparam DATAW = `DATAW ; // data width - localparam nRPORTS = `nRPORTS ; // number of reading ports - localparam nWPORTS = `nWPORTS ; // number of writing ports - localparam CYCC = `CYCC ; // simulation cycles count - - localparam ADDRW = `ADDRW; // address size - localparam VERBOSE = 0 ; // verbose logging (1:yes; 0:no) - localparam CYCT = 10 ; // cycle time - localparam RSTT = 5.2*CYCT ; // reset time - localparam TERFAIL = 0 ; // terminate if fail? - localparam TIMEOUT = 2*CYCT*CYCC ; // simulation time - localparam BASIC_MODEL = `Basic_Model; - reg clk = 1'b0 ; // global clock - reg rst = 1'b1 ; // global reset - reg [nWPORTS-1:0 ] WEnb ; // write enable for each writing port - reg [ADDRW*nWPORTS-1:0] WAddr_pck ; // write addresses - packed from nWPORTS write ports - reg [ADDRW-1:0 ] WAddr_upk [nWPORTS-1:0]; // write addresses - unpacked 2D array - reg [ADDRW*nRPORTS-1:0] RAddr_pck ; // read addresses - packed from nRPORTS read ports - reg [ADDRW-1:0 ] RAddr_upk [nRPORTS-1:0]; // read addresses - unpacked 2D array - reg [DATAW*nWPORTS-1:0] WData_pck ; // write data - packed from nWPORTS read ports - reg [DATAW-1:0 ] WData_upk [nWPORTS-1:0]; // write data - unpacked 2D array - wire [DATAW*nRPORTS-1:0] RData_pck_sram ; // read data - packed from nRPORTS read ports - reg [DATAW-1:0 ] RData_upk_sram [nRPORTS-1:0]; // read data - unpacked 2D array - reg [DATAW*nRPORTS-1:0] RData_pck_golden ; // read data - packed from nRPORTS read ports - reg [DATAW-1:0 ] RData_upk_golden [nRPORTS-1:0]; // read data - unpacked 2D array - reg [`WMASK*nWPORTS-1:0] wmask_pck ; // wmask packed - reg [`WMASK-1:0 ] wmask_upk [nWPORTS-1:0]; // wmask unpacked - integer i,j; // general indeces - - // generates random ram hex/mif initializing files - task genInitFiles; - input [31 :0] DEPTH ; // memory depth - input [31 :0] WIDTH ; // memoty width - input [255 :0] INITVAL; // initial vlaue (if not random) - input RAND ; // random value? - input [1:8*20] FILEN ; // memory initializing file name - reg [255 :0] ramdata; - integer addr,hex_fd,mif_fd; - begin - // open hex/mif file descriptors - hex_fd = $fopen({FILEN,".hex"},"w"); - mif_fd = $fopen({FILEN,".mif"},"w"); - // write mif header - $fwrite(mif_fd,"WIDTH = %0d;\n",WIDTH); - $fwrite(mif_fd,"DEPTH = %0d;\n",DEPTH); - $fwrite(mif_fd,"ADDRESS_RADIX = HEX;\n" ); - $fwrite(mif_fd,"DATA_RADIX = HEX;\n\n" ); - $fwrite(mif_fd,"CONTENT BEGIN\n" ); - // write random memory lines - for(addr=0;addr<DEPTH;addr=addr+1) begin - if (RAND) begin - `GETRAND(ramdata,WIDTH); - end else ramdata = INITVAL; - $fwrite(hex_fd,"%0h\n",ramdata); - $fwrite(mif_fd," %0h : %0h;\n",addr,ramdata); - end - // write mif tail - $fwrite(mif_fd,"END;\n"); - // close hex/mif file descriptors - $fclose(hex_fd); - $fclose(mif_fd); - end - endtask - - - initial begin - $dumpfile("srimulation.vcd"); - $dumpvars(0,ram_generic_nr1w_tb); - end - - integer rep_fd, ferr; - initial begin - // write header - //rep_fd = $fopen("sim.txt","r"); // try to open report file for read - //$ferror(rep_fd,ferr); // detect error - //$fclose(rep_fd); - rep_fd = $fopen("sim.txt","w"); // open report file for append - if (1) begin // if file is new (can't open for read); write header - $fwrite(rep_fd,"===============================Simulation Results======================================\n"); - $fwrite(rep_fd,"=======================================================================================\n"); - $fwrite(rep_fd,"Golden Golden Golden Actual Actual Actual Result \n"); - $fwrite(rep_fd,"Read Model Model Read Model Model \n"); - $fwrite(rep_fd,"Port RAddr RData Port RAddr RData \n"); - $fwrite(rep_fd,"=======================================================================================\n"); - $fclose(rep_fd); - end - $write("Simulating RAM:\n"); - $write("Write ports : %0d\n" ,nWPORTS ); - $write("Read ports : %0d\n" ,nRPORTS ); - $write("Data width : %0d\n" ,DATAW ); - $write("RAM depth : %0d\n" ,MEMD ); - $write("Address width: %0d\n",ADDRW ); - $write("Memory Size : %0d KB \n\n", (MEMD*DATAW)/8000); - // generate random ram hex/mif initializing file - genInitFiles(MEMD,DATAW ,0,1,"init_ram"); - // finish simulation - #(TIMEOUT) begin - $write("*** Simulation terminated due to timeout\n"); - $finish; - end - end - -// generate clock and reset - always #(CYCT/2) clk = ~clk; // toggle clock - initial #(RSTT ) rst = 1'b0; // lower reset - - // pack/unpack data and addresses - `ARRINIT; - always @* begin - `ARR2D1D(nRPORTS,ADDRW,RAddr_upk ,RAddr_pck ); - `ARR2D1D(nWPORTS,`WMASK,wmask_upk ,wmask_pck ); - `ARR2D1D(nWPORTS,ADDRW,WAddr_upk ,WAddr_pck ); - `ARR1D2D(nWPORTS,DATAW,WData_pck ,WData_upk ); - `ARR1D2D(nRPORTS,DATAW,RData_pck_sram ,RData_upk_sram ); - `ARR2D1D(nRPORTS,DATAW,RData_upk_golden ,RData_pck_golden ); -end - - // register write addresses - reg [ADDRW-1:0 ] WAddr_r_upk [nWPORTS-1:0]; // previous (registerd) write addresses - unpacked 2D array - always @(negedge clk) - //WAddr_r_pck <= WAddr_pck; - for (i=0;i<nWPORTS;i=i+1) WAddr_r_upk[i] <= WAddr_upk[i]; - - // generate random write data and random write/read addresses; on falling edge - reg wdw_addr; // indicates same write addresses on same cycle (Write-During-Write) - reg waw_addr; // indicates same write addresses on next cycle (Write-After-Write) - reg rdw_addr; // indicates same read/write addresses on same cycle (Read-During-Write) - reg raw_addr; // indicates same read address on next cycle (Read-After-Write) - -always @(negedge clk) begin - // generate random write addresses; different that current and previous write addresses - for (i=0;i<nWPORTS;i=i+1) begin - wdw_addr = 1; waw_addr = 1; - while (wdw_addr || waw_addr) begin - `GETRAND(WAddr_upk[i],ADDRW); - wdw_addr = 0; waw_addr = 0; - if (!`WDW) for (j=0;j<i ;j=j+1) wdw_addr = wdw_addr || (WAddr_upk[i] == WAddr_upk[j] ); - if (!`WAW) for (j=0;j<nWPORTS;j=j+1) waw_addr = waw_addr || (WAddr_upk[i] == WAddr_r_upk[j]); - end - end - - // generate random read addresses; different that current and previous write addresses - for (i=0;i<nRPORTS;i=i+1) begin - rdw_addr = 1; raw_addr = 1; - while (rdw_addr || raw_addr) begin - `GETRAND(RAddr_upk[i],ADDRW); - `GETRAND(wmask_upk[i], `WMASK); - rdw_addr = 0; raw_addr = 0; - if (!`RDW) for (j=0;j<nWPORTS;j=j+1) rdw_addr = rdw_addr || (RAddr_upk[i] == WAddr_upk[j] ); - if (!`RAW) for (j=0;j<nWPORTS;j=j+1) raw_addr = raw_addr || (RAddr_upk[i] == WAddr_r_upk[j]); - end - end - // generate random write data and write enables - `GETRAND(WData_pck,DATAW*nWPORTS); - `GETRAND(WEnb , nWPORTS); - if (rst) WEnb=1'b0; //else WEnb={nWPORTS{1'b1}}; - end - -integer cycc=1; // cycles count -integer pass; -integer p; -always @(negedge clk) begin - if (!rst) begin - #(CYCT/10) // a little after falling edge - #(CYCT/2) // a little after rising edge - - //if (cycc==CYCC) begin - for(p=0; p<nRPORTS; p=p+1) begin - pass = (RData_upk_golden[p]===RData_upk_sram[p]); - rep_fd = $fopen("sim.txt","a+"); - $fwrite(rep_fd,"%-10d %-10d %-15h %-10d %-10d %-15h %-10s \n",p,RAddr_upk[p],RData_upk_golden[p],p,RAddr_upk[p],RData_upk_sram[p],pass?"pass":"fail"); - $fclose(rep_fd); - end - if (cycc==CYCC) begin - $finish; - end - cycc=cycc+1; - end -end - -// Golden model of SRAM -integer q,r,s; -reg [DATAW-1:0] mem [0:MEMD-1]; -initial begin -// $readmemh("init_ram.hex", mem); - for(r=0; r<MEMD; r=r+1) mem[r] = {DATAW{1'b0}}; -end -always @(posedge clk) - begin - if(WEnb) begin - for(s=0; s<`WMASK; s=s+1) begin - if(wmask_pck[s]) - mem[WAddr_pck][8*s +: 8] = WData_pck[8*s +: 8]; - end - end - else begin - for(q=0; q<nRPORTS; q=q+1) begin - RData_upk_golden[q] <= #(10) mem[RAddr_upk[q]]; - end - end - end - - -ram_generic_nr1w #( .NUM_WMASKS (`WMASK), - .MEMD(MEMD), - .DATA_WIDTH(DATAW), // data width - .nRPORTS(nRPORTS), // number of reading ports - .nWPORTS(nWPORTS), // number of write ports - .IZERO (1), // binary / Initial RAM with zeros (has priority over IFILE) - .IFILE (""), // initialization mif file (don't pass extension), optional - .BASIC_MODEL (BASIC_MODEL), - .ADDR_WIDTH(ADDRW), - .DELAY (3)) -ram_nr1w ( `ifdef USE_POWER_PINS - .vccd1(vccd1), - .vssd1(vssd1), - `endif - .clk(clk), // clock - .csb(1'b0), // active low chip select - .web(~WEnb), // active low write control - .wmask(wmask_pck), // write mask - .addr((WEnb==1'b1)? {nRPORTS{WAddr_pck}}:RAddr_pck), - .din(WData_pck), - .dout(RData_pck_sram), - .clk1(clk), - .csb1(1'b1), - .addr1({ADDRW*nRPORTS{1'b0}}), - .dout1()); -endmodule -
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/sim.txt b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/sim.txt deleted file mode 100644 index 405adfa..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/sim.txt +++ /dev/null
@@ -1,2006 +0,0 @@ -===============================Simulation Results====================================== -======================================================================================= -Golden Golden Golden Actual Actual Actual Result -Read Model Model Read Model Model -Port RAddr RData Port RAddr RData -======================================================================================= -0 51 00000000 0 51 00000000 pass -1 86 00000000 1 86 00000000 pass -0 314 00000000 0 314 00000000 pass -1 376 00000000 1 376 00000000 pass -0 300 00000000 0 300 00000000 pass -1 26 00000000 1 26 00000000 pass -0 416 00000000 0 416 00000000 pass -1 209 00000000 1 209 00000000 pass -0 332 00000000 0 332 00000000 pass -1 337 00000000 1 337 00000000 pass -0 384 00000000 0 384 00000000 pass -1 72 00000000 1 72 00000000 pass -0 319 00000000 0 319 00000000 pass -1 356 00000000 1 356 00000000 pass -0 232 00000000 0 232 00000000 pass -1 266 00000000 1 266 00000000 pass -0 364 00000000 0 364 00000000 pass -1 350 00000000 1 350 00000000 pass -0 404 00000000 0 404 00000000 pass -1 60 00000000 1 60 00000000 pass -0 278 00000000 0 278 00000000 pass -1 162 00000000 1 162 00000000 pass -0 305 00000000 0 305 00000000 pass -1 341 00000000 1 341 00000000 pass -0 8 00000000 0 8 00000000 pass -1 319 00000000 1 319 00000000 pass -0 94 00000000 0 94 00000000 pass -1 125 00000000 1 125 00000000 pass -0 436 00000000 0 436 00000000 pass -1 52 00000000 1 52 00000000 pass -0 180 00000000 0 180 00000000 pass -1 100 00000000 1 100 00000000 pass -0 461 00000000 0 461 00000000 pass -1 171 00000000 1 171 00000000 pass -0 480 00000000 0 480 00000000 pass -1 285 00000000 1 285 00000000 pass -0 364 00000000 0 364 00000000 pass -1 176 00000000 1 176 00000000 pass -0 79 00000000 0 79 00000000 pass -1 285 00000000 1 285 00000000 pass -0 63 00000000 0 63 00000000 pass -1 84 00000000 1 84 00000000 pass -0 390 00000000 0 390 00000000 pass -1 184 00000000 1 184 00000000 pass -0 424 00000000 0 424 00000000 pass -1 286 00000000 1 286 00000000 pass -0 425 00000000 0 425 00000000 pass -1 53 00000000 1 53 00000000 pass -0 225 00000000 0 225 00000000 pass -1 295 00000000 1 295 00000000 pass -0 201 00000000 0 201 00000000 pass -1 133 00000000 1 133 00000000 pass -0 61 00000000 0 61 00000000 pass -1 283 00000000 1 283 00000000 pass -0 47 00000000 0 47 00000000 pass -1 492 00000000 1 492 00000000 pass -0 356 00000000 0 356 00000000 pass -1 145 00000000 1 145 00000000 pass -0 28 00000000 0 28 00000000 pass -1 42 00000000 1 42 00000000 pass -0 376 00000000 0 376 00000000 pass -1 93 00000000 1 93 00000000 pass -0 436 00000000 0 436 00000000 pass -1 4 00000000 1 4 00000000 pass -0 425 00000000 0 425 00000000 pass -1 221 00000000 1 221 00000000 pass -0 434 00000000 0 434 00000000 pass -1 11 00000000 1 11 00000000 pass -0 416 00000000 0 416 00000000 pass -1 117 00000000 1 117 00000000 pass -0 252 00000000 0 252 00000000 pass -1 351 00000000 1 351 00000000 pass -0 25 00000000 0 25 00000000 pass -1 83 00000000 1 83 00000000 pass -0 289 00000000 0 289 00000000 pass -1 104 00000000 1 104 00000000 pass -0 503 00000000 0 503 00000000 pass -1 317 00000000 1 317 00000000 pass -0 0 00000000 0 0 00000000 pass -1 112 00000000 1 112 00000000 pass -0 35 00000000 0 35 00000000 pass -1 330 00000000 1 330 00000000 pass -0 113 00000000 0 113 00000000 pass -1 275 00000000 1 275 00000000 pass -0 244 00000000 0 244 00000000 pass -1 467 00000000 1 467 00000000 pass -0 293 00000000 0 293 00000000 pass -1 227 00000000 1 227 00000000 pass -0 96 00000000 0 96 00000000 pass -1 207 00000000 1 207 00000000 pass -0 152 00000000 0 152 00000000 pass -1 248 00000000 1 248 00000000 pass -0 224 00000000 0 224 00000000 pass -1 404 00000000 1 404 00000000 pass -0 59 00000000 0 59 00000000 pass -1 156 00000000 1 156 00000000 pass -0 301 00000000 0 301 00000000 pass -1 263 00000000 1 263 00000000 pass -0 235 00000000 0 235 00000000 pass -1 82 00000000 1 82 00000000 pass -0 372 00000000 0 372 00000000 pass -1 498 00000000 1 498 00000000 pass -0 396 00000000 0 396 00000000 pass -1 399 00000000 1 399 00000000 pass -0 54 00000000 0 54 00000000 pass -1 501 00000000 1 501 00000000 pass -0 147 00000000 0 147 00000000 pass -1 452 00000000 1 452 00000000 pass -0 163 00000000 0 163 00000000 pass -1 407 00000000 1 407 00000000 pass -0 180 00000000 0 180 00000000 pass -1 371 00000000 1 371 00000000 pass -0 205 00000000 0 205 00000000 pass -1 215 00000000 1 215 00000000 pass -0 135 00000000 0 135 00000000 pass -1 44 00000000 1 44 00000000 pass -0 61 00000000 0 61 00000000 pass -1 185 00000000 1 185 00000000 pass -0 157 00000000 0 157 00000000 pass -1 479 00000000 1 479 00000000 pass -0 129 00000000 0 129 00000000 pass -1 424 00000000 1 424 00000000 pass -0 24 00000000 0 24 00000000 pass -1 107 00000000 1 107 00000000 pass -0 399 00000000 0 399 00000000 pass -1 10 00000000 1 10 00000000 pass -0 349 00000000 0 349 00000000 pass -1 215 00000000 1 215 00000000 pass -0 210 00000000 0 210 00000000 pass -1 19 00000000 1 19 00000000 pass -0 398 00000000 0 398 00000000 pass -1 503 00000000 1 503 00000000 pass -0 423 00000000 0 423 00000000 pass -1 290 00000000 1 290 00000000 pass -0 59 00000000 0 59 00000000 pass -1 332 00000000 1 332 00000000 pass -0 108 00000000 0 108 00000000 pass -1 91 00000000 1 91 00000000 pass -0 494 00000000 0 494 00000000 pass -1 114 00000000 1 114 00000000 pass -0 99 00000000 0 99 00000000 pass -1 220 00000000 1 220 00000000 pass -0 430 00000000 0 430 00000000 pass -1 164 00000000 1 164 00000000 pass -0 476 00000000 0 476 00000000 pass -1 122 00000000 1 122 00000000 pass -0 94 00000000 0 94 00000000 pass -1 27 00000000 1 27 00000000 pass -0 0 00000000 0 0 00000000 pass -1 380 00000000 1 380 00000000 pass -0 145 00000000 0 145 00000000 pass -1 450 00000000 1 450 00000000 pass -0 279 00000000 0 279 00000000 pass -1 273 00000000 1 273 00000000 pass -0 322 00000000 0 322 00000000 pass -1 84 00000000 1 84 00000000 pass -0 55 00000000 0 55 00000000 pass -1 23 00000000 1 23 00000000 pass -0 354 00000000 0 354 00000000 pass -1 415 00000000 1 415 00000000 pass -0 193 00000000 0 193 00000000 pass -1 345 00000000 1 345 00000000 pass -0 134 00000000 0 134 00000000 pass -1 275 00000000 1 275 00000000 pass -0 430 00000000 0 430 00000000 pass -1 18 00000000 1 18 00000000 pass -0 452 00000000 0 452 00000000 pass -1 253 00000000 1 253 00000000 pass -0 428 00000000 0 428 00000000 pass -1 183 00000000 1 183 00000000 pass -0 51 00000000 0 51 00000000 pass -1 373 00000000 1 373 00000000 pass -0 459 00000000 0 459 00000000 pass -1 311 00000000 1 311 00000000 pass -0 28 00000000 0 28 00000000 pass -1 57 00000000 1 57 00000000 pass -0 80 00000000 0 80 00000000 pass -1 29 00000000 1 29 00000000 pass -0 448 00000000 0 448 00000000 pass -1 334 00000000 1 334 00000000 pass -0 168 00000000 0 168 00000000 pass -1 46 00000000 1 46 00000000 pass -0 132 00000000 0 132 00000000 pass -1 449 00000000 1 449 00000000 pass -0 472 00000000 0 472 00000000 pass -1 228 00000000 1 228 00000000 pass -0 58 00000000 0 58 00000000 pass -1 239 00000000 1 239 00000000 pass -0 54 00000000 0 54 00000000 pass -1 222 00000000 1 222 00000000 pass -0 485 00000000 0 485 00000000 pass -1 318 00000000 1 318 00000000 pass -0 375 00000000 0 375 00000000 pass -1 62 00000000 1 62 00000000 pass -0 197 00000000 0 197 00000000 pass -1 497 00000000 1 497 00000000 pass -0 340 00000000 0 340 00000000 pass -1 384 00000000 1 384 00000000 pass -0 380 00000000 0 380 00000000 pass -1 241 00000000 1 241 00000000 pass -0 156 00000000 0 156 00000000 pass -1 499 00000000 1 499 00000000 pass -0 115 00000000 0 115 00000000 pass -1 329 00000000 1 329 00000000 pass -0 237 00000000 0 237 00000000 pass -1 235 00000000 1 235 00000000 pass -0 143 00000000 0 143 00000000 pass -1 87 00000000 1 87 00000000 pass -0 457 00000000 0 457 00000000 pass -1 138 00000000 1 138 00000000 pass -0 13 00000000 0 13 00000000 pass -1 118 00000000 1 118 00000000 pass -0 199 00000000 0 199 00000000 pass -1 482 00000000 1 482 00000000 pass -0 420 00000000 0 420 00000000 pass -1 139 00000000 1 139 00000000 pass -0 390 00000000 0 390 00000000 pass -1 131 00000000 1 131 00000000 pass -0 454 00000000 0 454 00000000 pass -1 259 00000000 1 259 00000000 pass -0 311 00000000 0 311 00000000 pass -1 235 00000000 1 235 00000000 pass -0 501 00000000 0 501 00000000 pass -1 124 00000000 1 124 00000000 pass -0 96 00000000 0 96 00000000 pass -1 469 00000000 1 469 00000000 pass -0 100 00000000 0 100 00000000 pass -1 304 00000000 1 304 00000000 pass -0 91 00000000 0 91 00000000 pass -1 380 00000000 1 380 00000000 pass -0 370 00000000 0 370 00000000 pass -1 126 00000000 1 126 00000000 pass -0 65 00000000 0 65 00000000 pass -1 79 00000000 1 79 00000000 pass -0 239 00000000 0 239 00000000 pass -1 8 00000000 1 8 00000000 pass -0 247 00000000 0 247 00000000 pass -1 244 00000000 1 244 00000000 pass -0 283 00000000 0 283 00000000 pass -1 52 00000000 1 52 00000000 pass -0 295 00000000 0 295 00000000 pass -1 260 00000000 1 260 00000000 pass -0 353 00000000 0 353 00000000 pass -1 168 00000000 1 168 00000000 pass -0 180 00000000 0 180 00000000 pass -1 331 00000000 1 331 00000000 pass -0 236 00000000 0 236 00000000 pass -1 357 00000000 1 357 00000000 pass -0 142 00000000 0 142 00000000 pass -1 114 00000000 1 114 00000000 pass -0 105 00000000 0 105 00000000 pass -1 2 00000000 1 2 00000000 pass -0 214 60d1adc1 0 214 60d1adc1 pass -1 212 00000000 1 212 00000000 pass -0 51 60d1adc1 0 51 60d1adc1 pass -1 451 00000000 1 451 00000000 pass -0 123 00000000 0 123 00000000 pass -1 125 00000000 1 125 00000000 pass -0 452 00000000 0 452 00000000 pass -1 483 00000000 1 483 00000000 pass -0 23 00000000 0 23 00000000 pass -1 6 17000000 1 6 17000000 pass -0 148 00000000 0 148 00000000 pass -1 288 00000000 1 288 00000000 pass -0 150 00000000 0 150 00000000 pass -1 254 00000000 1 254 00000000 pass -0 54 00000000 0 54 00000000 pass -1 391 00000000 1 391 00000000 pass -0 469 00000000 0 469 00000000 pass -1 426 00000000 1 426 00000000 pass -0 377 00000000 0 377 00000000 pass -1 306 00000000 1 306 00000000 pass -0 304 00000000 0 304 00000000 pass -1 240 00000000 1 240 00000000 pass -0 427 00000000 0 427 00000000 pass -1 382 00000000 1 382 00000000 pass -0 44 17fe002f 0 44 17fe002f pass -1 352 00000000 1 352 00000000 pass -0 321 17fe002f 0 321 17fe002f pass -1 333 00000000 1 333 00000000 pass -0 419 00000000 0 419 00000000 pass -1 509 00000000 1 509 00000000 pass -0 391 00000000 0 391 00000000 pass -1 44 00000000 1 44 00000000 pass -0 56 00000000 0 56 00000000 pass -1 473 00000000 1 473 00000000 pass -0 246 00000000 0 246 00000000 pass -1 58 00000000 1 58 00000000 pass -0 248 00000000 0 248 00000000 pass -1 389 00000000 1 389 00000000 pass -0 173 00000000 0 173 00000000 pass -1 433 00000000 1 433 00000000 pass -0 277 00000000 0 277 00000000 pass -1 433 00000000 1 433 00000000 pass -0 201 00000000 0 201 00000000 pass -1 414 00000000 1 414 00000000 pass -0 304 00000000 0 304 00000000 pass -1 459 9b000036 1 459 9b000036 pass -0 71 00000000 0 71 00000000 pass -1 374 9b000036 1 374 9b000036 pass -0 466 00000000 0 466 00000000 pass -1 348 00000000 1 348 00000000 pass -0 292 00000000 0 292 00000000 pass -1 7 00000000 1 7 00000000 pass -0 295 00000000 0 295 00000000 pass -1 364 00000000 1 364 00000000 pass -0 467 00000000 0 467 00000000 pass -1 306 00000000 1 306 00000000 pass -0 497 00000000 0 497 00000000 pass -1 504 00000000 1 504 00000000 pass -0 406 00000000 0 406 00000000 pass -1 23 00000000 1 23 00000000 pass -0 100 00000000 0 100 00000000 pass -1 213 00000000 1 213 00000000 pass -0 131 00000000 0 131 00000000 pass -1 170 00000000 1 170 00000000 pass -0 434 00000000 0 434 00000000 pass -1 128 00000000 1 128 00000000 pass -0 104 00000000 0 104 00000000 pass -1 232 00000000 1 232 00000000 pass -0 472 00495300 0 472 00495300 pass -1 200 00000000 1 200 00000000 pass -0 368 00495300 0 368 00495300 pass -1 243 00000000 1 243 00000000 pass -0 182 00495300 0 182 00495300 pass -1 65 00000000 1 65 00000000 pass -0 277 00495300 0 277 00495300 pass -1 291 00000000 1 291 00000000 pass -0 479 00495300 0 479 00495300 pass -1 181 00000000 1 181 00000000 pass -0 434 00495300 0 434 00495300 pass -1 384 00000000 1 384 00000000 pass -0 308 00000000 0 308 00000000 pass -1 244 00000000 1 244 00000000 pass -0 378 00000000 0 378 00000000 pass -1 469 00000000 1 469 00000000 pass -0 370 00000000 0 370 00000000 pass -1 248 00000000 1 248 00000000 pass -0 218 00000000 0 218 00000000 pass -1 197 00000000 1 197 00000000 pass -0 364 00000000 0 364 00000000 pass -1 108 00000000 1 108 00000000 pass -0 263 00000000 0 263 00000000 pass -1 400 00000000 1 400 00000000 pass -0 504 00000000 0 504 00000000 pass -1 175 00000000 1 175 00000000 pass -0 480 00000000 0 480 00000000 pass -1 434 00000000 1 434 00000000 pass -0 103 00000000 0 103 00000000 pass -1 318 00000000 1 318 00000000 pass -0 164 00000000 0 164 00000000 pass -1 470 00000000 1 470 00000000 pass -0 143 00000000 0 143 00000000 pass -1 77 00000000 1 77 00000000 pass -0 4 00000000 0 4 00000000 pass -1 215 00000000 1 215 00000000 pass -0 207 00000000 0 207 00000000 pass -1 332 0000cfdd 1 332 0000cfdd pass -0 436 00000000 0 436 00000000 pass -1 100 00000000 1 100 00000000 pass -0 330 00000000 0 330 00000000 pass -1 401 00000000 1 401 00000000 pass -0 181 00000000 0 181 00000000 pass -1 365 00000000 1 365 00000000 pass -0 481 00000000 0 481 00000000 pass -1 148 00000000 1 148 00000000 pass -0 480 00000000 0 480 00000000 pass -1 336 00000000 1 336 00000000 pass -0 59 00000000 0 59 00000000 pass -1 270 9ac1ca35 1 270 9ac1ca35 pass -0 246 00000000 0 246 00000000 pass -1 25 00000000 1 25 00000000 pass -0 72 00000000 0 72 00000000 pass -1 53 00000000 1 53 00000000 pass -0 252 00000000 0 252 00000000 pass -1 154 00000000 1 154 00000000 pass -0 432 00000000 0 432 00000000 pass -1 233 00000000 1 233 00000000 pass -0 95 00000000 0 95 00000000 pass -1 164 00000000 1 164 00000000 pass -0 486 00000000 0 486 00000000 pass -1 269 00000000 1 269 00000000 pass -0 475 00000000 0 475 00000000 pass -1 298 00000000 1 298 00000000 pass -0 160 00000000 0 160 00000000 pass -1 491 00000000 1 491 00000000 pass -0 296 00000000 0 296 00000000 pass -1 380 00000000 1 380 00000000 pass -0 333 00000000 0 333 00000000 pass -1 217 00000000 1 217 00000000 pass -0 67 00000000 0 67 00000000 pass -1 187 00000000 1 187 00000000 pass -0 404 00000000 0 404 00000000 pass -1 425 00000000 1 425 00000000 pass -0 93 00000000 0 93 00000000 pass -1 319 00000000 1 319 00000000 pass -0 251 00000000 0 251 00000000 pass -1 57 00000000 1 57 00000000 pass -0 473 00000000 0 473 00000000 pass -1 473 00000000 1 473 00000000 pass -0 9 00000000 0 9 00000000 pass -1 456 00000000 1 456 00000000 pass -0 183 00000000 0 183 00000000 pass -1 21 00000000 1 21 00000000 pass -0 25 00000000 0 25 00000000 pass -1 400 00000000 1 400 00000000 pass -0 329 00000000 0 329 00000000 pass -1 83 00000000 1 83 00000000 pass -0 424 0000c700 0 424 0000c700 pass -1 34 00000000 1 34 00000000 pass -0 35 0000c700 0 35 0000c700 pass -1 45 00000000 1 45 00000000 pass -0 461 0000c700 0 461 0000c700 pass -1 19 00000000 1 19 00000000 pass -0 113 0000c700 0 113 0000c700 pass -1 73 00000000 1 73 00000000 pass -0 67 00000000 0 67 00000000 pass -1 231 00000000 1 231 00000000 pass -0 386 00000000 0 386 00000000 pass -1 25 00000000 1 25 00000000 pass -0 465 00000000 0 465 00000000 pass -1 511 00000000 1 511 00000000 pass -0 471 00000000 0 471 00000000 pass -1 332 00000000 1 332 00000000 pass -0 248 00000000 0 248 00000000 pass -1 350 00000000 1 350 00000000 pass -0 424 00000000 0 424 00000000 pass -1 340 00000000 1 340 00000000 pass -0 130 00008d85 0 130 00008d85 pass -1 89 00000000 1 89 00000000 pass -0 305 c0d54c81 0 305 c0d54c81 pass -1 162 00000000 1 162 00000000 pass -0 103 00000000 0 103 00000000 pass -1 379 00000000 1 379 00000000 pass -0 33 00000000 0 33 00000000 pass -1 195 00000000 1 195 00000000 pass -0 504 00000000 0 504 00000000 pass -1 26 00000000 1 26 00000000 pass -0 79 00000000 0 79 00000000 pass -1 299 00000000 1 299 00000000 pass -0 355 00000000 0 355 00000000 pass -1 482 00000000 1 482 00000000 pass -0 460 00000000 0 460 00000000 pass -1 101 00000000 1 101 00000000 pass -0 357 00000000 0 357 00000000 pass -1 62 00000000 1 62 00000000 pass -0 285 e80000d1 0 285 e80000d1 pass -1 249 00000000 1 249 00000000 pass -0 254 00000000 0 254 00000000 pass -1 400 00000000 1 400 00000000 pass -0 192 00000000 0 192 00000000 pass -1 275 00000000 1 275 00000000 pass -0 338 00000000 0 338 00000000 pass -1 394 00000000 1 394 00000000 pass -0 288 00000000 0 288 00000000 pass -1 34 00000000 1 34 00000000 pass -0 107 00000000 0 107 00000000 pass -1 453 00000000 1 453 00000000 pass -0 162 00000000 0 162 00000000 pass -1 135 00000000 1 135 00000000 pass -0 242 00000000 0 242 00000000 pass -1 131 00000000 1 131 00000000 pass -0 20 00000000 0 20 00000000 pass -1 462 00000000 1 462 00000000 pass -0 131 00000000 0 131 00000000 pass -1 91 00000000 1 91 00000000 pass -0 468 00000000 0 468 00000000 pass -1 368 00000000 1 368 00000000 pass -0 33 00000000 0 33 00000000 pass -1 370 00006900 1 370 00006900 pass -0 278 00000000 0 278 00000000 pass -1 13 00000000 1 13 00000000 pass -0 111 00000000 0 111 00000000 pass -1 52 0000c100 1 52 0000c100 pass -0 410 00000000 0 410 00000000 pass -1 238 0000c100 1 238 0000c100 pass -0 327 00000000 0 327 00000000 pass -1 487 0000c100 1 487 0000c100 pass -0 266 00000000 0 266 00000000 pass -1 127 00000000 1 127 00000000 pass -0 75 00000000 0 75 00000000 pass -1 230 00000000 1 230 00000000 pass -0 184 00000000 0 184 00000000 pass -1 39 00000000 1 39 00000000 pass -0 446 00000000 0 446 00000000 pass -1 149 00000000 1 149 00000000 pass -0 139 00000000 0 139 00000000 pass -1 333 00000000 1 333 00000000 pass -0 59 00000000 0 59 00000000 pass -1 73 00000000 1 73 00000000 pass -0 392 00000000 0 392 00000000 pass -1 75 00000000 1 75 00000000 pass -0 232 00000000 0 232 00000000 pass -1 0 00000000 1 0 00000000 pass -0 306 00000000 0 306 00000000 pass -1 396 00000000 1 396 00000000 pass -0 457 00000000 0 457 00000000 pass -1 26 00000000 1 26 00000000 pass -0 36 00000000 0 36 00000000 pass -1 206 00000000 1 206 00000000 pass -0 408 00000000 0 408 00000000 pass -1 472 00000000 1 472 00000000 pass -0 375 00000000 0 375 00000000 pass -1 380 00000000 1 380 00000000 pass -0 259 00000000 0 259 00000000 pass -1 331 00000000 1 331 00000000 pass -0 143 00000000 0 143 00000000 pass -1 281 00000000 1 281 00000000 pass -0 248 00000000 0 248 00000000 pass -1 110 00000000 1 110 00000000 pass -0 502 00000000 0 502 00000000 pass -1 192 00000000 1 192 00000000 pass -0 52 00000000 0 52 00000000 pass -1 52 00000000 1 52 00000000 pass -0 134 00000000 0 134 00000000 pass -1 131 00000000 1 131 00000000 pass -0 405 00000000 0 405 00000000 pass -1 300 00000000 1 300 00000000 pass -0 97 00000000 0 97 00000000 pass -1 8 00000000 1 8 00000000 pass -0 177 00000000 0 177 00000000 pass -1 74 00000000 1 74 00000000 pass -0 487 00000000 0 487 00000000 pass -1 210 00000000 1 210 00000000 pass -0 187 00000000 0 187 00000000 pass -1 115 00000000 1 115 00000000 pass -0 480 00000000 0 480 00000000 pass -1 317 00000000 1 317 00000000 pass -0 138 00000000 0 138 00000000 pass -1 391 00000000 1 391 00000000 pass -0 62 00000000 0 62 00000000 pass -1 273 00000000 1 273 00000000 pass -0 455 00000000 0 455 00000000 pass -1 206 00000000 1 206 00000000 pass -0 50 00000000 0 50 00000000 pass -1 175 0084000d 1 175 0084000d pass -0 159 00000000 0 159 00000000 pass -1 286 6e3700dc 1 286 6e3700dc pass -0 393 00000000 0 393 00000000 pass -1 511 6e3700dc 1 511 6e3700dc pass -0 140 00000000 0 140 00000000 pass -1 225 00000000 1 225 00000000 pass -0 83 00000000 0 83 00000000 pass -1 352 00000000 1 352 00000000 pass -0 501 00000000 0 501 00000000 pass -1 180 00000000 1 180 00000000 pass -0 432 00000000 0 432 00000000 pass -1 234 00000000 1 234 00000000 pass -0 399 00000000 0 399 00000000 pass -1 239 00000000 1 239 00000000 pass -0 229 00000000 0 229 00000000 pass -1 468 00000000 1 468 00000000 pass -0 173 00000000 0 173 00000000 pass -1 191 00000000 1 191 00000000 pass -0 440 00000000 0 440 00000000 pass -1 296 00000000 1 296 00000000 pass -0 34 9e0d8e3c 0 34 9e0d8e3c pass -1 119 00000000 1 119 00000000 pass -0 52 00000000 0 52 00000000 pass -1 144 00000000 1 144 00000000 pass -0 149 00000000 0 149 00000000 pass -1 46 00000000 1 46 00000000 pass -0 325 00000000 0 325 00000000 pass -1 16 00000000 1 16 00000000 pass -0 26 00000000 0 26 00000000 pass -1 439 00000000 1 439 00000000 pass -0 278 00000000 0 278 00000000 pass -1 185 00000000 1 185 00000000 pass -0 175 00000000 0 175 00000000 pass -1 265 00000000 1 265 00000000 pass -0 104 00000000 0 104 00000000 pass -1 167 00000000 1 167 00000000 pass -0 67 00495300 0 67 00495300 pass -1 146 00000000 1 146 00000000 pass -0 358 00000000 0 358 00000000 pass -1 227 00000000 1 227 00000000 pass -0 156 00000000 0 156 00000000 pass -1 302 00000000 1 302 00000000 pass -0 321 00000000 0 321 00000000 pass -1 465 00000000 1 465 00000000 pass -0 57 00000000 0 57 00000000 pass -1 429 00000000 1 429 00000000 pass -0 118 00000000 0 118 00000000 pass -1 409 00000000 1 409 00000000 pass -0 75 39000000 0 75 39000000 pass -1 467 00000000 1 467 00000000 pass -0 135 39000000 0 135 39000000 pass -1 341 00000000 1 341 00000000 pass -0 463 00000000 0 463 00000000 pass -1 66 00000000 1 66 00000000 pass -0 299 208d0000 0 299 208d0000 pass -1 166 918a0000 1 166 918a0000 pass -0 477 208d0000 0 477 208d0000 pass -1 505 918a0000 1 505 918a0000 pass -0 375 00000000 0 375 00000000 pass -1 360 00000000 1 360 00000000 pass -0 422 00000000 0 422 00000000 pass -1 120 00000000 1 120 00000000 pass -0 282 00000000 0 282 00000000 pass -1 417 00000000 1 417 00000000 pass -0 294 00000000 0 294 00000000 pass -1 367 00000000 1 367 00000000 pass -0 298 00000000 0 298 00000000 pass -1 33 00000000 1 33 00000000 pass -0 43 00000000 0 43 00000000 pass -1 448 00000000 1 448 00000000 pass -0 360 00000000 0 360 00000000 pass -1 459 00000000 1 459 00000000 pass -0 424 00000000 0 424 00000000 pass -1 405 00000000 1 405 00000000 pass -0 236 00000000 0 236 00000000 pass -1 386 00000000 1 386 00000000 pass -0 407 00000000 0 407 00000000 pass -1 8 00000000 1 8 00000000 pass -0 431 00000000 0 431 00000000 pass -1 199 00000000 1 199 00000000 pass -0 382 00000000 0 382 00000000 pass -1 135 00000000 1 135 00000000 pass -0 143 00000000 0 143 00000000 pass -1 123 00000000 1 123 00000000 pass -0 275 00000000 0 275 00000000 pass -1 67 00000000 1 67 00000000 pass -0 194 00000000 0 194 00000000 pass -1 300 00000000 1 300 00000000 pass -0 278 00000000 0 278 00000000 pass -1 207 00000000 1 207 00000000 pass -0 326 00000000 0 326 00000000 pass -1 152 00000000 1 152 00000000 pass -0 195 00000000 0 195 00000000 pass -1 24 00000000 1 24 00000000 pass -0 133 0000000d 0 133 0000000d pass -1 390 00b1140d 1 390 00b1140d pass -0 288 0000000d 0 288 0000000d pass -1 343 00b1140d 1 343 00b1140d pass -0 269 0000000d 0 269 0000000d pass -1 426 00b1140d 1 426 00b1140d pass -0 449 0000000d 0 449 0000000d pass -1 51 00b1140d 1 51 00b1140d pass -0 421 0000000d 0 421 0000000d pass -1 443 00b1140d 1 443 00b1140d pass -0 425 00000000 0 425 00000000 pass -1 173 00000000 1 173 00000000 pass -0 44 00000000 0 44 00000000 pass -1 56 07d7b30f 1 56 07d7b30f pass -0 190 29a35e51 0 190 29a35e51 pass -1 19 00000000 1 19 00000000 pass -0 390 00000000 0 390 00000000 pass -1 117 00000000 1 117 00000000 pass -0 182 000017f7 0 182 000017f7 pass -1 81 00000000 1 81 00000000 pass -0 473 000017f7 0 473 000017f7 pass -1 250 00000000 1 250 00000000 pass -0 381 00000000 0 381 00000000 pass -1 450 00000000 1 450 00000000 pass -0 28 00000000 0 28 00000000 pass -1 386 13000300 1 386 13000300 pass -0 85 00440096 0 85 00440096 pass -1 54 00000000 1 54 00000000 pass -0 124 00000000 0 124 00000000 pass -1 290 00000000 1 290 00000000 pass -0 178 00000000 0 178 00000000 pass -1 349 00000000 1 349 00000000 pass -0 260 00000000 0 260 00000000 pass -1 448 00000000 1 448 00000000 pass -0 388 00000000 0 388 00000000 pass -1 15 00000000 1 15 00000000 pass -0 431 00000000 0 431 00000000 pass -1 204 00000000 1 204 00000000 pass -0 396 00000000 0 396 00000000 pass -1 476 00000000 1 476 00000000 pass -0 156 00000000 0 156 00000000 pass -1 149 00000000 1 149 00000000 pass -0 225 00000000 0 225 00000000 pass -1 420 00000000 1 420 00000000 pass -0 357 00000000 0 357 00000000 pass -1 70 4900fb93 1 70 4900fb93 pass -0 382 e80000d1 0 382 e80000d1 pass -1 499 0000feb6 1 499 0000feb6 pass -0 364 e80000d1 0 364 e80000d1 pass -1 130 0000feb6 1 130 0000feb6 pass -0 377 00000000 0 377 00000000 pass -1 189 b5c65481 1 189 b5c65481 pass -0 350 00000000 0 350 00000000 pass -1 138 00000000 1 138 00000000 pass -0 121 00000000 0 121 00000000 pass -1 385 713fab00 1 385 713fab00 pass -0 414 00000000 0 414 00000000 pass -1 469 713fab00 1 469 713fab00 pass -0 433 9b000036 0 433 9b000036 pass -1 238 00000000 1 238 00000000 pass -0 349 9b000036 0 349 9b000036 pass -1 171 00000000 1 171 00000000 pass -0 309 9b000036 0 309 9b000036 pass -1 370 00000000 1 370 00000000 pass -0 468 00000000 0 468 00000000 pass -1 510 00000000 1 510 00000000 pass -0 420 00000000 0 420 00000000 pass -1 202 00000000 1 202 00000000 pass -0 45 00000000 0 45 00000000 pass -1 377 00000000 1 377 00000000 pass -0 196 00000000 0 196 00000000 pass -1 374 00000000 1 374 00000000 pass -0 34 00000000 0 34 00000000 pass -1 411 00000000 1 411 00000000 pass -0 485 00000000 0 485 00000000 pass -1 439 00000000 1 439 00000000 pass -0 255 00000000 0 255 00000000 pass -1 45 00000000 1 45 00000000 pass -0 505 00000000 0 505 00000000 pass -1 125 00000000 1 125 00000000 pass -0 367 00000000 0 367 00000000 pass -1 182 00000000 1 182 00000000 pass -0 265 00000000 0 265 00000000 pass -1 269 00000000 1 269 00000000 pass -0 39 e700bc02 0 39 e700bc02 pass -1 99 00000000 1 99 00000000 pass -0 239 e700bc02 0 239 e700bc02 pass -1 91 00000000 1 91 00000000 pass -0 273 00000000 0 273 00000000 pass -1 66 2500184a 1 66 2500184a pass -0 482 00000000 0 482 00000000 pass -1 153 918a0000 1 153 918a0000 pass -0 449 00000000 0 449 00000000 pass -1 286 918a0000 1 286 918a0000 pass -0 55 0086199d 0 55 0086199d pass -1 129 00000000 1 129 00000000 pass -0 476 0086199d 0 476 0086199d pass -1 358 00000000 1 358 00000000 pass -0 471 00000000 0 471 00000000 pass -1 63 00000000 1 63 00000000 pass -0 67 00000000 0 67 00000000 pass -1 49 00000000 1 49 00000000 pass -0 236 00000000 0 236 00000000 pass -1 292 00000000 1 292 00000000 pass -0 381 c4aa2700 0 381 c4aa2700 pass -1 142 00000000 1 142 00000000 pass -0 56 c4aa2700 0 56 c4aa2700 pass -1 466 00000000 1 466 00000000 pass -0 140 00000000 0 140 00000000 pass -1 199 c9686892 1 199 c9686892 pass -0 72 00000000 0 72 00000000 pass -1 473 00000000 1 473 00000000 pass -0 88 00000000 0 88 00000000 pass -1 477 00000000 1 477 00000000 pass -0 255 00000000 0 255 00000000 pass -1 472 00000000 1 472 00000000 pass -0 109 00000000 0 109 00000000 pass -1 341 00000100 1 341 00000100 pass -0 232 00000000 0 232 00000000 pass -1 487 00000000 1 487 00000000 pass -0 449 00000000 0 449 00000000 pass -1 502 00000000 1 502 00000000 pass -0 227 0086199d 0 227 0086199d pass -1 340 00000000 1 340 00000000 pass -0 57 0086199d 0 57 0086199d pass -1 200 00000000 1 200 00000000 pass -0 359 00000003 0 359 00000003 pass -1 86 4500f2e2 1 86 4500f2e2 pass -0 462 00000000 0 462 00000000 pass -1 437 00000000 1 437 00000000 pass -0 34 00000000 0 34 00000000 pass -1 76 00000000 1 76 00000000 pass -0 366 00000000 0 366 00000000 pass -1 32 00000000 1 32 00000000 pass -0 375 00000000 0 375 00000000 pass -1 277 00000000 1 277 00000000 pass -0 391 00000000 0 391 00000000 pass -1 206 00000000 1 206 00000000 pass -0 242 00000000 0 242 00000000 pass -1 45 00000000 1 45 00000000 pass -0 486 00000000 0 486 00000000 pass -1 348 9c086a00 1 348 9c086a00 pass -0 24 00000000 0 24 00000000 pass -1 32 00000000 1 32 00000000 pass -0 458 00b1140d 0 458 00b1140d pass -1 237 02000004 1 237 02000004 pass -0 495 00b1140d 0 495 00b1140d pass -1 170 02000004 1 170 02000004 pass -0 183 00000000 0 183 00000000 pass -1 493 00000000 1 493 00000000 pass -0 294 00000000 0 294 00000000 pass -1 273 00000000 1 273 00000000 pass -0 160 00e40000 0 160 00e40000 pass -1 78 00000000 1 78 00000000 pass -0 141 00000000 0 141 00000000 pass -1 345 0063a400 1 345 0063a400 pass -0 303 2f006300 0 303 2f006300 pass -1 120 00000000 1 120 00000000 pass -0 474 2f006300 0 474 2f006300 pass -1 255 00000000 1 255 00000000 pass -0 72 2f006300 0 72 2f006300 pass -1 97 00000000 1 97 00000000 pass -0 209 00201c56 0 209 00201c56 pass -1 405 00000000 1 405 00000000 pass -0 9 00000000 0 9 00000000 pass -1 314 00000000 1 314 00000000 pass -0 355 00000000 0 355 00000000 pass -1 32 00000000 1 32 00000000 pass -0 205 00000000 0 205 00000000 pass -1 124 00000000 1 124 00000000 pass -0 346 00000000 0 346 00000000 pass -1 492 00000000 1 492 00000000 pass -0 76 00000000 0 76 00000000 pass -1 460 00000000 1 460 00000000 pass -0 77 00000000 0 77 00000000 pass -1 509 00000000 1 509 00000000 pass -0 101 00000000 0 101 00000000 pass -1 35 00000000 1 35 00000000 pass -0 8 00000000 0 8 00000000 pass -1 421 85000000 1 421 85000000 pass -0 253 00000000 0 253 00000000 pass -1 147 00000000 1 147 00000000 pass -0 205 00000000 0 205 00000000 pass -1 193 ef184a00 1 193 ef184a00 pass -0 95 00000000 0 95 00000000 pass -1 501 00000000 1 501 00000000 pass -0 319 00000000 0 319 00000000 pass -1 161 00000000 1 161 00000000 pass -0 3 00000000 0 3 00000000 pass -1 420 00000000 1 420 00000000 pass -0 425 00000000 0 425 00000000 pass -1 364 4900fb93 1 364 4900fb93 pass -0 499 00000000 0 499 00000000 pass -1 438 00000000 1 438 00000000 pass -0 283 00000000 0 283 00000000 pass -1 290 00000000 1 290 00000000 pass -0 110 00000000 0 110 00000000 pass -1 100 00000000 1 100 00000000 pass -0 222 00000000 0 222 00000000 pass -1 100 00c8c800 1 100 00c8c800 pass -0 434 00000000 0 434 00000000 pass -1 406 00c8c800 1 406 00c8c800 pass -0 394 00000000 0 394 00000000 pass -1 195 00000000 1 195 00000000 pass -0 391 0000e100 0 391 0000e100 pass -1 169 0000000d 1 169 0000000d pass -0 160 0000e100 0 160 0000e100 pass -1 332 0000000d 1 332 0000000d pass -0 484 00000000 0 484 00000000 pass -1 36 00000000 1 36 00000000 pass -0 431 00000000 0 431 00000000 pass -1 290 00000000 1 290 00000000 pass -0 453 00000000 0 453 00000000 pass -1 426 00000000 1 426 00000000 pass -0 251 00000000 0 251 00000000 pass -1 122 00000000 1 122 00000000 pass -0 406 00000000 0 406 00000000 pass -1 6 00000000 1 6 00000000 pass -0 118 00000000 0 118 00000000 pass -1 129 00000000 1 129 00000000 pass -0 44 39000000 0 44 39000000 pass -1 130 00000000 1 130 00000000 pass -0 405 29a35e51 0 405 29a35e51 pass -1 13 b5c65481 1 13 b5c65481 pass -0 420 00000000 0 420 00000000 pass -1 505 0000c100 1 505 0000c100 pass -0 446 00000000 0 446 00000000 pass -1 2 0000c100 1 2 0000c100 pass -0 26 00000000 0 26 00000000 pass -1 392 0000c100 1 392 0000c100 pass -0 224 00000000 0 224 00000000 pass -1 494 0000c100 1 494 0000c100 pass -0 138 00000000 0 138 00000000 pass -1 285 0000c100 1 285 0000c100 pass -0 269 713fab00 0 269 713fab00 pass -1 147 000000e8 1 147 000000e8 pass -0 262 713fab00 0 262 713fab00 pass -1 343 000000e8 1 343 000000e8 pass -0 320 713fab00 0 320 713fab00 pass -1 442 000000e8 1 442 000000e8 pass -0 319 713fab00 0 319 713fab00 pass -1 284 000000e8 1 284 000000e8 pass -0 38 713fab00 0 38 713fab00 pass -1 331 000000e8 1 331 000000e8 pass -0 326 00000000 0 326 00000000 pass -1 434 000000e3 1 434 000000e3 pass -0 109 00000000 0 109 00000000 pass -1 246 00000000 1 246 00000000 pass -0 224 00000000 0 224 00000000 pass -1 301 00000000 1 301 00000000 pass -0 370 27000000 0 370 27000000 pass -1 334 00000000 1 334 00000000 pass -0 90 00000000 0 90 00000000 pass -1 46 31000062 1 46 31000062 pass -0 163 00000000 0 163 00000000 pass -1 373 31000062 1 373 31000062 pass -0 123 00000000 0 123 00000000 pass -1 133 00000000 1 133 00000000 pass -0 421 00000000 0 421 00000000 pass -1 232 08cf1100 1 232 08cf1100 pass -0 198 00000000 0 198 00000000 pass -1 450 00000000 1 450 00000000 pass -0 210 635b00c6 0 210 635b00c6 pass -1 335 13000300 1 335 13000300 pass -0 445 00000000 0 445 00000000 pass -1 46 00000000 1 46 00000000 pass -0 384 00005f71 0 384 00005f71 pass -1 266 0000003d 1 266 0000003d pass -0 256 0000005b 0 256 0000005b pass -1 47 00000000 1 47 00000000 pass -0 112 ca684c94 0 112 ca684c94 pass -1 358 00000000 1 358 00000000 pass -0 198 00000000 0 198 00000000 pass -1 477 00000000 1 477 00000000 pass -0 38 635b00c6 0 38 635b00c6 pass -1 453 00000000 1 453 00000000 pass -0 134 00000000 0 134 00000000 pass -1 358 006de700 1 358 006de700 pass -0 285 00000000 0 285 00000000 pass -1 202 006de700 1 202 006de700 pass -0 250 000000e8 0 250 000000e8 pass -1 196 00000000 1 196 00000000 pass -0 469 00000000 0 469 00000000 pass -1 503 00000000 1 503 00000000 pass -0 403 00000000 0 403 00000000 pass -1 197 00000000 1 197 00000000 pass -0 445 00000000 0 445 00000000 pass -1 247 2f9077cd 1 247 2f9077cd pass -0 5 00005f71 0 5 00005f71 pass -1 238 00000292 1 238 00000292 pass -0 129 00000000 0 129 00000000 pass -1 462 00000000 1 462 00000000 pass -0 394 00000000 0 394 00000000 pass -1 372 00000000 1 372 00000000 pass -0 41 0000e100 0 41 0000e100 pass -1 70 00000000 1 70 00000000 pass -0 487 0000e100 0 487 0000e100 pass -1 296 00000000 1 296 00000000 pass -0 305 0000e100 0 305 0000e100 pass -1 324 00000000 1 324 00000000 pass -0 403 0000e100 0 403 0000e100 pass -1 158 00000000 1 158 00000000 pass -0 42 0000e100 0 42 0000e100 pass -1 385 00000000 1 385 00000000 pass -0 72 0000e100 0 72 0000e100 pass -1 259 00000000 1 259 00000000 pass -0 131 0000e100 0 131 0000e100 pass -1 327 00000000 1 327 00000000 pass -0 121 0000e100 0 121 0000e100 pass -1 475 00000000 1 475 00000000 pass -0 485 00000000 0 485 00000000 pass -1 259 00000000 1 259 00000000 pass -0 231 00000000 0 231 00000000 pass -1 500 00000000 1 500 00000000 pass -0 65 00000000 0 65 00000000 pass -1 428 00000000 1 428 00000000 pass -0 86 36a4f800 0 86 36a4f800 pass -1 395 00000000 1 395 00000000 pass -0 340 36a4f800 0 340 36a4f800 pass -1 329 00000000 1 329 00000000 pass -0 89 00000000 0 89 00000000 pass -1 30 0000c700 1 30 0000c700 pass -0 367 00000000 0 367 00000000 pass -1 401 00000000 1 401 00000000 pass -0 2 00000000 0 2 00000000 pass -1 112 00000000 1 112 00000000 pass -0 7 00000000 0 7 00000000 pass -1 89 00000000 1 89 00000000 pass -0 503 00000000 0 503 00000000 pass -1 201 00000000 1 201 00000000 pass -0 447 00000000 0 447 00000000 pass -1 360 00000000 1 360 00000000 pass -0 486 f8005ef0 0 486 f8005ef0 pass -1 323 00000000 1 323 00000000 pass -0 445 00000000 0 445 00000000 pass -1 237 00000000 1 237 00000000 pass -0 302 00000000 0 302 00000000 pass -1 17 00000000 1 17 00000000 pass -0 202 00000000 0 202 00000000 pass -1 319 00000000 1 319 00000000 pass -0 294 00000000 0 294 00000000 pass -1 163 00000000 1 163 00000000 pass -0 23 00e40000 0 23 00e40000 pass -1 457 00000000 1 457 00000000 pass -0 11 00e40000 0 11 00e40000 pass -1 216 00000000 1 216 00000000 pass -0 250 eb780000 0 250 eb780000 pass -1 376 00000000 1 376 00000000 pass -0 439 00000000 0 439 00000000 pass -1 260 00000000 1 260 00000000 pass -0 254 ab570000 0 254 ab570000 pass -1 289 00000000 1 289 00000000 pass -0 58 00000000 0 58 00000000 pass -1 376 00000000 1 376 00000000 pass -0 405 00000000 0 405 00000000 pass -1 407 00000000 1 407 00000000 pass -0 356 00000000 0 356 00000000 pass -1 15 00000000 1 15 00000000 pass -0 221 00000000 0 221 00000000 pass -1 375 00000000 1 375 00000000 pass -0 336 383a9170 0 336 383a9170 pass -1 333 dc0000b9 1 333 dc0000b9 pass -0 187 9ac1ca35 0 187 9ac1ca35 pass -1 79 00000000 1 79 00000000 pass -0 325 00000000 0 325 00000000 pass -1 18 00000000 1 18 00000000 pass -0 365 00000000 0 365 00000000 pass -1 221 000000ee 1 221 000000ee pass -0 156 f3000000 0 156 f3000000 pass -1 144 383a9170 1 144 383a9170 pass -0 480 cadc0095 0 480 cadc0095 pass -1 367 00000000 1 367 00000000 pass -0 191 00000000 0 191 00000000 pass -1 491 00000000 1 491 00000000 pass -0 297 00000000 0 297 00000000 pass -1 253 2600001d 1 253 2600001d pass -0 78 00000000 0 78 00000000 pass -1 407 2600001d 1 407 2600001d pass -0 135 00000000 0 135 00000000 pass -1 484 2600001d 1 484 2600001d pass -0 133 00000000 0 133 00000000 pass -1 282 00000000 1 282 00000000 pass -0 277 00000000 0 277 00000000 pass -1 472 00000000 1 472 00000000 pass -0 309 00000000 0 309 00000000 pass -1 500 00000000 1 500 00000000 pass -0 193 00000000 0 193 00000000 pass -1 361 00000000 1 361 00000000 pass -0 425 00000000 0 425 00000000 pass -1 346 00000000 1 346 00000000 pass -0 7 00000000 0 7 00000000 pass -1 156 00240079 1 156 00240079 pass -0 488 e100f2c3 0 488 e100f2c3 pass -1 400 cadc0095 1 400 cadc0095 pass -0 72 e100f2c3 0 72 e100f2c3 pass -1 284 cadc0095 1 284 cadc0095 pass -0 70 e100f2c3 0 70 e100f2c3 pass -1 114 cadc0095 1 114 cadc0095 pass -0 21 00b03581 0 21 00b03581 pass -1 374 0000a900 1 374 0000a900 pass -0 403 0000cf36 0 403 0000cf36 pass -1 306 00000000 1 306 00000000 pass -0 166 0000cf36 0 166 0000cf36 pass -1 401 00000000 1 401 00000000 pass -0 202 0fb9001f 0 202 0fb9001f pass -1 156 00ef0000 1 156 00ef0000 pass -0 73 0fb9001f 0 73 0fb9001f pass -1 216 00ef0000 1 216 00ef0000 pass -0 61 00000000 0 61 00000000 pass -1 393 00000000 1 393 00000000 pass -0 79 00000000 0 79 00000000 pass -1 152 00000000 1 152 00000000 pass -0 101 00000000 0 101 00000000 pass -1 313 00000000 1 313 00000000 pass -0 90 00000000 0 90 00000000 pass -1 8 00000000 1 8 00000000 pass -0 454 00000000 0 454 00000000 pass -1 325 00000000 1 325 00000000 pass -0 13 00000000 0 13 00000000 pass -1 87 00000000 1 87 00000000 pass -0 169 0000c100 0 169 0000c100 pass -1 290 00000000 1 290 00000000 pass -0 370 0000c100 0 370 0000c100 pass -1 106 00000000 1 106 00000000 pass -0 105 0000002e 0 105 0000002e pass -1 48 00000000 1 48 00000000 pass -0 442 0000002e 0 442 0000002e pass -1 225 00000000 1 225 00000000 pass -0 486 00000000 0 486 00000000 pass -1 348 00000000 1 348 00000000 pass -0 195 00000000 0 195 00000000 pass -1 112 00000000 1 112 00000000 pass -0 270 00000000 0 270 00000000 pass -1 239 00000000 1 239 00000000 pass -0 150 00000000 0 150 00000000 pass -1 241 00000000 1 241 00000000 pass -0 313 00000000 0 313 00000000 pass -1 122 e19900c3 1 122 e19900c3 pass -0 6 00000000 0 6 00000000 pass -1 144 e19900c3 1 144 e19900c3 pass -0 295 00000000 0 295 00000000 pass -1 88 e19900c3 1 88 e19900c3 pass -0 313 00000000 0 313 00000000 pass -1 503 e19900c3 1 503 e19900c3 pass -0 241 00000000 0 241 00000000 pass -1 113 00000000 1 113 00000000 pass -0 405 00000000 0 405 00000000 pass -1 43 00000000 1 43 00000000 pass -0 368 00000000 0 368 00000000 pass -1 243 00000000 1 243 00000000 pass -0 122 00006900 0 122 00006900 pass -1 277 00000000 1 277 00000000 pass -0 315 00000000 0 315 00000000 pass -1 37 00000000 1 37 00000000 pass -0 310 00000000 0 310 00000000 pass -1 461 00000000 1 461 00000000 pass -0 81 00000000 0 81 00000000 pass -1 167 00000000 1 167 00000000 pass -0 54 00000000 0 54 00000000 pass -1 61 e2000000 1 61 e2000000 pass -0 167 00000000 0 167 00000000 pass -1 382 00000000 1 382 00000000 pass -0 93 e2000000 0 93 e2000000 pass -1 434 00000000 1 434 00000000 pass -0 36 00000000 0 36 00000000 pass -1 41 00000000 1 41 00000000 pass -0 98 00000000 0 98 00000000 pass -1 20 00000000 1 20 00000000 pass -0 398 00000000 0 398 00000000 pass -1 69 00000000 1 69 00000000 pass -0 492 00ba9600 0 492 00ba9600 pass -1 242 00000000 1 242 00000000 pass -0 319 00ba9600 0 319 00ba9600 pass -1 282 00000000 1 282 00000000 pass -0 82 00ba9600 0 82 00ba9600 pass -1 196 00000000 1 196 00000000 pass -0 222 00000000 0 222 00000000 pass -1 406 00000000 1 406 00000000 pass -0 303 00000000 0 303 00000000 pass -1 319 985a4a00 1 319 985a4a00 pass -0 230 00000000 0 230 00000000 pass -1 381 985a4a00 1 381 985a4a00 pass -0 405 00000000 0 405 00000000 pass -1 349 985a4a00 1 349 985a4a00 pass -0 85 00000000 0 85 00000000 pass -1 301 985a4a00 1 301 985a4a00 pass -0 313 00617b9e 0 313 00617b9e pass -1 156 00000000 1 156 00000000 pass -0 15 00617b9e 0 15 00617b9e pass -1 113 00000000 1 113 00000000 pass -0 339 00000000 0 339 00000000 pass -1 252 18280030 1 252 18280030 pass -0 438 00000000 0 438 00000000 pass -1 346 00000000 1 346 00000000 pass -0 318 00b9b6b4 0 318 00b9b6b4 pass -1 501 00240079 1 501 00240079 pass -0 41 00000000 0 41 00000000 pass -1 454 007f2200 1 454 007f2200 pass -0 150 00000000 0 150 00000000 pass -1 83 007f2200 1 83 007f2200 pass -0 510 00000000 0 510 00000000 pass -1 471 00000000 1 471 00000000 pass -0 34 00000000 0 34 00000000 pass -1 260 00000000 1 260 00000000 pass -0 444 00000000 0 444 00000000 pass -1 374 00000000 1 374 00000000 pass -0 356 00000000 0 356 00000000 pass -1 445 00000000 1 445 00000000 pass -0 279 00d0ca6f 0 279 00d0ca6f pass -1 350 00005f71 1 350 00005f71 pass -0 219 00d0ca6f 0 219 00d0ca6f pass -1 354 00005f71 1 354 00005f71 pass -0 36 00d0ca6f 0 36 00d0ca6f pass -1 381 00005f71 1 381 00005f71 pass -0 18 00d0ca6f 0 18 00d0ca6f pass -1 399 00005f71 1 399 00005f71 pass -0 45 00d0ca6f 0 45 00d0ca6f pass -1 303 00005f71 1 303 00005f71 pass -0 206 9c086a00 0 206 9c086a00 pass -1 54 df000000 1 54 df000000 pass -0 296 9c086a00 0 296 9c086a00 pass -1 40 df000000 1 40 df000000 pass -0 443 fa004e00 0 443 fa004e00 pass -1 441 47670000 1 441 47670000 pass -0 6 de000000 0 6 de000000 pass -1 356 00000000 1 356 00000000 pass -0 213 de000000 0 213 de000000 pass -1 357 00000000 1 357 00000000 pass -0 201 00000000 0 201 00000000 pass -1 88 e80000d1 1 88 e80000d1 pass -0 57 00000000 0 57 00000000 pass -1 379 e80000d1 1 379 e80000d1 pass -0 136 00000000 0 136 00000000 pass -1 72 e80000d1 1 72 e80000d1 pass -0 272 00000000 0 272 00000000 pass -1 166 e80000d1 1 166 e80000d1 pass -0 248 00000000 0 248 00000000 pass -1 195 0fb9001f 1 195 0fb9001f pass -0 413 00000000 0 413 00000000 pass -1 321 0000000d 1 321 0000000d pass -0 480 00000000 0 480 00000000 pass -1 132 00000000 1 132 00000000 pass -0 304 00000000 0 304 00000000 pass -1 115 00000000 1 115 00000000 pass -0 145 00000000 0 145 00000000 pass -1 193 00000000 1 193 00000000 pass -0 112 00000000 0 112 00000000 pass -1 80 00000000 1 80 00000000 pass -0 345 00000000 0 345 00000000 pass -1 363 00000000 1 363 00000000 pass -0 87 00000000 0 87 00000000 pass -1 37 00000000 1 37 00000000 pass -0 85 00000000 0 85 00000000 pass -1 167 00000000 1 167 00000000 pass -0 454 00000000 0 454 00000000 pass -1 379 00000000 1 379 00000000 pass -0 369 00000000 0 369 00000000 pass -1 37 cffb009f 1 37 cffb009f pass -0 327 00000000 0 327 00000000 pass -1 62 cffb009f 1 62 cffb009f pass -0 47 00000000 0 47 00000000 pass -1 307 00000000 1 307 00000000 pass -0 362 00000000 0 362 00000000 pass -1 370 00000000 1 370 00000000 pass -0 31 00000000 0 31 00000000 pass -1 9 00000000 1 9 00000000 pass -0 249 00000000 0 249 00000000 pass -1 308 00000000 1 308 00000000 pass -0 144 00000000 0 144 00000000 pass -1 293 00000000 1 293 00000000 pass -0 43 00000000 0 43 00000000 pass -1 232 fd0cc800 1 232 fd0cc800 pass -0 497 0e082d00 0 497 0e082d00 pass -1 486 00000000 1 486 00000000 pass -0 329 0e082d00 0 329 0e082d00 pass -1 180 00000000 1 180 00000000 pass -0 289 0000c700 0 289 0000c700 pass -1 368 0da3751b 1 368 0da3751b pass -0 408 00000000 0 408 00000000 pass -1 43 00006900 1 43 00006900 pass -0 495 00000000 0 495 00000000 pass -1 397 00006900 1 397 00006900 pass -0 226 00000000 0 226 00000000 pass -1 187 00000000 1 187 00000000 pass -0 416 00000000 0 416 00000000 pass -1 38 00000000 1 38 00000000 pass -0 33 00000000 0 33 00000000 pass -1 343 00000000 1 343 00000000 pass -0 472 00000000 0 472 00000000 pass -1 89 d0015b7f 1 89 d0015b7f pass -0 273 00000100 0 273 00000100 pass -1 366 9654d02d 1 366 9654d02d pass -0 288 00000100 0 288 00000100 pass -1 408 9654d02d 1 408 9654d02d pass -0 2 00000000 0 2 00000000 pass -1 463 00000000 1 463 00000000 pass -0 451 00000000 0 451 00000000 pass -1 265 208d0000 1 265 208d0000 pass -0 415 00000000 0 415 00000000 pass -1 31 208d0000 1 31 208d0000 pass -0 389 00000000 0 389 00000000 pass -1 179 208d0000 1 179 208d0000 pass -0 223 00000000 0 223 00000000 pass -1 300 4bcf0000 1 300 4bcf0000 pass -0 413 00000000 0 413 00000000 pass -1 166 00000000 1 166 00000000 pass -0 104 00000000 0 104 00000000 pass -1 361 00000000 1 361 00000000 pass -0 115 00000000 0 115 00000000 pass -1 295 00000000 1 295 00000000 pass -0 378 00000000 0 378 00000000 pass -1 305 00000f00 1 305 00000f00 pass -0 161 26fb004d 0 161 26fb004d pass -1 460 00e78532 1 460 00e78532 pass -0 459 26fb004d 0 459 26fb004d pass -1 437 00e78532 1 437 00e78532 pass -0 136 26fb004d 0 136 26fb004d pass -1 351 00e78532 1 351 00e78532 pass -0 104 26fb004d 0 104 26fb004d pass -1 16 00e78532 1 16 00e78532 pass -0 70 00495300 0 70 00495300 pass -1 270 d84b00b0 1 270 d84b00b0 pass -0 161 00b03581 0 161 00b03581 pass -1 308 00000000 1 308 00000000 pass -0 285 00b03581 0 285 00b03581 pass -1 459 00000000 1 459 00000000 pass -0 51 000000e8 0 51 000000e8 pass -1 388 cf38009e 1 388 cf38009e pass -0 421 000000e8 0 421 000000e8 pass -1 208 cf38009e 1 208 cf38009e pass -0 480 00000000 0 480 00000000 pass -1 406 00000000 1 406 00000000 pass -0 91 00000000 0 91 00000000 pass -1 145 00000000 1 145 00000000 pass -0 203 00000000 0 203 00000000 pass -1 256 00000000 1 256 00000000 pass -0 492 00000000 0 492 00000000 pass -1 73 00000000 1 73 00000000 pass -0 405 00000000 0 405 00000000 pass -1 372 00000000 1 372 00000000 pass -0 240 00000000 0 240 00000000 pass -1 30 00000000 1 30 00000000 pass -0 435 00000000 0 435 00000000 pass -1 151 00000000 1 151 00000000 pass -0 486 a400e800 0 486 a400e800 pass -1 267 00000000 1 267 00000000 pass -0 93 a400e800 0 93 a400e800 pass -1 216 00000000 1 216 00000000 pass -0 31 00000000 0 31 00000000 pass -1 171 00000000 1 171 00000000 pass -0 459 00000012 0 459 00000012 pass -1 438 00000000 1 438 00000000 pass -0 12 00000012 0 12 00000012 pass -1 456 00000000 1 456 00000000 pass -0 511 009f5b00 0 511 009f5b00 pass -1 451 00000b4c 1 451 00000b4c pass -0 129 009f5b00 0 129 009f5b00 pass -1 59 00000b4c 1 59 00000b4c pass -0 297 00000000 0 297 00000000 pass -1 115 00000000 1 115 00000000 pass -0 68 0029ce44 0 68 0029ce44 pass -1 163 00000000 1 163 00000000 pass -0 345 0029ce44 0 345 0029ce44 pass -1 286 00000000 1 286 00000000 pass -0 316 0029ce44 0 316 0029ce44 pass -1 20 00000000 1 20 00000000 pass -0 226 7a5a002b 0 226 7a5a002b pass -1 377 001b5a00 1 377 001b5a00 pass -0 449 00000000 0 449 00000000 pass -1 215 00000000 1 215 00000000 pass -0 316 0086199d 0 316 0086199d pass -1 508 0000cfdd 1 508 0000cfdd pass -0 240 7a5a002b 0 240 7a5a002b pass -1 64 00000000 1 64 00000000 pass -0 38 7a5a002b 0 38 7a5a002b pass -1 87 00000000 1 87 00000000 pass -0 271 7a5a002b 0 271 7a5a002b pass -1 249 00000000 1 249 00000000 pass -0 365 00000000 0 365 00000000 pass -1 147 00000000 1 147 00000000 pass -0 299 00000000 0 299 00000000 pass -1 289 00000000 1 289 00000000 pass -0 425 00000000 0 425 00000000 pass -1 327 00000000 1 327 00000000 pass -0 481 00000000 0 481 00000000 pass -1 156 00000000 1 156 00000000 pass -0 101 00000000 0 101 00000000 pass -1 476 00000000 1 476 00000000 pass -0 164 00000000 0 164 00000000 pass -1 156 00000000 1 156 00000000 pass -0 426 00000000 0 426 00000000 pass -1 279 cadc0095 1 279 cadc0095 pass -0 400 00000000 0 400 00000000 pass -1 417 cadc0095 1 417 cadc0095 pass -0 3 00000000 0 3 00000000 pass -1 56 cadc0095 1 56 cadc0095 pass -0 17 00000000 0 17 00000000 pass -1 479 cadc0095 1 479 cadc0095 pass -0 152 9600002d 0 152 9600002d pass -1 358 00000000 1 358 00000000 pass -0 242 9600002d 0 242 9600002d pass -1 252 00000000 1 252 00000000 pass -0 207 00000000 0 207 00000000 pass -1 264 00000000 1 264 00000000 pass -0 211 00000000 0 211 00000000 pass -1 82 00000000 1 82 00000000 pass -0 418 00000000 0 418 00000000 pass -1 212 00000000 1 212 00000000 pass -0 369 00000000 0 369 00000000 pass -1 47 00000000 1 47 00000000 pass -0 257 00000000 0 257 00000000 pass -1 159 00000000 1 159 00000000 pass -0 69 00000000 0 69 00000000 pass -1 442 04000009 1 442 04000009 pass -0 51 00000000 0 51 00000000 pass -1 78 00000000 1 78 00000000 pass -0 262 00000000 0 262 00000000 pass -1 85 0063a400 1 85 0063a400 pass -0 485 00000000 0 485 00000000 pass -1 371 00617b9e 1 371 00617b9e pass -0 506 00000000 0 506 00000000 pass -1 267 00000000 1 267 00000000 pass -0 181 00000000 0 181 00000000 pass -1 31 00000000 1 31 00000000 pass -0 8 00000000 0 8 00000000 pass -1 232 00000000 1 232 00000000 pass -0 471 00cdb8e5 0 471 00cdb8e5 pass -1 252 00000000 1 252 00000000 pass -0 171 00cdb8e5 0 171 00cdb8e5 pass -1 262 00000000 1 262 00000000 pass -0 133 00cdb8e5 0 133 00cdb8e5 pass -1 245 00000000 1 245 00000000 pass -0 368 00cdb8e5 0 368 00cdb8e5 pass -1 39 00000000 1 39 00000000 pass -0 103 00cdb8e5 0 103 00cdb8e5 pass -1 33 00000000 1 33 00000000 pass -0 295 00cdb8e5 0 295 00cdb8e5 pass -1 274 00000000 1 274 00000000 pass -0 127 00000f00 0 127 00000f00 pass -1 115 0782ff00 1 115 0782ff00 pass -0 382 00000f00 0 382 00000f00 pass -1 83 0782ff00 1 83 0782ff00 pass -0 491 00000f00 0 491 00000f00 pass -1 158 0782ff00 1 158 0782ff00 pass -0 507 2600001d 0 507 2600001d pass -1 107 e85e0000 1 107 e85e0000 pass -0 269 2600001d 0 269 2600001d pass -1 130 e85e0000 1 130 e85e0000 pass -0 98 00000000 0 98 00000000 pass -1 143 b5c65481 1 143 b5c65481 pass -0 261 00000000 0 261 00000000 pass -1 78 b5c65481 1 78 b5c65481 pass -0 48 dd0000ba 0 48 dd0000ba pass -1 299 0063a400 1 299 0063a400 pass -0 34 00820000 0 34 00820000 pass -1 17 00000000 1 17 00000000 pass -0 474 00000000 0 474 00000000 pass -1 429 9600002d 1 429 9600002d pass -0 104 00000000 0 104 00000000 pass -1 190 9600002d 1 190 9600002d pass -0 220 00495300 0 220 00495300 pass -1 43 00000000 1 43 00000000 pass -0 255 00500000 0 255 00500000 pass -1 339 0e082d00 1 339 0e082d00 pass -0 97 00000000 0 97 00000000 pass -1 172 83280000 1 172 83280000 pass -0 96 00000000 0 96 00000000 pass -1 241 00000000 1 241 00000000 pass -0 195 00000000 0 195 00000000 pass -1 81 00000000 1 81 00000000 pass -0 317 0000000d 0 317 0000000d pass -1 319 00000000 1 319 00000000 pass -0 488 00000000 0 488 00000000 pass -1 54 00000000 1 54 00000000 pass -0 362 00000000 0 362 00000000 pass -1 187 00000000 1 187 00000000 pass -0 235 00000000 0 235 00000000 pass -1 333 00000000 1 333 00000000 pass -0 491 00000000 0 491 00000000 pass -1 364 00000000 1 364 00000000 pass -0 420 00000000 0 420 00000000 pass -1 476 00000000 1 476 00000000 pass -0 98 4900fb93 0 98 4900fb93 pass -1 164 00000000 1 164 00000000 pass -0 82 4900fb93 0 82 4900fb93 pass -1 329 00000000 1 329 00000000 pass -0 322 4900fb93 0 322 4900fb93 pass -1 230 00000000 1 230 00000000 pass -0 3 00020b00 0 3 00020b00 pass -1 356 00000000 1 356 00000000 pass -0 137 00000000 0 137 00000000 pass -1 170 00d0ca6f 1 170 00d0ca6f pass -0 153 2f002500 0 153 2f002500 pass -1 162 7200fb00 1 162 7200fb00 pass -0 193 00000000 0 193 00000000 pass -1 70 00000000 1 70 00000000 pass -0 325 00000000 0 325 00000000 pass -1 482 00b03581 1 482 00b03581 pass -0 253 00000000 0 253 00000000 pass -1 484 00000000 1 484 00000000 pass -0 235 00000000 0 235 00000000 pass -1 29 00000000 1 29 00000000 pass -0 296 00000000 0 296 00000000 pass -1 139 00000000 1 139 00000000 pass -0 192 fa004e00 0 192 fa004e00 pass -1 500 00000000 1 500 00000000 pass -0 203 00000000 0 203 00000000 pass -1 77 000000d4 1 77 000000d4 pass -0 491 00000000 0 491 00000000 pass -1 436 000000d4 1 436 000000d4 pass -0 308 00000000 0 308 00000000 pass -1 509 000000d4 1 509 000000d4 pass -0 98 0000eb00 0 98 0000eb00 pass -1 480 00000000 1 480 00000000 pass -0 75 0000eb00 0 75 0000eb00 pass -1 445 00000000 1 445 00000000 pass -0 229 00000000 0 229 00000000 pass -1 374 00005f71 1 374 00005f71 pass -0 386 00000000 0 386 00000000 pass -1 431 00005f71 1 431 00005f71 pass -0 370 00000000 0 370 00000000 pass -1 474 00005f71 1 474 00005f71 pass -0 491 0000002e 0 491 0000002e pass -1 103 69ac2e91 1 103 69ac2e91 pass -0 29 0000002e 0 29 0000002e pass -1 395 69ac2e91 1 395 69ac2e91 pass -0 388 0000002e 0 388 0000002e pass -1 471 69ac2e91 1 471 69ac2e91 pass -0 273 00000000 0 273 00000000 pass -1 65 00000000 1 65 00000000 pass -0 7 00000000 0 7 00000000 pass -1 200 36a4f800 1 200 36a4f800 pass -0 368 e100f2c3 0 368 e100f2c3 pass -1 470 4500f2e2 1 470 4500f2e2 pass -0 243 e100f2c3 0 243 e100f2c3 pass -1 141 4500f2e2 1 141 4500f2e2 pass -0 151 00000000 0 151 00000000 pass -1 277 2f006300 1 277 2f006300 pass -0 265 00000000 0 265 00000000 pass -1 113 00000000 1 113 00000000 pass -0 33 47e18d8f 0 33 47e18d8f pass -1 342 18280030 1 342 18280030 pass -0 158 00000000 0 158 00000000 pass -1 55 56fd4b4b 1 55 56fd4b4b pass -0 315 00000000 0 315 00000000 pass -1 370 56fd4b4b 1 370 56fd4b4b pass -0 106 00000000 0 106 00000000 pass -1 148 0000002e 1 148 0000002e pass -0 10 00000000 0 10 00000000 pass -1 174 00000000 1 174 00000000 pass -0 261 00000000 0 261 00000000 pass -1 50 81e300ed 1 50 81e300ed pass -0 34 00000000 0 34 00000000 pass -1 346 81e300ed 1 346 81e300ed pass -0 186 00000000 0 186 00000000 pass -1 178 00240079 1 178 00240079 pass -0 3 00000000 0 3 00000000 pass -1 248 05690000 1 248 05690000 pass -0 165 00000000 0 165 00000000 pass -1 488 05690000 1 488 05690000 pass -0 340 00c30093 0 340 00c30093 pass -1 392 7c43bca2 1 392 7c43bca2 pass -0 106 0000cee6 0 106 0000cee6 pass -1 362 00007400 1 362 00007400 pass -0 203 00000000 0 203 00000000 pass -1 345 00000000 1 345 00000000 pass -0 349 0c000046 0 349 0c000046 pass -1 0 00000000 1 0 00000000 pass -0 415 0c000046 0 415 0c000046 pass -1 172 00000000 1 172 00000000 pass -0 109 0c000046 0 109 0c000046 pass -1 176 00000000 1 176 00000000 pass -0 296 0c000046 0 296 0c000046 pass -1 362 00000000 1 362 00000000 pass -0 468 0c000046 0 468 0c000046 pass -1 201 00000000 1 201 00000000 pass -0 244 0c000046 0 244 0c000046 pass -1 190 00000000 1 190 00000000 pass -0 345 00bd0000 0 345 00bd0000 pass -1 116 00000000 1 116 00000000 pass -0 413 00000000 0 413 00000000 pass -1 499 b4280068 1 499 b4280068 pass -0 332 00000000 0 332 00000000 pass -1 137 b4280068 1 137 b4280068 pass -0 65 00000000 0 65 00000000 pass -1 200 2f002500 1 200 2f002500 pass -0 321 36a4f800 0 321 36a4f800 pass -1 7 4500f2e2 1 7 4500f2e2 pass -0 366 0074b400 0 366 0074b400 pass -1 266 e100f2c3 1 266 e100f2c3 pass -0 451 00000000 0 451 00000000 pass -1 475 00000000 1 475 00000000 pass -0 338 00000000 0 338 00000000 pass -1 216 00000000 1 216 00000000 pass -0 475 00000000 0 475 00000000 pass -1 60 00000000 1 60 00000000 pass -0 68 00000000 0 68 00000000 pass -1 21 00000000 1 21 00000000 pass -0 460 00000000 0 460 00000000 pass -1 456 00000000 1 456 00000000 pass -0 199 00000000 0 199 00000000 pass -1 376 00000000 1 376 00000000 pass -0 43 10000000 0 43 10000000 pass -1 412 00000000 1 412 00000000 pass -0 303 10000000 0 303 10000000 pass -1 450 00000000 1 450 00000000 pass -0 270 10000000 0 270 10000000 pass -1 175 00000000 1 175 00000000 pass -0 410 00000000 0 410 00000000 pass -1 355 6e3700dc 1 355 6e3700dc pass -0 75 00000000 0 75 00000000 pass -1 409 00000000 1 409 00000000 pass -0 343 00000000 0 343 00000000 pass -1 365 00000000 1 365 00000000 pass -0 461 d0015b7f 0 461 d0015b7f pass -1 196 f30000ef 1 196 f30000ef pass -0 329 00a50000 0 329 00a50000 pass -1 453 00000000 1 453 00000000 pass -0 392 0000c700 0 392 0000c700 pass -1 310 006de700 1 310 006de700 pass -0 32 00007400 0 32 00007400 pass -1 273 00e0007d 1 273 00e0007d pass -0 347 00007400 0 347 00007400 pass -1 48 00e0007d 1 48 00e0007d pass -0 296 00000000 0 296 00000000 pass -1 213 00820000 1 213 00820000 pass -0 114 fa004e00 0 114 fa004e00 pass -1 239 00000000 1 239 00000000 pass -0 11 fa004e00 0 11 fa004e00 pass -1 53 00000000 1 53 00000000 pass -0 241 eb780000 0 241 eb780000 pass -1 138 00000000 1 138 00000000 pass -0 223 e19900c3 0 223 e19900c3 pass -1 4 713fab00 1 4 713fab00 pass -0 7 00000000 0 7 00000000 pass -1 367 00000000 1 367 00000000 pass -0 278 e100f2c3 0 278 e100f2c3 pass -1 499 00dc0000 1 499 00dc0000 pass -0 443 a2000000 0 443 a2000000 pass -1 210 00bce391 1 210 00bce391 pass -0 417 72e7d700 0 417 72e7d700 pass -1 146 00000000 1 146 00000000 pass -0 168 72e7d700 0 168 72e7d700 pass -1 468 00000000 1 468 00000000 pass -0 235 20437100 0 235 20437100 pass -1 398 00000000 1 398 00000000 pass -0 154 006dd200 0 154 006dd200 pass -1 138 00ba9600 1 138 00ba9600 pass -0 296 006dd200 0 296 006dd200 pass -1 205 00ba9600 1 205 00ba9600 pass -0 247 006dd200 0 247 006dd200 pass -1 11 00ba9600 1 11 00ba9600 pass -0 162 00000292 0 162 00000292 pass -1 173 eb780000 1 173 eb780000 pass -0 368 00000292 0 368 00000292 pass -1 33 eb780000 1 33 eb780000 pass -0 235 00000292 0 235 00000292 pass -1 455 eb780000 1 455 eb780000 pass -0 77 006dd200 0 77 006dd200 pass -1 279 00000000 1 279 00000000 pass -0 351 006dd200 0 351 006dd200 pass -1 441 00000000 1 441 00000000 pass -0 358 4ba68d97 0 358 4ba68d97 pass -1 84 00000000 1 84 00000000 pass -0 437 4ba68d97 0 437 4ba68d97 pass -1 198 00000000 1 198 00000000 pass -0 498 560e0000 0 498 560e0000 pass -1 174 630348c6 1 174 630348c6 pass -0 148 00000000 0 148 00000000 pass -1 113 81e300ed 1 113 81e300ed pass -0 278 00000000 0 278 00000000 pass -1 426 81e300ed 1 426 81e300ed pass -0 262 00000000 0 262 00000000 pass -1 306 81e300ed 1 306 81e300ed pass -0 428 00000000 0 428 00000000 pass -1 291 85158300 1 291 85158300 pass -0 40 00000000 0 40 00000000 pass -1 47 00000000 1 47 00000000 pass -0 254 00000000 0 254 00000000 pass -1 182 00000000 1 182 00000000 pass -0 342 00000000 0 342 00000000 pass -1 344 00000000 1 344 00000000 pass -0 494 56fd4b4b 0 494 56fd4b4b pass -1 493 00ee002b 1 493 00ee002b pass -0 94 1869b82c 0 94 1869b82c pass -1 237 00000000 1 237 00000000 pass -0 35 1869b82c 0 35 1869b82c pass -1 330 00000000 1 330 00000000 pass -0 454 1869b82c 0 454 1869b82c pass -1 442 00000000 1 442 00000000 pass -0 305 00000000 0 305 00000000 pass -1 199 f400a600 1 199 f400a600 pass -0 169 00000000 0 169 00000000 pass -1 409 f400a600 1 409 f400a600 pass -0 79 00000000 0 79 00000000 pass -1 56 f400a600 1 56 f400a600 pass -0 313 00000000 0 313 00000000 pass -1 62 00000000 1 62 00000000 pass -0 425 00000000 0 425 00000000 pass -1 200 41009700 1 200 41009700 pass -0 81 00000000 0 81 00000000 pass -1 431 4500f2e2 1 431 4500f2e2 pass -0 207 00000000 0 207 00000000 pass -1 219 00000000 1 219 00000000 pass -0 107 00000000 0 107 00000000 pass -1 507 00000000 1 507 00000000 pass -0 10 00000000 0 10 00000000 pass -1 88 00000000 1 88 00000000 pass -0 282 00000000 0 282 00000000 pass -1 430 00000000 1 430 00000000 pass -0 29 00000000 0 29 00000000 pass -1 250 00000000 1 250 00000000 pass -0 511 00000000 0 511 00000000 pass -1 504 00000000 1 504 00000000 pass -0 369 00000000 0 369 00000000 pass -1 122 00000000 1 122 00000000 pass -0 450 00000000 0 450 00000000 pass -1 369 00000000 1 369 00000000 pass -0 88 13000300 0 88 13000300 pass -1 321 00000000 1 321 00000000 pass -0 284 a77c7064 0 284 a77c7064 pass -1 157 0074b400 1 157 0074b400 pass -0 37 00000000 0 37 00000000 pass -1 311 00000000 1 311 00000000 pass -0 412 00000000 0 412 00000000 pass -1 230 00000000 1 230 00000000 pass -0 505 00000000 0 505 00000000 pass -1 494 00000000 1 494 00000000 pass -0 153 ac00fe00 0 153 ac00fe00 pass -1 282 1869b82c 1 282 1869b82c pass -0 88 ac00fe00 0 88 ac00fe00 pass -1 179 1869b82c 1 179 1869b82c pass -0 9 a77c7064 0 9 a77c7064 pass -1 319 4bcf0000 1 319 4bcf0000 pass -0 423 00000000 0 423 00000000 pass -1 215 00000000 1 215 00000000 pass -0 60 00000000 0 60 00000000 pass -1 411 0000cfdd 1 411 0000cfdd pass -0 394 00000000 0 394 00000000 pass -1 439 0000cfdd 1 439 0000cfdd pass -0 38 985ae130 0 38 985ae130 pass -1 21 ab570000 1 21 ab570000 pass -0 405 985ae130 0 405 985ae130 pass -1 379 ab570000 1 379 ab570000 pass -0 284 985ae130 0 284 985ae130 pass -1 126 ab570000 1 126 ab570000 pass -0 189 00000000 0 189 00000000 pass -1 42 bd00bc00 1 42 bd00bc00 pass -0 98 00000000 0 98 00000000 pass -1 389 009ef0a5 1 389 009ef0a5 pass -0 84 00000000 0 84 00000000 pass -1 315 009ef0a5 1 315 009ef0a5 pass -0 424 01f7c5db 0 424 01f7c5db pass -1 98 00000000 1 98 00000000 pass -0 282 01f7c5db 0 282 01f7c5db pass -1 351 00000000 1 351 00000000 pass -0 344 00000000 0 344 00000000 pass -1 485 4ba68d97 1 485 4ba68d97 pass -0 123 00ee002b 0 123 00ee002b pass -1 371 5b000000 1 371 5b000000 pass -0 353 00ee002b 0 353 00ee002b pass -1 83 5b000000 1 83 5b000000 pass -0 56 00000000 0 56 00000000 pass -1 402 00000000 1 402 00000000 pass -0 173 00000000 0 173 00000000 pass -1 244 00000000 1 244 00000000 pass -0 15 00000000 0 15 00000000 pass -1 126 00000000 1 126 00000000 pass -0 459 00000000 0 459 00000000 pass -1 210 00000000 1 210 00000000 pass -0 169 00000000 0 169 00000000 pass -1 403 00000000 1 403 00000000 pass -0 46 48270000 0 46 48270000 pass -1 48 00000000 1 48 00000000 pass -0 30 48270000 0 30 48270000 pass -1 117 00000000 1 117 00000000 pass -0 406 00000000 0 406 00000000 pass -1 18 00000000 1 18 00000000 pass -0 237 00000000 0 237 00000000 pass -1 240 00000000 1 240 00000000 pass -0 273 2303a546 0 273 2303a546 pass -1 330 00000000 1 330 00000000 pass -0 95 00000000 0 95 00000000 pass -1 428 00280000 1 428 00280000 pass -0 156 00000000 0 156 00000000 pass -1 287 00280000 1 287 00280000 pass -0 130 cadc0095 0 130 cadc0095 pass -1 151 00000000 1 151 00000000 pass -0 138 cadc0095 0 138 cadc0095 pass -1 311 00000000 1 311 00000000 pass -0 84 713fab00 0 84 713fab00 pass -1 169 00000000 1 169 00000000 pass -0 160 713fab00 0 160 713fab00 pass -1 331 00000000 1 331 00000000 pass -0 49 00000000 0 49 00000000 pass -1 335 000000e3 1 335 000000e3 pass -0 126 00000000 0 126 00000000 pass -1 510 000000e3 1 510 000000e3 pass -0 204 bd00bc00 0 204 bd00bc00 pass -1 189 4c310000 1 189 4c310000 pass -0 114 00000000 0 114 00000000 pass -1 147 00000000 1 147 00000000 pass -0 59 00000000 0 59 00000000 pass -1 243 00000000 1 243 00000000 pass -0 174 00000000 0 174 00000000 pass -1 184 00000000 1 184 00000000 pass -0 40 00000000 0 40 00000000 pass -1 475 00000000 1 475 00000000 pass -0 103 00000000 0 103 00000000 pass -1 346 00000000 1 346 00000000 pass -0 156 4d000000 0 156 4d000000 pass -1 214 00240079 1 214 00240079 pass -0 10 4d000000 0 10 4d000000 pass -1 202 00240079 1 202 00240079 pass -0 352 4d000000 0 352 4d000000 pass -1 481 00240079 1 481 00240079 pass -0 194 000e0000 0 194 000e0000 pass -1 302 00000000 1 302 00000000 pass -0 249 000e0000 0 249 000e0000 pass -1 314 00000000 1 314 00000000 pass -0 391 000e0000 0 391 000e0000 pass -1 240 00000000 1 240 00000000 pass -0 271 00000000 0 271 00000000 pass -1 249 00000000 1 249 00000000 pass -0 1 00000000 0 1 00000000 pass -1 499 00000000 1 499 00000000 pass -0 373 00000000 0 373 00000000 pass -1 318 00bce391 1 318 00bce391 pass -0 309 00000000 0 309 00000000 pass -1 16 00000000 1 16 00000000 pass -0 401 00000000 0 401 00000000 pass -1 46 d84b00b0 1 46 d84b00b0 pass -0 179 00ef0000 0 179 00ef0000 pass -1 38 0000003d 1 38 0000003d pass -0 264 4b2e00e8 0 264 4b2e00e8 pass -1 46 00005d00 1 46 00005d00 pass -0 481 1a8e0035 0 481 1a8e0035 pass -1 362 0000003d 1 362 0000003d pass -0 127 00000000 0 127 00000000 pass -1 242 00000000 1 242 00000000 pass -0 439 00000000 0 439 00000000 pass -1 151 00000000 1 151 00000000 pass -0 383 ab570000 0 383 ab570000 pass -1 162 00000000 1 162 00000000 pass -0 265 00000000 0 265 00000000 pass -1 292 00000000 1 292 00000000 pass -0 385 47e18d8f 0 385 47e18d8f pass -1 426 0011f400 1 426 0011f400 pass -0 411 47e18d8f 0 411 47e18d8f pass -1 332 0011f400 1 332 0011f400 pass -0 220 47e18d8f 0 220 47e18d8f pass -1 325 0011f400 1 325 0011f400 pass -0 115 00500000 0 115 00500000 pass -1 447 00000000 1 447 00000000 pass -0 479 00510000 0 479 00510000 pass -1 241 f8005ef0 1 241 f8005ef0 pass -0 241 00510000 0 241 00510000 pass -1 229 f8005ef0 1 229 f8005ef0 pass -0 295 00510000 0 295 00510000 pass -1 188 f8005ef0 1 188 f8005ef0 pass -0 28 00000f00 0 28 00000f00 pass -1 121 00000000 1 121 00000000 pass -0 423 00000f00 0 423 00000f00 pass -1 186 00000000 1 186 00000000 pass -0 342 00000f00 0 342 00000f00 pass -1 326 00000000 1 326 00000000 pass -0 365 00000f00 0 365 00000f00 pass -1 398 00000000 1 398 00000000 pass -0 217 f30000ef 0 217 f30000ef pass -1 44 00ba9600 1 44 00ba9600 pass -0 229 00000000 0 229 00000000 pass -1 504 29a35eae 1 504 29a35eae pass -0 510 00000000 0 510 00000000 pass -1 455 00000000 1 455 00000000 pass -0 12 00000000 0 12 00000000 pass -1 115 00000000 1 115 00000000 pass -0 366 009f5b00 0 366 009f5b00 pass -1 420 00510000 1 420 00510000 pass -0 206 00000000 0 206 00000000 pass -1 240 4900fb93 1 240 4900fb93 pass -0 127 00c7710d 0 127 00c7710d pass -1 185 00000000 1 185 00000000 pass -0 498 00000000 0 498 00000000 pass -1 246 00a49700 1 246 00a49700 pass -0 347 00000000 0 347 00000000 pass -1 9 00a49700 1 9 00a49700 pass -0 65 00000000 0 65 00000000 pass -1 483 00a49700 1 483 00a49700 pass -0 444 00000000 0 444 00000000 pass -1 392 00a49700 1 392 00a49700 pass -0 501 00000000 0 501 00000000 pass -1 466 00a49700 1 466 00a49700 pass -0 47 007f2200 0 47 007f2200 pass -1 330 8c1bd192 1 330 8c1bd192 pass -0 132 007f2200 0 132 007f2200 pass -1 310 8c1bd192 1 310 8c1bd192 pass -0 139 007f2200 0 139 007f2200 pass -1 65 8c1bd192 1 65 8c1bd192 pass -0 255 007f2200 0 255 007f2200 pass -1 493 8c1bd192 1 493 8c1bd192 pass -0 422 00000000 0 422 00000000 pass -1 41 14000028 1 41 14000028 pass -0 184 00000000 0 184 00000000 pass -1 447 14000028 1 447 14000028 pass -0 290 92000000 0 290 92000000 pass -1 193 f8005ef0 1 193 f8005ef0 pass -0 277 92000000 0 277 92000000 pass -1 95 f8005ef0 1 95 f8005ef0 pass -0 92 92000000 0 92 92000000 pass -1 230 f8005ef0 1 230 f8005ef0 pass -0 468 0000b100 0 468 0000b100 pass -1 349 00000000 1 349 00000000 pass -0 448 0000b100 0 448 0000b100 pass -1 345 00000000 1 345 00000000 pass -0 259 00000000 0 259 00000000 pass -1 363 00000000 1 363 00000000 pass -0 88 00000000 0 88 00000000 pass -1 267 00000000 1 267 00000000 pass -0 153 a77c7064 0 153 a77c7064 pass -1 393 bb213276 1 393 bb213276 pass -0 172 005a3598 0 172 005a3598 pass -1 45 0000b300 1 45 0000b300 pass -0 445 00000000 0 445 00000000 pass -1 463 32fa6a00 1 463 32fa6a00 pass -0 65 00000000 0 65 00000000 pass -1 114 32fa6a00 1 114 32fa6a00 pass -0 114 00000000 0 114 00000000 pass -1 262 32fa6a00 1 262 32fa6a00 pass -0 268 00000000 0 268 00000000 pass -1 24 32fa6a00 1 24 32fa6a00 pass -0 37 00000000 0 37 00000000 pass -1 342 32fa6a00 1 342 32fa6a00 pass -0 372 dca71db9 0 372 dca71db9 pass -1 248 56fd4b4b 1 248 56fd4b4b pass -0 400 00000000 0 400 00000000 pass -1 334 00000000 1 334 00000000 pass -0 412 00000000 0 412 00000000 pass -1 344 00000000 1 344 00000000 pass -0 360 00000000 0 360 00000000 pass -1 281 00000000 1 281 00000000 pass -0 218 00000000 0 218 00000000 pass -1 500 00000000 1 500 00000000 pass -0 64 00000000 0 64 00000000 pass -1 501 00000000 1 501 00000000 pass -0 452 00000000 0 452 00000000 pass -1 468 00000000 1 468 00000000 pass -0 384 00000000 0 384 00000000 pass -1 326 00000000 1 326 00000000 pass -0 432 f500445b 0 432 f500445b pass -1 505 00000000 1 505 00000000 pass -0 217 f500445b 0 217 f500445b pass -1 417 00000000 1 417 00000000 pass -0 299 00000000 0 299 00000000 pass -1 50 a24f9a00 1 50 a24f9a00 pass -0 296 00000000 0 296 00000000 pass -1 493 e518f90e 1 493 e518f90e pass -0 278 fa004e00 0 278 fa004e00 pass -1 225 14000028 1 225 14000028 pass -0 301 fa004e00 0 301 fa004e00 pass -1 442 14000028 1 442 14000028 pass -0 311 00000000 0 311 00000000 pass -1 161 f400a600 1 161 f400a600 pass -0 448 00000000 0 448 00000000 pass -1 424 00680000 1 424 00680000 pass -0 169 00000000 0 169 00000000 pass -1 435 00680000 1 435 00680000 pass -0 476 2827e700 0 476 2827e700 pass -1 385 a400e800 1 385 a400e800 pass -0 400 00000000 0 400 00000000 pass -1 381 7f0000ff 1 381 7f0000ff pass -0 370 52000390 0 370 52000390 pass -1 139 31973863 1 139 31973863 pass -0 499 0000002e 0 499 0000002e pass -1 362 00000000 1 362 00000000 pass -0 386 0000002e 0 386 0000002e pass -1 189 00000000 1 189 00000000 pass -0 43 00000000 0 43 00000000 pass -1 436 00000000 1 436 00000000 pass -0 287 0e082d00 0 287 0e082d00 pass -1 329 e0c500c1 1 329 e0c500c1 pass -0 499 0e082d00 0 499 0e082d00 pass -1 286 e0c500c1 1 286 e0c500c1 pass -0 282 00bce391 0 282 00bce391 pass -1 399 00000000 1 399 00000000 pass -0 229 00000000 0 229 00000000 pass -1 32 00000000 1 32 00000000 pass -0 334 00000000 0 334 00000000 pass -1 498 00000000 1 498 00000000 pass -0 390 00000000 0 390 00000000 pass -1 420 00000000 1 420 00000000 pass -0 129 000017f7 0 129 000017f7 pass -1 175 4900fb93 1 175 4900fb93 pass -0 51 000017f7 0 51 000017f7 pass -1 165 4900fb93 1 165 4900fb93 pass -0 194 43e00087 0 194 43e00087 pass -1 306 00c30093 1 306 00c30093 pass -0 264 00ecbab5 0 264 00ecbab5 pass -1 31 fa158300 1 31 fa158300 pass -0 391 00ecbab5 0 391 00ecbab5 pass -1 172 fa158300 1 172 fa158300 pass -0 501 00ecbab5 0 501 00ecbab5 pass -1 345 fa158300 1 345 fa158300 pass -0 222 00ecbab5 0 222 00ecbab5 pass -1 122 fa158300 1 122 fa158300 pass -0 214 00000000 0 214 00000000 pass -1 146 0000aca4 1 146 0000aca4 pass -0 364 0000bd00 0 364 0000bd00 pass -1 85 00000000 1 85 00000000 pass -0 236 005e29b6 0 236 005e29b6 pass -1 393 00617b9e 1 393 00617b9e pass -0 377 c4aa2700 0 377 c4aa2700 pass -1 247 0000b300 1 247 0000b300 pass -0 28 00000000 0 28 00000000 pass -1 254 00000292 1 254 00000292 pass -0 61 37440096 0 61 37440096 pass -1 507 00000000 1 507 00000000 pass -0 226 00000000 0 226 00000000 pass -1 460 00000000 1 460 00000000 pass -0 340 00000000 0 340 00000000 pass -1 200 00000000 1 200 00000000 pass -0 158 00000000 0 158 00000000 pass -1 267 00000000 1 267 00000000 pass -0 235 00000000 0 235 00000000 pass -1 178 00000000 1 178 00000000 pass -0 271 00000000 0 271 00000000 pass -1 511 00000000 1 511 00000000 pass -0 470 00000000 0 470 00000000 pass -1 340 879d1c00 1 340 879d1c00 pass -0 461 2bb81256 0 461 2bb81256 pass -1 453 000dce02 1 453 000dce02 pass -0 147 00a50000 0 147 00a50000 pass -1 54 006de700 1 54 006de700 pass -0 433 00a50000 0 433 00a50000 pass -1 371 006de700 1 371 006de700 pass -0 52 00000000 0 52 00000000 pass -1 291 00000000 1 291 00000000 pass -0 242 00000000 0 242 00000000 pass -1 134 00000000 1 134 00000000 pass -0 208 00000000 0 208 00000000 pass -1 411 00000000 1 411 00000000 pass -0 372 00000000 0 372 00000000 pass -1 261 00000000 1 261 00000000 pass -0 431 00000000 0 431 00000000 pass -1 310 dd0000ba 1 310 dd0000ba pass -0 435 00000000 0 435 00000000 pass -1 372 dd0000ba 1 372 dd0000ba pass -0 143 00000000 0 143 00000000 pass -1 116 dd0000ba 1 116 dd0000ba pass -0 173 8b135a16 0 173 8b135a16 pass -1 116 b4280068 1 116 b4280068 pass -0 12 8b135a16 0 12 8b135a16 pass -1 296 b4280068 1 296 b4280068 pass -0 444 009f5b00 0 444 009f5b00 pass -1 450 fa004e00 1 450 fa004e00 pass -0 60 00a70065 0 60 00a70065 pass -1 412 74005b00 1 412 74005b00 pass -0 481 00000000 0 481 00000000 pass -1 448 00000000 1 448 00000000 pass -0 249 0b000000 0 249 0b000000 pass -1 287 00000000 1 287 00000000 pass -0 466 00000000 0 466 00000000 pass -1 282 00000000 1 282 00000000 pass -0 446 00000000 0 446 00000000 pass -1 62 00000000 1 62 00000000 pass -0 183 00000000 0 183 00000000 pass -1 204 41009700 1 204 41009700 pass -0 121 00000000 0 121 00000000 pass -1 479 00000000 1 479 00000000 pass -0 30 00000000 0 30 00000000 pass -1 335 00000000 1 335 00000000 pass
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/sky130_sram_1kbyte_1rw1r_32x256_8.v b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/sky130_sram_1kbyte_1rw1r_32x256_8.v deleted file mode 100755 index 1a195b3..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/sky130_sram_1kbyte_1rw1r_32x256_8.v +++ /dev/null
@@ -1,121 +0,0 @@ -// OpenRAM SRAM model -// Words: 256 -// Word size: 32 -// Write size: 8 - -module sky130_sram_1kbyte_1rw1r_32x256_8( -`ifdef USE_POWER_PINS - vccd1, - vssd1, -`endif -// Port 0: RW - clk0,csb0,web0,wmask0,addr0,din0,dout0, -// Port 1: R - clk1,csb1,addr1,dout1 - ); - - parameter NUM_WMASKS = 4 ; - parameter DATA_WIDTH = 32 ; - parameter ADDR_WIDTH = 8 ; - parameter RAM_DEPTH = 1 << ADDR_WIDTH; - // FIXME: This delay is arbitrary. - parameter DELAY = 3 ; - parameter VERBOSE = 1 ; //Set to 0 to only display warnings - parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary - -`ifdef USE_POWER_PINS - inout vccd1; - inout vssd1; -`endif - input clk0; // clock - input csb0; // active low chip select - input web0; // active low write control - input [NUM_WMASKS-1:0] wmask0; // write mask - input [ADDR_WIDTH-1:0] addr0; - input [DATA_WIDTH-1:0] din0; - output [DATA_WIDTH-1:0] dout0; - input clk1; // clock - input csb1; // active low chip select - input [ADDR_WIDTH-1:0] addr1; - output [DATA_WIDTH-1:0] dout1; - - reg csb0_reg; - reg web0_reg; - reg [NUM_WMASKS-1:0] wmask0_reg; - reg [ADDR_WIDTH-1:0] addr0_reg; - reg [DATA_WIDTH-1:0] din0_reg; - reg [DATA_WIDTH-1:0] dout0; - - // All inputs are registers - always @(posedge clk0) - begin - csb0_reg = csb0; - web0_reg = web0; - wmask0_reg = wmask0; - addr0_reg = addr0; - din0_reg = din0; - //#(T_HOLD) dout0 = 32'bx; - if ( !csb0_reg && web0_reg && VERBOSE ) - $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]); - if ( !csb0_reg && !web0_reg && VERBOSE ) - $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg); - end - - reg csb1_reg; - reg [ADDR_WIDTH-1:0] addr1_reg; - reg [DATA_WIDTH-1:0] dout1; - - // All inputs are registers - always @(posedge clk1) - begin - csb1_reg = csb1; - addr1_reg = addr1; - if (!csb0 && !web0 && !csb1 && (addr0 == addr1)) - $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1); - //#(T_HOLD) dout1 = 32'bx; - if ( !csb1_reg && VERBOSE ) - $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]); - end - -reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1]; -integer i; -initial - //if (IZERO) - for (i=0; i<RAM_DEPTH; i=i+1) mem[i] = {DATA_WIDTH{1'b0}}; - //else - //if (IFILE != "") $readmemh({IFILE,".hex"}, mem); - - - // Memory Write Block Port 0 - // Write Operation : When web0 = 0, csb0 = 0 - always @ (negedge clk0) - begin : MEM_WRITE0 - if ( !csb0_reg && !web0_reg ) begin - if (wmask0_reg[0]) - mem[addr0_reg][7:0] = din0_reg[7:0]; - if (wmask0_reg[1]) - mem[addr0_reg][15:8] = din0_reg[15:8]; - if (wmask0_reg[2]) - mem[addr0_reg][23:16] = din0_reg[23:16]; - if (wmask0_reg[3]) - mem[addr0_reg][31:24] = din0_reg[31:24]; - end - end - - // Memory Read Block Port 0 - // Read Operation : When web0 = 1, csb0 = 0 - always @ (negedge clk0) - begin : MEM_READ0 - if (!csb0_reg && web0_reg) - dout0 <= #(DELAY) mem[addr0_reg]; - end - - // Memory Read Block Port 1 - // Read Operation : When web1 = 1, csb1 = 0 - always @ (negedge clk1) - begin : MEM_READ1 - if (!csb1_reg) - dout1 <= #(DELAY) mem[addr1_reg]; - end - -endmodule
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/srimulation.vcd b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/srimulation.vcd deleted file mode 100644 index a0d44da..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/srimulation.vcd +++ /dev/null
@@ -1,69464 +0,0 @@ -$date - Wed Nov 24 03:18:48 2021 -$end -$version - Icarus Verilog -$end -$timescale - 1s -$end -$scope module ram_generic_nr1w_tb $end -$var wire 64 ! RData_pck_sram [63:0] $end -$var reg 18 " RAddr_pck [17:0] $end -$var reg 64 # RData_pck_golden [63:0] $end -$var reg 9 $ WAddr_pck [8:0] $end -$var reg 32 % WData_pck [31:0] $end -$var reg 1 & WEnb $end -$var reg 1 ' clk $end -$var reg 1 ( raw_addr $end -$var reg 1 ) rdw_addr $end -$var reg 1 * rst $end -$var reg 1 + waw_addr $end -$var reg 1 , wdw_addr $end -$var reg 4 - wmask_pck [3:0] $end -$var integer 32 . _i_ [31:0] $end -$var integer 32 / cycc [31:0] $end -$var integer 32 0 i [31:0] $end -$var integer 32 1 j [31:0] $end -$var integer 32 2 p [31:0] $end -$var integer 32 3 pass [31:0] $end -$var integer 32 4 q [31:0] $end -$var integer 32 5 r [31:0] $end -$var integer 32 6 rep_fd [31:0] $end -$var integer 32 7 s [31:0] $end -$scope module ram_nr1w $end -$var wire 18 8 addr [17:0] $end -$var wire 18 9 addr1 [17:0] $end -$var wire 1 ' clk $end -$var wire 1 ' clk1 $end -$var wire 1 : csb $end -$var wire 1 ; csb1 $end -$var wire 32 < din [31:0] $end -$var wire 1 = web $end -$var wire 4 > wmask [3:0] $end -$var reg 64 ? dout [63:0] $end -$var reg 64 @ dout1 [63:0] $end -$var integer 32 A _i_ [31:0] $end -$scope begin genblk1[0] $end -$scope module ram_1rw $end -$var wire 9 B addr [8:0] $end -$var wire 9 C addr1 [8:0] $end -$var wire 1 ' clk $end -$var wire 1 ' clk1 $end -$var wire 1 : csb $end -$var wire 1 ; csb1 $end -$var wire 32 D din [31:0] $end -$var wire 1 = web $end -$var wire 4 E wmask [3:0] $end -$var wire 2 F Addr_sel_1 [1:0] $end -$var wire 2 G Addr_sel [1:0] $end -$var reg 32 H RData_out [31:0] $end -$var reg 32 I RData_out_1 [31:0] $end -$var reg 2 J Raddr_sel [1:0] $end -$var reg 2 K Raddr_sel_1 [1:0] $end -$var reg 32 L dout [31:0] $end -$var reg 32 M dout1 [31:0] $end -$var reg 1 N web_reg $end -$var integer 32 O i [31:0] $end -$var integer 32 P j [31:0] $end -$scope begin genblk1[0] $end -$scope begin genblk4 $end -$scope module ram_i $end -$var wire 8 Q addr0 [7:0] $end -$var wire 8 R addr1 [7:0] $end -$var wire 1 ' clk0 $end -$var wire 1 ' clk1 $end -$var wire 1 S csb0 $end -$var wire 1 T csb1 $end -$var wire 32 U din0 [31:0] $end -$var wire 1 V web0 $end -$var wire 4 W wmask0 [3:0] $end -$var reg 8 X addr0_reg [7:0] $end -$var reg 8 Y addr1_reg [7:0] $end -$var reg 1 Z csb0_reg $end -$var reg 1 [ csb1_reg $end -$var reg 32 \ din0_reg [31:0] $end -$var reg 32 ] dout0 [31:0] $end -$var reg 32 ^ dout1 [31:0] $end -$var reg 1 _ web0_reg $end -$var reg 4 ` wmask0_reg [3:0] $end -$var integer 32 a i [31:0] $end -$scope begin MEM_READ0 $end -$upscope $end -$scope begin MEM_READ1 $end -$upscope $end -$scope begin MEM_WRITE0 $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope begin genblk1[1] $end -$scope begin genblk4 $end -$scope module ram_i $end -$var wire 8 b addr0 [7:0] $end -$var wire 8 c addr1 [7:0] $end -$var wire 1 ' clk0 $end -$var wire 1 ' clk1 $end -$var wire 1 d csb0 $end -$var wire 1 e csb1 $end -$var wire 32 f din0 [31:0] $end -$var wire 1 g web0 $end -$var wire 4 h wmask0 [3:0] $end -$var reg 8 i addr0_reg [7:0] $end -$var reg 8 j addr1_reg [7:0] $end -$var reg 1 k csb0_reg $end -$var reg 1 l csb1_reg $end -$var reg 32 m din0_reg [31:0] $end -$var reg 32 n dout0 [31:0] $end -$var reg 32 o dout1 [31:0] $end -$var reg 1 p web0_reg $end -$var reg 4 q wmask0_reg [3:0] $end -$var integer 32 r i [31:0] $end -$scope begin MEM_READ0 $end -$upscope $end -$scope begin MEM_READ1 $end -$upscope $end -$scope begin MEM_WRITE0 $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope begin genblk1[1] $end -$scope module ram_1rw $end -$var wire 9 s addr [8:0] $end -$var wire 9 t addr1 [8:0] $end -$var wire 1 ' clk $end -$var wire 1 ' clk1 $end -$var wire 1 : csb $end -$var wire 1 ; csb1 $end -$var wire 32 u din [31:0] $end -$var wire 1 = web $end -$var wire 4 v wmask [3:0] $end -$var wire 2 w Addr_sel_1 [1:0] $end -$var wire 2 x Addr_sel [1:0] $end -$var reg 32 y RData_out [31:0] $end -$var reg 32 z RData_out_1 [31:0] $end -$var reg 2 { Raddr_sel [1:0] $end -$var reg 2 | Raddr_sel_1 [1:0] $end -$var reg 32 } dout [31:0] $end -$var reg 32 ~ dout1 [31:0] $end -$var reg 1 !" web_reg $end -$var integer 32 "" i [31:0] $end -$var integer 32 #" j [31:0] $end -$scope begin genblk1[0] $end -$scope begin genblk4 $end -$scope module ram_i $end -$var wire 8 $" addr0 [7:0] $end -$var wire 8 %" addr1 [7:0] $end -$var wire 1 ' clk0 $end -$var wire 1 ' clk1 $end -$var wire 1 &" csb0 $end -$var wire 1 '" csb1 $end -$var wire 32 (" din0 [31:0] $end -$var wire 1 )" web0 $end -$var wire 4 *" wmask0 [3:0] $end -$var reg 8 +" addr0_reg [7:0] $end -$var reg 8 ," addr1_reg [7:0] $end -$var reg 1 -" csb0_reg $end -$var reg 1 ." csb1_reg $end -$var reg 32 /" din0_reg [31:0] $end -$var reg 32 0" dout0 [31:0] $end -$var reg 32 1" dout1 [31:0] $end -$var reg 1 2" web0_reg $end -$var reg 4 3" wmask0_reg [3:0] $end -$var integer 32 4" i [31:0] $end -$scope begin MEM_READ0 $end -$upscope $end -$scope begin MEM_READ1 $end -$upscope $end -$scope begin MEM_WRITE0 $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope begin genblk1[1] $end -$scope begin genblk4 $end -$scope module ram_i $end -$var wire 8 5" addr0 [7:0] $end -$var wire 8 6" addr1 [7:0] $end -$var wire 1 ' clk0 $end -$var wire 1 ' clk1 $end -$var wire 1 7" csb0 $end -$var wire 1 8" csb1 $end -$var wire 32 9" din0 [31:0] $end -$var wire 1 :" web0 $end -$var wire 4 ;" wmask0 [3:0] $end -$var reg 8 <" addr0_reg [7:0] $end -$var reg 8 =" addr1_reg [7:0] $end -$var reg 1 >" csb0_reg $end -$var reg 1 ?" csb1_reg $end -$var reg 32 @" din0_reg [31:0] $end -$var reg 32 A" dout0 [31:0] $end -$var reg 32 B" dout1 [31:0] $end -$var reg 1 C" web0_reg $end -$var reg 4 D" wmask0_reg [3:0] $end -$var integer 32 E" i [31:0] $end -$scope begin MEM_READ0 $end -$upscope $end -$scope begin MEM_READ1 $end -$upscope $end -$scope begin MEM_WRITE0 $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope task genInitFiles $end -$var reg 32 F" DEPTH [31:0] $end -$var reg 160 G" FILEN [1:160] $end -$var reg 256 H" INITVAL [255:0] $end -$var reg 1 I" RAND $end -$var reg 32 J" WIDTH [31:0] $end -$var reg 256 K" ramdata [255:0] $end -$var integer 32 L" addr [31:0] $end -$var integer 32 M" hex_fd [31:0] $end -$var integer 32 N" mif_fd [31:0] $end -$upscope $end -$upscope $end -$enddefinitions $end -#0 -$dumpvars -b10000000000000000000000000000100 N" -b10000000000000000000000000000011 M" -b1000000000 L" -b10100010001010101100011001000100 K" -b100000 J" -1I" -b0 H" -b110100101101110011010010111010001011111011100100110000101101101 G" -b1000000000 F" -b100000000 E" -bx D" -xC" -bx B" -bx A" -bx @" -x?" -x>" -bx =" -bx <" -bx ;" -x:" -bx 9" -18" -x7" -b0 6" -bx 5" -b100000000 4" -bx 3" -x2" -bx 1" -bx 0" -bx /" -x." -x-" -bx ," -bx +" -bx *" -x)" -bx (" -1'" -x&" -b0 %" -bx $" -bx #" -b10 "" -x!" -bx ~ -bx } -bx | -bx { -bx z -bx y -bx x -b0 w -bx v -bx u -b0 t -bx s -b100000000 r -bx q -xp -bx o -bx n -bx m -xl -xk -bx j -bx i -bx h -xg -bx f -1e -xd -b0 c -bx b -b100000000 a -bx ` -x_ -bx ^ -bx ] -bx \ -x[ -xZ -bx Y -bx X -bx W -xV -bx U -1T -xS -b0 R -bx Q -bx P -b10 O -xN -bx M -bx L -bx K -bx J -bx I -bx H -bx G -b0 F -bx E -bx D -b0 C -bx B -b11 A -bx @ -bx ? -bx > -x= -bx < -1; -0: -b0 9 -bx 8 -bx 7 -b10000000000000000000000000000011 6 -b1000000000 5 -bx 4 -bx 3 -bx 2 -bx 1 -bx 0 -b1 / -bx . -bx - -x, -x+ -1* -x) -x( -0' -x& -bx % -bx $ -bx # -bx " -bx ! -$end -#5 -b0 K -b0 | -b0 Y -1[ -b0 j -1l -b10 P -b0 ," -1." -b0 =" -1?" -b10 #" -b10 4 -1' -#10 -07" -b10001101 5" -1&" -b0 $" -b1 x -1d -b0 b -0S -b11101001 Q -b0 G -b110001101 s -b11101001 B -b11 A -1g -1V -b10 O -1:" -1)" -b10 "" -b110001101011101001 8 -1= -b101100010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110001101011101001 " -b11 . -0& -b11010101000111001011010010101010 % -b11010101000111001011010010101010 < -b11010101000111001011010010101010 D -b11010101000111001011010010101010 U -b11010101000111001011010010101010 f -b11010101000111001011010010101010 u -b11010101000111001011010010101010 (" -b11010101000111001011010010101010 9" -0( -0) -b0 1 -0+ -0, -b1 0 -0' -#15 -1!" -b1 { -1N -b0 J -b10 4 -b10 #" -b11010101000111001011010010101010 @" -b10001101 <" -b1 D" -1C" -0>" -b11010101000111001011010010101010 /" -b0 +" -b1 3" -12" -1-" -b10 P -b11010101000111001011010010101010 m -b0 i -b1 q -1p -1k -b11010101000111001011010010101010 \ -b11101001 X -b1 ` -1_ -0Z -1' -#20 -b11001101 5" -b10 "" -0d -b11110000 b -1S -b0 Q -b10 O -b1 G -b111001101 s -b111110000 B -b11 A -b111001101111110000 8 -b110111 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111001101111110000 " -b11 . -0& -b1011101100000110110001110111011 % -b1011101100000110110001110111011 < -b1011101100000110110001110111011 D -b1011101100000110110001110111011 U -b1011101100000110110001110111011 f -b1011101100000110110001110111011 u -b1011101100000110110001110111011 (" -b1011101100000110110001110111011 9" -0( -0) -0+ -0, -b10 0 -0' -#23 -b0 A" -b0 ] -#25 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b1011101100000110110001110111011 \ -b0 X -b1111 ` -1Z -b1011101100000110110001110111011 m -b11110000 i -b1111 q -0k -b0 H -b10 P -b1011101100000110110001110111011 /" -b1111 3" -b1011101100000110110001110111011 @" -b11001101 <" -b1111 D" -b0 y -b10 #" -b10 4 -1' -#30 -17" -b0 5" -0&" -b10010111 $" -b10 "" -b0 x -1d -b0 b -0S -b1011000 Q -b10 O -b0 G -b10010111 s -b1011000 B -b11 A -b10010111001011000 8 -b1111101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b10010111001011000 " -b11 . -b10010100101000010010111000101001 % -b10010100101000010010111000101001 < -b10010100101000010010111000101001 D -b10010100101000010010111000101001 U -b10010100101000010010111000101001 f -b10010100101000010010111000101001 u -b10010100101000010010111000101001 (" -b10010100101000010010111000101001 9" -0( -0) -0+ -0, -b1 0 -0' -#33 -b0 n -#35 -b0 { -b0 J -b10 4 -b10 #" -b10010100101000010010111000101001 @" -b0 <" -b1100 D" -1>" -b10010100101000010010111000101001 /" -b10010111 +" -b1100 3" -0-" -b10 P -b10010100101000010010111000101001 m -b0 i -b1100 q -1k -b10010100101000010010111000101001 \ -b1011000 X -b1100 ` -0Z -1' -#40 -b1110011 $" -b10 "" -0d -b1011101 b -1S -b0 Q -b10 O -b1 G -b1110011 s -b101011101 B -b11 A -b1110011101011101 8 -b111010111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1110011101011101 " -b11 . -b10100111000000110111010001001110 % -b10100111000000110111010001001110 < -b10100111000000110111010001001110 D -b10100111000000110111010001001110 U -b10100111000000110111010001001110 f -b10100111000000110111010001001110 u -b10100111000000110111010001001110 (" -b10100111000000110111010001001110 9" -0( -0) -0+ -0, -b10 0 -0' -#43 -b0 0" -#45 -b1 J -b10100111000000110111010001001110 \ -b0 X -b10 ` -1Z -b10100111000000110111010001001110 m -b1011101 i -b10 q -0k -b10 P -b10100111000000110111010001001110 /" -b1110011 +" -b10 3" -b10100111000000110111010001001110 @" -b10 D" -b10 #" -b10 4 -1' -#50 -b110001 $" -b10 "" -b111001 b -b10 O -b110001 s -b100111001 B -b11 A -b110001100111001 8 -b111100000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110001100111001 " -b11 . -0& -b1111111010100110111110111111110 % -b1111111010100110111110111111110 < -b1111111010100110111110111111110 D -b1111111010100110111110111111110 U -b1111111010100110111110111111110 f -b1111111010100110111110111111110 u -b1111111010100110111110111111110 (" -b1111111010100110111110111111110 9" -0( -0) -0+ -0, -b1 0 -0' -#52 -0* -#55 -b10 4 -b10 #" -b1111111010100110111110111111110 @" -b100 D" -b1111111010100110111110111111110 /" -b110001 +" -b100 3" -b10 P -b1111111010100110111110111111110 m -b111001 i -b100 q -b1111111010100110111110111111110 \ -b100 ` -1' -#60 -b1010110 $" -b10 "" -1d -b0 b -0S -b110011 Q -b10 O -b0 G -b1010110 s -b110011 B -b11 A -b1010110000110011 8 -b100001111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1010110000110011 " -b11 . -b101110011100100010100101011100 % -b101110011100100010100101011100 < -b101110011100100010100101011100 D -b101110011100100010100101011100 U -b101110011100100010100101011100 f -b101110011100100010100101011100 u -b101110011100100010100101011100 (" -b101110011100100010100101011100 9" -0( -0) -0+ -0, -b10 0 -0' -#65 -b0 J -b101110011100100010100101011100 \ -b110011 X -b11 ` -0Z -b101110011100100010100101011100 m -b0 i -b11 q -1k -b10 P -b101110011100100010100101011100 /" -b1010110 +" -b11 3" -b101110011100100010100101011100 @" -b11 D" -b10 #" -b10 4 -1' -#66 -b10 / -b1 3 -b10 2 -#70 -b11010011 $" -b11010011 Q -b11010011 s -b11010011 B -b11 A -0V -b10 O -0)" -b10 "" -b11010011011010011 8 -0= -b11010011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101111000100111010 " -b11 . -1& -b10010010110100000110000000100101 % -b10010010110100000110000000100101 < -b10010010110100000110000000100101 D -b10010010110100000110000000100101 U -b10010010110100000110000000100101 f -b10010010110100000110000000100101 u -b10010010110100000110000000100101 (" -b10010010110100000110000000100101 9" -0( -0) -0+ -0, -b1 0 -0' -#75 -0!" -0N -b100 7 -b10 #" -b10010010110100000110000000100101 @" -b110 D" -b10010010110100000110000000100101 /" -b11010011 +" -b110 3" -02" -b10 P -b10010010110100000110000000100101 m -b110 q -b10010010110100000110000000100101 \ -b11010011 X -b110 ` -0_ -1' -#76 -b11 / -b10 2 -#80 -07" -0:" -b1010110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1010110 b -1S -1V -b0 Q -b10 O -b1 G -b101010110 s -b101010110 B -b11 A -b101010110101010110 8 -b101010110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11010100101100 " -b11 . -1& -b1010110000011010101111110101100 % -b1010110000011010101111110101100 < -b1010110000011010101111110101100 D -b1010110000011010101111110101100 U -b1010110000011010101111110101100 f -b1010110000011010101111110101100 u -b1010110000011010101111110101100 (" -b1010110000011010101111110101100 9" -0( -0) -0+ -0, -b10 0 -0' -#85 -b1 J -b1 { -b1010110000011010101111110101100 \ -b0 X -b1110 ` -1_ -1Z -b1010110000011010101111110101100 m -b1010110 i -b1110 q -0p -0k -b10 P -b1010110000011010101111110101100 /" -b0 +" -b1110 3" -12" -1-" -b1010110000011010101111110101100 @" -b1010110 <" -b1110 D" -0C" -0>" -b10 #" -b100 7 -1' -#86 -b100 / -b10 2 -#90 -17" -b0 5" -0&" -b11010001 $" -b0 x -b10100000 b -b11010001 s -b110100000 B -b11 A -1g -b10 O -1:" -b10 "" -b11010001110100000 8 -1= -b101101100 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11010001110100000 " -b11 . -0& -b11101101010011010111100011011010 % -b11101101010011010111100011011010 < -b11101101010011010111100011011010 D -b11101101010011010111100011011010 U -b11101101010011010111100011011010 f -b11101101010011010111100011011010 u -b11101101010011010111100011011010 (" -b11101101010011010111100011011010 9" -0( -0) -0+ -0, -b1 0 -0' -#95 -1!" -b0 { -1N -b10 4 -b10 #" -b11101101010011010111100011011010 @" -b0 <" -b0 D" -1C" -1>" -b11101101010011010111100011011010 /" -b11010001 +" -b0 3" -0-" -b10 P -b11101101010011010111100011011010 m -b10100000 i -b0 q -1p -b11101101010011010111100011011010 \ -b0 ` -1' -#96 -b101 / -b10 2 -#100 -07" -b1010001 5" -1&" -b0 $" -b10 "" -b1 x -b1001100 b -b10 O -b101010001 s -b101001100 B -b11 A -b101010001101001100 8 -b11000000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101010001101001100 " -b11 . -b10100010101001001011111001000101 % -b10100010101001001011111001000101 < -b10100010101001001011111001000101 D -b10100010101001001011111001000101 U -b10100010101001001011111001000101 f -b10100010101001001011111001000101 u -b10100010101001001011111001000101 (" -b10100010101001001011111001000101 9" -0( -0) -0+ -0, -b10 0 -0' -#105 -b1 { -b10100010101001001011111001000101 \ -b1110 ` -b10100010101001001011111001000101 m -b1001100 i -b1110 q -b10 P -b10100010101001001011111001000101 /" -b0 +" -b1110 3" -1-" -b10100010101001001011111001000101 @" -b1010001 <" -b1110 D" -0>" -b10 #" -b10 4 -1' -#106 -b110 / -b10 2 -#110 -17" -b0 5" -0&" -b1001000 $" -b10 "" -b0 x -b10000000 b -b10 O -b1001000 s -b110000000 B -b11 A -b1001000110000000 8 -b101111110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1001000110000000 " -b11 . -b10011000101101001101110000110001 % -b10011000101101001101110000110001 < -b10011000101101001101110000110001 D -b10011000101101001101110000110001 U -b10011000101101001101110000110001 f -b10011000101101001101110000110001 u -b10011000101101001101110000110001 (" -b10011000101101001101110000110001 9" -0( -0) -0+ -0, -b1 0 -0' -#115 -b0 { -b10 4 -b10 #" -b10011000101101001101110000110001 @" -b0 <" -b111 D" -1>" -b10011000101101001101110000110001 /" -b1001000 +" -b111 3" -0-" -b10 P -b10011000101101001101110000110001 m -b10000000 i -b111 q -b10011000101101001101110000110001 \ -b111 ` -1' -#116 -b111 / -b10 2 -#120 -07" -b1100100 5" -1&" -b0 $" -b10 "" -b1 x -b111111 b -b10 O -b101100100 s -b100111111 B -b11 A -b101100100100111111 8 -b10000011 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b101100100100111111 " -b11 . -b1111000100001111101111111110001 % -b1111000100001111101111111110001 < -b1111000100001111101111111110001 D -b1111000100001111101111111110001 U -b1111000100001111101111111110001 f -b1111000100001111101111111110001 u -b1111000100001111101111111110001 (" -b1111000100001111101111111110001 9" -0( -0) -0+ -0, -b10 0 -0' -#125 -b1 { -b1111000100001111101111111110001 \ -b0 ` -b1111000100001111101111111110001 m -b111111 i -b0 q -b10 P -b1111000100001111101111111110001 /" -b0 +" -b0 3" -1-" -b1111000100001111101111111110001 @" -b1100100 <" -b0 D" -0>" -b10 #" -b10 4 -1' -#126 -b1000 / -b10 2 -#130 -17" -b0 5" -0&" -0)" -b10011110 $" -b0 x -1d -b0 b -0S -0V -b10011110 Q -b0 G -b10011110 s -b10011110 B -b11 A -1g -b10 O -1:" -b10 "" -b10011110010011110 8 -0= -b10011110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100001010011101000 " -b11 . -1& -b10101000101111111100100001010001 % -b10101000101111111100100001010001 < -b10101000101111111100100001010001 D -b10101000101111111100100001010001 U -b10101000101111111100100001010001 f -b10101000101111111100100001010001 u -b10101000101111111100100001010001 (" -b10101000101111111100100001010001 9" -0( -0) -0+ -0, -b1 0 -0' -#135 -0!" -b0 { -0N -b0 J -b100 7 -b10 #" -b10101000101111111100100001010001 @" -b0 <" -b10 D" -1>" -b10101000101111111100100001010001 /" -b10011110 +" -b10 3" -02" -0-" -b10 P -b10101000101111111100100001010001 m -b0 i -b10 q -1k -b10101000101111111100100001010001 \ -b10011110 X -b10 ` -0_ -0Z -1' -#136 -b1001 / -b10 2 -#140 -07" -b1011110 5" -1&" -b0 $" -b1 x -0d -b1101100 b -1S -b0 Q -b1 G -b101011110 s -b101101100 B -b11 A -1V -b10 O -1)" -b10 "" -b101011110101101100 8 -1= -b100100101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101011110101101100 " -b11 . -0& -b11000001110011110101101010000011 % -b11000001110011110101101010000011 < -b11000001110011110101101010000011 D -b11000001110011110101101010000011 U -b11000001110011110101101010000011 f -b11000001110011110101101010000011 u -b11000001110011110101101010000011 (" -b11000001110011110101101010000011 9" -0( -0) -0+ -0, -b10 0 -0' -#145 -1N -b1 J -1!" -b1 { -b11000001110011110101101010000011 \ -b0 X -b1010 ` -1_ -1Z -b11000001110011110101101010000011 m -b1101100 i -b1010 q -0k -b10 P -b11000001110011110101101010000011 /" -b0 +" -b1010 3" -12" -1-" -b11000001110011110101101010000011 @" -b1011110 <" -b1010 D" -0>" -b10 #" -b10 4 -1' -#146 -b1010 / -b10 2 -#150 -17" -b0 5" -0&" -0)" -b11010100 $" -b0 x -1d -b0 b -0S -0V -b11010100 Q -b0 G -b11010100 s -b11010100 B -b11 A -1g -b10 O -1:" -b10 "" -b11010100011010100 8 -0= -b11010100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111100110010100 " -b11 . -1& -b10110111101110000010101001101111 % -b10110111101110000010101001101111 < -b10110111101110000010101001101111 D -b10110111101110000010101001101111 U -b10110111101110000010101001101111 f -b10110111101110000010101001101111 u -b10110111101110000010101001101111 (" -b10110111101110000010101001101111 9" -0( -0) -0+ -0, -b1 0 -0' -#155 -0!" -b0 { -0N -b0 J -b100 7 -b10 #" -b10110111101110000010101001101111 @" -b0 <" -b1100 D" -1>" -b10110111101110000010101001101111 /" -b11010100 +" -b1100 3" -02" -0-" -b10 P -b10110111101110000010101001101111 m -b0 i -b1100 q -1k -b10110111101110000010101001101111 \ -b11010100 X -b1100 ` -0_ -0Z -1' -#156 -b1011 / -b10 2 -#160 -b11110111 $" -b10 "" -b11110111 Q -b10 O -b11110111 s -b11110111 B -b11 A -b11110111011110111 8 -b11110111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10100010100010110 " -b11 . -1& -b11001001010010010000001010010010 % -b11001001010010010000001010010010 < -b11001001010010010000001010010010 D -b11001001010010010000001010010010 U -b11001001010010010000001010010010 f -b11001001010010010000001010010010 u -b11001001010010010000001010010010 (" -b11001001010010010000001010010010 9" -0( -0) -0+ -0, -b10 0 -0' -#165 -b11001001010010010000001010010010 \ -b11110111 X -b11 ` -b11001001010010010000001010010010 m -b11 q -b10 P -b11001001010010010000001010010010 /" -b11110111 +" -b11 3" -b11001001010010010000001010010010 @" -b11 D" -b10 #" -b100 7 -1' -#166 -b1100 / -b10 2 -#170 -b1101000 $" -b10 "" -b1101000 Q -b10 O -b1101000 s -b1101000 B -b11 A -b1101000001101000 8 -b1101000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101010101100110001 " -b11 . -1& -b101111010010010101001101011110 % -b101111010010010101001101011110 < -b101111010010010101001101011110 D -b101111010010010101001101011110 U -b101111010010010101001101011110 f -b101111010010010101001101011110 u -b101111010010010101001101011110 (" -b101111010010010101001101011110 9" -0( -0) -0+ -0, -b1 0 -0' -#175 -b100 7 -b10 #" -b101111010010010101001101011110 @" -b110 D" -b101111010010010101001101011110 /" -b1101000 +" -b110 3" -b10 P -b101111010010010101001101011110 m -b110 q -b101111010010010101001101011110 \ -b1101000 X -b110 ` -1' -#176 -b1101 / -b10 2 -#180 -07" -0:" -b10110101 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10110101 b -1S -1V -b0 Q -b10 O -b1 G -b110110101 s -b110110101 B -b11 A -b110110101110110101 8 -b110110101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100111111000001000 " -b11 . -1& -b1010110000011101110111110101100 % -b1010110000011101110111110101100 < -b1010110000011101110111110101100 D -b1010110000011101110111110101100 U -b1010110000011101110111110101100 f -b1010110000011101110111110101100 u -b1010110000011101110111110101100 (" -b1010110000011101110111110101100 9" -0( -0) -0+ -0, -b10 0 -0' -#185 -b1 J -b1 { -b1010110000011101110111110101100 \ -b0 X -b1100 ` -1_ -1Z -b1010110000011101110111110101100 m -b10110101 i -b1100 q -0p -0k -b10 P -b1010110000011101110111110101100 /" -b0 +" -b1100 3" -12" -1-" -b1010110000011101110111110101100 @" -b10110101 <" -b1100 D" -0C" -0>" -b10 #" -b100 7 -1' -#186 -b1110 / -b10 2 -#190 -17" -b0 5" -0&" -b1111101 $" -b0 x -1d -b0 b -0S -b1011110 Q -b0 G -b1111101 s -b1011110 B -b11 A -1g -b10 O -1:" -b10 "" -b1111101001011110 8 -1= -b101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1111101001011110 " -b11 . -0& -b11000110100001111000101010001101 % -b11000110100001111000101010001101 < -b11000110100001111000101010001101 D -b11000110100001111000101010001101 U -b11000110100001111000101010001101 f -b11000110100001111000101010001101 u -b11000110100001111000101010001101 (" -b11000110100001111000101010001101 9" -0( -0) -0+ -0, -b1 0 -0' -#195 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b11000110100001111000101010001101 @" -b0 <" -b1101 D" -1C" -1>" -b11000110100001111000101010001101 /" -b1111101 +" -b1101 3" -0-" -b10 P -b11000110100001111000101010001101 m -b0 i -b1101 q -1p -1k -b11000110100001111000101010001101 \ -b1011110 X -b1101 ` -0Z -1' -#196 -b1111 / -b10 2 -#200 -b110100 $" -b10 "" -0d -b10110100 b -1S -b0 Q -b10 O -b1 G -b110100 s -b110110100 B -b11 A -b110100110110100 8 -b111110001 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b110100110110100 " -b11 . -b10110100100011010001100101101 % -b10110100100011010001100101101 < -b10110100100011010001100101101 D -b10110100100011010001100101101 U -b10110100100011010001100101101 f -b10110100100011010001100101101 u -b10110100100011010001100101101 (" -b10110100100011010001100101101 9" -0( -0) -0+ -0, -b10 0 -0' -#205 -b1 J -b10110100100011010001100101101 \ -b0 X -b111 ` -1Z -b10110100100011010001100101101 m -b10110100 i -b111 q -0k -b10 P -b10110100100011010001100101101 /" -b110100 +" -b111 3" -b10110100100011010001100101101 @" -b111 D" -b10 #" -b10 4 -1' -#206 -b10000 / -b10 2 -#210 -b1011110 $" -1d -b0 b -0S -0V -b1011110 Q -b0 G -b1011110 s -b1011110 B -b11 A -1g -b10 O -0)" -b10 "" -b1011110001011110 8 -0= -b1011110 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b1100100010110100 " -b11 . -1& -b100100000101101011100101001000 % -b100100000101101011100101001000 < -b100100000101101011100101001000 D -b100100000101101011100101001000 U -b100100000101101011100101001000 f -b100100000101101011100101001000 u -b100100000101101011100101001000 (" -b100100000101101011100101001000 9" -0( -0) -0+ -0, -b1 0 -0' -#215 -0!" -0N -b0 J -b100 7 -b10 #" -b100100000101101011100101001000 @" -b0 D" -b100100000101101011100101001000 /" -b1011110 +" -b0 3" -02" -b10 P -b100100000101101011100101001000 m -b0 i -b0 q -1k -b100100000101101011100101001000 \ -b1011110 X -b0 ` -0_ -0Z -1' -#216 -b10001 / -b10 2 -#220 -b10011011 $" -b10 "" -b10011011 Q -b10 O -b10011011 s -b10011011 B -b11 A -b10011011010011011 8 -b10011011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10101011111001101 " -b11 . -1& -b1011110100111010010111110111101 % -b1011110100111010010111110111101 < -b1011110100111010010111110111101 D -b1011110100111010010111110111101 U -b1011110100111010010111110111101 f -b1011110100111010010111110111101 u -b1011110100111010010111110111101 (" -b1011110100111010010111110111101 9" -0( -0) -0+ -0, -b10 0 -0' -#225 -b1011110100111010010111110111101 \ -b10011011 X -b1011 ` -b1011110100111010010111110111101 m -b1011 q -b10 P -b1011110100111010010111110111101 /" -b10011011 +" -b1011 3" -b1011110100111010010111110111101 @" -b1011 D" -b10 #" -b100 7 -1' -#226 -b10010 / -b10 2 -#230 -07" -0:" -b11000010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11000010 b -1S -1V -b0 Q -b10 O -b1 G -b111000010 s -b111000010 B -b11 A -b111000010111000010 8 -b111000010 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100011101111100000 " -b11 . -1& -b10011000110000000001100100110 % -b10011000110000000001100100110 < -b10011000110000000001100100110 D -b10011000110000000001100100110 U -b10011000110000000001100100110 f -b10011000110000000001100100110 u -b10011000110000000001100100110 (" -b10011000110000000001100100110 9" -0( -0) -0+ -0, -b1 0 -0' -#235 -b1 { -b1 J -b100 7 -b10 #" -b10011000110000000001100100110 @" -b11000010 <" -b1010 D" -0C" -0>" -b10011000110000000001100100110 /" -b0 +" -b1010 3" -12" -1-" -b10 P -b10011000110000000001100100110 m -b11000010 i -b1010 q -0p -0k -b10011000110000000001100100110 \ -b0 X -b1010 ` -1_ -1Z -1' -#236 -b10011 / -b10 2 -#240 -b1001 5" -b10 "" -b1001 b -b10 O -b100001001 s -b100001001 B -b11 A -b100001001100001001 8 -b100001001 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10110000101101100 " -b11 . -1& -b1010010101000010101000110100101 % -b1010010101000010101000110100101 < -b1010010101000010101000110100101 D -b1010010101000010101000110100101 U -b1010010101000010101000110100101 f -b1010010101000010101000110100101 u -b1010010101000010101000110100101 (" -b1010010101000010101000110100101 9" -0( -0) -0+ -0, -b10 0 -0' -#245 -b1010010101000010101000110100101 \ -b1011 ` -b1010010101000010101000110100101 m -b1001 i -b1011 q -b10 P -b1010010101000010101000110100101 /" -b1011 3" -b1010010101000010101000110100101 @" -b1001 <" -b1011 D" -b10 #" -b100 7 -1' -#246 -b10100 / -b10 2 -#250 -b11101 5" -1d -b0 b -0S -b1001111 Q -b0 G -b100011101 s -b1001111 B -b11 A -1g -b10 O -1:" -b10 "" -b100011101001001111 8 -1= -b1110110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b100011101001001111 " -b11 . -0& -b100011010001100110001101000110 % -b100011010001100110001101000110 < -b100011010001100110001101000110 D -b100011010001100110001101000110 U -b100011010001100110001101000110 f -b100011010001100110001101000110 u -b100011010001100110001101000110 (" -b100011010001100110001101000110 9" -0( -0) -0+ -0, -b1 0 -0' -#255 -1!" -1N -b0 J -b10 4 -b10 #" -b100011010001100110001101000110 @" -b11101 <" -b101 D" -1C" -b100011010001100110001101000110 /" -b101 3" -b10 P -b100011010001100110001101000110 m -b0 i -b101 q -1p -1k -b100011010001100110001101000110 \ -b1001111 X -b101 ` -0Z -1' -#256 -b10101 / -b10 2 -#260 -17" -b0 5" -0&" -b1010100 $" -b10 "" -b0 x -b111111 Q -b10 O -b1010100 s -b111111 B -b11 A -b1010100000111111 8 -b10011110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1010100000111111 " -b11 . -b10000011010001001001000000000110 % -b10000011010001001001000000000110 < -b10000011010001001001000000000110 D -b10000011010001001001000000000110 U -b10000011010001001001000000000110 f -b10000011010001001001000000000110 u -b10000011010001001001000000000110 (" -b10000011010001001001000000000110 9" -0( -0) -0+ -0, -b10 0 -0' -#265 -b0 { -b10000011010001001001000000000110 \ -b111111 X -b10 ` -b10000011010001001001000000000110 m -b10 q -b10 P -b10000011010001001001000000000110 /" -b1010100 +" -b10 3" -0-" -b10000011010001001001000000000110 @" -b0 <" -b10 D" -1>" -b10 #" -b10 4 -1' -#266 -b10110 / -b10 2 -#270 -b10111000 $" -b10 "" -0d -b10000110 b -1S -b0 Q -b10 O -b1 G -b10111000 s -b110000110 B -b11 A -b10111000110000110 8 -b101101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10111000110000110 " -b11 . -b1010000011010100101011110100000 % -b1010000011010100101011110100000 < -b1010000011010100101011110100000 D -b1010000011010100101011110100000 U -b1010000011010100101011110100000 f -b1010000011010100101011110100000 u -b1010000011010100101011110100000 (" -b1010000011010100101011110100000 9" -0( -0) -0+ -0, -b1 0 -0' -#275 -b1 J -b10 4 -b10 #" -b1010000011010100101011110100000 @" -b11 D" -b1010000011010100101011110100000 /" -b10111000 +" -b11 3" -b10 P -b1010000011010100101011110100000 m -b10000110 i -b11 q -0k -b1010000011010100101011110100000 \ -b0 X -b11 ` -1Z -1' -#276 -b10111 / -b10 2 -#280 -07" -0:" -b1001 5" -1&" -b0 $" -b1 x -b1001 b -b100001001 s -b100001001 B -b11 A -0g -b10 O -1)" -b10 "" -b100001001100001001 8 -0= -b100001001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100011110110101000 " -b11 . -1& -b11100111000010100110001011001110 % -b11100111000010100110001011001110 < -b11100111000010100110001011001110 D -b11100111000010100110001011001110 U -b11100111000010100110001011001110 f -b11100111000010100110001011001110 u -b11100111000010100110001011001110 (" -b11100111000010100110001011001110 9" -0( -0) -0+ -0, -b10 0 -0' -#285 -0N -0!" -b1 { -b11100111000010100110001011001110 \ -b1010 ` -b11100111000010100110001011001110 m -b1001 i -b1010 q -0p -b10 P -b11100111000010100110001011001110 /" -b0 +" -b1010 3" -1-" -b11100111000010100110001011001110 @" -b1001 <" -b1010 D" -0C" -0>" -b10 #" -b100 7 -1' -#286 -b11000 / -b10 2 -#290 -b100101 5" -b10 "" -b100101 b -b10 O -b100100101 s -b100100101 B -b11 A -b100100101100100101 8 -b100100101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110101110101001 " -b11 . -1& -b1011011000011000111001110110110 % -b1011011000011000111001110110110 < -b1011011000011000111001110110110 D -b1011011000011000111001110110110 U -b1011011000011000111001110110110 f -b1011011000011000111001110110110 u -b1011011000011000111001110110110 (" -b1011011000011000111001110110110 9" -0( -0) -0+ -0, -b1 0 -0' -#295 -b100 7 -b10 #" -b1011011000011000111001110110110 @" -b100101 <" -b1110 D" -b1011011000011000111001110110110 /" -b1110 3" -b10 P -b1011011000011000111001110110110 m -b100101 i -b1110 q -b1011011000011000111001110110110 \ -b1110 ` -1' -#296 -b11001 / -b10 2 -#300 -b1011010 5" -b10 "" -b1011010 b -b10 O -b101011010 s -b101011010 B -b11 A -b101011010101011010 8 -b101011010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100100111011100001 " -b11 . -1& -b10111100100101000100011001111001 % -b10111100100101000100011001111001 < -b10111100100101000100011001111001 D -b10111100100101000100011001111001 U -b10111100100101000100011001111001 f -b10111100100101000100011001111001 u -b10111100100101000100011001111001 (" -b10111100100101000100011001111001 9" -0( -0) -0+ -0, -b10 0 -0' -#305 -b10111100100101000100011001111001 \ -b1 ` -b10111100100101000100011001111001 m -b1011010 i -b1 q -b10 P -b10111100100101000100011001111001 /" -b1 3" -b10111100100101000100011001111001 @" -b1011010 <" -b1 D" -b10 #" -b100 7 -1' -#306 -b11010 / -b10 2 -#310 -17" -b0 5" -0&" -b10000101 $" -b0 x -1d -b0 b -0S -b11001001 Q -b0 G -b10000101 s -b11001001 B -b11 A -1g -b10 O -1:" -b10 "" -b10000101011001001 8 -1= -b10101000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10000101011001001 " -b11 . -0& -b1000100000011110000100110001000 % -b1000100000011110000100110001000 < -b1000100000011110000100110001000 D -b1000100000011110000100110001000 U -b1000100000011110000100110001000 f -b1000100000011110000100110001000 u -b1000100000011110000100110001000 (" -b1000100000011110000100110001000 9" -0( -0) -0+ -0, -b1 0 -0' -#315 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1000100000011110000100110001000 @" -b0 <" -b100 D" -1C" -1>" -b1000100000011110000100110001000 /" -b10000101 +" -b100 3" -0-" -b10 P -b1000100000011110000100110001000 m -b0 i -b100 q -1p -1k -b1000100000011110000100110001000 \ -b11001001 X -b100 ` -0Z -1' -#316 -b11011 / -b10 2 -#320 -07" -0:" -b110100 5" -1&" -b0 $" -b1 x -0d -0g -b110100 b -1S -b0 Q -b1 G -b100110100 s -b100110100 B -b11 A -1V -b10 O -1)" -b10 "" -b100110100100110100 8 -0= -b100110100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100011011000111101 " -b11 . -1& -b1011110110001011110101110111101 % -b1011110110001011110101110111101 < -b1011110110001011110101110111101 D -b1011110110001011110101110111101 U -b1011110110001011110101110111101 f -b1011110110001011110101110111101 u -b1011110110001011110101110111101 (" -b1011110110001011110101110111101 9" -0( -0) -0+ -0, -b10 0 -0' -#325 -0N -b1 J -0!" -b1 { -b1011110110001011110101110111101 \ -b0 X -b10 ` -1Z -b1011110110001011110101110111101 m -b110100 i -b10 q -0p -0k -b10 P -b1011110110001011110101110111101 /" -b0 +" -b10 3" -1-" -b1011110110001011110101110111101 @" -b110100 <" -b10 D" -0C" -0>" -b10 #" -b100 7 -1' -#326 -b11100 / -b10 2 -#330 -17" -1:" -b0 5" -0&" -0)" -b1001110 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1001110 Q -b10 O -b0 G -b1001110 s -b1001110 B -b11 A -b1001110001001110 8 -b1001110 $ -b111101100000101111 " -b11 . -1& -b11001110100101101100101010011101 % -b11001110100101101100101010011101 < -b11001110100101101100101010011101 D -b11001110100101101100101010011101 U -b11001110100101101100101010011101 f -b11001110100101101100101010011101 u -b11001110100101101100101010011101 (" -b11001110100101101100101010011101 9" -0( -0) -0+ -0, -b1 0 -0' -#335 -b0 { -b0 J -b100 7 -b10 #" -b11001110100101101100101010011101 @" -b0 <" -1C" -1>" -b11001110100101101100101010011101 /" -b1001110 +" -02" -0-" -b10 P -b11001110100101101100101010011101 m -b0 i -1p -1k -b11001110100101101100101010011101 \ -b1001110 X -0_ -0Z -1' -#336 -b11101 / -b10 2 -#340 -b11100011 $" -b10 "" -b11100011 Q -b10 O -b11100011 s -b11100011 B -b11 A -b11100011011100011 8 -b11100011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10010001101100100 " -b11 . -1& -b100100110101000100011101001001 % -b100100110101000100011101001001 < -b100100110101000100011101001001 D -b100100110101000100011101001001 U -b100100110101000100011101001001 f -b100100110101000100011101001001 u -b100100110101000100011101001001 (" -b100100110101000100011101001001 9" -0( -0) -0+ -0, -b10 0 -0' -#345 -b100100110101000100011101001001 \ -b11100011 X -b1010 ` -b100100110101000100011101001001 m -b1010 q -b10 P -b100100110101000100011101001001 /" -b11100011 +" -b1010 3" -b100100110101000100011101001001 @" -b1010 D" -b10 #" -b100 7 -1' -#346 -b11110 / -b10 2 -#350 -b101010 $" -b11100 Q -b101010 s -b11100 B -b11 A -1V -b10 O -1)" -b10 "" -b101010000011100 8 -1= -b110110011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101010000011100 " -b11 . -0& -b1110111011010100110000111101110 % -b1110111011010100110000111101110 < -b1110111011010100110000111101110 D -b1110111011010100110000111101110 U -b1110111011010100110000111101110 f -b1110111011010100110000111101110 u -b1110111011010100110000111101110 (" -b1110111011010100110000111101110 9" -0( -0) -0+ -0, -b1 0 -0' -#355 -1!" -1N -b10 4 -b10 #" -b1110111011010100110000111101110 @" -b1 D" -b1110111011010100110000111101110 /" -b101010 +" -b1 3" -12" -b10 P -b1110111011010100110000111101110 m -b1 q -b1110111011010100110000111101110 \ -b11100 X -b1 ` -1_ -1' -#356 -b11111 / -b10 2 -#360 -b1011101 $" -b10 "" -0d -b1111000 b -1S -b0 Q -b10 O -b1 G -b1011101 s -b101111000 B -b11 A -b1011101101111000 8 -b10111011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1011101101111000 " -b11 . -b111011000001111011110101110110 % -b111011000001111011110101110110 < -b111011000001111011110101110110 D -b111011000001111011110101110110 U -b111011000001111011110101110110 f -b111011000001111011110101110110 u -b111011000001111011110101110110 (" -b111011000001111011110101110110 9" -0( -0) -0+ -0, -b10 0 -0' -#365 -b1 J -b111011000001111011110101110110 \ -b0 X -b110 ` -1Z -b111011000001111011110101110110 m -b1111000 i -b110 q -0k -b10 P -b111011000001111011110101110110 /" -b1011101 +" -b110 3" -b111011000001111011110101110110 @" -b110 D" -b10 #" -b10 4 -1' -#366 -b100000 / -b10 2 -#370 -b11011011 $" -1d -b0 b -0S -0V -b11011011 Q -b0 G -b11011011 s -b11011011 B -b11 A -1g -b10 O -0)" -b10 "" -b11011011011011011 8 -0= -b11011011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100110110100 " -b11 . -1& -b11100110101100010001000011001101 % -b11100110101100010001000011001101 < -b11100110101100010001000011001101 D -b11100110101100010001000011001101 U -b11100110101100010001000011001101 f -b11100110101100010001000011001101 u -b11100110101100010001000011001101 (" -b11100110101100010001000011001101 9" -0( -0) -0+ -0, -b1 0 -0' -#375 -0!" -0N -b0 J -b100 7 -b10 #" -b11100110101100010001000011001101 @" -b1 D" -b11100110101100010001000011001101 /" -b11011011 +" -b1 3" -02" -b10 P -b11100110101100010001000011001101 m -b0 i -b1 q -1k -b11100110101100010001000011001101 \ -b11011011 X -b1 ` -0_ -0Z -1' -#376 -b100001 / -b10 2 -#380 -b11011101 $" -0d -b10101001 b -1S -b0 Q -b1 G -b11011101 s -b110101001 B -b11 A -1V -b10 O -1)" -b10 "" -b11011101110101001 8 -1= -b101000101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11011101110101001 " -b11 . -0& -b10100101101110010100001001001011 % -b10100101101110010100001001001011 < -b10100101101110010100001001001011 D -b10100101101110010100001001001011 U -b10100101101110010100001001001011 f -b10100101101110010100001001001011 u -b10100101101110010100001001001011 (" -b10100101101110010100001001001011 9" -0( -0) -0+ -0, -b10 0 -0' -#385 -1N -b1 J -1!" -b10100101101110010100001001001011 \ -b0 X -b1100 ` -1_ -1Z -b10100101101110010100001001001011 m -b10101001 i -b1100 q -0k -b10 P -b10100101101110010100001001001011 /" -b11011101 +" -b1100 3" -12" -b10100101101110010100001001001011 @" -b1100 D" -b10 #" -b10 4 -1' -#386 -b100010 / -b10 2 -#390 -b1011 $" -b10 "" -b10110010 b -b10 O -b1011 s -b110110010 B -b11 A -b1011110110010 8 -b10000001 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1011110110010 " -b11 . -b11110000101110000110000011100001 % -b11110000101110000110000011100001 < -b11110000101110000110000011100001 D -b11110000101110000110000011100001 U -b11110000101110000110000011100001 f -b11110000101110000110000011100001 u -b11110000101110000110000011100001 (" -b11110000101110000110000011100001 9" -0( -0) -0+ -0, -b1 0 -0' -#395 -b10 4 -b10 #" -b11110000101110000110000011100001 @" -b101 D" -b11110000101110000110000011100001 /" -b1011 +" -b101 3" -b10 P -b11110000101110000110000011100001 m -b10110010 i -b101 q -b11110000101110000110000011100001 \ -b101 ` -1' -#396 -b100011 / -b10 2 -#400 -b1110101 $" -b10 "" -b10100000 b -b10 O -b1110101 s -b110100000 B -b11 A -b1110101110100000 8 -b110101111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b1110101110100000 " -b11 . -b10000110110100100110111000001101 % -b10000110110100100110111000001101 < -b10000110110100100110111000001101 D -b10000110110100100110111000001101 U -b10000110110100100110111000001101 f -b10000110110100100110111000001101 u -b10000110110100100110111000001101 (" -b10000110110100100110111000001101 9" -0( -0) -0+ -0, -b10 0 -0' -#405 -b10000110110100100110111000001101 \ -b0 ` -b10000110110100100110111000001101 m -b10100000 i -b0 q -b10 P -b10000110110100100110111000001101 /" -b1110101 +" -b0 3" -b10000110110100100110111000001101 @" -b0 D" -b10 #" -b10 4 -1' -#406 -b100100 / -b10 2 -#410 -b1110100 $" -1d -b0 b -0S -0V -b1110100 Q -b0 G -b1110100 s -b1110100 B -b11 A -1g -b10 O -0)" -b10 "" -b1110100001110100 8 -0= -b1110100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101011111011111100 " -b11 . -1& -b10110100001010001010101001101000 % -b10110100001010001010101001101000 < -b10110100001010001010101001101000 D -b10110100001010001010101001101000 U -b10110100001010001010101001101000 f -b10110100001010001010101001101000 u -b10110100001010001010101001101000 (" -b10110100001010001010101001101000 9" -0( -0) -0+ -0, -b1 0 -0' -#415 -0!" -0N -b0 J -b100 7 -b10 #" -b10110100001010001010101001101000 @" -b1101 D" -b10110100001010001010101001101000 /" -b1110100 +" -b1101 3" -02" -b10 P -b10110100001010001010101001101000 m -b0 i -b1101 q -1k -b10110100001010001010101001101000 \ -b1110100 X -b1101 ` -0_ -0Z -1' -#416 -b100101 / -b10 2 -#420 -b1010011 $" -b11001 Q -b1010011 s -b11001 B -b11 A -1V -b10 O -1)" -b10 "" -b1010011000011001 8 -1= -b111111011 $ -b1010011000011001 " -b11 . -0& -b11110110110110001010111011101101 % -b11110110110110001010111011101101 < -b11110110110110001010111011101101 D -b11110110110110001010111011101101 U -b11110110110110001010111011101101 f -b11110110110110001010111011101101 u -b11110110110110001010111011101101 (" -b11110110110110001010111011101101 9" -0( -0) -0+ -0, -b10 0 -0' -#425 -1N -1!" -b11110110110110001010111011101101 \ -b11001 X -1_ -b11110110110110001010111011101101 m -b10 P -b11110110110110001010111011101101 /" -b1010011 +" -12" -b11110110110110001010111011101101 @" -b10 #" -b10 4 -1' -#426 -b100110 / -b10 2 -#430 -07" -0:" -b1100100 5" -1&" -b0 $" -b1 x -0d -0g -b1100100 b -1S -b0 Q -b1 G -b101100100 s -b101100100 B -b11 A -1V -b10 O -1)" -b10 "" -b101100100101100100 8 -0= -b101100100 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1101000100100001 " -b11 . -1& -b10110111110100001100101001101111 % -b10110111110100001100101001101111 < -b10110111110100001100101001101111 D -b10110111110100001100101001101111 U -b10110111110100001100101001101111 f -b10110111110100001100101001101111 u -b10110111110100001100101001101111 (" -b10110111110100001100101001101111 9" -0( -0) -0+ -0, -b1 0 -0' -#435 -0!" -b1 { -0N -b1 J -b100 7 -b10 #" -b10110111110100001100101001101111 @" -b1100100 <" -b111 D" -0C" -0>" -b10110111110100001100101001101111 /" -b0 +" -b111 3" -1-" -b10 P -b10110111110100001100101001101111 m -b1100100 i -b111 q -0p -0k -b10110111110100001100101001101111 \ -b0 X -b111 ` -1Z -1' -#436 -b100111 / -b10 2 -#440 -b111101 5" -b11110111 b -b100111101 s -b111110111 B -b11 A -1g -b10 O -1:" -b10 "" -b100111101111110111 8 -1= -b111110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100111101111110111 " -b11 . -0& -b1111101010010110101001111111010 % -b1111101010010110101001111111010 < -b1111101010010110101001111111010 D -b1111101010010110101001111111010 U -b1111101010010110101001111111010 f -b1111101010010110101001111111010 u -b1111101010010110101001111111010 (" -b1111101010010110101001111111010 9" -0( -0) -0+ -0, -b10 0 -0' -#445 -1N -1!" -b1111101010010110101001111111010 \ -b10 ` -b1111101010010110101001111111010 m -b11110111 i -b10 q -1p -b10 P -b1111101010010110101001111111010 /" -b10 3" -b1111101010010110101001111111010 @" -b111101 <" -b10 D" -1C" -b10 #" -b10 4 -1' -#446 -b101000 / -b10 2 -#450 -17" -b0 5" -0&" -b1110000 $" -b10 "" -b0 x -1d -b0 b -0S -b10 O -b0 G -b1110000 s -b0 B -b11 A -b1110000000000000 8 -b110011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1110000000000000 " -b11 . -b111111100001011100100001111 % -b111111100001011100100001111 < -b111111100001011100100001111 D -b111111100001011100100001111 U -b111111100001011100100001111 f -b111111100001011100100001111 u -b111111100001011100100001111 (" -b111111100001011100100001111 9" -0( -0) -0+ -0, -b1 0 -0' -#455 -b0 { -b0 J -b10 4 -b10 #" -b111111100001011100100001111 @" -b0 <" -b110 D" -1>" -b111111100001011100100001111 /" -b1110000 +" -b110 3" -0-" -b10 P -b111111100001011100100001111 m -b0 i -b110 q -1k -b111111100001011100100001111 \ -b110 ` -0Z -1' -#456 -b101001 / -b10 2 -#460 -07" -b1001010 5" -1&" -b0 $" -b10 "" -b1 x -b100011 Q -b10 O -b101001010 s -b100011 B -b11 A -b101001010000100011 8 -b11010111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101001010000100011 " -b11 . -b100000110111001011111101000001 % -b100000110111001011111101000001 < -b100000110111001011111101000001 D -b100000110111001011111101000001 U -b100000110111001011111101000001 f -b100000110111001011111101000001 u -b100000110111001011111101000001 (" -b100000110111001011111101000001 9" -0( -0) -0+ -0, -b10 0 -0' -#465 -b1 { -b100000110111001011111101000001 \ -b100011 X -b1000 ` -b100000110111001011111101000001 m -b1000 q -b10 P -b100000110111001011111101000001 /" -b0 +" -b1000 3" -1-" -b100000110111001011111101000001 @" -b1001010 <" -b1000 D" -0>" -b10 #" -b10 4 -1' -#466 -b101010 / -b10 2 -#470 -b10011 5" -b10 "" -b1110001 Q -b10 O -b100010011 s -b1110001 B -b11 A -b100010011001110001 8 -b111001101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100010011001110001 " -b11 . -b10101010101010110010010001010101 % -b10101010101010110010010001010101 < -b10101010101010110010010001010101 D -b10101010101010110010010001010101 U -b10101010101010110010010001010101 f -b10101010101010110010010001010101 u -b10101010101010110010010001010101 (" -b10101010101010110010010001010101 9" -0( -0) -0+ -0, -b1 0 -0' -#475 -b10 4 -b10 #" -b10101010101010110010010001010101 @" -b10011 <" -b1001 D" -b10101010101010110010010001010101 /" -b1001 3" -b10 P -b10101010101010110010010001010101 m -b1001 q -b10101010101010110010010001010101 \ -b1110001 X -b1001 ` -1' -#476 -b101011 / -b10 2 -#480 -b11010011 5" -b10 "" -b11110100 Q -b10 O -b111010011 s -b11110100 B -b11 A -b111010011011110100 8 -b1101111 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111010011011110100 " -b11 . -b1010110110011100111111110101101 % -b1010110110011100111111110101101 < -b1010110110011100111111110101101 D -b1010110110011100111111110101101 U -b1010110110011100111111110101101 f -b1010110110011100111111110101101 u -b1010110110011100111111110101101 (" -b1010110110011100111111110101101 9" -0( -0) -0+ -0, -b10 0 -0' -#485 -b1010110110011100111111110101101 \ -b11110100 X -b1110 ` -b1010110110011100111111110101101 m -b1110 q -b10 P -b1010110110011100111111110101101 /" -b1110 3" -b1010110110011100111111110101101 @" -b11010011 <" -b1110 D" -b10 #" -b10 4 -1' -#486 -b101100 / -b10 2 -#490 -17" -b0 5" -0&" -0)" -b11001000 $" -b0 x -b11001000 Q -b11001000 s -b11001000 B -b11 A -0V -b10 O -1:" -b10 "" -b11001000011001000 8 -0= -b11001000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11100011100100101 " -b11 . -1& -b1000101000001100010000110001010 % -b1000101000001100010000110001010 < -b1000101000001100010000110001010 D -b1000101000001100010000110001010 U -b1000101000001100010000110001010 f -b1000101000001100010000110001010 u -b1000101000001100010000110001010 (" -b1000101000001100010000110001010 9" -0( -0) -0+ -0, -b1 0 -0' -#495 -0!" -b0 { -0N -b100 7 -b10 #" -b1000101000001100010000110001010 @" -b0 <" -b1010 D" -1>" -b1000101000001100010000110001010 /" -b11001000 +" -b1010 3" -02" -0-" -b10 P -b1000101000001100010000110001010 m -b1010 q -b1000101000001100010000110001010 \ -b11001000 X -b1010 ` -0_ -1' -#496 -b101101 / -b10 2 -#500 -07" -0:" -b1110000 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1110000 b -1S -1V -b0 Q -b10 O -b1 G -b101110000 s -b101110000 B -b11 A -b101110000101110000 8 -b101110000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11001111001100000 " -b11 . -1& -b1111001011110000110100111110010 % -b1111001011110000110100111110010 < -b1111001011110000110100111110010 D -b1111001011110000110100111110010 U -b1111001011110000110100111110010 f -b1111001011110000110100111110010 u -b1111001011110000110100111110010 (" -b1111001011110000110100111110010 9" -0( -0) -0+ -0, -b10 0 -0' -#505 -b1 J -b1 { -b1111001011110000110100111110010 \ -b0 X -b10 ` -1_ -1Z -b1111001011110000110100111110010 m -b1110000 i -b10 q -0p -0k -b10 P -b1111001011110000110100111110010 /" -b0 +" -b10 3" -12" -1-" -b1111001011110000110100111110010 @" -b1110000 <" -b10 D" -0C" -0>" -b10 #" -b100 7 -1' -#506 -b101110 / -b10 2 -#510 -b11101000 5" -b10 "" -b11101000 b -b10 O -b111101000 s -b111101000 B -b11 A -b111101000111101000 8 -b111101000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11111000010011000 " -b11 . -1& -b11100101101000101011001011001011 % -b11100101101000101011001011001011 < -b11100101101000101011001011001011 D -b11100101101000101011001011001011 U -b11100101101000101011001011001011 f -b11100101101000101011001011001011 u -b11100101101000101011001011001011 (" -b11100101101000101011001011001011 9" -0( -0) -0+ -0, -b1 0 -0' -#515 -b100 7 -b10 #" -b11100101101000101011001011001011 @" -b11101000 <" -b100 D" -b11100101101000101011001011001011 /" -b100 3" -b10 P -b11100101101000101011001011001011 m -b11101000 i -b100 q -b11100101101000101011001011001011 \ -b100 ` -1' -#516 -b101111 / -b10 2 -#520 -b10010100 5" -1d -b0 b -0S -b11100000 Q -b0 G -b110010100 s -b11100000 B -b11 A -1g -b10 O -1:" -b10 "" -b110010100011100000 8 -1= -b111000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110010100011100000 " -b11 . -0& -b10000110000101100010100100001 % -b10000110000101100010100100001 < -b10000110000101100010100100001 D -b10000110000101100010100100001 U -b10000110000101100010100100001 f -b10000110000101100010100100001 u -b10000110000101100010100100001 (" -b10000110000101100010100100001 9" -0( -0) -0+ -0, -b10 0 -0' -#525 -1N -b0 J -1!" -b10000110000101100010100100001 \ -b11100000 X -b101 ` -0Z -b10000110000101100010100100001 m -b0 i -b101 q -1p -1k -b10 P -b10000110000101100010100100001 /" -b101 3" -b10000110000101100010100100001 @" -b10010100 <" -b101 D" -1C" -b10 #" -b10 4 -1' -#526 -b110000 / -b10 2 -#530 -b11101011 5" -0d -0g -b11101011 b -1S -b0 Q -b1 G -b111101011 s -b111101011 B -b11 A -1V -b10 O -0:" -b10 "" -b111101011111101011 8 -0= -b111101011 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b10011100000111011 " -b11 . -1& -b10010000000100111000010000100000 % -b10010000000100111000010000100000 < -b10010000000100111000010000100000 D -b10010000000100111000010000100000 U -b10010000000100111000010000100000 f -b10010000000100111000010000100000 u -b10010000000100111000010000100000 (" -b10010000000100111000010000100000 9" -0( -0) -0+ -0, -b1 0 -0' -#535 -0!" -0N -b1 J -b100 7 -b10 #" -b10010000000100111000010000100000 @" -b11101011 <" -b1001 D" -0C" -b10010000000100111000010000100000 /" -b1001 3" -b10 P -b10010000000100111000010000100000 m -b11101011 i -b1001 q -0p -0k -b10010000000100111000010000100000 \ -b0 X -b1001 ` -1Z -1' -#536 -b110001 / -b10 2 -#540 -b111 5" -b101101 b -b100000111 s -b100101101 B -b11 A -1g -b10 O -1:" -b10 "" -b100000111100101101 8 -1= -b110010101 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100000111100101101 " -b11 . -0& -b11001100000110110110000010011000 % -b11001100000110110110000010011000 < -b11001100000110110110000010011000 D -b11001100000110110110000010011000 U -b11001100000110110110000010011000 f -b11001100000110110110000010011000 u -b11001100000110110110000010011000 (" -b11001100000110110110000010011000 9" -0( -0) -0+ -0, -b10 0 -0' -#545 -1N -1!" -b11001100000110110110000010011000 \ -b0 ` -b11001100000110110110000010011000 m -b101101 i -b0 q -1p -b10 P -b11001100000110110110000010011000 /" -b0 3" -b11001100000110110110000010011000 @" -b111 <" -b0 D" -1C" -b10 #" -b10 4 -1' -#546 -b110010 / -b10 2 -#550 -17" -b0 5" -0&" -b1010010 $" -b10 "" -b0 x -1d -b0 b -0S -b11101011 Q -b10 O -b0 G -b1010010 s -b11101011 B -b11 A -b1010010011101011 8 -b110010111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1010010011101011 " -b11 . -b11000011011110100111100010000110 % -b11000011011110100111100010000110 < -b11000011011110100111100010000110 D -b11000011011110100111100010000110 U -b11000011011110100111100010000110 f -b11000011011110100111100010000110 u -b11000011011110100111100010000110 (" -b11000011011110100111100010000110 9" -0( -0) -0+ -0, -b1 0 -0' -#555 -b0 { -b0 J -b10 4 -b10 #" -b11000011011110100111100010000110 @" -b0 <" -b1001 D" -1>" -b11000011011110100111100010000110 /" -b1010010 +" -b1001 3" -0-" -b10 P -b11000011011110100111100010000110 m -b0 i -b1001 q -1k -b11000011011110100111100010000110 \ -b11101011 X -b1001 ` -0Z -1' -#556 -b110011 / -b10 2 -#560 -07" -b11110010 5" -1&" -b0 $" -b10 "" -b1 x -0d -b1110100 b -1S -b0 Q -b10 O -b1 G -b111110010 s -b101110100 B -b11 A -b111110010101110100 8 -b100110100 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111110010101110100 " -b11 . -b11000100001011011011100010001000 % -b11000100001011011011100010001000 < -b11000100001011011011100010001000 D -b11000100001011011011100010001000 U -b11000100001011011011100010001000 f -b11000100001011011011100010001000 u -b11000100001011011011100010001000 (" -b11000100001011011011100010001000 9" -0( -0) -0+ -0, -b10 0 -0' -#565 -b1 J -b1 { -b11000100001011011011100010001000 \ -b0 X -b1011 ` -1Z -b11000100001011011011100010001000 m -b1110100 i -b1011 q -0k -b10 P -b11000100001011011011100010001000 /" -b0 +" -b1011 3" -1-" -b11000100001011011011100010001000 @" -b11110010 <" -b1011 D" -0>" -b10 #" -b10 4 -1' -#566 -b110100 / -b10 2 -#570 -17" -b0 5" -0&" -0)" -b10000010 $" -b0 x -1d -b0 b -0S -0V -b10000010 Q -b0 G -b10000010 s -b10000010 B -b11 A -1g -b10 O -1:" -b10 "" -b10000010010000010 8 -0= -b10000010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b110001111110001100 " -b11 . -1& -b11000000110101010100110010000001 % -b11000000110101010100110010000001 < -b11000000110101010100110010000001 D -b11000000110101010100110010000001 U -b11000000110101010100110010000001 f -b11000000110101010100110010000001 u -b11000000110101010100110010000001 (" -b11000000110101010100110010000001 9" -0( -0) -0+ -0, -b1 0 -0' -#575 -0!" -b0 { -0N -b0 J -b100 7 -b10 #" -b11000000110101010100110010000001 @" -b0 <" -b1111 D" -1>" -b11000000110101010100110010000001 /" -b10000010 +" -b1111 3" -02" -0-" -b10 P -b11000000110101010100110010000001 m -b0 i -b1111 q -1k -b11000000110101010100110010000001 \ -b10000010 X -b1111 ` -0_ -0Z -1' -#576 -b110101 / -b10 2 -#580 -b11001011 $" -b10 "" -b11001011 Q -b10 O -b11001011 s -b11001011 B -b11 A -b11001011011001011 8 -b11001011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111110101000110110 " -b11 . -1& -b100011011001100001011101000110 % -b100011011001100001011101000110 < -b100011011001100001011101000110 D -b100011011001100001011101000110 U -b100011011001100001011101000110 f -b100011011001100001011101000110 u -b100011011001100001011101000110 (" -b100011011001100001011101000110 9" -0( -0) -0+ -0, -b10 0 -0' -#585 -b100011011001100001011101000110 \ -b11001011 X -b1 ` -b100011011001100001011101000110 m -b1 q -b10 P -b100011011001100001011101000110 /" -b11001011 +" -b1 3" -b100011011001100001011101000110 @" -b1 D" -b10 #" -b100 7 -1' -#586 -b110110 / -b10 2 -#590 -07" -0:" -b11101110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11101110 b -1S -1V -b0 Q -b10 O -b1 G -b111101110 s -b111101110 B -b11 A -b111101110111101110 8 -b111101110 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111000100010010011 " -b11 . -1& -b111001001000010011101101110010 % -b111001001000010011101101110010 < -b111001001000010011101101110010 D -b111001001000010011101101110010 U -b111001001000010011101101110010 f -b111001001000010011101101110010 u -b111001001000010011101101110010 (" -b111001001000010011101101110010 9" -0( -0) -0+ -0, -b1 0 -0' -#595 -b1 { -b1 J -b100 7 -b10 #" -b111001001000010011101101110010 @" -b11101110 <" -b1111 D" -0C" -0>" -b111001001000010011101101110010 /" -b0 +" -b1111 3" -12" -1-" -b10 P -b111001001000010011101101110010 m -b11101110 i -b1111 q -0p -0k -b111001001000010011101101110010 \ -b0 X -b1111 ` -1_ -1Z -1' -#596 -b110111 / -b10 2 -#600 -17" -1:" -b0 5" -0&" -0)" -b10110101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10110101 Q -b10 O -b0 G -b10110101 s -b10110101 B -b11 A -b10110101010110101 8 -b10110101 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110010111010100011 " -b11 . -1& -b11011111000001111011000010111110 % -b11011111000001111011000010111110 < -b11011111000001111011000010111110 D -b11011111000001111011000010111110 U -b11011111000001111011000010111110 f -b11011111000001111011000010111110 u -b11011111000001111011000010111110 (" -b11011111000001111011000010111110 9" -0( -0) -0+ -0, -b10 0 -0' -#605 -b0 J -b0 { -b11011111000001111011000010111110 \ -b10110101 X -b101 ` -0_ -0Z -b11011111000001111011000010111110 m -b0 i -b101 q -1p -1k -b10 P -b11011111000001111011000010111110 /" -b10110101 +" -b101 3" -02" -0-" -b11011111000001111011000010111110 @" -b0 <" -b101 D" -1C" -1>" -b10 #" -b100 7 -1' -#606 -b111000 / -b10 2 -#610 -b1110110 $" -b10 "" -b1110110 Q -b10 O -b1110110 s -b1110110 B -b11 A -b1110110001110110 8 -b1110110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101110011010110100 " -b11 . -1& -b111001001111011001101101110010 % -b111001001111011001101101110010 < -b111001001111011001101101110010 D -b111001001111011001101101110010 U -b111001001111011001101101110010 f -b111001001111011001101101110010 u -b111001001111011001101101110010 (" -b111001001111011001101101110010 9" -0( -0) -0+ -0, -b1 0 -0' -#615 -b100 7 -b10 #" -b111001001111011001101101110010 @" -b1000 D" -b111001001111011001101101110010 /" -b1110110 +" -b1000 3" -b10 P -b111001001111011001101101110010 m -b1000 q -b111001001111011001101101110010 \ -b1110110 X -b1000 ` -1' -#616 -b111001 / -b10 2 -#620 -b11010111 $" -b11001101 Q -b11010111 s -b11001101 B -b11 A -1V -b10 O -1)" -b10 "" -b11010111011001101 8 -1= -b1101101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b11010111011001101 " -b11 . -0& -b1100111010111011100010111001110 % -b1100111010111011100010111001110 < -b1100111010111011100010111001110 D -b1100111010111011100010111001110 U -b1100111010111011100010111001110 f -b1100111010111011100010111001110 u -b1100111010111011100010111001110 (" -b1100111010111011100010111001110 9" -0( -0) -0+ -0, -b10 0 -0' -#625 -1N -1!" -b1100111010111011100010111001110 \ -b11001101 X -b111 ` -1_ -b1100111010111011100010111001110 m -b111 q -b10 P -b1100111010111011100010111001110 /" -b11010111 +" -b111 3" -12" -b1100111010111011100010111001110 @" -b111 D" -b10 #" -b10 4 -1' -#626 -b111010 / -b10 2 -#630 -07" -0:" -b11001010 5" -1&" -b0 $" -b1 x -0d -0g -b11001010 b -1S -b0 Q -b1 G -b111001010 s -b111001010 B -b11 A -1V -b10 O -1)" -b10 "" -b111001010111001010 8 -0= -b111001010 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101100010000111 " -b11 . -1& -b10001001101010111110100100010 % -b10001001101010111110100100010 < -b10001001101010111110100100010 D -b10001001101010111110100100010 U -b10001001101010111110100100010 f -b10001001101010111110100100010 u -b10001001101010111110100100010 (" -b10001001101010111110100100010 9" -0( -0) -0+ -0, -b1 0 -0' -#635 -0!" -b1 { -0N -b1 J -b100 7 -b10 #" -b10001001101010111110100100010 @" -b11001010 <" -b1001 D" -0C" -0>" -b10001001101010111110100100010 /" -b0 +" -b1001 3" -1-" -b10 P -b10001001101010111110100100010 m -b11001010 i -b1001 q -0p -0k -b10001001101010111110100100010 \ -b0 X -b1001 ` -1Z -1' -#636 -b111011 / -b10 2 -#640 -17" -b0 5" -0&" -b10111001 $" -b0 x -1d -b0 b -0S -b111101 Q -b0 G -b10111001 s -b111101 B -b11 A -1g -b10 O -1:" -b10 "" -b10111001000111101 8 -1= -b10000011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111001000111101 " -b11 . -0& -b1010100010011111011111110101000 % -b1010100010011111011111110101000 < -b1010100010011111011111110101000 D -b1010100010011111011111110101000 U -b1010100010011111011111110101000 f -b1010100010011111011111110101000 u -b1010100010011111011111110101000 (" -b1010100010011111011111110101000 9" -0( -0) -0+ -0, -b10 0 -0' -#645 -1N -b0 J -1!" -b0 { -b1010100010011111011111110101000 \ -b111101 X -b101 ` -0Z -b1010100010011111011111110101000 m -b0 i -b101 q -1p -1k -b10 P -b1010100010011111011111110101000 /" -b10111001 +" -b101 3" -0-" -b1010100010011111011111110101000 @" -b0 <" -b101 D" -1C" -1>" -b10 #" -b10 4 -1' -#646 -b111100 / -b10 2 -#650 -07" -b11011111 5" -1&" -b0 $" -b10 "" -b1 x -b10011101 Q -b10 O -b111011111 s -b10011101 B -b11 A -b111011111010011101 8 -b10000010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b111011111010011101 " -b11 . -b10000110010110000101000000001100 % -b10000110010110000101000000001100 < -b10000110010110000101000000001100 D -b10000110010110000101000000001100 U -b10000110010110000101000000001100 f -b10000110010110000101000000001100 u -b10000110010110000101000000001100 (" -b10000110010110000101000000001100 9" -0( -0) -0+ -0, -b1 0 -0' -#655 -b1 { -b10 4 -b10 #" -b10000110010110000101000000001100 @" -b11011111 <" -b111 D" -0>" -b10000110010110000101000000001100 /" -b0 +" -b111 3" -1-" -b10 P -b10000110010110000101000000001100 m -b111 q -b10000110010110000101000000001100 \ -b10011101 X -b111 ` -1' -#656 -b111101 / -b10 2 -#660 -b10101000 5" -b10 "" -b10000001 Q -b10 O -b110101000 s -b10000001 B -b11 A -b110101000010000001 8 -b101011100 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b110101000010000001 " -b11 . -b11000100011000000101100010001000 % -b11000100011000000101100010001000 < -b11000100011000000101100010001000 D -b11000100011000000101100010001000 U -b11000100011000000101100010001000 f -b11000100011000000101100010001000 u -b11000100011000000101100010001000 (" -b11000100011000000101100010001000 9" -0( -0) -0+ -0, -b10 0 -0' -#665 -b11000100011000000101100010001000 \ -b10000001 X -b1010 ` -b11000100011000000101100010001000 m -b1010 q -b10 P -b11000100011000000101100010001000 /" -b1010 3" -b11000100011000000101100010001000 @" -b10101000 <" -b1010 D" -b10 #" -b10 4 -1' -#666 -b111110 / -b10 2 -#670 -b10111101 5" -0d -0g -b10111101 b -1S -b0 Q -b1 G -b110111101 s -b110111101 B -b11 A -1V -b10 O -0:" -b10 "" -b110111101110111101 8 -0= -b110111101 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b1101011000011000 " -b11 . -1& -b1001011010010011000001110010110 % -b1001011010010011000001110010110 < -b1001011010010011000001110010110 D -b1001011010010011000001110010110 U -b1001011010010011000001110010110 f -b1001011010010011000001110010110 u -b1001011010010011000001110010110 (" -b1001011010010011000001110010110 9" -0( -0) -0+ -0, -b1 0 -0' -#675 -0!" -0N -b1 J -b100 7 -b10 #" -b1001011010010011000001110010110 @" -b10111101 <" -b0 D" -0C" -b1001011010010011000001110010110 /" -b0 3" -b10 P -b1001011010010011000001110010110 m -b10111101 i -b0 q -0p -0k -b1001011010010011000001110010110 \ -b0 X -b0 ` -1Z -1' -#676 -b111111 / -b10 2 -#680 -17" -1:" -b0 5" -0&" -0)" -b10001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10001 Q -b10 O -b0 G -b10001 s -b10001 B -b11 A -b10001000010001 8 -b10001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1010110001111 " -b11 . -1& -b10010110110111111011011000101101 % -b10010110110111111011011000101101 < -b10010110110111111011011000101101 D -b10010110110111111011011000101101 U -b10010110110111111011011000101101 f -b10010110110111111011011000101101 u -b10010110110111111011011000101101 (" -b10010110110111111011011000101101 9" -0( -0) -0+ -0, -b10 0 -0' -#685 -b0 J -b0 { -b10010110110111111011011000101101 \ -b10001 X -b1001 ` -0_ -0Z -b10010110110111111011011000101101 m -b0 i -b1001 q -1p -1k -b10 P -b10010110110111111011011000101101 /" -b10001 +" -b1001 3" -02" -0-" -b10010110110111111011011000101101 @" -b0 <" -b1001 D" -1C" -1>" -b10 #" -b100 7 -1' -#686 -b1000000 / -b10 2 -#690 -b11010111 $" -0d -b1011101 b -1S -b0 Q -b1 G -b11010111 s -b101011101 B -b11 A -1V -b10 O -1)" -b10 "" -b11010111101011101 8 -1= -b111111111 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11010111101011101 " -b11 . -0& -b1101110111011110001010111011101 % -b1101110111011110001010111011101 < -b1101110111011110001010111011101 D -b1101110111011110001010111011101 U -b1101110111011110001010111011101 f -b1101110111011110001010111011101 u -b1101110111011110001010111011101 (" -b1101110111011110001010111011101 9" -0( -0) -0+ -0, -b1 0 -0' -#695 -1!" -1N -b1 J -b10 4 -b10 #" -b1101110111011110001010111011101 @" -b1110 D" -b1101110111011110001010111011101 /" -b11010111 +" -b1110 3" -12" -b10 P -b1101110111011110001010111011101 m -b1011101 i -b1110 q -0k -b1101110111011110001010111011101 \ -b0 X -b1110 ` -1_ -1Z -1' -#696 -b1000001 / -b10 2 -#700 -07" -0:" -b11101011 5" -1&" -b0 $" -b1 x -b11101011 b -b111101011 s -b111101011 B -b11 A -0g -b10 O -1)" -b10 "" -b111101011111101011 8 -0= -b111101011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10011011010010 " -b11 . -1& -b10001110110110001000101000011101 % -b10001110110110001000101000011101 < -b10001110110110001000101000011101 D -b10001110110110001000101000011101 U -b10001110110110001000101000011101 f -b10001110110110001000101000011101 u -b10001110110110001000101000011101 (" -b10001110110110001000101000011101 9" -0( -0) -0+ -0, -b10 0 -0' -#705 -0N -0!" -b1 { -b10001110110110001000101000011101 \ -b1 ` -b10001110110110001000101000011101 m -b11101011 i -b1 q -0p -b10 P -b10001110110110001000101000011101 /" -b0 +" -b1 3" -1-" -b10001110110110001000101000011101 @" -b11101011 <" -b1 D" -0C" -0>" -b10 #" -b100 7 -1' -#706 -b1000010 / -b10 2 -#710 -b11110111 5" -b10001110 b -b111110111 s -b110001110 B -b11 A -1g -b10 O -1:" -b10 "" -b111110111110001110 8 -1= -b11110010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111110111110001110 " -b11 . -0& -b10100010111001110100111001000101 % -b10100010111001110100111001000101 < -b10100010111001110100111001000101 D -b10100010111001110100111001000101 U -b10100010111001110100111001000101 f -b10100010111001110100111001000101 u -b10100010111001110100111001000101 (" -b10100010111001110100111001000101 9" -0( -0) -0+ -0, -b1 0 -0' -#715 -1!" -1N -b10 4 -b10 #" -b10100010111001110100111001000101 @" -b11110111 <" -b1100 D" -1C" -b10100010111001110100111001000101 /" -b1100 3" -b10 P -b10100010111001110100111001000101 m -b10001110 i -b1100 q -1p -b10100010111001110100111001000101 \ -b1100 ` -1' -#716 -b1000011 / -b10 2 -#720 -b1101101 5" -b1101101 b -b101101101 s -b101101101 B -b11 A -0g -b10 O -0:" -b10 "" -b101101101101101101 8 -0= -b101101101 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100100010110100111 " -b11 . -1& -b11110011000000000010111011100110 % -b11110011000000000010111011100110 < -b11110011000000000010111011100110 D -b11110011000000000010111011100110 U -b11110011000000000010111011100110 f -b11110011000000000010111011100110 u -b11110011000000000010111011100110 (" -b11110011000000000010111011100110 9" -0( -0) -0+ -0, -b10 0 -0' -#725 -0N -0!" -b11110011000000000010111011100110 \ -b1000 ` -b11110011000000000010111011100110 m -b1101101 i -b1000 q -0p -b10 P -b11110011000000000010111011100110 /" -b1000 3" -b11110011000000000010111011100110 @" -b1101101 <" -b1000 D" -0C" -b10 #" -b100 7 -1' -#726 -b1000100 / -b10 2 -#730 -b1001100 5" -1d -b0 b -0S -b111011 Q -b0 G -b101001100 s -b111011 B -b11 A -1g -b10 O -1:" -b10 "" -b101001100000111011 8 -1= -b101 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101001100000111011 " -b11 . -0& -b11010011111011010100110010100111 % -b11010011111011010100110010100111 < -b11010011111011010100110010100111 D -b11010011111011010100110010100111 U -b11010011111011010100110010100111 f -b11010011111011010100110010100111 u -b11010011111011010100110010100111 (" -b11010011111011010100110010100111 9" -0( -0) -0+ -0, -b1 0 -0' -#735 -1!" -1N -b0 J -b10 4 -b10 #" -b11010011111011010100110010100111 @" -b1001100 <" -b110 D" -1C" -b11010011111011010100110010100111 /" -b110 3" -b10 P -b11010011111011010100110010100111 m -b0 i -b110 q -1p -1k -b11010011111011010100110010100111 \ -b111011 X -b110 ` -0Z -1' -#736 -b1000101 / -b10 2 -#740 -b11100011 5" -0d -0g -b11100011 b -1S -b0 Q -b1 G -b111100011 s -b111100011 B -b11 A -1V -b10 O -0:" -b10 "" -b111100011111100011 8 -0= -b111100011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b1011011001101100 " -b11 . -1& -b10111101100011100110100101111 % -b10111101100011100110100101111 < -b10111101100011100110100101111 D -b10111101100011100110100101111 U -b10111101100011100110100101111 f -b10111101100011100110100101111 u -b10111101100011100110100101111 (" -b10111101100011100110100101111 9" -0( -0) -0+ -0, -b10 0 -0' -#745 -0N -b1 J -0!" -b10111101100011100110100101111 \ -b0 X -b1000 ` -1Z -b10111101100011100110100101111 m -b11100011 i -b1000 q -0p -0k -b10 P -b10111101100011100110100101111 /" -b1000 3" -b10111101100011100110100101111 @" -b11100011 <" -b1000 D" -0C" -b10 #" -b100 7 -1' -#746 -b1000110 / -b10 2 -#750 -17" -1:" -b0 5" -0&" -0)" -b100000 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b100000 Q -b10 O -b0 G -b100000 s -b100000 B -b11 A -b100000000100000 8 -b100000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1110010111101110 " -b11 . -1& -b10010101001010011100000100 % -b10010101001010011100000100 < -b10010101001010011100000100 D -b10010101001010011100000100 U -b10010101001010011100000100 f -b10010101001010011100000100 u -b10010101001010011100000100 (" -b10010101001010011100000100 9" -0( -0) -0+ -0, -b1 0 -0' -#755 -b0 { -b0 J -b100 7 -b10 #" -b10010101001010011100000100 @" -b0 <" -b1001 D" -1C" -1>" -b10010101001010011100000100 /" -b100000 +" -b1001 3" -02" -0-" -b10 P -b10010101001010011100000100 m -b0 i -b1001 q -1p -1k -b10010101001010011100000100 \ -b100000 X -b1001 ` -0_ -0Z -1' -#756 -b1000111 / -b10 2 -#760 -b10110011 $" -b10 "" -b10110011 Q -b10 O -b10110011 s -b10110011 B -b11 A -b10110011010110011 8 -b10110011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b11011100001100011 " -b11 . -1& -b10011010101111000111100000110101 % -b10011010101111000111100000110101 < -b10011010101111000111100000110101 D -b10011010101111000111100000110101 U -b10011010101111000111100000110101 f -b10011010101111000111100000110101 u -b10011010101111000111100000110101 (" -b10011010101111000111100000110101 9" -0( -0) -0+ -0, -b10 0 -0' -#765 -b10011010101111000111100000110101 \ -b10110011 X -b1000 ` -b10011010101111000111100000110101 m -b1000 q -b10 P -b10011010101111000111100000110101 /" -b10110011 +" -b1000 3" -b10011010101111000111100000110101 @" -b1000 D" -b10 #" -b100 7 -1' -#766 -b1001000 / -b10 2 -#770 -b11001110 $" -b10 "" -b11001110 Q -b10 O -b11001110 s -b11001110 B -b11 A -b11001110011001110 8 -b11001110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10100100110101110 " -b11 . -1& -b10000110100001000001100000001101 % -b10000110100001000001100000001101 < -b10000110100001000001100000001101 D -b10000110100001000001100000001101 U -b10000110100001000001100000001101 f -b10000110100001000001100000001101 u -b10000110100001000001100000001101 (" -b10000110100001000001100000001101 9" -0( -0) -0+ -0, -b1 0 -0' -#775 -b100 7 -b10 #" -b10000110100001000001100000001101 @" -b101 D" -b10000110100001000001100000001101 /" -b11001110 +" -b101 3" -b10 P -b10000110100001000001100000001101 m -b101 q -b10000110100001000001100000001101 \ -b11001110 X -b101 ` -1' -#776 -b1001001 / -b10 2 -#780 -b1111010 $" -0d -b11011100 b -1S -b0 Q -b1 G -b1111010 s -b111011100 B -b11 A -1V -b10 O -1)" -b10 "" -b1111010111011100 8 -1= -b1010100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1111010111011100 " -b11 . -0& -b10100101100011000101010001001011 % -b10100101100011000101010001001011 < -b10100101100011000101010001001011 D -b10100101100011000101010001001011 U -b10100101100011000101010001001011 f -b10100101100011000101010001001011 u -b10100101100011000101010001001011 (" -b10100101100011000101010001001011 9" -0( -0) -0+ -0, -b10 0 -0' -#785 -1N -b1 J -1!" -b10100101100011000101010001001011 \ -b0 X -b1101 ` -1_ -1Z -b10100101100011000101010001001011 m -b11011100 i -b1101 q -0k -b10 P -b10100101100011000101010001001011 /" -b1111010 +" -b1101 3" -12" -b10100101100011000101010001001011 @" -b1101 D" -b10 #" -b10 4 -1' -#786 -b1001010 / -b10 2 -#790 -b11011 $" -b10 "" -1d -b0 b -0S -b1011110 Q -b10 O -b0 G -b11011 s -b1011110 B -b11 A -b11011001011110 8 -b101011001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11011001011110 " -b11 . -b1100101000101110001000111001010 % -b1100101000101110001000111001010 < -b1100101000101110001000111001010 D -b1100101000101110001000111001010 U -b1100101000101110001000111001010 f -b1100101000101110001000111001010 u -b1100101000101110001000111001010 (" -b1100101000101110001000111001010 9" -0( -0) -0+ -0, -b1 0 -0' -#795 -b0 J -b10 4 -b10 #" -b1100101000101110001000111001010 @" -b110 D" -b1100101000101110001000111001010 /" -b11011 +" -b110 3" -b10 P -b1100101000101110001000111001010 m -b0 i -b110 q -1k -b1100101000101110001000111001010 \ -b1011110 X -b110 ` -0Z -1' -#796 -b1001011 / -b10 2 -#800 -07" -b1111100 5" -1&" -b0 $" -b10 "" -b1 x -b0 Q -b10 O -b101111100 s -b0 B -b11 A -b101111100000000000 8 -b1001000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101111100000000000 " -b11 . -b1111000111101101010101111110001 % -b1111000111101101010101111110001 < -b1111000111101101010101111110001 D -b1111000111101101010101111110001 U -b1111000111101101010101111110001 f -b1111000111101101010101111110001 u -b1111000111101101010101111110001 (" -b1111000111101101010101111110001 9" -0( -0) -0+ -0, -b10 0 -0' -#805 -b1 { -b1111000111101101010101111110001 \ -b0 X -b10 ` -b1111000111101101010101111110001 m -b10 q -b10 P -b1111000111101101010101111110001 /" -b0 +" -b10 3" -1-" -b1111000111101101010101111110001 @" -b1111100 <" -b10 D" -0>" -b10 #" -b10 4 -1' -#806 -b1001100 / -b10 2 -#810 -b10111111 5" -0d -0g -b10111111 b -1S -b1 G -b110111111 s -b110111111 B -b11 A -1V -b10 O -0:" -b10 "" -b110111111110111111 8 -0= -b110111111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111000010010010001 " -b11 . -1& -b11111000000011100101111011110000 % -b11111000000011100101111011110000 < -b11111000000011100101111011110000 D -b11111000000011100101111011110000 U -b11111000000011100101111011110000 f -b11111000000011100101111011110000 u -b11111000000011100101111011110000 (" -b11111000000011100101111011110000 9" -0( -0) -0+ -0, -b1 0 -0' -#815 -0!" -0N -b1 J -b100 7 -b10 #" -b11111000000011100101111011110000 @" -b10111111 <" -b1011 D" -0C" -b11111000000011100101111011110000 /" -b1011 3" -b10 P -b11111000000011100101111011110000 m -b10111111 i -b1011 q -0p -0k -b11111000000011100101111011110000 \ -b1011 ` -1Z -1' -#816 -b1001101 / -b10 2 -#820 -17" -1:" -b0 5" -0&" -0)" -b11000 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11000 Q -b10 O -b0 G -b11000 s -b11000 B -b11 A -b11000000011000 8 -b11000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b100010001100010111 " -b11 . -1& -b10000110101100010001010000001101 % -b10000110101100010001010000001101 < -b10000110101100010001010000001101 D -b10000110101100010001010000001101 U -b10000110101100010001010000001101 f -b10000110101100010001010000001101 u -b10000110101100010001010000001101 (" -b10000110101100010001010000001101 9" -0( -0) -0+ -0, -b10 0 -0' -#825 -b0 J -b0 { -b10000110101100010001010000001101 \ -b11000 X -b111 ` -0_ -0Z -b10000110101100010001010000001101 m -b0 i -b111 q -1p -1k -b10 P -b10000110101100010001010000001101 /" -b11000 +" -b111 3" -02" -0-" -b10000110101100010001010000001101 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b100 7 -1' -#826 -b1001110 / -b10 2 -#830 -b10101111 $" -b10 "" -b10101111 Q -b10 O -b10101111 s -b10101111 B -b11 A -b10101111010101111 8 -b10101111 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1010100101000010 " -b11 . -1& -b1101110001101111100110111011100 % -b1101110001101111100110111011100 < -b1101110001101111100110111011100 D -b1101110001101111100110111011100 U -b1101110001101111100110111011100 f -b1101110001101111100110111011100 u -b1101110001101111100110111011100 (" -b1101110001101111100110111011100 9" -0( -0) -0+ -0, -b1 0 -0' -#835 -b100 7 -b10 #" -b1101110001101111100110111011100 @" -b1101 D" -b1101110001101111100110111011100 /" -b10101111 +" -b1101 3" -b10 P -b1101110001101111100110111011100 m -b1101 q -b1101110001101111100110111011100 \ -b10101111 X -b1101 ` -1' -#836 -b1001111 / -b10 2 -#840 -b10111 $" -b110111 Q -b10111 s -b110111 B -b11 A -1V -b10 O -1)" -b10 "" -b10111000110111 8 -1= -b110110001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b10111000110111 " -b11 . -0& -b10011111001110111001011000111110 % -b10011111001110111001011000111110 < -b10011111001110111001011000111110 D -b10011111001110111001011000111110 U -b10011111001110111001011000111110 f -b10011111001110111001011000111110 u -b10011111001110111001011000111110 (" -b10011111001110111001011000111110 9" -0( -0) -0+ -0, -b10 0 -0' -#845 -1N -1!" -b10011111001110111001011000111110 \ -b110111 X -b110 ` -1_ -b10011111001110111001011000111110 m -b110 q -b10 P -b10011111001110111001011000111110 /" -b10111 +" -b110 3" -12" -b10011111001110111001011000111110 @" -b110 D" -b10 #" -b10 4 -1' -#846 -b1010000 / -b10 2 -#850 -b1101 $" -b1101 Q -b1101 s -b1101 B -b11 A -0V -b10 O -0)" -b10 "" -b1101000001101 8 -0= -b1101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110011111101100010 " -b11 . -1& -b1100111101101001100000111001111 % -b1100111101101001100000111001111 < -b1100111101101001100000111001111 D -b1100111101101001100000111001111 U -b1100111101101001100000111001111 f -b1100111101101001100000111001111 u -b1100111101101001100000111001111 (" -b1100111101101001100000111001111 9" -0( -0) -0+ -0, -b1 0 -0' -#855 -0!" -0N -b100 7 -b10 #" -b1100111101101001100000111001111 @" -b10 D" -b1100111101101001100000111001111 /" -b1101 +" -b10 3" -02" -b10 P -b1100111101101001100000111001111 m -b10 q -b1100111101101001100000111001111 \ -b1101 X -b10 ` -0_ -1' -#856 -b1010001 / -b10 2 -#860 -07" -0:" -b10100000 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10100000 b -1S -1V -b0 Q -b10 O -b1 G -b110100000 s -b110100000 B -b11 A -b110100000110100000 8 -b110100000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101011001011000001 " -b11 . -1& -b11101111110001011100000011011111 % -b11101111110001011100000011011111 < -b11101111110001011100000011011111 D -b11101111110001011100000011011111 U -b11101111110001011100000011011111 f -b11101111110001011100000011011111 u -b11101111110001011100000011011111 (" -b11101111110001011100000011011111 9" -0( -0) -0+ -0, -b10 0 -0' -#865 -b1 J -b1 { -b11101111110001011100000011011111 \ -b0 X -b1 ` -1_ -1Z -b11101111110001011100000011011111 m -b10100000 i -b1 q -0p -0k -b10 P -b11101111110001011100000011011111 /" -b0 +" -b1 3" -12" -1-" -b11101111110001011100000011011111 @" -b10100000 <" -b1 D" -0C" -0>" -b10 #" -b100 7 -1' -#866 -b1010010 / -b10 2 -#870 -b10011 5" -1d -b0 b -0S -b10000110 Q -b0 G -b100010011 s -b10000110 B -b11 A -1g -b10 O -1:" -b10 "" -b100010011010000110 8 -1= -b110000011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100010011010000110 " -b11 . -0& -b10110110010001111110000001101100 % -b10110110010001111110000001101100 < -b10110110010001111110000001101100 D -b10110110010001111110000001101100 U -b10110110010001111110000001101100 f -b10110110010001111110000001101100 u -b10110110010001111110000001101100 (" -b10110110010001111110000001101100 9" -0( -0) -0+ -0, -b1 0 -0' -#875 -1!" -1N -b0 J -b10 4 -b10 #" -b10110110010001111110000001101100 @" -b10011 <" -b1010 D" -1C" -b10110110010001111110000001101100 /" -b1010 3" -b10 P -b10110110010001111110000001101100 m -b0 i -b1010 q -1p -1k -b10110110010001111110000001101100 \ -b10000110 X -b1010 ` -0Z -1' -#876 -b1010011 / -b10 2 -#880 -17" -b0 5" -0&" -b10010 $" -b10 "" -b0 x -0d -b10101110 b -1S -b0 Q -b10 O -b1 G -b10010 s -b110101110 B -b11 A -b10010110101110 8 -b111011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10010110101110 " -b11 . -b11100010010101101101000011000100 % -b11100010010101101101000011000100 < -b11100010010101101101000011000100 D -b11100010010101101101000011000100 U -b11100010010101101101000011000100 f -b11100010010101101101000011000100 u -b11100010010101101101000011000100 (" -b11100010010101101101000011000100 9" -0( -0) -0+ -0, -b10 0 -0' -#885 -b1 J -b0 { -b11100010010101101101000011000100 \ -b0 X -b1000 ` -1Z -b11100010010101101101000011000100 m -b10101110 i -b1000 q -0k -b10 P -b11100010010101101101000011000100 /" -b10010 +" -b1000 3" -0-" -b11100010010101101101000011000100 @" -b0 <" -b1000 D" -1>" -b10 #" -b10 4 -1' -#886 -b1010100 / -b10 2 -#890 -07" -0:" -b1001011 5" -1&" -b0 $" -b1 x -b1001011 b -b101001011 s -b101001011 B -b11 A -0g -b10 O -1)" -b10 "" -b101001011101001011 8 -0= -b101001011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11111101111000100 " -b11 . -1& -b11110001110100011010011011100011 % -b11110001110100011010011011100011 < -b11110001110100011010011011100011 D -b11110001110100011010011011100011 U -b11110001110100011010011011100011 f -b11110001110100011010011011100011 u -b11110001110100011010011011100011 (" -b11110001110100011010011011100011 9" -0( -0) -0+ -0, -b1 0 -0' -#895 -0!" -b1 { -0N -b100 7 -b10 #" -b11110001110100011010011011100011 @" -b1001011 <" -b1 D" -0C" -0>" -b11110001110100011010011011100011 /" -b0 +" -b1 3" -1-" -b10 P -b11110001110100011010011011100011 m -b1001011 i -b1 q -0p -b11110001110100011010011011100011 \ -b1 ` -1' -#896 -b1010101 / -b10 2 -#900 -17" -1:" -b0 5" -0&" -0)" -b10101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10101 Q -b10 O -b0 G -b10101 s -b10101 B -b11 A -b10101000010101 8 -b10101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10110111110101100 " -b11 . -1& -b11011010000001100111100110110 % -b11011010000001100111100110110 < -b11011010000001100111100110110 D -b11011010000001100111100110110 U -b11011010000001100111100110110 f -b11011010000001100111100110110 u -b11011010000001100111100110110 (" -b11011010000001100111100110110 9" -0( -0) -0+ -0, -b10 0 -0' -#905 -b0 J -b0 { -b11011010000001100111100110110 \ -b10101 X -b11 ` -0_ -0Z -b11011010000001100111100110110 m -b0 i -b11 q -1p -1k -b10 P -b11011010000001100111100110110 /" -b10101 +" -b11 3" -02" -0-" -b11011010000001100111100110110 @" -b0 <" -b11 D" -1C" -1>" -b10 #" -b100 7 -1' -#906 -b1010110 / -b10 2 -#910 -07" -b1110101 5" -1&" -b0 $" -b1 x -b110011 Q -b101110101 s -b110011 B -b11 A -1V -b10 O -1)" -b10 "" -b101110101000110011 8 -1= -b110000000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101110101000110011 " -b11 . -0& -b10010101001001000001000000101010 % -b10010101001001000001000000101010 < -b10010101001001000001000000101010 D -b10010101001001000001000000101010 U -b10010101001001000001000000101010 f -b10010101001001000001000000101010 u -b10010101001001000001000000101010 (" -b10010101001001000001000000101010 9" -0( -0) -0+ -0, -b1 0 -0' -#915 -1!" -b1 { -1N -b10 4 -b10 #" -b10010101001001000001000000101010 @" -b1110101 <" -b1111 D" -0>" -b10010101001001000001000000101010 /" -b0 +" -b1111 3" -12" -1-" -b10 P -b10010101001001000001000000101010 m -b1111 q -b10010101001001000001000000101010 \ -b110011 X -b1111 ` -1_ -1' -#916 -b1010111 / -b10 2 -#920 -b110111 5" -b10 "" -0d -b11001011 b -1S -b0 Q -b10 O -b1 G -b100110111 s -b111001011 B -b11 A -b100110111111001011 8 -b1010000 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100110111111001011 " -b11 . -b11111001101001101010111011110011 % -b11111001101001101010111011110011 < -b11111001101001101010111011110011 D -b11111001101001101010111011110011 U -b11111001101001101010111011110011 f -b11111001101001101010111011110011 u -b11111001101001101010111011110011 (" -b11111001101001101010111011110011 9" -0( -0) -0+ -0, -b10 0 -0' -#925 -b1 J -b11111001101001101010111011110011 \ -b0 X -b0 ` -1Z -b11111001101001101010111011110011 m -b11001011 i -b0 q -0k -b10 P -b11111001101001101010111011110011 /" -b0 3" -b11111001101001101010111011110011 @" -b110111 <" -b0 D" -b10 #" -b10 4 -1' -#926 -b1011000 / -b10 2 -#930 -17" -b0 5" -0&" -b111001 $" -b10 "" -b0 x -1d -b0 b -0S -b11100 Q -b10 O -b0 G -b111001 s -b11100 B -b11 A -b111001000011100 8 -b11101100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111001000011100 " -b11 . -b10100101000101010011001001001010 % -b10100101000101010011001001001010 < -b10100101000101010011001001001010 D -b10100101000101010011001001001010 U -b10100101000101010011001001001010 f -b10100101000101010011001001001010 u -b10100101000101010011001001001010 (" -b10100101000101010011001001001010 9" -0( -0) -0+ -0, -b1 0 -0' -#935 -b0 { -b0 J -b10 4 -b10 #" -b10100101000101010011001001001010 @" -b0 <" -b1000 D" -1>" -b10100101000101010011001001001010 /" -b111001 +" -b1000 3" -0-" -b10 P -b10100101000101010011001001001010 m -b0 i -b1000 q -1k -b10100101000101010011001001001010 \ -b11100 X -b1000 ` -0Z -1' -#936 -b1011001 / -b10 2 -#940 -07" -0:" -b1001110 5" -1&" -b0 $" -b1 x -0d -0g -b1001110 b -1S -b0 Q -b1 G -b101001110 s -b101001110 B -b11 A -1V -b10 O -1)" -b10 "" -b101001110101001110 8 -0= -b101001110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b11101001010000 " -b11 . -1& -b11011101100111010111000010111011 % -b11011101100111010111000010111011 < -b11011101100111010111000010111011 D -b11011101100111010111000010111011 U -b11011101100111010111000010111011 f -b11011101100111010111000010111011 u -b11011101100111010111000010111011 (" -b11011101100111010111000010111011 9" -0( -0) -0+ -0, -b10 0 -0' -#945 -0N -b1 J -0!" -b1 { -b11011101100111010111000010111011 \ -b0 X -b1001 ` -1Z -b11011101100111010111000010111011 m -b1001110 i -b1001 q -0p -0k -b10 P -b11011101100111010111000010111011 /" -b0 +" -b1001 3" -1-" -b11011101100111010111000010111011 @" -b1001110 <" -b1001 D" -0C" -0>" -b10 #" -b100 7 -1' -#946 -b1011010 / -b10 2 -#950 -17" -1:" -b0 5" -0&" -0)" -b1011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1011 Q -b10 O -b0 G -b1011 s -b1011 B -b11 A -b1011000001011 8 -b1011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101001110111000000 " -b11 . -1& -b11101011011110001110000011010110 % -b11101011011110001110000011010110 < -b11101011011110001110000011010110 D -b11101011011110001110000011010110 U -b11101011011110001110000011010110 f -b11101011011110001110000011010110 u -b11101011011110001110000011010110 (" -b11101011011110001110000011010110 9" -0( -0) -0+ -0, -b1 0 -0' -#955 -b0 { -b0 J -b100 7 -b10 #" -b11101011011110001110000011010110 @" -b0 <" -b1100 D" -1C" -1>" -b11101011011110001110000011010110 /" -b1011 +" -b1100 3" -02" -0-" -b10 P -b11101011011110001110000011010110 m -b0 i -b1100 q -1p -1k -b11101011011110001110000011010110 \ -b1011 X -b1100 ` -0_ -0Z -1' -#956 -b1011011 / -b10 2 -#960 -b101110 $" -b10101000 Q -b101110 s -b10101000 B -b11 A -1V -b10 O -1)" -b10 "" -b101110010101000 8 -1= -b110110010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101110010101000 " -b11 . -0& -b110101001100000100001101101010 % -b110101001100000100001101101010 < -b110101001100000100001101101010 D -b110101001100000100001101101010 U -b110101001100000100001101101010 f -b110101001100000100001101101010 u -b110101001100000100001101101010 (" -b110101001100000100001101101010 9" -0( -0) -0+ -0, -b10 0 -0' -#965 -1N -1!" -b110101001100000100001101101010 \ -b10101000 X -b10 ` -1_ -b110101001100000100001101101010 m -b10 q -b10 P -b110101001100000100001101101010 /" -b101110 +" -b10 3" -12" -b110101001100000100001101101010 @" -b10 D" -b10 #" -b10 4 -1' -#966 -b1011100 / -b10 2 -#970 -07" -b11000001 5" -1&" -b0 $" -b10 "" -b1 x -b10000100 Q -b10 O -b111000001 s -b10000100 B -b11 A -b111000001010000100 8 -b100000001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111000001010000100 " -b11 . -b10000001011010010100011000000010 % -b10000001011010010100011000000010 < -b10000001011010010100011000000010 D -b10000001011010010100011000000010 U -b10000001011010010100011000000010 f -b10000001011010010100011000000010 u -b10000001011010010100011000000010 (" -b10000001011010010100011000000010 9" -0( -0) -0+ -0, -b1 0 -0' -#975 -b1 { -b10 4 -b10 #" -b10000001011010010100011000000010 @" -b11000001 <" -b110 D" -0>" -b10000001011010010100011000000010 /" -b0 +" -b110 3" -1-" -b10 P -b10000001011010010100011000000010 m -b110 q -b10000001011010010100011000000010 \ -b10000100 X -b110 ` -1' -#976 -b1011101 / -b10 2 -#980 -b10100001 5" -0d -0g -b10100001 b -1S -b0 Q -b1 G -b110100001 s -b110100001 B -b11 A -1V -b10 O -0:" -b10 "" -b110100001110100001 8 -0= -b110100001 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11100100111011000 " -b11 . -1& -b10100010010011111001101001000100 % -b10100010010011111001101001000100 < -b10100010010011111001101001000100 D -b10100010010011111001101001000100 U -b10100010010011111001101001000100 f -b10100010010011111001101001000100 u -b10100010010011111001101001000100 (" -b10100010010011111001101001000100 9" -0( -0) -0+ -0, -b10 0 -0' -#985 -0N -b1 J -0!" -b10100010010011111001101001000100 \ -b0 X -b1110 ` -1Z -b10100010010011111001101001000100 m -b10100001 i -b1110 q -0p -0k -b10 P -b10100010010011111001101001000100 /" -b1110 3" -b10100010010011111001101001000100 @" -b10100001 <" -b1110 D" -0C" -b10 #" -b100 7 -1' -#986 -b1011110 / -b10 2 -#990 -17" -b0 5" -0&" -b11101111 $" -b0 x -1d -b0 b -0S -b111010 Q -b0 G -b11101111 s -b111010 B -b11 A -1g -b10 O -1:" -b10 "" -b11101111000111010 8 -1= -b110100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11101111000111010 " -b11 . -0& -b110000000001101001001101100000 % -b110000000001101001001101100000 < -b110000000001101001001101100000 D -b110000000001101001001101100000 U -b110000000001101001001101100000 f -b110000000001101001001101100000 u -b110000000001101001001101100000 (" -b110000000001101001001101100000 9" -0( -0) -0+ -0, -b1 0 -0' -#995 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b110000000001101001001101100000 @" -b0 <" -b110 D" -1C" -1>" -b110000000001101001001101100000 /" -b11101111 +" -b110 3" -0-" -b10 P -b110000000001101001001101100000 m -b0 i -b110 q -1p -1k -b110000000001101001001101100000 \ -b111010 X -b110 ` -0Z -1' -#996 -b1011111 / -b10 2 -#1000 -b11011110 $" -b10 "" -b110110 Q -b10 O -b11011110 s -b110110 B -b11 A -b11011110000110110 8 -b1100111 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11011110000110110 " -b11 . -b10011110011100110110000000111100 % -b10011110011100110110000000111100 < -b10011110011100110110000000111100 D -b10011110011100110110000000111100 U -b10011110011100110110000000111100 f -b10011110011100110110000000111100 u -b10011110011100110110000000111100 (" -b10011110011100110110000000111100 9" -0( -0) -0+ -0, -b10 0 -0' -#1005 -b10011110011100110110000000111100 \ -b110110 X -b1110 ` -b10011110011100110110000000111100 m -b1110 q -b10 P -b10011110011100110110000000111100 /" -b11011110 +" -b1110 3" -b10011110011100110110000000111100 @" -b1110 D" -b10 #" -b10 4 -1' -#1006 -b1100000 / -b10 2 -#1010 -b101010 $" -b101010 Q -b101010 s -b101010 B -b11 A -0V -b10 O -0)" -b10 "" -b101010000101010 8 -0= -b101010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100111110111100101 " -b11 . -1& -b100100101011000101100001001 % -b100100101011000101100001001 < -b100100101011000101100001001 D -b100100101011000101100001001 U -b100100101011000101100001001 f -b100100101011000101100001001 u -b100100101011000101100001001 (" -b100100101011000101100001001 9" -0( -0) -0+ -0, -b1 0 -0' -#1015 -0!" -0N -b100 7 -b10 #" -b100100101011000101100001001 @" -b10 D" -b100100101011000101100001001 /" -b101010 +" -b10 3" -02" -b10 P -b100100101011000101100001001 m -b10 q -b100100101011000101100001001 \ -b101010 X -b10 ` -0_ -1' -#1016 -b1100001 / -b10 2 -#1020 -b100011 $" -b10 "" -b100011 Q -b10 O -b100011 s -b100011 B -b11 A -b100011000100011 8 -b100011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111110101110111 " -b11 . -1& -b10000101011110000000001000001010 % -b10000101011110000000001000001010 < -b10000101011110000000001000001010 D -b10000101011110000000001000001010 U -b10000101011110000000001000001010 f -b10000101011110000000001000001010 u -b10000101011110000000001000001010 (" -b10000101011110000000001000001010 9" -0( -0) -0+ -0, -b10 0 -0' -#1025 -b10000101011110000000001000001010 \ -b100011 X -b1000 ` -b10000101011110000000001000001010 m -b1000 q -b10 P -b10000101011110000000001000001010 /" -b100011 +" -b1000 3" -b10000101011110000000001000001010 @" -b1000 D" -b10 #" -b100 7 -1' -#1026 -b1100010 / -b10 2 -#1030 -07" -b11110001 5" -1&" -b0 $" -b1 x -b11000101 Q -b111110001 s -b11000101 B -b11 A -1V -b10 O -1)" -b10 "" -b111110001011000101 8 -1= -b11100010 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111110001011000101 " -b11 . -0& -b11000100101001010010111010001001 % -b11000100101001010010111010001001 < -b11000100101001010010111010001001 D -b11000100101001010010111010001001 U -b11000100101001010010111010001001 f -b11000100101001010010111010001001 u -b11000100101001010010111010001001 (" -b11000100101001010010111010001001 9" -0( -0) -0+ -0, -b1 0 -0' -#1035 -1!" -b1 { -1N -b10 4 -b10 #" -b11000100101001010010111010001001 @" -b11110001 <" -b1011 D" -0>" -b11000100101001010010111010001001 /" -b0 +" -b1011 3" -12" -1-" -b10 P -b11000100101001010010111010001001 m -b1011 q -b11000100101001010010111010001001 \ -b11000101 X -b1011 ` -1_ -1' -#1036 -b1100011 / -b10 2 -#1040 -b10101011 5" -0d -0g -b10101011 b -1S -b0 Q -b1 G -b110101011 s -b110101011 B -b11 A -1V -b10 O -0:" -b10 "" -b110101011110101011 8 -0= -b110101011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b110000000101010100 " -b11 . -1& -b10111111111101001111100101111 % -b10111111111101001111100101111 < -b10111111111101001111100101111 D -b10111111111101001111100101111 U -b10111111111101001111100101111 f -b10111111111101001111100101111 u -b10111111111101001111100101111 (" -b10111111111101001111100101111 9" -0( -0) -0+ -0, -b10 0 -0' -#1045 -0N -b1 J -0!" -b10111111111101001111100101111 \ -b0 X -b1101 ` -1Z -b10111111111101001111100101111 m -b10101011 i -b1101 q -0p -0k -b10 P -b10111111111101001111100101111 /" -b1101 3" -b10111111111101001111100101111 @" -b10101011 <" -b1101 D" -0C" -b10 #" -b100 7 -1' -#1046 -b1100100 / -b10 2 -#1050 -17" -1:" -b0 5" -0&" -0)" -b101100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b101100 Q -b10 O -b0 G -b101100 s -b101100 B -b11 A -b101100000101100 8 -b101100 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11110001101111100 " -b11 . -1& -b10101000101000110101111001010001 % -b10101000101000110101111001010001 < -b10101000101000110101111001010001 D -b10101000101000110101111001010001 U -b10101000101000110101111001010001 f -b10101000101000110101111001010001 u -b10101000101000110101111001010001 (" -b10101000101000110101111001010001 9" -0( -0) -0+ -0, -b1 0 -0' -#1055 -b0 { -b0 J -b100 7 -b10 #" -b10101000101000110101111001010001 @" -b0 <" -b1111 D" -1C" -1>" -b10101000101000110101111001010001 /" -b101100 +" -b1111 3" -02" -0-" -b10 P -b10101000101000110101111001010001 m -b0 i -b1111 q -1p -1k -b10101000101000110101111001010001 \ -b101100 X -b1111 ` -0_ -0Z -1' -#1056 -b1100101 / -b10 2 -#1060 -07" -b11110011 5" -1&" -b0 $" -b1 x -b10011100 Q -b111110011 s -b10011100 B -b11 A -1V -b10 O -1)" -b10 "" -b111110011010011100 8 -1= -b101010100 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111110011010011100 " -b11 . -0& -b11111110010110000001101011111100 % -b11111110010110000001101011111100 < -b11111110010110000001101011111100 D -b11111110010110000001101011111100 U -b11111110010110000001101011111100 f -b11111110010110000001101011111100 u -b11111110010110000001101011111100 (" -b11111110010110000001101011111100 9" -0( -0) -0+ -0, -b10 0 -0' -#1065 -1N -1!" -b1 { -b11111110010110000001101011111100 \ -b10011100 X -b1011 ` -1_ -b11111110010110000001101011111100 m -b1011 q -b10 P -b11111110010110000001101011111100 /" -b0 +" -b1011 3" -12" -1-" -b11111110010110000001101011111100 @" -b11110011 <" -b1011 D" -0>" -b10 #" -b10 4 -1' -#1066 -b1100110 / -b10 2 -#1070 -17" -b0 5" -0&" -0)" -b1100000 $" -b0 x -b1100000 Q -b1100000 s -b1100000 B -b11 A -0V -b10 O -1:" -b10 "" -b1100000001100000 8 -0= -b1100000 $ -b101001001001110011 " -b11 . -1& -b1010111000010000111010110101110 % -b1010111000010000111010110101110 < -b1010111000010000111010110101110 D -b1010111000010000111010110101110 U -b1010111000010000111010110101110 f -b1010111000010000111010110101110 u -b1010111000010000111010110101110 (" -b1010111000010000111010110101110 9" -0( -0) -0+ -0, -b1 0 -0' -#1075 -0!" -b0 { -0N -b100 7 -b10 #" -b1010111000010000111010110101110 @" -b0 <" -1>" -b1010111000010000111010110101110 /" -b1100000 +" -02" -0-" -b10 P -b1010111000010000111010110101110 m -b1010111000010000111010110101110 \ -b1100000 X -0_ -1' -#1076 -b1100111 / -b10 2 -#1080 -07" -0:" -b10011011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10011011 b -1S -1V -b0 Q -b10 O -b1 G -b110011011 s -b110011011 B -b11 A -b110011011110011011 8 -b110011011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b11101011011101101 " -b11 . -1& -b11001111110000110100111010011111 % -b11001111110000110100111010011111 < -b11001111110000110100111010011111 D -b11001111110000110100111010011111 U -b11001111110000110100111010011111 f -b11001111110000110100111010011111 u -b11001111110000110100111010011111 (" -b11001111110000110100111010011111 9" -0( -0) -0+ -0, -b10 0 -0' -#1085 -b1 J -b1 { -b11001111110000110100111010011111 \ -b0 X -b1000 ` -1_ -1Z -b11001111110000110100111010011111 m -b10011011 i -b1000 q -0p -0k -b10 P -b11001111110000110100111010011111 /" -b0 +" -b1000 3" -12" -1-" -b11001111110000110100111010011111 @" -b10011011 <" -b1000 D" -0C" -0>" -b10 #" -b100 7 -1' -#1086 -b1101000 / -b10 2 -#1090 -17" -b0 5" -0&" -b1010111 $" -b0 x -1d -b0 b -0S -b10001111 Q -b0 G -b1010111 s -b10001111 B -b11 A -1g -b10 O -1:" -b10 "" -b1010111010001111 8 -1= -b111110101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b1010111010001111 " -b11 . -0& -b1111000000000011110100111110000 % -b1111000000000011110100111110000 < -b1111000000000011110100111110000 D -b1111000000000011110100111110000 U -b1111000000000011110100111110000 f -b1111000000000011110100111110000 u -b1111000000000011110100111110000 (" -b1111000000000011110100111110000 9" -0( -0) -0+ -0, -b1 0 -0' -#1095 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1111000000000011110100111110000 @" -b0 <" -b1010 D" -1C" -1>" -b1111000000000011110100111110000 /" -b1010111 +" -b1010 3" -0-" -b10 P -b1111000000000011110100111110000 m -b0 i -b1010 q -1p -1k -b1111000000000011110100111110000 \ -b10001111 X -b1010 ` -0Z -1' -#1096 -b1101001 / -b10 2 -#1100 -07" -0:" -b11000001 5" -1&" -b0 $" -b1 x -0d -0g -b11000001 b -1S -b0 Q -b1 G -b111000001 s -b111000001 B -b11 A -1V -b10 O -1)" -b10 "" -b111000001111000001 8 -0= -b111000001 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10001010111001001 " -b11 . -1& -b1001110100001100001100110011101 % -b1001110100001100001100110011101 < -b1001110100001100001100110011101 D -b1001110100001100001100110011101 U -b1001110100001100001100110011101 f -b1001110100001100001100110011101 u -b1001110100001100001100110011101 (" -b1001110100001100001100110011101 9" -0( -0) -0+ -0, -b10 0 -0' -#1105 -0N -b1 J -0!" -b1 { -b1001110100001100001100110011101 \ -b0 X -b111 ` -1Z -b1001110100001100001100110011101 m -b11000001 i -b111 q -0p -0k -b10 P -b1001110100001100001100110011101 /" -b0 +" -b111 3" -1-" -b1001110100001100001100110011101 @" -b11000001 <" -b111 D" -0C" -0>" -b10 #" -b100 7 -1' -#1106 -b1101010 / -b10 2 -#1110 -b11101000 5" -b10 "" -b11101000 b -b10 O -b111101000 s -b111101000 B -b11 A -b111101000111101000 8 -b111101000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1110110000001101 " -b11 . -1& -b11010001010000111110101010100010 % -b11010001010000111110101010100010 < -b11010001010000111110101010100010 D -b11010001010000111110101010100010 U -b11010001010000111110101010100010 f -b11010001010000111110101010100010 u -b11010001010000111110101010100010 (" -b11010001010000111110101010100010 9" -0( -0) -0+ -0, -b1 0 -0' -#1115 -b100 7 -b10 #" -b11010001010000111110101010100010 @" -b11101000 <" -b101 D" -b11010001010000111110101010100010 /" -b101 3" -b10 P -b11010001010000111110101010100010 m -b11101000 i -b101 q -b11010001010000111110101010100010 \ -b101 ` -1' -#1116 -b1101011 / -b10 2 -#1120 -b11101110 5" -b10 "" -b11101110 b -b10 O -b111101110 s -b111101110 B -b11 A -b111101110111101110 8 -b111101110 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111100010011000111 " -b11 . -1& -b11000001010011000011100110000 % -b11000001010011000011100110000 < -b11000001010011000011100110000 D -b11000001010011000011100110000 U -b11000001010011000011100110000 f -b11000001010011000011100110000 u -b11000001010011000011100110000 (" -b11000001010011000011100110000 9" -0( -0) -0+ -0, -b10 0 -0' -#1125 -b11000001010011000011100110000 \ -b1101 ` -b11000001010011000011100110000 m -b11101110 i -b1101 q -b10 P -b11000001010011000011100110000 /" -b1101 3" -b11000001010011000011100110000 @" -b11101110 <" -b1101 D" -b10 #" -b100 7 -1' -#1126 -b1101100 / -b10 2 -#1130 -b10011110 5" -b10 "" -b10011110 b -b10 O -b110011110 s -b110011110 B -b11 A -b110011110110011110 8 -b110011110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b10001011110100100 " -b11 . -1& -b10011011011010100000110000110110 % -b10011011011010100000110000110110 < -b10011011011010100000110000110110 D -b10011011011010100000110000110110 U -b10011011011010100000110000110110 f -b10011011011010100000110000110110 u -b10011011011010100000110000110110 (" -b10011011011010100000110000110110 9" -0( -0) -0+ -0, -b1 0 -0' -#1135 -b100 7 -b10 #" -b10011011011010100000110000110110 @" -b10011110 <" -b1001 D" -b10011011011010100000110000110110 /" -b1001 3" -b10 P -b10011011011010100000110000110110 m -b10011110 i -b1001 q -b10011011011010100000110000110110 \ -b1001 ` -1' -#1136 -b1101101 / -b10 2 -#1140 -17" -b0 5" -0&" -b10000011 $" -b0 x -b10000110 b -b10000011 s -b110000110 B -b11 A -1g -b10 O -1:" -b10 "" -b10000011110000110 8 -1= -b110100110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10000011110000110 " -b11 . -0& -b10101001111000001110111001010011 % -b10101001111000001110111001010011 < -b10101001111000001110111001010011 D -b10101001111000001110111001010011 U -b10101001111000001110111001010011 f -b10101001111000001110111001010011 u -b10101001111000001110111001010011 (" -b10101001111000001110111001010011 9" -0( -0) -0+ -0, -b10 0 -0' -#1145 -1N -1!" -b0 { -b10101001111000001110111001010011 \ -b100 ` -b10101001111000001110111001010011 m -b10000110 i -b100 q -1p -b10 P -b10101001111000001110111001010011 /" -b10000011 +" -b100 3" -0-" -b10101001111000001110111001010011 @" -b0 <" -b100 D" -1C" -1>" -b10 #" -b10 4 -1' -#1146 -b1101110 / -b10 2 -#1150 -07" -0:" -b1100000 5" -1&" -b0 $" -b1 x -b1100000 b -b101100000 s -b101100000 B -b11 A -0g -b10 O -1)" -b10 "" -b101100000101100000 8 -0= -b101100000 $ -b100000011111000110 " -b11 . -1& -b11110000011101101010100111100 % -b11110000011101101010100111100 < -b11110000011101101010100111100 D -b11110000011101101010100111100 U -b11110000011101101010100111100 f -b11110000011101101010100111100 u -b11110000011101101010100111100 (" -b11110000011101101010100111100 9" -0( -0) -0+ -0, -b1 0 -0' -#1155 -0!" -b1 { -0N -b100 7 -b10 #" -b11110000011101101010100111100 @" -b1100000 <" -0C" -0>" -b11110000011101101010100111100 /" -b0 +" -1-" -b10 P -b11110000011101101010100111100 m -b1100000 i -0p -b11110000011101101010100111100 \ -1' -#1156 -b1101111 / -b10 2 -#1160 -b10000110 5" -b10 "" -b10000110 b -b10 O -b110000110 s -b110000110 B -b11 A -b110000110110000110 8 -b110000110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11101011100110111 " -b11 . -1& -b1111011111001000001011111110111 % -b1111011111001000001011111110111 < -b1111011111001000001011111110111 D -b1111011111001000001011111110111 U -b1111011111001000001011111110111 f -b1111011111001000001011111110111 u -b1111011111001000001011111110111 (" -b1111011111001000001011111110111 9" -0( -0) -0+ -0, -b10 0 -0' -#1165 -b1111011111001000001011111110111 \ -b11 ` -b1111011111001000001011111110111 m -b10000110 i -b11 q -b10 P -b1111011111001000001011111110111 /" -b11 3" -b1111011111001000001011111110111 @" -b10000110 <" -b11 D" -b10 #" -b100 7 -1' -#1166 -b1110000 / -b10 2 -#1170 -17" -1:" -b0 5" -0&" -0)" -b110000 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b110000 Q -b10 O -b0 G -b110000 s -b110000 B -b11 A -b110000000110000 8 -b110000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1111100111110101 " -b11 . -1& -b10000101100000100110111000001011 % -b10000101100000100110111000001011 < -b10000101100000100110111000001011 D -b10000101100000100110111000001011 U -b10000101100000100110111000001011 f -b10000101100000100110111000001011 u -b10000101100000100110111000001011 (" -b10000101100000100110111000001011 9" -0( -0) -0+ -0, -b1 0 -0' -#1175 -b0 { -b0 J -b100 7 -b10 #" -b10000101100000100110111000001011 @" -b0 <" -b100 D" -1C" -1>" -b10000101100000100110111000001011 /" -b110000 +" -b100 3" -02" -0-" -b10 P -b10000101100000100110111000001011 m -b0 i -b100 q -1p -1k -b10000101100000100110111000001011 \ -b110000 X -b100 ` -0_ -0Z -1' -#1176 -b1110001 / -b10 2 -#1180 -b11100 $" -b10 "" -b11100 Q -b10 O -b11100 s -b11100 B -b11 A -b11100000011100 8 -b11100 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b111010101001100000 " -b11 . -1& -b11001011010001000101000010010110 % -b11001011010001000101000010010110 < -b11001011010001000101000010010110 D -b11001011010001000101000010010110 U -b11001011010001000101000010010110 f -b11001011010001000101000010010110 u -b11001011010001000101000010010110 (" -b11001011010001000101000010010110 9" -0( -0) -0+ -0, -b10 0 -0' -#1185 -b11001011010001000101000010010110 \ -b11100 X -b101 ` -b11001011010001000101000010010110 m -b101 q -b10 P -b11001011010001000101000010010110 /" -b11100 +" -b101 3" -b11001011010001000101000010010110 @" -b101 D" -b10 #" -b100 7 -1' -#1186 -b1110010 / -b10 2 -#1190 -b11101100 $" -b10 "" -b11101100 Q -b10 O -b11101100 s -b11101100 B -b11 A -b11101100011101100 8 -b11101100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100110000001100100 " -b11 . -1& -b11000100110010000011011010001001 % -b11000100110010000011011010001001 < -b11000100110010000011011010001001 D -b11000100110010000011011010001001 U -b11000100110010000011011010001001 f -b11000100110010000011011010001001 u -b11000100110010000011011010001001 (" -b11000100110010000011011010001001 9" -0( -0) -0+ -0, -b1 0 -0' -#1195 -b100 7 -b10 #" -b11000100110010000011011010001001 @" -b1000 D" -b11000100110010000011011010001001 /" -b11101100 +" -b1000 3" -b10 P -b11000100110010000011011010001001 m -b1000 q -b11000100110010000011011010001001 \ -b11101100 X -b1000 ` -1' -#1196 -b1110011 / -b10 2 -#1200 -b10110 $" -b10 "" -b10110 Q -b10 O -b10110 s -b10110 B -b11 A -b10110000010110 8 -b10110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101111100001011011 " -b11 . -1& -b10100000100001001001100001000001 % -b10100000100001001001100001000001 < -b10100000100001001001100001000001 D -b10100000100001001001100001000001 U -b10100000100001001001100001000001 f -b10100000100001001001100001000001 u -b10100000100001001001100001000001 (" -b10100000100001001001100001000001 9" -0( -0) -0+ -0, -b10 0 -0' -#1205 -b10100000100001001001100001000001 \ -b10110 X -b11 ` -b10100000100001001001100001000001 m -b11 q -b10 P -b10100000100001001001100001000001 /" -b10110 +" -b11 3" -b10100000100001001001100001000001 @" -b11 D" -b10 #" -b100 7 -1' -#1206 -b1110100 / -b10 2 -#1210 -b10101000 $" -b10 "" -b10101000 Q -b10 O -b10101000 s -b10101000 B -b11 A -b10101000010101000 8 -b10101000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b1111110101110010 " -b11 . -1& -b100000010000110111000101000000 % -b100000010000110111000101000000 < -b100000010000110111000101000000 D -b100000010000110111000101000000 U -b100000010000110111000101000000 f -b100000010000110111000101000000 u -b100000010000110111000101000000 (" -b100000010000110111000101000000 9" -0( -0) -0+ -0, -b1 0 -0' -#1215 -b100 7 -b10 #" -b100000010000110111000101000000 @" -b1110 D" -b100000010000110111000101000000 /" -b10101000 +" -b1110 3" -b10 P -b100000010000110111000101000000 m -b1110 q -b100000010000110111000101000000 \ -b10101000 X -b1110 ` -1' -#1216 -b1110101 / -b10 2 -#1220 -b1001111 $" -b1000001 Q -b1001111 s -b1000001 B -b11 A -1V -b10 O -1)" -b10 "" -b1001111001000001 8 -1= -b111010010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1001111001000001 " -b11 . -0& -b1101001111111001011010111010011 % -b1101001111111001011010111010011 < -b1101001111111001011010111010011 D -b1101001111111001011010111010011 U -b1101001111111001011010111010011 f -b1101001111111001011010111010011 u -b1101001111111001011010111010011 (" -b1101001111111001011010111010011 9" -0( -0) -0+ -0, -b10 0 -0' -#1225 -1N -1!" -b1101001111111001011010111010011 \ -b1000001 X -b10 ` -1_ -b1101001111111001011010111010011 m -b10 q -b10 P -b1101001111111001011010111010011 /" -b1001111 +" -b10 3" -12" -b1101001111111001011010111010011 @" -b10 D" -b10 #" -b10 4 -1' -#1226 -b1110110 / -b10 2 -#1230 -b1000 $" -b10 "" -b11101111 Q -b10 O -b1000 s -b11101111 B -b11 A -b1000011101111 8 -b101111111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1000011101111 " -b11 . -b100001001110101101010101000010 % -b100001001110101101010101000010 < -b100001001110101101010101000010 D -b100001001110101101010101000010 U -b100001001110101101010101000010 f -b100001001110101101010101000010 u -b100001001110101101010101000010 (" -b100001001110101101010101000010 9" -0( -0) -0+ -0, -b1 0 -0' -#1235 -b10 4 -b10 #" -b100001001110101101010101000010 @" -b1001 D" -b100001001110101101010101000010 /" -b1000 +" -b1001 3" -b10 P -b100001001110101101010101000010 m -b1001 q -b100001001110101101010101000010 \ -b11101111 X -b1001 ` -1' -#1236 -b1110111 / -b10 2 -#1240 -b10110011 $" -b10110011 Q -b10110011 s -b10110011 B -b11 A -0V -b10 O -0)" -b10 "" -b10110011010110011 8 -0= -b10110011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11110100011110111 " -b11 . -1& -b1001011110011110101101110010111 % -b1001011110011110101101110010111 < -b1001011110011110101101110010111 D -b1001011110011110101101110010111 U -b1001011110011110101101110010111 f -b1001011110011110101101110010111 u -b1001011110011110101101110010111 (" -b1001011110011110101101110010111 9" -0( -0) -0+ -0, -b10 0 -0' -#1245 -0N -0!" -b1001011110011110101101110010111 \ -b10110011 X -b1100 ` -0_ -b1001011110011110101101110010111 m -b1100 q -b10 P -b1001011110011110101101110010111 /" -b10110011 +" -b1100 3" -02" -b1001011110011110101101110010111 @" -b1100 D" -b10 #" -b100 7 -1' -#1246 -b1111000 / -b10 2 -#1250 -b110100 $" -0d -b11011 b -1S -b0 Q -b1 G -b110100 s -b100011011 B -b11 A -1V -b10 O -1)" -b10 "" -b110100100011011 8 -1= -b100011100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110100100011011 " -b11 . -0& -b100000000110110011101101000000 % -b100000000110110011101101000000 < -b100000000110110011101101000000 D -b100000000110110011101101000000 U -b100000000110110011101101000000 f -b100000000110110011101101000000 u -b100000000110110011101101000000 (" -b100000000110110011101101000000 9" -0( -0) -0+ -0, -b1 0 -0' -#1255 -1!" -1N -b1 J -b10 4 -b10 #" -b100000000110110011101101000000 @" -b10 D" -b100000000110110011101101000000 /" -b110100 +" -b10 3" -12" -b10 P -b100000000110110011101101000000 m -b11011 i -b10 q -0k -b100000000110110011101101000000 \ -b0 X -b10 ` -1_ -1Z -1' -#1256 -b1111001 / -b10 2 -#1260 -b11011011 $" -1d -b0 b -0S -0V -b11011011 Q -b0 G -b11011011 s -b11011011 B -b11 A -1g -b10 O -0)" -b10 "" -b11011011011011011 8 -0= -b11011011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b100000100100100111 " -b11 . -1& -b11000011111110110100110010000111 % -b11000011111110110100110010000111 < -b11000011111110110100110010000111 D -b11000011111110110100110010000111 U -b11000011111110110100110010000111 f -b11000011111110110100110010000111 u -b11000011111110110100110010000111 (" -b11000011111110110100110010000111 9" -0( -0) -0+ -0, -b10 0 -0' -#1265 -0N -b0 J -0!" -b11000011111110110100110010000111 \ -b11011011 X -b101 ` -0_ -0Z -b11000011111110110100110010000111 m -b0 i -b101 q -1k -b10 P -b11000011111110110100110010000111 /" -b11011011 +" -b101 3" -02" -b11000011111110110100110010000111 @" -b101 D" -b10 #" -b100 7 -1' -#1266 -b1111010 / -b10 2 -#1270 -07" -0:" -b1011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1011 b -1S -1V -b0 Q -b10 O -b1 G -b100001011 s -b100001011 B -b11 A -b100001011100001011 8 -b100001011 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b10101000101100001 " -b11 . -1& -b10111011001000010011001001110110 % -b10111011001000010011001001110110 < -b10111011001000010011001001110110 D -b10111011001000010011001001110110 U -b10111011001000010011001001110110 f -b10111011001000010011001001110110 u -b10111011001000010011001001110110 (" -b10111011001000010011001001110110 9" -0( -0) -0+ -0, -b1 0 -0' -#1275 -b1 { -b1 J -b100 7 -b10 #" -b10111011001000010011001001110110 @" -b1011 <" -b1111 D" -0C" -0>" -b10111011001000010011001001110110 /" -b0 +" -b1111 3" -12" -1-" -b10 P -b10111011001000010011001001110110 m -b1011 i -b1111 q -0p -0k -b10111011001000010011001001110110 \ -b0 X -b1111 ` -1_ -1Z -1' -#1276 -b1111011 / -b10 2 -#1280 -b10001000 5" -b10 "" -b10001000 b -b10 O -b110001000 s -b110001000 B -b11 A -b110001000110001000 8 -b110001000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101001011010110100 " -b11 . -1& -b10011111110011110111010000111111 % -b10011111110011110111010000111111 < -b10011111110011110111010000111111 D -b10011111110011110111010000111111 U -b10011111110011110111010000111111 f -b10011111110011110111010000111111 u -b10011111110011110111010000111111 (" -b10011111110011110111010000111111 9" -0( -0) -0+ -0, -b10 0 -0' -#1285 -b10011111110011110111010000111111 \ -b10 ` -b10011111110011110111010000111111 m -b10001000 i -b10 q -b10 P -b10011111110011110111010000111111 /" -b10 3" -b10011111110011110111010000111111 @" -b10001000 <" -b10 D" -b10 #" -b100 7 -1' -#1286 -b1111100 / -b10 2 -#1290 -17" -1:" -b0 5" -0&" -0)" -b1101001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1101001 Q -b10 O -b0 G -b1101001 s -b1101001 B -b11 A -b1101001001101001 8 -b1101001 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101100101011101100 " -b11 . -1& -b1100000110100011010110111000001 % -b1100000110100011010110111000001 < -b1100000110100011010110111000001 D -b1100000110100011010110111000001 U -b1100000110100011010110111000001 f -b1100000110100011010110111000001 u -b1100000110100011010110111000001 (" -b1100000110100011010110111000001 9" -0( -0) -0+ -0, -b1 0 -0' -#1295 -b0 { -b0 J -b100 7 -b10 #" -b1100000110100011010110111000001 @" -b0 <" -b1111 D" -1C" -1>" -b1100000110100011010110111000001 /" -b1101001 +" -b1111 3" -02" -0-" -b10 P -b1100000110100011010110111000001 m -b0 i -b1111 q -1p -1k -b1100000110100011010110111000001 \ -b1101001 X -b1111 ` -0_ -0Z -1' -#1296 -b1111101 / -b10 2 -#1300 -b1110010 $" -b10001110 Q -b1110010 s -b10001110 B -b11 A -1V -b10 O -1)" -b10 "" -b1110010010001110 8 -1= -b10100100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1110010010001110 " -b11 . -0& -b110000110010100000111101100001 % -b110000110010100000111101100001 < -b110000110010100000111101100001 D -b110000110010100000111101100001 U -b110000110010100000111101100001 f -b110000110010100000111101100001 u -b110000110010100000111101100001 (" -b110000110010100000111101100001 9" -0( -0) -0+ -0, -b10 0 -0' -#1305 -1N -1!" -b110000110010100000111101100001 \ -b10001110 X -b1 ` -1_ -b110000110010100000111101100001 m -b1 q -b10 P -b110000110010100000111101100001 /" -b1110010 +" -b1 3" -12" -b110000110010100000111101100001 @" -b1 D" -b10 #" -b10 4 -1' -#1306 -b1111110 / -b10 2 -#1310 -b10 $" -b10 "" -b1101001 Q -b10 O -b10 s -b1101001 B -b11 A -b10001101001 8 -b10000110 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10001101001 " -b11 . -b1011010011001010100000010 % -b1011010011001010100000010 < -b1011010011001010100000010 D -b1011010011001010100000010 U -b1011010011001010100000010 f -b1011010011001010100000010 u -b1011010011001010100000010 (" -b1011010011001010100000010 9" -0( -0) -0+ -0, -b1 0 -0' -#1315 -b10 4 -b10 #" -b1011010011001010100000010 @" -b1010 D" -b1011010011001010100000010 /" -b10 +" -b1010 3" -b10 P -b1011010011001010100000010 m -b1010 q -b1011010011001010100000010 \ -b1101001 X -b1010 ` -1' -#1316 -b1111111 / -b10 2 -#1320 -b10000100 $" -b10000100 Q -b10000100 s -b10000100 B -b11 A -0V -b10 O -0)" -b10 "" -b10000100010000100 8 -0= -b10000100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11010100011010110 " -b11 . -1& -b1100001101010101011101111000011 % -b1100001101010101011101111000011 < -b1100001101010101011101111000011 D -b1100001101010101011101111000011 U -b1100001101010101011101111000011 f -b1100001101010101011101111000011 u -b1100001101010101011101111000011 (" -b1100001101010101011101111000011 9" -0( -0) -0+ -0, -b10 0 -0' -#1323 -b1100000110100011010110111000001 ] -#1325 -b1100000110100011010110111000001 # -0N -0!" -b11 . -b1100000110100011010110111000001 ! -b1100000110100011010110111000001 ? -b11 A -b1100000110100011010110111000001 L -b1100001101010101011101111000011 \ -b10000100 X -b1100 ` -0_ -b1100001101010101011101111000011 m -b1100 q -b1100000110100011010110111000001 H -b10 P -b1100001101010101011101111000011 /" -b10000100 +" -b1100 3" -02" -b1100001101010101011101111000011 @" -b1100 D" -b10 #" -b100 7 -1' -#1326 -b10000000 / -b10 2 -#1330 -07" -b11000011 5" -1&" -b0 $" -b1 x -b110011 Q -b111000011 s -b110011 B -b11 A -1V -b10 O -1)" -b10 "" -b111000011000110011 8 -1= -b1010111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111000011000110011 " -b11 . -0& -b11110000001011000110111011100000 % -b11110000001011000110111011100000 < -b11110000001011000110111011100000 D -b11110000001011000110111011100000 U -b11110000001011000110111011100000 f -b11110000001011000110111011100000 u -b11110000001011000110111011100000 (" -b11110000001011000110111011100000 9" -0( -0) -0+ -0, -b1 0 -0' -#1335 -1!" -b1 { -1N -b10 4 -b10 #" -b11110000001011000110111011100000 @" -b11000011 <" -b10 D" -0>" -b11110000001011000110111011100000 /" -b0 +" -b10 3" -12" -1-" -b10 P -b11110000001011000110111011100000 m -b10 q -b11110000001011000110111011100000 \ -b110011 X -b10 ` -1_ -1' -#1336 -b10000001 / -b10 2 -#1340 -17" -b0 5" -0&" -0)" -b10001010 $" -b0 x -b10001010 Q -b10001010 s -b10001010 B -b11 A -0V -b10 O -1:" -b10 "" -b10001010010001010 8 -0= -b10001010 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b1111101001111011 " -b11 . -1& -b1110001001111111010101111100010 % -b1110001001111111010101111100010 < -b1110001001111111010101111100010 D -b1110001001111111010101111100010 U -b1110001001111111010101111100010 f -b1110001001111111010101111100010 u -b1110001001111111010101111100010 (" -b1110001001111111010101111100010 9" -0( -0) -0+ -0, -b10 0 -0' -#1343 -b0 ] -#1345 -b0 # -0N -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1110001001111111010101111100010 \ -b10001010 X -b1110 ` -0_ -b1110001001111111010101111100010 m -b1110 q -b0 H -b10 P -b1110001001111111010101111100010 /" -b10001010 +" -b1110 3" -02" -0-" -b1110001001111111010101111100010 @" -b0 <" -b1110 D" -1>" -b10 #" -b100 7 -1' -#1346 -b10000010 / -b10 2 -#1350 -07" -b11100011 5" -1&" -b0 $" -b1 x -0d -b11000100 b -1S -b0 Q -b1 G -b111100011 s -b111000100 B -b11 A -1V -b10 O -1)" -b10 "" -b111100011111000100 8 -1= -b101100101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111100011111000100 " -b11 . -0& -b1101101001110011111110111011010 % -b1101101001110011111110111011010 < -b1101101001110011111110111011010 D -b1101101001110011111110111011010 U -b1101101001110011111110111011010 f -b1101101001110011111110111011010 u -b1101101001110011111110111011010 (" -b1101101001110011111110111011010 9" -0( -0) -0+ -0, -b1 0 -0' -#1355 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b1101101001110011111110111011010 @" -b11100011 <" -b10 D" -0>" -b1101101001110011111110111011010 /" -b0 +" -b10 3" -12" -1-" -b10 P -b1101101001110011111110111011010 m -b11000100 i -b10 q -0k -b1101101001110011111110111011010 \ -b0 X -b10 ` -1_ -1Z -1' -#1356 -b10000011 / -b10 2 -#1360 -17" -b0 5" -0&" -b110 $" -b10 "" -b0 x -1d -b0 b -0S -b10111 Q -b10 O -b0 G -b110 s -b10111 B -b11 A -b110000010111 8 -b1000000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110000010111 " -b11 . -b11011111001101011011111010111110 % -b11011111001101011011111010111110 < -b11011111001101011011111010111110 D -b11011111001101011011111010111110 U -b11011111001101011011111010111110 f -b11011111001101011011111010111110 u -b11011111001101011011111010111110 (" -b11011111001101011011111010111110 9" -0( -0) -0+ -0, -b10 0 -0' -#1363 -b10111000000000000000000000000 A" -#1365 -b1011100000000000000000000000000000000000000000000000000000000 # -b0 J -b0 { -b11 . -b1011100000000000000000000000000000000000000000000000000000000 ! -b1011100000000000000000000000000000000000000000000000000000000 ? -b11 A -b10111000000000000000000000000 } -b11011111001101011011111010111110 \ -b10111 X -b101 ` -0Z -b11011111001101011011111010111110 m -b0 i -b101 q -1k -b10 P -b11011111001101011011111010111110 /" -b110 +" -b101 3" -0-" -b11011111001101011011111010111110 @" -b0 <" -b101 D" -1>" -b10111000000000000000000000000 y -b10 #" -b10 4 -1' -#1366 -b10000100 / -b10 2 -#1370 -07" -0:" -b10001010 5" -1&" -b0 $" -b1 x -0d -0g -b10001010 b -1S -b0 Q -b1 G -b110001010 s -b110001010 B -b11 A -1V -b10 O -1)" -b10 "" -b110001010110001010 8 -0= -b110001010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100100000010010100 " -b11 . -1& -b101010010100101110000101010100 % -b101010010100101110000101010100 < -b101010010100101110000101010100 D -b101010010100101110000101010100 U -b101010010100101110000101010100 f -b101010010100101110000101010100 u -b101010010100101110000101010100 (" -b101010010100101110000101010100 9" -0( -0) -0+ -0, -b1 0 -0' -#1375 -b0 # -0!" -b1 { -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b101010010100101110000101010100 @" -b10001010 <" -b10 D" -0C" -0>" -b101010010100101110000101010100 /" -b0 +" -b10 3" -1-" -b10 P -b101010010100101110000101010100 m -b10001010 i -b10 q -0p -0k -b101010010100101110000101010100 \ -b0 X -b10 ` -1Z -1' -#1376 -b10000101 / -b10 2 -#1380 -17" -b0 5" -0&" -b11111110 $" -b0 x -1d -b0 b -0S -b10010110 Q -b0 G -b11111110 s -b10010110 B -b11 A -1g -b10 O -1:" -b10 "" -b11111110010010110 8 -1= -b100100000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11111110010010110 " -b11 . -0& -b101111111100111001101101011111 % -b101111111100111001101101011111 < -b101111111100111001101101011111 D -b101111111100111001101101011111 U -b101111111100111001101101011111 f -b101111111100111001101101011111 u -b101111111100111001101101011111 (" -b101111111100111001101101011111 9" -0( -0) -0+ -0, -b10 0 -0' -#1385 -1N -b0 J -1!" -b0 { -b101111111100111001101101011111 \ -b10010110 X -b110 ` -0Z -b101111111100111001101101011111 m -b0 i -b110 q -1p -1k -b10 P -b101111111100111001101101011111 /" -b11111110 +" -b110 3" -0-" -b101111111100111001101101011111 @" -b0 <" -b110 D" -1C" -1>" -b10 #" -b10 4 -1' -#1386 -b10000110 / -b10 2 -#1390 -07" -b10000111 5" -1&" -b0 $" -b10 "" -b1 x -b110110 Q -b10 O -b110000111 s -b110110 B -b11 A -b110000111000110110 8 -b110101010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110000111000110110 " -b11 . -b11010000101101000011001010100001 % -b11010000101101000011001010100001 < -b11010000101101000011001010100001 D -b11010000101101000011001010100001 U -b11010000101101000011001010100001 f -b11010000101101000011001010100001 u -b11010000101101000011001010100001 (" -b11010000101101000011001010100001 9" -0( -0) -0+ -0, -b1 0 -0' -#1395 -b1 { -b10 4 -b10 #" -b11010000101101000011001010100001 @" -b10000111 <" -b1 D" -0>" -b11010000101101000011001010100001 /" -b0 +" -b1 3" -1-" -b10 P -b11010000101101000011001010100001 m -b1 q -b11010000101101000011001010100001 \ -b110110 X -b1 ` -1' -#1396 -b10000111 / -b10 2 -#1400 -b10101010 5" -b10 "" -0d -b11010101 b -1S -b0 Q -b10 O -b1 G -b110101010 s -b111010101 B -b11 A -b110101010111010101 8 -b111101101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b110101010111010101 " -b11 . -b11000111010001111101010010001110 % -b11000111010001111101010010001110 < -b11000111010001111101010010001110 D -b11000111010001111101010010001110 U -b11000111010001111101010010001110 f -b11000111010001111101010010001110 u -b11000111010001111101010010001110 (" -b11000111010001111101010010001110 9" -0( -0) -0+ -0, -b10 0 -0' -#1403 -b0 A" -#1405 -b1 J -b11000111010001111101010010001110 \ -b0 X -b11 ` -1Z -b11000111010001111101010010001110 m -b11010101 i -b11 q -0k -b10 P -b11000111010001111101010010001110 /" -b11 3" -b11000111010001111101010010001110 @" -b10101010 <" -b11 D" -b10 #" -b10 4 -1' -#1406 -b10001000 / -b10 2 -#1410 -b110010 5" -b10 "" -b1111001 b -b10 O -b100110010 s -b101111001 B -b11 A -b100110010101111001 8 -b1000111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b100110010101111001 " -b11 . -b1011111100100010100100010111 % -b1011111100100010100100010111 < -b1011111100100010100100010111 D -b1011111100100010100100010111 U -b1011111100100010100100010111 f -b1011111100100010100100010111 u -b1011111100100010100100010111 (" -b1011111100100010100100010111 9" -0( -0) -0+ -0, -b1 0 -0' -#1415 -b10 4 -b10 #" -b1011111100100010100100010111 @" -b110010 <" -b101 D" -b1011111100100010100100010111 /" -b101 3" -b10 P -b1011111100100010100100010111 m -b1111001 i -b101 q -b1011111100100010100100010111 \ -b101 ` -1' -#1416 -b10001001 / -b10 2 -#1420 -17" -b0 5" -0&" -b11110000 $" -b10 "" -b0 x -b110000 b -b10 O -b11110000 s -b100110000 B -b11 A -b11110000100110000 8 -b110110101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11110000100110000 " -b11 . -b11100110011100100000110011001100 % -b11100110011100100000110011001100 < -b11100110011100100000110011001100 D -b11100110011100100000110011001100 U -b11100110011100100000110011001100 f -b11100110011100100000110011001100 u -b11100110011100100000110011001100 (" -b11100110011100100000110011001100 9" -0( -0) -0+ -0, -b10 0 -0' -#1425 -b0 { -b11100110011100100000110011001100 \ -b1110 ` -b11100110011100100000110011001100 m -b110000 i -b1110 q -b10 P -b11100110011100100000110011001100 /" -b11110000 +" -b1110 3" -0-" -b11100110011100100000110011001100 @" -b0 <" -b1110 D" -1>" -b10 #" -b10 4 -1' -#1426 -b10001010 / -b10 2 -#1430 -07" -b1111110 5" -1&" -b0 $" -b10 "" -b1 x -b10101011 b -b10 O -b101111110 s -b110101011 B -b11 A -b101111110110101011 8 -b101000101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101111110110101011 " -b11 . -b1010101011110011011011110101010 % -b1010101011110011011011110101010 < -b1010101011110011011011110101010 D -b1010101011110011011011110101010 U -b1010101011110011011011110101010 f -b1010101011110011011011110101010 u -b1010101011110011011011110101010 (" -b1010101011110011011011110101010 9" -0( -0) -0+ -0, -b1 0 -0' -#1435 -b1 { -b10 4 -b10 #" -b1010101011110011011011110101010 @" -b1111110 <" -b1111 D" -0>" -b1010101011110011011011110101010 /" -b0 +" -b1111 3" -1-" -b10 P -b1010101011110011011011110101010 m -b10101011 i -b1111 q -b1010101011110011011011110101010 \ -b1111 ` -1' -#1436 -b10001011 / -b10 2 -#1440 -17" -b0 5" -0&" -0)" -b10000101 $" -b0 x -1d -b0 b -0S -0V -b10000101 Q -b0 G -b10000101 s -b10000101 B -b11 A -1g -b10 O -1:" -b10 "" -b10000101010000101 8 -0= -b10000101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101100000000101100 " -b11 . -1& -b1000110011110001000100010001 % -b1000110011110001000100010001 < -b1000110011110001000100010001 D -b1000110011110001000100010001 U -b1000110011110001000100010001 f -b1000110011110001000100010001 u -b1000110011110001000100010001 (" -b1000110011110001000100010001 9" -0( -0) -0+ -0, -b10 0 -0' -#1443 -b10111111111100000000000101111 n -#1445 -b10111111111100000000000101111 # -0N -b0 J -0!" -b0 { -b11 . -b10111111111100000000000101111 ! -b10111111111100000000000101111 ? -b11 A -b10111111111100000000000101111 L -b1000110011110001000100010001 \ -b10000101 X -b1110 ` -0_ -0Z -b1000110011110001000100010001 m -b0 i -b1110 q -1k -b10111111111100000000000101111 H -b10 P -b1000110011110001000100010001 /" -b10000101 +" -b1110 3" -02" -0-" -b1000110011110001000100010001 @" -b0 <" -b1110 D" -1>" -b10 #" -b100 7 -1' -#1446 -b10001100 / -b10 2 -#1450 -07" -b1001101 5" -1&" -b0 $" -b1 x -0d -b1000001 b -1S -b0 Q -b1 G -b101001101 s -b101000001 B -b11 A -1V -b10 O -1)" -b10 "" -b101001101101000001 8 -1= -b1001110 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101001101101000001 " -b11 . -0& -b10011110001000010010101000111100 % -b10011110001000010010101000111100 < -b10011110001000010010101000111100 D -b10011110001000010010101000111100 U -b10011110001000010010101000111100 f -b10011110001000010010101000111100 u -b10011110001000010010101000111100 (" -b10011110001000010010101000111100 9" -0( -0) -0+ -0, -b1 0 -0' -#1455 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b10011110001000010010101000111100 @" -b1001101 <" -b1101 D" -0>" -b10011110001000010010101000111100 /" -b0 +" -b1101 3" -12" -1-" -b10 P -b10011110001000010010101000111100 m -b1000001 i -b1101 q -0k -b10011110001000010010101000111100 \ -b0 X -b1101 ` -1_ -1Z -1' -#1456 -b10001101 / -b10 2 -#1460 -b11111101 5" -b10 "" -b10100011 b -b10 O -b111111101 s -b110100011 B -b11 A -b111111101110100011 8 -b100001010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111111101110100011 " -b11 . -b11011001011111111100100110110 % -b11011001011111111100100110110 < -b11011001011111111100100110110 D -b11011001011111111100100110110 U -b11011001011111111100100110110 f -b11011001011111111100100110110 u -b11011001011111111100100110110 (" -b11011001011111111100100110110 9" -0( -0) -0+ -0, -b10 0 -0' -#1463 -b0 n -#1465 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b11011001011111111100100110110 \ -b0 ` -b11011001011111111100100110110 m -b10100011 i -b0 q -b0 H -b10 P -b11011001011111111100100110110 /" -b0 3" -b11011001011111111100100110110 @" -b11111101 <" -b0 D" -b10 #" -b10 4 -1' -#1466 -b10001110 / -b10 2 -#1470 -17" -b0 5" -0&" -0)" -b11010111 $" -b0 x -1d -b0 b -0S -0V -b11010111 Q -b0 G -b11010111 s -b11010111 B -b11 A -1g -b10 O -1:" -b10 "" -b11010111011010111 8 -0= -b11010111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101100110000111 " -b11 . -1& -b1101110111011111100111111011101 % -b1101110111011111100111111011101 < -b1101110111011111100111111011101 D -b1101110111011111100111111011101 U -b1101110111011111100111111011101 f -b1101110111011111100111111011101 u -b1101110111011111100111111011101 (" -b1101110111011111100111111011101 9" -0( -0) -0+ -0, -b1 0 -0' -#1475 -0!" -b0 { -0N -b0 J -b100 7 -b10 #" -b1101110111011111100111111011101 @" -b0 <" -b11 D" -1>" -b1101110111011111100111111011101 /" -b11010111 +" -b11 3" -02" -0-" -b10 P -b1101110111011111100111111011101 m -b0 i -b11 q -1k -b1101110111011111100111111011101 \ -b11010111 X -b11 ` -0_ -0Z -1' -#1476 -b10001111 / -b10 2 -#1480 -07" -b11011001 5" -1&" -b0 $" -b1 x -b111000 Q -b111011001 s -b111000 B -b11 A -1V -b10 O -1)" -b10 "" -b111011001000111000 8 -1= -b100011010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111011001000111000 " -b11 . -0& -b10001100101001000100100000011001 % -b10001100101001000100100000011001 < -b10001100101001000100100000011001 D -b10001100101001000100100000011001 U -b10001100101001000100100000011001 f -b10001100101001000100100000011001 u -b10001100101001000100100000011001 (" -b10001100101001000100100000011001 9" -0( -0) -0+ -0, -b10 0 -0' -#1485 -1N -1!" -b1 { -b10001100101001000100100000011001 \ -b111000 X -b1101 ` -1_ -b10001100101001000100100000011001 m -b1101 q -b10 P -b10001100101001000100100000011001 /" -b0 +" -b1101 3" -12" -1-" -b10001100101001000100100000011001 @" -b11011001 <" -b1101 D" -0>" -b10 #" -b10 4 -1' -#1486 -b10010000 / -b10 2 -#1490 -17" -b0 5" -0&" -b111010 $" -b10 "" -b0 x -b11110110 Q -b10 O -b111010 s -b11110110 B -b11 A -b111010011110110 8 -b111011001 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111010011110110 " -b11 . -b100000000001001000101101000000 % -b100000000001001000101101000000 < -b100000000001001000101101000000 D -b100000000001001000101101000000 U -b100000000001001000101101000000 f -b100000000001001000101101000000 u -b100000000001001000101101000000 (" -b100000000001001000101101000000 9" -0( -0) -0+ -0, -b1 0 -0' -#1495 -b0 { -b10 4 -b10 #" -b100000000001001000101101000000 @" -b0 <" -b1000 D" -1>" -b100000000001001000101101000000 /" -b111010 +" -b1000 3" -0-" -b10 P -b100000000001001000101101000000 m -b1000 q -b100000000001001000101101000000 \ -b11110110 X -b1000 ` -1' -#1496 -b10010001 / -b10 2 -#1500 -07" -b10000101 5" -1&" -b0 $" -b10 "" -b1 x -b11111000 Q -b10 O -b110000101 s -b11111000 B -b11 A -b110000101011111000 8 -b111100010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110000101011111000 " -b11 . -b10101100001111110001001001011000 % -b10101100001111110001001001011000 < -b10101100001111110001001001011000 D -b10101100001111110001001001011000 U -b10101100001111110001001001011000 f -b10101100001111110001001001011000 u -b10101100001111110001001001011000 (" -b10101100001111110001001001011000 9" -0( -0) -0+ -0, -b10 0 -0' -#1505 -b1 { -b10101100001111110001001001011000 \ -b11111000 X -b10 ` -b10101100001111110001001001011000 m -b10 q -b10 P -b10101100001111110001001001011000 /" -b0 +" -b10 3" -1-" -b10101100001111110001001001011000 @" -b10000101 <" -b10 D" -0>" -b10 #" -b10 4 -1' -#1506 -b10010010 / -b10 2 -#1510 -b10110001 5" -b10 "" -b10101101 Q -b10 O -b110110001 s -b10101101 B -b11 A -b110110001010101101 8 -b110010100 $ -b110110001010101101 " -b11 . -b11000100010000110111111010001000 % -b11000100010000110111111010001000 < -b11000100010000110111111010001000 D -b11000100010000110111111010001000 U -b11000100010000110111111010001000 f -b11000100010000110111111010001000 u -b11000100010000110111111010001000 (" -b11000100010000110111111010001000 9" -0( -0) -0+ -0, -b1 0 -0' -#1515 -b10 4 -b10 #" -b11000100010000110111111010001000 @" -b10110001 <" -b11000100010000110111111010001000 /" -b10 P -b11000100010000110111111010001000 m -b11000100010000110111111010001000 \ -b10101101 X -1' -#1516 -b10010011 / -b10 2 -#1520 -0d -b10101 b -1S -b0 Q -b10 O -b1 G -b100010101 B -b11 A -b110110001100010101 8 -b101111000 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b110110001100010101 " -b11 . -b1011110000111110001000110111100 % -b1011110000111110001000110111100 < -b1011110000111110001000110111100 D -b1011110000111110001000110111100 U -b1011110000111110001000110111100 f -b1011110000111110001000110111100 u -b1011110000111110001000110111100 (" -b1011110000111110001000110111100 9" -0( -0) -0+ -0, -b10 0 -0' -#1525 -b1 J -b1011110000111110001000110111100 \ -b0 X -b1011 ` -1Z -b1011110000111110001000110111100 m -b10101 i -b1011 q -0k -b10 P -b1011110000111110001000110111100 /" -b1011 3" -b1011110000111110001000110111100 @" -b1011 D" -b10 #" -b10 4 -1' -#1526 -b10010100 / -b10 2 -#1530 -b10011110 5" -b10 "" -1d -b0 b -0S -b11001001 Q -b10 O -b0 G -b110011110 s -b11001001 B -b11 A -b110011110011001001 8 -b100001000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b110011110011001001 " -b11 . -b1010010001100101010101110100100 % -b1010010001100101010101110100100 < -b1010010001100101010101110100100 D -b1010010001100101010101110100100 U -b1010010001100101010101110100100 f -b1010010001100101010101110100100 u -b1010010001100101010101110100100 (" -b1010010001100101010101110100100 9" -0( -0) -0+ -0, -b1 0 -0' -#1535 -b0 J -b10 4 -b10 #" -b1010010001100101010101110100100 @" -b10011110 <" -b1010 D" -b1010010001100101010101110100100 /" -b1010 3" -b10 P -b1010010001100101010101110100100 m -b0 i -b1010 q -1k -b1010010001100101010101110100100 \ -b11001001 X -b1010 ` -0Z -1' -#1536 -b10010101 / -b10 2 -#1540 -b1010000 5" -0d -0g -b1010000 b -1S -b0 Q -b1 G -b101010000 s -b101010000 B -b11 A -1V -b10 O -0:" -b10 "" -b101010000101010000 8 -0= -b101010000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111001011100110000 " -b11 . -1& -b10011010110000011100101000110101 % -b10011010110000011100101000110101 < -b10011010110000011100101000110101 D -b10011010110000011100101000110101 U -b10011010110000011100101000110101 f -b10011010110000011100101000110101 u -b10011010110000011100101000110101 (" -b10011010110000011100101000110101 9" -0( -0) -0+ -0, -b10 0 -0' -#1543 -b10011011000000000000000000110110 A" -#1545 -b1001101100000000000000000011011000000000000000000000000000000000 # -0N -b1 J -0!" -b11 . -b1001101100000000000000000011011000000000000000000000000000000000 ! -b1001101100000000000000000011011000000000000000000000000000000000 ? -b11 A -b10011011000000000000000000110110 } -b10011010110000011100101000110101 \ -b0 X -b1111 ` -1Z -b10011010110000011100101000110101 m -b1010000 i -b1111 q -0p -0k -b10 P -b10011010110000011100101000110101 /" -b1111 3" -b10011010110000011100101000110101 @" -b1010000 <" -b1111 D" -0C" -b10011011000000000000000000110110 y -b10 #" -b100 7 -1' -#1546 -b10010110 / -b10 2 -#1550 -b1110110 5" -1d -b0 b -0S -b1000111 Q -b0 G -b101110110 s -b1000111 B -b11 A -1g -b10 O -1:" -b10 "" -b101110110001000111 8 -1= -b101011101 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101110110001000111 " -b11 . -0& -b11010110001011011000101010101100 % -b11010110001011011000101010101100 < -b11010110001011011000101010101100 D -b11010110001011011000101010101100 U -b11010110001011011000101010101100 f -b11010110001011011000101010101100 u -b11010110001011011000101010101100 (" -b11010110001011011000101010101100 9" -0( -0) -0+ -0, -b1 0 -0' -#1555 -1!" -1N -b0 J -b10 4 -b10 #" -b11010110001011011000101010101100 @" -b1110110 <" -b1000 D" -1C" -b11010110001011011000101010101100 /" -b1000 3" -b10 P -b11010110001011011000101010101100 m -b0 i -b1000 q -1p -1k -b11010110001011011000101010101100 \ -b1000111 X -b1000 ` -0Z -1' -#1556 -b10010111 / -b10 2 -#1560 -b11101110 5" -0d -0g -b11101110 b -1S -b0 Q -b1 G -b111101110 s -b111101110 B -b11 A -1V -b10 O -0:" -b10 "" -b111101110111101110 8 -0= -b111101110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101011100111010010 " -b11 . -1& -b10010110011010011011100000101100 % -b10010110011010011011100000101100 < -b10010110011010011011100000101100 D -b10010110011010011011100000101100 U -b10010110011010011011100000101100 f -b10010110011010011011100000101100 u -b10010110011010011011100000101100 (" -b10010110011010011011100000101100 9" -0( -0) -0+ -0, -b10 0 -0' -#1563 -b0 A" -#1565 -b0 # -0N -b1 J -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10010110011010011011100000101100 \ -b0 X -b111 ` -1Z -b10010110011010011011100000101100 m -b11101110 i -b111 q -0p -0k -b10 P -b10010110011010011011100000101100 /" -b111 3" -b10010110011010011011100000101100 @" -b11101110 <" -b111 D" -0C" -b0 y -b10 #" -b100 7 -1' -#1566 -b10011000 / -b10 2 -#1570 -17" -1:" -b0 5" -0&" -0)" -b10101101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10101101 Q -b10 O -b0 G -b10101101 s -b10101101 B -b11 A -b10101101010101101 8 -b10101101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111100100100 " -b11 . -1& -b111110101111011001100001111 % -b111110101111011001100001111 < -b111110101111011001100001111 D -b111110101111011001100001111 U -b111110101111011001100001111 f -b111110101111011001100001111 u -b111110101111011001100001111 (" -b111110101111011001100001111 9" -0( -0) -0+ -0, -b1 0 -0' -#1575 -b0 { -b0 J -b100 7 -b10 #" -b111110101111011001100001111 @" -b0 <" -b1111 D" -1C" -1>" -b111110101111011001100001111 /" -b10101101 +" -b1111 3" -02" -0-" -b10 P -b111110101111011001100001111 m -b0 i -b1111 q -1p -1k -b111110101111011001100001111 \ -b10101101 X -b1111 ` -0_ -0Z -1' -#1576 -b10011001 / -b10 2 -#1580 -07" -b1101100 5" -1&" -b0 $" -b1 x -0d -b100111 b -1S -b0 Q -b1 G -b101101100 s -b100100111 B -b11 A -1V -b10 O -1)" -b10 "" -b101101100100100111 8 -1= -b1101010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101101100100100111 " -b11 . -0& -b10001011000111110101100000010110 % -b10001011000111110101100000010110 < -b10001011000111110101100000010110 D -b10001011000111110101100000010110 U -b10001011000111110101100000010110 f -b10001011000111110101100000010110 u -b10001011000111110101100000010110 (" -b10001011000111110101100000010110 9" -0( -0) -0+ -0, -b10 0 -0' -#1585 -1N -b1 J -1!" -b1 { -b10001011000111110101100000010110 \ -b0 X -b100 ` -1_ -1Z -b10001011000111110101100000010110 m -b100111 i -b100 q -0k -b10 P -b10001011000111110101100000010110 /" -b0 +" -b100 3" -12" -1-" -b10001011000111110101100000010110 @" -b1101100 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#1586 -b10011010 / -b10 2 -#1590 -b110010 5" -b10 "" -b11010011 b -b10 O -b100110010 s -b111010011 B -b11 A -b100110010111010011 8 -b110111110 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100110010111010011 " -b11 . -b11100100011101100111011011001000 % -b11100100011101100111011011001000 < -b11100100011101100111011011001000 D -b11100100011101100111011011001000 U -b11100100011101100111011011001000 f -b11100100011101100111011011001000 u -b11100100011101100111011011001000 (" -b11100100011101100111011011001000 9" -0( -0) -0+ -0, -b1 0 -0' -#1595 -b10 4 -b10 #" -b11100100011101100111011011001000 @" -b110010 <" -b1011 D" -b11100100011101100111011011001000 /" -b1011 3" -b10 P -b11100100011101100111011011001000 m -b11010011 i -b1011 q -b11100100011101100111011011001000 \ -b1011 ` -1' -#1596 -b10011011 / -b10 2 -#1600 -b11111000 5" -b10 "" -b11110001 b -b10 O -b111111000 s -b111110001 B -b11 A -b111111000111110001 8 -b10000101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111111000111110001 " -b11 . -b11110100101010101100100111101 % -b11110100101010101100100111101 < -b11110100101010101100100111101 D -b11110100101010101100100111101 U -b11110100101010101100100111101 f -b11110100101010101100100111101 u -b11110100101010101100100111101 (" -b11110100101010101100100111101 9" -0( -0) -0+ -0, -b10 0 -0' -#1605 -b11110100101010101100100111101 \ -b100 ` -b11110100101010101100100111101 m -b11110001 i -b100 q -b10 P -b11110100101010101100100111101 /" -b100 3" -b11110100101010101100100111101 @" -b11111000 <" -b100 D" -b10 #" -b10 4 -1' -#1606 -b10011100 / -b10 2 -#1610 -17" -b0 5" -0&" -0)" -b11110001 $" -b0 x -1d -b0 b -0S -0V -b11110001 Q -b0 G -b11110001 s -b11110001 B -b11 A -1g -b10 O -1:" -b10 "" -b11110001011110001 8 -0= -b11110001 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b10111110010110 " -b11 . -1& -b11100001100110011000001011000011 % -b11100001100110011000001011000011 < -b11100001100110011000001011000011 D -b11100001100110011000001011000011 U -b11100001100110011000001011000011 f -b11100001100110011000001011000011 u -b11100001100110011000001011000011 (" -b11100001100110011000001011000011 9" -0( -0) -0+ -0, -b1 0 -0' -#1615 -0!" -b0 { -0N -b0 J -b100 7 -b10 #" -b11100001100110011000001011000011 @" -b0 <" -b1101 D" -1>" -b11100001100110011000001011000011 /" -b11110001 +" -b1101 3" -02" -0-" -b10 P -b11100001100110011000001011000011 m -b0 i -b1101 q -1k -b11100001100110011000001011000011 \ -b11110001 X -b1101 ` -0_ -0Z -1' -#1616 -b10011101 / -b10 2 -#1620 -b1010100 $" -b10 "" -b1010100 Q -b10 O -b1010100 s -b1010100 B -b11 A -b1010100001010100 8 -b1010100 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11010101001100100 " -b11 . -1& -b11101101111101111011000011011011 % -b11101101111101111011000011011011 < -b11101101111101111011000011011011 D -b11101101111101111011000011011011 U -b11101101111101111011000011011011 f -b11101101111101111011000011011011 u -b11101101111101111011000011011011 (" -b11101101111101111011000011011011 9" -0( -0) -0+ -0, -b10 0 -0' -#1625 -b11101101111101111011000011011011 \ -b1010100 X -b1111 ` -b11101101111101111011000011011011 m -b1111 q -b10 P -b11101101111101111011000011011011 /" -b1010100 +" -b1111 3" -b11101101111101111011000011011011 @" -b1111 D" -b10 #" -b100 7 -1' -#1626 -b10011110 / -b10 2 -#1630 -b10101010 $" -b10000011 Q -b10101010 s -b10000011 B -b11 A -1V -b10 O -1)" -b10 "" -b10101010010000011 8 -1= -b111111111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10101010010000011 " -b11 . -0& -b1010111001110101000010110101110 % -b1010111001110101000010110101110 < -b1010111001110101000010110101110 D -b1010111001110101000010110101110 U -b1010111001110101000010110101110 f -b1010111001110101000010110101110 u -b1010111001110101000010110101110 (" -b1010111001110101000010110101110 9" -0( -0) -0+ -0, -b1 0 -0' -#1635 -1!" -1N -b10 4 -b10 #" -b1010111001110101000010110101110 @" -b0 D" -b1010111001110101000010110101110 /" -b10101010 +" -b0 3" -12" -b10 P -b1010111001110101000010110101110 m -b0 q -b1010111001110101000010110101110 \ -b10000011 X -b0 ` -1_ -1' -#1636 -b10011111 / -b10 2 -#1640 -b10000000 $" -b10 "" -0d -b10110010 b -1S -b0 Q -b10 O -b1 G -b10000000 s -b110110010 B -b11 A -b10000000110110010 8 -b101100101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10000000110110010 " -b11 . -b11100011011011100010100111000 % -b11100011011011100010100111000 < -b11100011011011100010100111000 D -b11100011011011100010100111000 U -b11100011011011100010100111000 f -b11100011011011100010100111000 u -b11100011011011100010100111000 (" -b11100011011011100010100111000 9" -0( -0) -0+ -0, -b10 0 -0' -#1645 -b1 J -b11100011011011100010100111000 \ -b0 X -b100 ` -1Z -b11100011011011100010100111000 m -b10110010 i -b100 q -0k -b10 P -b11100011011011100010100111000 /" -b10000000 +" -b100 3" -b11100011011011100010100111000 @" -b100 D" -b10 #" -b10 4 -1' -#1646 -b10100000 / -b10 2 -#1650 -b11101000 $" -b10 "" -1d -b0 b -0S -b1101000 Q -b10 O -b0 G -b11101000 s -b1101000 B -b11 A -b11101000001101000 8 -b110010100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11101000001101000 " -b11 . -b11010110001110111100001010101100 % -b11010110001110111100001010101100 < -b11010110001110111100001010101100 D -b11010110001110111100001010101100 U -b11010110001110111100001010101100 f -b11010110001110111100001010101100 u -b11010110001110111100001010101100 (" -b11010110001110111100001010101100 9" -0( -0) -0+ -0, -b1 0 -0' -#1655 -b0 J -b10 4 -b10 #" -b11010110001110111100001010101100 @" -b1 D" -b11010110001110111100001010101100 /" -b11101000 +" -b1 3" -b10 P -b11010110001110111100001010101100 m -b0 i -b1 q -1k -b11010110001110111100001010101100 \ -b1101000 X -b1 ` -0Z -1' -#1656 -b10100001 / -b10 2 -#1660 -07" -0:" -b110010 5" -1&" -b0 $" -b1 x -0d -0g -b110010 b -1S -b0 Q -b1 G -b100110010 s -b100110010 B -b11 A -1V -b10 O -1)" -b10 "" -b100110010100110010 8 -0= -b100110010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11001000111011000 " -b11 . -1& -b10000101110101111000010000001011 % -b10000101110101111000010000001011 < -b10000101110101111000010000001011 D -b10000101110101111000010000001011 U -b10000101110101111000010000001011 f -b10000101110101111000010000001011 u -b10000101110101111000010000001011 (" -b10000101110101111000010000001011 9" -0( -0) -0+ -0, -b10 0 -0' -#1663 -b10010010101001100000000 ] -#1665 -b10010010101001100000000 # -0N -b1 J -0!" -b1 { -b11 . -b10010010101001100000000 ! -b10010010101001100000000 ? -b11 A -b10010010101001100000000 L -b10000101110101111000010000001011 \ -b0 X -b1100 ` -1Z -b10000101110101111000010000001011 m -b110010 i -b1100 q -0p -0k -b10010010101001100000000 H -b10 P -b10000101110101111000010000001011 /" -b0 +" -b1100 3" -1-" -b10000101110101111000010000001011 @" -b110010 <" -b1100 D" -0C" -0>" -b10 #" -b100 7 -1' -#1666 -b10100010 / -b10 2 -#1670 -b11101000 5" -b10 "" -b11101000 b -b10 O -b111101000 s -b111101000 B -b11 A -b111101000111101000 8 -b111101000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11110011101110000 " -b11 . -1& -b10101111111011011011110001011111 % -b10101111111011011011110001011111 < -b10101111111011011011110001011111 D -b10101111111011011011110001011111 U -b10101111111011011011110001011111 f -b10101111111011011011110001011111 u -b10101111111011011011110001011111 (" -b10101111111011011011110001011111 9" -0( -0) -0+ -0, -b1 0 -0' -#1675 -b100 7 -b10 #" -b10101111111011011011110001011111 @" -b11101000 <" -b10 D" -b10101111111011011011110001011111 /" -b10 3" -b10 P -b10101111111011011011110001011111 m -b11101000 i -b10 q -b10101111111011011011110001011111 \ -b10 ` -1' -#1676 -b10100011 / -b10 2 -#1680 -b10111000 5" -b10 "" -b10111000 b -b10 O -b110111000 s -b110111000 B -b11 A -b110111000110111000 8 -b110111000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b1000001010110110 " -b11 . -1& -b10011110000011011000111000111100 % -b10011110000011011000111000111100 < -b10011110000011011000111000111100 D -b10011110000011011000111000111100 U -b10011110000011011000111000111100 f -b10011110000011011000111000111100 u -b10011110000011011000111000111100 (" -b10011110000011011000111000111100 9" -0( -0) -0+ -0, -b10 0 -0' -#1685 -b10011110000011011000111000111100 \ -b1111 ` -b10011110000011011000111000111100 m -b10111000 i -b1111 q -b10 P -b10011110000011011000111000111100 /" -b1111 3" -b10011110000011011000111000111100 @" -b10111000 <" -b1111 D" -b10 #" -b100 7 -1' -#1686 -b10100100 / -b10 2 -#1690 -b1011101 5" -b10 "" -b1011101 b -b10 O -b101011101 s -b101011101 B -b11 A -b101011101101011101 8 -b101011101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100100011100010101 " -b11 . -1& -b11101101000000111101001011011010 % -b11101101000000111101001011011010 < -b11101101000000111101001011011010 D -b11101101000000111101001011011010 U -b11101101000000111101001011011010 f -b11101101000000111101001011011010 u -b11101101000000111101001011011010 (" -b11101101000000111101001011011010 9" -0( -0) -0+ -0, -b1 0 -0' -#1695 -b100 7 -b10 #" -b11101101000000111101001011011010 @" -b1011101 <" -b1001 D" -b11101101000000111101001011011010 /" -b1001 3" -b10 P -b11101101000000111101001011011010 m -b1011101 i -b1001 q -b11101101000000111101001011011010 \ -b1001 ` -1' -#1696 -b10100101 / -b10 2 -#1700 -17" -1:" -b0 5" -0&" -0)" -b10010 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10010 Q -b10 O -b0 G -b10010 s -b10010 B -b11 A -b10010000010010 8 -b10010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10110101111011111 " -b11 . -1& -b10111101101011000100100001111011 % -b10111101101011000100100001111011 < -b10111101101011000100100001111011 D -b10111101101011000100100001111011 U -b10111101101011000100100001111011 f -b10111101101011000100100001111011 u -b10111101101011000100100001111011 (" -b10111101101011000100100001111011 9" -0( -0) -0+ -0, -b10 0 -0' -#1705 -b0 J -b0 { -b10111101101011000100100001111011 \ -b10010 X -b1 ` -0_ -0Z -b10111101101011000100100001111011 m -b0 i -b1 q -1p -1k -b10 P -b10111101101011000100100001111011 /" -b10010 +" -b1 3" -02" -0-" -b10111101101011000100100001111011 @" -b0 <" -b1 D" -1C" -1>" -b10 #" -b100 7 -1' -#1706 -b10100110 / -b10 2 -#1710 -07" -b10000000 5" -1&" -b0 $" -b1 x -0d -b10110010 b -1S -b0 Q -b1 G -b110000000 s -b110110010 B -b11 A -1V -b10 O -1)" -b10 "" -b110000000110110010 8 -1= -b1011111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110000000110110010 " -b11 . -0& -b11000110000111111101111010001100 % -b11000110000111111101111010001100 < -b11000110000111111101111010001100 D -b11000110000111111101111010001100 U -b11000110000111111101111010001100 f -b11000110000111111101111010001100 u -b11000110000111111101111010001100 (" -b11000110000111111101111010001100 9" -0( -0) -0+ -0, -b1 0 -0' -#1715 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b11000110000111111101111010001100 @" -b10000000 <" -b101 D" -0>" -b11000110000111111101111010001100 /" -b0 +" -b101 3" -12" -1-" -b10 P -b11000110000111111101111010001100 m -b10110010 i -b101 q -0k -b11000110000111111101111010001100 \ -b0 X -b101 ` -1_ -1Z -1' -#1716 -b10100111 / -b10 2 -#1720 -b11010011 5" -b11010011 b -b111010011 s -b111010011 B -b11 A -0g -b10 O -0:" -b10 "" -b111010011111010011 8 -0= -b111010011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11110100100110100 " -b11 . -1& -b11011000001100100000101010110000 % -b11011000001100100000101010110000 < -b11011000001100100000101010110000 D -b11011000001100100000101010110000 U -b11011000001100100000101010110000 f -b11011000001100100000101010110000 u -b11011000001100100000101010110000 (" -b11011000001100100000101010110000 9" -0( -0) -0+ -0, -b10 0 -0' -#1725 -b0 # -0N -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 L -b11011000001100100000101010110000 \ -b1110 ` -b11011000001100100000101010110000 m -b11010011 i -b1110 q -0p -b0 H -b10 P -b11011000001100100000101010110000 /" -b1110 3" -b11011000001100100000101010110000 @" -b11010011 <" -b1110 D" -0C" -b10 #" -b100 7 -1' -#1726 -b10101000 / -b10 2 -#1730 -b11010101 5" -b1111010 b -b111010101 s -b101111010 B -b11 A -1g -b10 O -1:" -b10 "" -b111010101101111010 8 -1= -b101111001 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111010101101111010 " -b11 . -0& -b1001101110111001101100110011011 % -b1001101110111001101100110011011 < -b1001101110111001101100110011011 D -b1001101110111001101100110011011 U -b1001101110111001101100110011011 f -b1001101110111001101100110011011 u -b1001101110111001101100110011011 (" -b1001101110111001101100110011011 9" -0( -0) -0+ -0, -b1 0 -0' -#1735 -1!" -1N -b10 4 -b10 #" -b1001101110111001101100110011011 @" -b11010101 <" -b0 D" -1C" -b1001101110111001101100110011011 /" -b0 3" -b10 P -b1001101110111001101100110011011 m -b1111010 i -b0 q -1p -b1001101110111001101100110011011 \ -b0 ` -1' -#1736 -b10101001 / -b10 2 -#1740 -b1000010 5" -b1000010 b -b101000010 s -b101000010 B -b11 A -0g -b10 O -0:" -b10 "" -b101000010101000010 8 -0= -b101000010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11111000101110010 " -b11 . -1& -b11111110000011001100000111 % -b11111110000011001100000111 < -b11111110000011001100000111 D -b11111110000011001100000111 U -b11111110000011001100000111 f -b11111110000011001100000111 u -b11111110000011001100000111 (" -b11111110000011001100000111 9" -0( -0) -0+ -0, -b10 0 -0' -#1745 -0N -0!" -b11111110000011001100000111 \ -b100 ` -b11111110000011001100000111 m -b1000010 i -b100 q -0p -b10 P -b11111110000011001100000111 /" -b100 3" -b11111110000011001100000111 @" -b1000010 <" -b100 D" -0C" -b10 #" -b100 7 -1' -#1746 -b10101010 / -b10 2 -#1750 -17" -b0 5" -0&" -b11000101 $" -b0 x -1d -b0 b -0S -b11011010 Q -b0 G -b11000101 s -b11011010 B -b11 A -1g -b10 O -1:" -b10 "" -b11000101011011010 8 -1= -b10010010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b11000101011011010 " -b11 . -0& -b11010100000000000111000010101000 % -b11010100000000000111000010101000 < -b11010100000000000111000010101000 D -b11010100000000000111000010101000 U -b11010100000000000111000010101000 f -b11010100000000000111000010101000 u -b11010100000000000111000010101000 (" -b11010100000000000111000010101000 9" -0( -0) -0+ -0, -b1 0 -0' -#1755 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b11010100000000000111000010101000 @" -b0 <" -b111 D" -1C" -1>" -b11010100000000000111000010101000 /" -b11000101 +" -b111 3" -0-" -b10 P -b11010100000000000111000010101000 m -b0 i -b111 q -1p -1k -b11010100000000000111000010101000 \ -b11011010 X -b111 ` -0Z -1' -#1756 -b10101011 / -b10 2 -#1760 -b1101100 $" -b10 "" -0d -b1101100 b -1S -b0 Q -b10 O -b1 G -b1101100 s -b101101100 B -b11 A -b1101100101101100 8 -b11100110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b1101100101101100 " -b11 . -b1011010011110100110100010110 % -b1011010011110100110100010110 < -b1011010011110100110100010110 D -b1011010011110100110100010110 U -b1011010011110100110100010110 f -b1011010011110100110100010110 u -b1011010011110100110100010110 (" -b1011010011110100110100010110 9" -0( -0) -0+ -0, -b10 0 -0' -#1763 -b0 ] -#1765 -b1 J -b1011010011110100110100010110 \ -b0 X -b1000 ` -1Z -b1011010011110100110100010110 m -b1101100 i -b1000 q -0k -b10 P -b1011010011110100110100010110 /" -b1101100 +" -b1000 3" -b1011010011110100110100010110 @" -b1000 D" -b10 #" -b10 4 -1' -#1766 -b10101100 / -b10 2 -#1770 -07" -b10010000 5" -1&" -b0 $" -b10 "" -b1 x -b111 b -b10 O -b110010000 s -b100000111 B -b11 A -b110010000100000111 8 -b101010000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b110010000100000111 " -b11 . -b10001011001110111011100000010110 % -b10001011001110111011100000010110 < -b10001011001110111011100000010110 D -b10001011001110111011100000010110 U -b10001011001110111011100000010110 f -b10001011001110111011100000010110 u -b10001011001110111011100000010110 (" -b10001011001110111011100000010110 9" -0( -0) -0+ -0, -b1 0 -0' -#1775 -b1 { -b10 4 -b10 #" -b10001011001110111011100000010110 @" -b10010000 <" -b1100 D" -0>" -b10001011001110111011100000010110 /" -b0 +" -b1100 3" -1-" -b10 P -b10001011001110111011100000010110 m -b111 i -b1100 q -b10001011001110111011100000010110 \ -b1100 ` -1' -#1776 -b10101101 / -b10 2 -#1780 -17" -b0 5" -0&" -0)" -b101110 $" -b0 x -1d -b0 b -0S -0V -b101110 Q -b0 G -b101110 s -b101110 B -b11 A -1g -b10 O -1:" -b10 "" -b101110000101110 8 -0= -b101110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10101111111111000 " -b11 . -1& -b11110110001100011010100111101 % -b11110110001100011010100111101 < -b11110110001100011010100111101 D -b11110110001100011010100111101 U -b11110110001100011010100111101 f -b11110110001100011010100111101 u -b11110110001100011010100111101 (" -b11110110001100011010100111101 9" -0( -0) -0+ -0, -b10 0 -0' -#1785 -0N -b0 J -0!" -b0 { -b11110110001100011010100111101 \ -b101110 X -b1 ` -0_ -0Z -b11110110001100011010100111101 m -b0 i -b1 q -1k -b10 P -b11110110001100011010100111101 /" -b101110 +" -b1 3" -02" -0-" -b11110110001100011010100111101 @" -b0 <" -b1 D" -1>" -b10 #" -b100 7 -1' -#1786 -b10101110 / -b10 2 -#1790 -07" -0:" -b11001001 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11001001 b -1S -1V -b0 Q -b10 O -b1 G -b111001001 s -b111001001 B -b11 A -b111001001111001001 8 -b111001001 $ -b110110010111100000 " -b11 . -1& -b10010110101000101011100000101101 % -b10010110101000101011100000101101 < -b10010110101000101011100000101101 D -b10010110101000101011100000101101 U -b10010110101000101011100000101101 f -b10010110101000101011100000101101 u -b10010110101000101011100000101101 (" -b10010110101000101011100000101101 9" -0( -0) -0+ -0, -b1 0 -0' -#1795 -b1 { -b1 J -b100 7 -b10 #" -b10010110101000101011100000101101 @" -b11001001 <" -0C" -0>" -b10010110101000101011100000101101 /" -b0 +" -12" -1-" -b10 P -b10010110101000101011100000101101 m -b11001001 i -0p -0k -b10010110101000101011100000101101 \ -b0 X -1_ -1Z -1' -#1796 -b10101111 / -b10 2 -#1800 -b111110 5" -1d -b0 b -0S -b1100111 Q -b0 G -b100111110 s -b1100111 B -b11 A -1g -b10 O -1:" -b10 "" -b100111110001100111 8 -1= -b110 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100111110001100111 " -b11 . -0& -b11100011011001000010101011000110 % -b11100011011001000010101011000110 < -b11100011011001000010101011000110 D -b11100011011001000010101011000110 U -b11100011011001000010101011000110 f -b11100011011001000010101011000110 u -b11100011011001000010101011000110 (" -b11100011011001000010101011000110 9" -0( -0) -0+ -0, -b10 0 -0' -#1805 -1N -b0 J -1!" -b11100011011001000010101011000110 \ -b1100111 X -b1101 ` -0Z -b11100011011001000010101011000110 m -b0 i -b1101 q -1p -1k -b10 P -b11100011011001000010101011000110 /" -b1101 3" -b11100011011001000010101011000110 @" -b111110 <" -b1101 D" -1C" -b10 #" -b10 4 -1' -#1806 -b10110000 / -b10 2 -#1810 -17" -b0 5" -0&" -0)" -b10100101 $" -b0 x -b10100101 Q -b10100101 s -b10100101 B -b11 A -0V -b10 O -1:" -b10 "" -b10100101010100101 8 -0= -b10100101 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b111010110010100100 " -b11 . -1& -b11001001110000110001011010010011 % -b11001001110000110001011010010011 < -b11001001110000110001011010010011 D -b11001001110000110001011010010011 U -b11001001110000110001011010010011 f -b11001001110000110001011010010011 u -b11001001110000110001011010010011 (" -b11001001110000110001011010010011 9" -0( -0) -0+ -0, -b1 0 -0' -#1815 -0!" -b0 { -0N -b100 7 -b10 #" -b11001001110000110001011010010011 @" -b0 <" -b101 D" -1>" -b11001001110000110001011010010011 /" -b10100101 +" -b101 3" -02" -0-" -b10 P -b11001001110000110001011010010011 m -b101 q -b11001001110000110001011010010011 \ -b10100101 X -b101 ` -0_ -1' -#1816 -b10110001 / -b10 2 -#1820 -b1001101 $" -b10001111 Q -b1001101 s -b10001111 B -b11 A -1V -b10 O -1)" -b10 "" -b1001101010001111 8 -1= -b101000000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1001101010001111 " -b11 . -0& -b101100010111100000001101011000 % -b101100010111100000001101011000 < -b101100010111100000001101011000 D -b101100010111100000001101011000 U -b101100010111100000001101011000 f -b101100010111100000001101011000 u -b101100010111100000001101011000 (" -b101100010111100000001101011000 9" -0( -0) -0+ -0, -b10 0 -0' -#1825 -1N -1!" -b101100010111100000001101011000 \ -b10001111 X -b10 ` -1_ -b101100010111100000001101011000 m -b10 q -b10 P -b101100010111100000001101011000 /" -b1001101 +" -b10 3" -12" -b101100010111100000001101011000 @" -b10 D" -b10 #" -b10 4 -1' -#1826 -b10110010 / -b10 2 -#1830 -b11010111 $" -b10 "" -b100 Q -b10 O -b11010111 s -b100 B -b11 A -b11010111000000100 8 -b110010010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11010111000000100 " -b11 . -b10000110000000011011011000001100 % -b10000110000000011011011000001100 < -b10000110000000011011011000001100 D -b10000110000000011011011000001100 U -b10000110000000011011011000001100 f -b10000110000000011011011000001100 u -b10000110000000011011011000001100 (" -b10000110000000011011011000001100 9" -0( -0) -0+ -0, -b1 0 -0' -#1835 -b10 4 -b10 #" -b10000110000000011011011000001100 @" -b11 D" -b10000110000000011011011000001100 /" -b11010111 +" -b11 3" -b10 P -b10000110000000011011011000001100 m -b11 q -b10000110000000011011011000001100 \ -b100 X -b11 ` -1' -#1836 -b10110011 / -b10 2 -#1840 -07" -b1001100 5" -1&" -b0 $" -b10 "" -b1 x -b11001111 Q -b10 O -b101001100 s -b11001111 B -b11 A -b101001100011001111 8 -b111000111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101001100011001111 " -b11 . -b11100110100011100011011011001101 % -b11100110100011100011011011001101 < -b11100110100011100011011011001101 D -b11100110100011100011011011001101 U -b11100110100011100011011011001101 f -b11100110100011100011011011001101 u -b11100110100011100011011011001101 (" -b11100110100011100011011011001101 9" -0( -0) -0+ -0, -b10 0 -0' -#1843 -b1100111111011101 0" -#1845 -b110011111101110100000000000000000000000000000000 # -b1 { -b11 . -b110011111101110100000000000000000000000000000000 ! -b110011111101110100000000000000000000000000000000 ? -b11 A -b1100111111011101 } -b11100110100011100011011011001101 \ -b11001111 X -b1001 ` -b11100110100011100011011011001101 m -b1001 q -b10 P -b11100110100011100011011011001101 /" -b0 +" -b1001 3" -1-" -b11100110100011100011011011001101 @" -b1001100 <" -b1001 D" -0>" -b1100111111011101 y -b10 #" -b10 4 -1' -#1846 -b10110100 / -b10 2 -#1850 -17" -b0 5" -0&" -b1100100 $" -b10 "" -b0 x -0d -b10110100 b -1S -b0 Q -b10 O -b1 G -b1100100 s -b110110100 B -b11 A -b1100100110110100 8 -b101110010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b1100100110110100 " -b11 . -b101001101001110101010101010011 % -b101001101001110101010101010011 < -b101001101001110101010101010011 D -b101001101001110101010101010011 U -b101001101001110101010101010011 f -b101001101001110101010101010011 u -b101001101001110101010101010011 (" -b101001101001110101010101010011 9" -0( -0) -0+ -0, -b1 0 -0' -#1855 -b0 # -b0 { -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b101001101001110101010101010011 @" -b0 <" -b0 D" -1>" -b101001101001110101010101010011 /" -b1100100 +" -b0 3" -0-" -b10 P -b101001101001110101010101010011 m -b10110100 i -b0 q -0k -b101001101001110101010101010011 \ -b0 X -b0 ` -1Z -1' -#1856 -b10110101 / -b10 2 -#1860 -07" -0:" -b11010110 5" -1&" -b0 $" -b1 x -b11010110 b -b111010110 s -b111010110 B -b11 A -0g -b10 O -1)" -b10 "" -b111010110111010110 8 -0= -b111010110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110010001101001010 " -b11 . -1& -b11000100101110000001001010001001 % -b11000100101110000001001010001001 < -b11000100101110000001001010001001 D -b11000100101110000001001010001001 U -b11000100101110000001001010001001 f -b11000100101110000001001010001001 u -b11000100101110000001001010001001 (" -b11000100101110000001001010001001 9" -0( -0) -0+ -0, -b10 0 -0' -#1863 -b0 0" -#1865 -0N -0!" -b1 { -b11000100101110000001001010001001 \ -b1110 ` -b11000100101110000001001010001001 m -b11010110 i -b1110 q -0p -b10 P -b11000100101110000001001010001001 /" -b0 +" -b1110 3" -1-" -b11000100101110000001001010001001 @" -b11010110 <" -b1110 D" -0C" -0>" -b10 #" -b100 7 -1' -#1866 -b10110110 / -b10 2 -#1870 -b1100101 5" -b10 "" -b1100101 b -b10 O -b101100101 s -b101100101 B -b11 A -b101100101101100101 8 -b101100101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101101101010110101 " -b11 . -1& -b11101000110001000010111011010001 % -b11101000110001000010111011010001 < -b11101000110001000010111011010001 D -b11101000110001000010111011010001 U -b11101000110001000010111011010001 f -b11101000110001000010111011010001 u -b11101000110001000010111011010001 (" -b11101000110001000010111011010001 9" -0( -0) -0+ -0, -b1 0 -0' -#1875 -b100 7 -b10 #" -b11101000110001000010111011010001 @" -b1100101 <" -b1001 D" -b11101000110001000010111011010001 /" -b1001 3" -b10 P -b11101000110001000010111011010001 m -b1100101 i -b1001 q -b11101000110001000010111011010001 \ -b1001 ` -1' -#1876 -b10110111 / -b10 2 -#1880 -b1001001 5" -b10 "" -b1001001 b -b10 O -b101001001 s -b101001001 B -b11 A -b101001001101001001 8 -b101001001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10010100111100001 " -b11 . -1& -b1000110010111011100011110001100 % -b1000110010111011100011110001100 < -b1000110010111011100011110001100 D -b1000110010111011100011110001100 U -b1000110010111011100011110001100 f -b1000110010111011100011110001100 u -b1000110010111011100011110001100 (" -b1000110010111011100011110001100 9" -0( -0) -0+ -0, -b10 0 -0' -#1885 -b1000110010111011100011110001100 \ -b10 ` -b1000110010111011100011110001100 m -b1001001 i -b10 q -b10 P -b1000110010111011100011110001100 /" -b10 3" -b1000110010111011100011110001100 @" -b1001001 <" -b10 D" -b10 #" -b100 7 -1' -#1886 -b10111000 / -b10 2 -#1890 -b1010000 5" -b11100000 b -b101010000 s -b111100000 B -b11 A -1g -b10 O -1:" -b10 "" -b101010000111100000 8 -1= -b1100100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101010000111100000 " -b11 . -0& -b10010101110100101001101000101011 % -b10010101110100101001101000101011 < -b10010101110100101001101000101011 D -b10010101110100101001101000101011 U -b10010101110100101001101000101011 f -b10010101110100101001101000101011 u -b10010101110100101001101000101011 (" -b10010101110100101001101000101011 9" -0( -0) -0+ -0, -b1 0 -0' -#1895 -1!" -1N -b10 4 -b10 #" -b10010101110100101001101000101011 @" -b1010000 <" -b1110 D" -1C" -b10010101110100101001101000101011 /" -b1110 3" -b10 P -b10010101110100101001101000101011 m -b11100000 i -b1110 q -1p -b10010101110100101001101000101011 \ -b1110 ` -1' -#1896 -b10111001 / -b10 2 -#1900 -b1110 5" -b10 "" -1d -b0 b -0S -b111011 Q -b10 O -b0 G -b100001110 s -b111011 B -b11 A -b100001110000111011 8 -b111001001 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100001110000111011 " -b11 . -b1101111101100011001011111011111 % -b1101111101100011001011111011111 < -b1101111101100011001011111011111 D -b1101111101100011001011111011111 U -b1101111101100011001011111011111 f -b1101111101100011001011111011111 u -b1101111101100011001011111011111 (" -b1101111101100011001011111011111 9" -0( -0) -0+ -0, -b10 0 -0' -#1903 -b10011010110000011100101000110101 A" -#1905 -b1001101011000001110010100011010100000000000000000000000000000000 # -b0 J -b11 . -b1001101011000001110010100011010100000000000000000000000000000000 ! -b1001101011000001110010100011010100000000000000000000000000000000 ? -b11 A -b10011010110000011100101000110101 } -b1101111101100011001011111011111 \ -b111011 X -b1000 ` -0Z -b1101111101100011001011111011111 m -b0 i -b1000 q -1k -b10 P -b1101111101100011001011111011111 /" -b1000 3" -b1101111101100011001011111011111 @" -b1110 <" -b1000 D" -b10011010110000011100101000110101 y -b10 #" -b10 4 -1' -#1906 -b10111010 / -b10 2 -#1910 -17" -b0 5" -0&" -0)" -b1110010 $" -b0 x -b1110010 Q -b1110010 s -b1110010 B -b11 A -0V -b10 O -1:" -b10 "" -b1110010001110010 8 -0= -b1110010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11001011110110 " -b11 . -1& -b1000111110000001010100110001111 % -b1000111110000001010100110001111 < -b1000111110000001010100110001111 D -b1000111110000001010100110001111 U -b1000111110000001010100110001111 f -b1000111110000001010100110001111 u -b1000111110000001010100110001111 (" -b1000111110000001010100110001111 9" -0( -0) -0+ -0, -b1 0 -0' -#1913 -b0 A" -#1915 -b0 # -0!" -b0 { -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b1000111110000001010100110001111 @" -b0 <" -b10 D" -1>" -b1000111110000001010100110001111 /" -b1110010 +" -b10 3" -02" -0-" -b10 P -b1000111110000001010100110001111 m -b10 q -b1000111110000001010100110001111 \ -b1110010 X -b10 ` -0_ -1' -#1916 -b10111011 / -b10 2 -#1920 -b11100000 $" -b10 "" -b11100000 Q -b10 O -b11100000 s -b11100000 B -b11 A -b11100000011100000 8 -b11100000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110101001001000 " -b11 . -1& -b100111111010011110110101001111 % -b100111111010011110110101001111 < -b100111111010011110110101001111 D -b100111111010011110110101001111 U -b100111111010011110110101001111 f -b100111111010011110110101001111 u -b100111111010011110110101001111 (" -b100111111010011110110101001111 9" -0( -0) -0+ -0, -b10 0 -0' -#1925 -b100111111010011110110101001111 \ -b11100000 X -b1000 ` -b100111111010011110110101001111 m -b1000 q -b10 P -b100111111010011110110101001111 /" -b11100000 +" -b1000 3" -b100111111010011110110101001111 @" -b1000 D" -b10 #" -b100 7 -1' -#1926 -b10111100 / -b10 2 -#1930 -b1100100 $" -b10 "" -b1100100 Q -b10 O -b1100100 s -b1100100 B -b11 A -b1100100001100100 8 -b1100100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b10011010011111100 " -b11 . -1& -b11011100110010001100100010111001 % -b11011100110010001100100010111001 < -b11011100110010001100100010111001 D -b11011100110010001100100010111001 U -b11011100110010001100100010111001 f -b11011100110010001100100010111001 u -b11011100110010001100100010111001 (" -b11011100110010001100100010111001 9" -0( -0) -0+ -0, -b1 0 -0' -#1935 -b100 7 -b10 #" -b11011100110010001100100010111001 @" -b110 D" -b11011100110010001100100010111001 /" -b1100100 +" -b110 3" -b10 P -b11011100110010001100100010111001 m -b110 q -b11011100110010001100100010111001 \ -b1100100 X -b110 ` -1' -#1936 -b10111101 / -b10 2 -#1940 -07" -0:" -b10010100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10010100 b -1S -1V -b0 Q -b10 O -b1 G -b110010100 s -b110010100 B -b11 A -b110010100110010100 8 -b110010100 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11101001110110000 " -b11 . -1& -b1100100000000001000001111001000 % -b1100100000000001000001111001000 < -b1100100000000001000001111001000 D -b1100100000000001000001111001000 U -b1100100000000001000001111001000 f -b1100100000000001000001111001000 u -b1100100000000001000001111001000 (" -b1100100000000001000001111001000 9" -0( -0) -0+ -0, -b10 0 -0' -#1945 -b1 J -b1 { -b1100100000000001000001111001000 \ -b0 X -b1111 ` -1_ -1Z -b1100100000000001000001111001000 m -b10010100 i -b1111 q -0p -0k -b10 P -b1100100000000001000001111001000 /" -b0 +" -b1111 3" -12" -1-" -b1100100000000001000001111001000 @" -b10010100 <" -b1111 D" -0C" -0>" -b10 #" -b100 7 -1' -#1946 -b10111110 / -b10 2 -#1950 -17" -b0 5" -0&" -b10100100 $" -b0 x -1d -b0 b -0S -b1011111 Q -b0 G -b10100100 s -b1011111 B -b11 A -1g -b10 O -1:" -b10 "" -b10100100001011111 8 -1= -b110111110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b10100100001011111 " -b11 . -0& -b10000101010000010110011000001010 % -b10000101010000010110011000001010 < -b10000101010000010110011000001010 D -b10000101010000010110011000001010 U -b10000101010000010110011000001010 f -b10000101010000010110011000001010 u -b10000101010000010110011000001010 (" -b10000101010000010110011000001010 9" -0( -0) -0+ -0, -b1 0 -0' -#1955 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b10000101010000010110011000001010 @" -b0 <" -b1001 D" -1C" -1>" -b10000101010000010110011000001010 /" -b10100100 +" -b1001 3" -0-" -b10 P -b10000101010000010110011000001010 m -b0 i -b1001 q -1p -1k -b10000101010000010110011000001010 \ -b1011111 X -b1001 ` -0Z -1' -#1956 -b10111111 / -b10 2 -#1960 -b1000001 $" -b1000001 Q -b1000001 s -b1000001 B -b11 A -0V -b10 O -0)" -b10 "" -b1000001001000001 8 -0= -b1000001 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100001101111100110 " -b11 . -1& -b110110101001000111111101101101 % -b110110101001000111111101101101 < -b110110101001000111111101101101 D -b110110101001000111111101101101 U -b110110101001000111111101101101 f -b110110101001000111111101101101 u -b110110101001000111111101101101 (" -b110110101001000111111101101101 9" -0( -0) -0+ -0, -b10 0 -0' -#1965 -0N -0!" -b110110101001000111111101101101 \ -b1000001 X -b1110 ` -0_ -b110110101001000111111101101101 m -b1110 q -b10 P -b110110101001000111111101101101 /" -b1000001 +" -b1110 3" -02" -b110110101001000111111101101101 @" -b1110 D" -b10 #" -b100 7 -1' -#1966 -b11000000 / -b10 2 -#1970 -07" -b101010 5" -1&" -b0 $" -b1 x -0d -b11011011 b -1S -b0 Q -b1 G -b100101010 s -b111011011 B -b11 A -1V -b10 O -1)" -b10 "" -b100101010111011011 8 -1= -b100001011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b100101010111011011 " -b11 . -0& -b10110111010010111000011001101110 % -b10110111010010111000011001101110 < -b10110111010010111000011001101110 D -b10110111010010111000011001101110 U -b10110111010010111000011001101110 f -b10110111010010111000011001101110 u -b10110111010010111000011001101110 (" -b10110111010010111000011001101110 9" -0( -0) -0+ -0, -b1 0 -0' -#1975 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b10110111010010111000011001101110 @" -b101010 <" -b100 D" -0>" -b10110111010010111000011001101110 /" -b0 +" -b100 3" -12" -1-" -b10 P -b10110111010010111000011001101110 m -b11011011 i -b100 q -0k -b10110111010010111000011001101110 \ -b0 X -b100 ` -1_ -1Z -1' -#1976 -b11000001 / -b10 2 -#1980 -b10101000 5" -b10101000 b -b110101000 s -b110101000 B -b11 A -0g -b10 O -0:" -b10 "" -b110101000110101000 8 -0= -b110101000 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111101011010100000 " -b11 . -1& -b1000010111001111000110110000101 % -b1000010111001111000110110000101 < -b1000010111001111000110110000101 D -b1000010111001111000110110000101 U -b1000010111001111000110110000101 f -b1000010111001111000110110000101 u -b1000010111001111000110110000101 (" -b1000010111001111000110110000101 9" -0( -0) -0+ -0, -b10 0 -0' -#1985 -0N -0!" -b1000010111001111000110110000101 \ -b11 ` -b1000010111001111000110110000101 m -b10101000 i -b11 q -0p -b10 P -b1000010111001111000110110000101 /" -b11 3" -b1000010111001111000110110000101 @" -b10101000 <" -b11 D" -0C" -b10 #" -b100 7 -1' -#1986 -b11000010 / -b10 2 -#1990 -17" -1:" -b0 5" -0&" -0)" -b101101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b101101 Q -b10 O -b0 G -b101101 s -b101101 B -b11 A -b101101000101101 8 -b101101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101111100100101000 " -b11 . -1& -b10011100000010000110101000111000 % -b10011100000010000110101000111000 < -b10011100000010000110101000111000 D -b10011100000010000110101000111000 U -b10011100000010000110101000111000 f -b10011100000010000110101000111000 u -b10011100000010000110101000111000 (" -b10011100000010000110101000111000 9" -0( -0) -0+ -0, -b1 0 -0' -#1995 -b0 { -b0 J -b100 7 -b10 #" -b10011100000010000110101000111000 @" -b0 <" -b1110 D" -1C" -1>" -b10011100000010000110101000111000 /" -b101101 +" -b1110 3" -02" -0-" -b10 P -b10011100000010000110101000111000 m -b0 i -b1110 q -1p -1k -b10011100000010000110101000111000 \ -b101101 X -b1110 ` -0_ -0Z -1' -#1996 -b11000011 / -b10 2 -#2000 -07" -0:" -b1011000 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1011000 b -1S -1V -b0 Q -b10 O -b1 G -b101011000 s -b101011000 B -b11 A -b101011000101011000 8 -b101011000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11011001101001101 " -b11 . -1& -b10101111011100000110100101011 % -b10101111011100000110100101011 < -b10101111011100000110100101011 D -b10101111011100000110100101011 U -b10101111011100000110100101011 f -b10101111011100000110100101011 u -b10101111011100000110100101011 (" -b10101111011100000110100101011 9" -0( -0) -0+ -0, -b10 0 -0' -#2005 -b1 J -b1 { -b10101111011100000110100101011 \ -b0 X -b101 ` -1_ -1Z -b10101111011100000110100101011 m -b1011000 i -b101 q -0p -0k -b10 P -b10101111011100000110100101011 /" -b0 +" -b101 3" -12" -1-" -b10101111011100000110100101011 @" -b1011000 <" -b101 D" -0C" -0>" -b10 #" -b100 7 -1' -#2006 -b11000100 / -b10 2 -#2010 -17" -b0 5" -0&" -b10111011 $" -b0 x -1d -b0 b -0S -b1000011 Q -b0 G -b10111011 s -b1000011 B -b11 A -1g -b10 O -1:" -b10 "" -b10111011001000011 8 -1= -b101110110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10111011001000011 " -b11 . -0& -b100000101111100011010101000001 % -b100000101111100011010101000001 < -b100000101111100011010101000001 D -b100000101111100011010101000001 U -b100000101111100011010101000001 f -b100000101111100011010101000001 u -b100000101111100011010101000001 (" -b100000101111100011010101000001 9" -0( -0) -0+ -0, -b1 0 -0' -#2015 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b100000101111100011010101000001 @" -b0 <" -b1 D" -1C" -1>" -b100000101111100011010101000001 /" -b10111011 +" -b1 3" -0-" -b10 P -b100000101111100011010101000001 m -b0 i -b1 q -1p -1k -b100000101111100011010101000001 \ -b1000011 X -b1 ` -0Z -1' -#2016 -b11000101 / -b10 2 -#2020 -b11101100 $" -b11101100 Q -b11101100 s -b11101100 B -b11 A -0V -b10 O -0)" -b10 "" -b11101100011101100 8 -0= -b11101100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110101001110010100 " -b11 . -1& -b1000100101010100010011110001001 % -b1000100101010100010011110001001 < -b1000100101010100010011110001001 D -b1000100101010100010011110001001 U -b1000100101010100010011110001001 f -b1000100101010100010011110001001 u -b1000100101010100010011110001001 (" -b1000100101010100010011110001001 9" -0( -0) -0+ -0, -b10 0 -0' -#2025 -0N -0!" -b1000100101010100010011110001001 \ -b11101100 X -b110 ` -0_ -b1000100101010100010011110001001 m -b110 q -b10 P -b1000100101010100010011110001001 /" -b11101100 +" -b110 3" -02" -b1000100101010100010011110001001 @" -b110 D" -b10 #" -b100 7 -1' -#2026 -b11000110 / -b10 2 -#2030 -07" -b111111 5" -1&" -b0 $" -b1 x -b1011101 Q -b100111111 s -b1011101 B -b11 A -1V -b10 O -1)" -b10 "" -b100111111001011101 8 -1= -b110110011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100111111001011101 " -b11 . -0& -b11001010000100110111110010010100 % -b11001010000100110111110010010100 < -b11001010000100110111110010010100 D -b11001010000100110111110010010100 U -b11001010000100110111110010010100 f -b11001010000100110111110010010100 u -b11001010000100110111110010010100 (" -b11001010000100110111110010010100 9" -0( -0) -0+ -0, -b1 0 -0' -#2035 -1!" -b1 { -1N -b10 4 -b10 #" -b11001010000100110111110010010100 @" -b111111 <" -b10 D" -0>" -b11001010000100110111110010010100 /" -b0 +" -b10 3" -12" -1-" -b10 P -b11001010000100110111110010010100 m -b10 q -b11001010000100110111110010010100 \ -b1011101 X -b10 ` -1_ -1' -#2036 -b11000111 / -b10 2 -#2040 -17" -b0 5" -0&" -0)" -b10110010 $" -b0 x -b10110010 Q -b10110010 s -b10110010 B -b11 A -0V -b10 O -1:" -b10 "" -b10110010010110010 8 -0= -b10110010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111001011111011 " -b11 . -1& -b101011010011110111100001010 % -b101011010011110111100001010 < -b101011010011110111100001010 D -b101011010011110111100001010 U -b101011010011110111100001010 f -b101011010011110111100001010 u -b101011010011110111100001010 (" -b101011010011110111100001010 9" -0( -0) -0+ -0, -b10 0 -0' -#2045 -0N -0!" -b0 { -b101011010011110111100001010 \ -b10110010 X -b1100 ` -0_ -b101011010011110111100001010 m -b1100 q -b10 P -b101011010011110111100001010 /" -b10110010 +" -b1100 3" -02" -0-" -b101011010011110111100001010 @" -b0 <" -b1100 D" -1>" -b10 #" -b100 7 -1' -#2046 -b11001000 / -b10 2 -#2050 -b1011011 $" -b10 "" -b1011011 Q -b10 O -b1011011 s -b1011011 B -b11 A -b1011011001011011 8 -b1011011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111011001111011001 " -b11 . -1& -b100101010010011111100101001010 % -b100101010010011111100101001010 < -b100101010010011111100101001010 D -b100101010010011111100101001010 U -b100101010010011111100101001010 f -b100101010010011111100101001010 u -b100101010010011111100101001010 (" -b100101010010011111100101001010 9" -0( -0) -0+ -0, -b1 0 -0' -#2055 -b100 7 -b10 #" -b100101010010011111100101001010 @" -b1011 D" -b100101010010011111100101001010 /" -b1011011 +" -b1011 3" -b10 P -b100101010010011111100101001010 m -b1011 q -b100101010010011111100101001010 \ -b1011011 X -b1011 ` -1' -#2056 -b11001001 / -b10 2 -#2060 -07" -b11001000 5" -1&" -b0 $" -b1 x -b1001 Q -b111001000 s -b1001 B -b11 A -1V -b10 O -1)" -b10 "" -b111001000000001001 8 -1= -b111110011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111001000000001001 " -b11 . -0& -b1001110000001000011100010011 % -b1001110000001000011100010011 < -b1001110000001000011100010011 D -b1001110000001000011100010011 U -b1001110000001000011100010011 f -b1001110000001000011100010011 u -b1001110000001000011100010011 (" -b1001110000001000011100010011 9" -0( -0) -0+ -0, -b10 0 -0' -#2065 -1N -1!" -b1 { -b1001110000001000011100010011 \ -b1001 X -b100 ` -1_ -b1001110000001000011100010011 m -b100 q -b10 P -b1001110000001000011100010011 /" -b0 +" -b100 3" -12" -1-" -b1001110000001000011100010011 @" -b11001000 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#2066 -b11001010 / -b10 2 -#2070 -17" -b0 5" -0&" -0)" -b1001000 $" -b0 x -b1001000 Q -b1001000 s -b1001000 B -b11 A -0V -b10 O -1:" -b10 "" -b1001000001001000 8 -0= -b1001000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10101010110111 " -b11 . -1& -b10101011001000000001110001010110 % -b10101011001000000001110001010110 < -b10101011001000000001110001010110 D -b10101011001000000001110001010110 U -b10101011001000000001110001010110 f -b10101011001000000001110001010110 u -b10101011001000000001110001010110 (" -b10101011001000000001110001010110 9" -0( -0) -0+ -0, -b1 0 -0' -#2075 -0!" -b0 { -0N -b100 7 -b10 #" -b10101011001000000001110001010110 @" -b0 <" -b111 D" -1>" -b10101011001000000001110001010110 /" -b1001000 +" -b111 3" -02" -0-" -b10 P -b10101011001000000001110001010110 m -b111 q -b10101011001000000001110001010110 \ -b1001000 X -b111 ` -0_ -1' -#2076 -b11001011 / -b10 2 -#2080 -07" -0:" -b10100110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10100110 b -1S -1V -b0 Q -b10 O -b1 G -b110100110 s -b110100110 B -b11 A -b110100110110100110 8 -b110100110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110010000000011001 " -b11 . -1& -b11001100000100100011100010011000 % -b11001100000100100011100010011000 < -b11001100000100100011100010011000 D -b11001100000100100011100010011000 U -b11001100000100100011100010011000 f -b11001100000100100011100010011000 u -b11001100000100100011100010011000 (" -b11001100000100100011100010011000 9" -0( -0) -0+ -0, -b10 0 -0' -#2085 -b1 J -b1 { -b11001100000100100011100010011000 \ -b0 X -b100 ` -1_ -1Z -b11001100000100100011100010011000 m -b10100110 i -b100 q -0p -0k -b10 P -b11001100000100100011100010011000 /" -b0 +" -b100 3" -12" -1-" -b11001100000100100011100010011000 @" -b10100110 <" -b100 D" -0C" -0>" -b10 #" -b100 7 -1' -#2086 -b11001100 / -b10 2 -#2090 -17" -b0 5" -0&" -b1010011 $" -b0 x -b1001001 b -b1010011 s -b101001001 B -b11 A -1g -b10 O -1:" -b10 "" -b1010011101001001 8 -1= -b110111110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1010011101001001 " -b11 . -0& -b1001110000011011011100010011 % -b1001110000011011011100010011 < -b1001110000011011011100010011 D -b1001110000011011011100010011 U -b1001110000011011011100010011 f -b1001110000011011011100010011 u -b1001110000011011011100010011 (" -b1001110000011011011100010011 9" -0( -0) -0+ -0, -b1 0 -0' -#2095 -1!" -b0 { -1N -b10 4 -b10 #" -b1001110000011011011100010011 @" -b0 <" -b101 D" -1C" -1>" -b1001110000011011011100010011 /" -b1010011 +" -b101 3" -0-" -b10 P -b1001110000011011011100010011 m -b1001001 i -b101 q -1p -b1001110000011011011100010011 \ -b101 ` -1' -#2096 -b11001101 / -b10 2 -#2100 -07" -0:" -b11110001 5" -1&" -b0 $" -b1 x -b11110001 b -b111110001 s -b111110001 B -b11 A -0g -b10 O -1)" -b10 "" -b111110001111110001 8 -0= -b111110001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100010110101000 " -b11 . -1& -b100110010111001111100001001 % -b100110010111001111100001001 < -b100110010111001111100001001 D -b100110010111001111100001001 U -b100110010111001111100001001 f -b100110010111001111100001001 u -b100110010111001111100001001 (" -b100110010111001111100001001 9" -0( -0) -0+ -0, -b10 0 -0' -#2103 -b1100011100000000 n -#2105 -b1100011100000000 # -0N -0!" -b1 { -b11 . -b1100011100000000 ! -b1100011100000000 ? -b11 A -b1100011100000000 L -b100110010111001111100001001 \ -b1001 ` -b100110010111001111100001001 m -b11110001 i -b1001 q -0p -b1100011100000000 H -b10 P -b100110010111001111100001001 /" -b0 +" -b1001 3" -1-" -b100110010111001111100001001 @" -b11110001 <" -b1001 D" -0C" -0>" -b10 #" -b100 7 -1' -#2106 -b11001110 / -b10 2 -#2110 -17" -1:" -b0 5" -0&" -0)" -b11000011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11000011 Q -b10 O -b0 G -b11000011 s -b11000011 B -b11 A -b11000011011000011 8 -b11000011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101101000100011 " -b11 . -1& -b10000110111011111001000000001101 % -b10000110111011111001000000001101 < -b10000110111011111001000000001101 D -b10000110111011111001000000001101 U -b10000110111011111001000000001101 f -b10000110111011111001000000001101 u -b10000110111011111001000000001101 (" -b10000110111011111001000000001101 9" -0( -0) -0+ -0, -b1 0 -0' -#2115 -b0 { -b0 J -b100 7 -b10 #" -b10000110111011111001000000001101 @" -b0 <" -b1 D" -1C" -1>" -b10000110111011111001000000001101 /" -b11000011 +" -b1 3" -02" -0-" -b10 P -b10000110111011111001000000001101 m -b0 i -b1 q -1p -1k -b10000110111011111001000000001101 \ -b11000011 X -b1 ` -0_ -0Z -1' -#2116 -b11001111 / -b10 2 -#2120 -b11101 $" -b10 "" -b11101 Q -b10 O -b11101 s -b11101 B -b11 A -b11101000011101 8 -b11101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10011111001101 " -b11 . -1& -b10111110000010111011110001111100 % -b10111110000010111011110001111100 < -b10111110000010111011110001111100 D -b10111110000010111011110001111100 U -b10111110000010111011110001111100 f -b10111110000010111011110001111100 u -b10111110000010111011110001111100 (" -b10111110000010111011110001111100 9" -0( -0) -0+ -0, -b10 0 -0' -#2125 -b10111110000010111011110001111100 \ -b11101 X -b10 ` -b10111110000010111011110001111100 m -b10 q -b10 P -b10111110000010111011110001111100 /" -b11101 +" -b10 3" -b10111110000010111011110001111100 @" -b10 D" -b10 #" -b100 7 -1' -#2126 -b11010000 / -b10 2 -#2130 -b1001001 $" -b1110001 Q -b1001001 s -b1110001 B -b11 A -1V -b10 O -1)" -b10 "" -b1001001001110001 8 -1= -b1000111 $ -b1001001001110001 " -b11 . -0& -b1110001010001100001001111100010 % -b1110001010001100001001111100010 < -b1110001010001100001001111100010 D -b1110001010001100001001111100010 U -b1110001010001100001001111100010 f -b1110001010001100001001111100010 u -b1110001010001100001001111100010 (" -b1110001010001100001001111100010 9" -0( -0) -0+ -0, -b1 0 -0' -#2135 -1!" -1N -b10 4 -b10 #" -b1110001010001100001001111100010 @" -b1110001010001100001001111100010 /" -b1001001 +" -12" -b10 P -b1110001010001100001001111100010 m -b1110001010001100001001111100010 \ -b1110001 X -1_ -1' -#2136 -b11010001 / -b10 2 -#2140 -b11100111 $" -b10 "" -b1000011 Q -b10 O -b11100111 s -b1000011 B -b11 A -b11100111001000011 8 -b111111110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11100111001000011 " -b11 . -b110001010010010010001101100010 % -b110001010010010010001101100010 < -b110001010010010010001101100010 D -b110001010010010010001101100010 U -b110001010010010010001101100010 f -b110001010010010010001101100010 u -b110001010010010010001101100010 (" -b110001010010010010001101100010 9" -0( -0) -0+ -0, -b10 0 -0' -#2145 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b110001010010010010001101100010 \ -b1000011 X -b1110 ` -b110001010010010010001101100010 m -b1110 q -b0 H -b10 P -b110001010010010010001101100010 /" -b11100111 +" -b1110 3" -b110001010010010010001101100010 @" -b1110 D" -b10 #" -b10 4 -1' -#2146 -b11010010 / -b10 2 -#2150 -b11001 $" -b10 "" -0d -b10000010 b -1S -b0 Q -b10 O -b1 G -b11001 s -b110000010 B -b11 A -b11001110000010 8 -b101010101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b11001110000010 " -b11 . -b11010111010010101101110010101110 % -b11010111010010101101110010101110 < -b11010111010010101101110010101110 D -b11010111010010101101110010101110 U -b11010111010010101101110010101110 f -b11010111010010101101110010101110 u -b11010111010010101101110010101110 (" -b11010111010010101101110010101110 9" -0( -0) -0+ -0, -b1 0 -0' -#2155 -b1 J -b10 4 -b10 #" -b11010111010010101101110010101110 @" -b1011 D" -b11010111010010101101110010101110 /" -b11001 +" -b1011 3" -b10 P -b11010111010010101101110010101110 m -b10000010 i -b1011 q -0k -b11010111010010101101110010101110 \ -b0 X -b1011 ` -1Z -1' -#2156 -b11010011 / -b10 2 -#2160 -07" -0:" -b100111 5" -1&" -b0 $" -b1 x -b100111 b -b100100111 s -b100100111 B -b11 A -0g -b10 O -1)" -b10 "" -b100100111100100111 8 -0= -b100100111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111111111111010001 " -b11 . -1& -b1110001001110100000111111100010 % -b1110001001110100000111111100010 < -b1110001001110100000111111100010 D -b1110001001110100000111111100010 U -b1110001001110100000111111100010 f -b1110001001110100000111111100010 u -b1110001001110100000111111100010 (" -b1110001001110100000111111100010 9" -0( -0) -0+ -0, -b10 0 -0' -#2163 -b0 n -#2165 -0N -0!" -b1 { -b1110001001110100000111111100010 \ -b10 ` -b1110001001110100000111111100010 m -b100111 i -b10 q -0p -b10 P -b1110001001110100000111111100010 /" -b0 +" -b10 3" -1-" -b1110001001110100000111111100010 @" -b100111 <" -b10 D" -0C" -0>" -b10 #" -b100 7 -1' -#2166 -b11010100 / -b10 2 -#2170 -b1001100 5" -b11010111 b -b101001100 s -b111010111 B -b11 A -1g -b10 O -1:" -b10 "" -b101001100111010111 8 -1= -b110000101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101001100111010111 " -b11 . -0& -b11100100101010010110111011001001 % -b11100100101010010110111011001001 < -b11100100101010010110111011001001 D -b11100100101010010110111011001001 U -b11100100101010010110111011001001 f -b11100100101010010110111011001001 u -b11100100101010010110111011001001 (" -b11100100101010010110111011001001 9" -0( -0) -0+ -0, -b1 0 -0' -#2175 -1!" -1N -b10 4 -b10 #" -b11100100101010010110111011001001 @" -b1001100 <" -b1001 D" -1C" -b11100100101010010110111011001001 /" -b1001 3" -b10 P -b11100100101010010110111011001001 m -b11010111 i -b1001 q -1p -b11100100101010010110111011001001 \ -b1001 ` -1' -#2176 -b11010101 / -b10 2 -#2180 -b1011110 5" -b10 "" -1d -b0 b -0S -b11111000 Q -b10 O -b0 G -b101011110 s -b11111000 B -b11 A -b101011110011111000 8 -b10100011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101011110011111000 " -b11 . -b10001011000001111000100000010110 % -b10001011000001111000100000010110 < -b10001011000001111000100000010110 D -b10001011000001111000100000010110 U -b10001011000001111000100000010110 f -b10001011000001111000100000010110 u -b10001011000001111000100000010110 (" -b10001011000001111000100000010110 9" -0( -0) -0+ -0, -b10 0 -0' -#2185 -b0 J -b10001011000001111000100000010110 \ -b11111000 X -b1010 ` -0Z -b10001011000001111000100000010110 m -b0 i -b1010 q -1k -b10 P -b10001011000001111000100000010110 /" -b1010 3" -b10001011000001111000100000010110 @" -b1011110 <" -b1010 D" -b10 #" -b10 4 -1' -#2186 -b11010110 / -b10 2 -#2190 -b1010100 5" -b10 "" -0d -b10101000 b -1S -b0 Q -b10 O -b1 G -b101010100 s -b110101000 B -b11 A -b101010100110101000 8 -b10111010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101010100110101000 " -b11 . -b11001001110001101100010010010011 % -b11001001110001101100010010010011 < -b11001001110001101100010010010011 D -b11001001110001101100010010010011 U -b11001001110001101100010010010011 f -b11001001110001101100010010010011 u -b11001001110001101100010010010011 (" -b11001001110001101100010010010011 9" -0( -0) -0+ -0, -b1 0 -0' -#2195 -b1 J -b10 4 -b10 #" -b11001001110001101100010010010011 @" -b1010100 <" -b1 D" -b11001001110001101100010010010011 /" -b1 3" -b10 P -b11001001110001101100010010010011 m -b10101000 i -b1 q -0k -b11001001110001101100010010010011 \ -b0 X -b1 ` -1Z -1' -#2196 -b11010111 / -b10 2 -#2200 -17" -b0 5" -0&" -b1011001 $" -b10 "" -b0 x -1d -b0 b -0S -b10000010 Q -b10 O -b0 G -b1011001 s -b10000010 B -b11 A -b1011001010000010 8 -b101000011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1011001010000010 " -b11 . -b1110100100100111000010111101001 % -b1110100100100111000010111101001 < -b1110100100100111000010111101001 D -b1110100100100111000010111101001 U -b1110100100100111000010111101001 f -b1110100100100111000010111101001 u -b1110100100100111000010111101001 (" -b1110100100100111000010111101001 9" -0( -0) -0+ -0, -b10 0 -0' -#2203 -b1000110110000101 n -#2205 -b1000110110000101 # -b0 J -b0 { -b11 . -b1000110110000101 ! -b1000110110000101 ? -b11 A -b1000110110000101 L -b1110100100100111000010111101001 \ -b10000010 X -b1100 ` -0Z -b1110100100100111000010111101001 m -b0 i -b1100 q -1k -b1000110110000101 H -b10 P -b1110100100100111000010111101001 /" -b1011001 +" -b1100 3" -0-" -b1110100100100111000010111101001 @" -b0 <" -b1100 D" -1>" -b10 #" -b10 4 -1' -#2206 -b11011000 / -b10 2 -#2210 -b10100010 $" -b10 "" -0d -b110001 b -1S -b0 Q -b10 O -b1 G -b10100010 s -b100110001 B -b11 A -b10100010100110001 8 -b11010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10100010100110001 " -b11 . -b11011111100100111111001010111111 % -b11011111100100111111001010111111 < -b11011111100100111111001010111111 D -b11011111100100111111001010111111 U -b11011111100100111111001010111111 f -b11011111100100111111001010111111 u -b11011111100100111111001010111111 (" -b11011111100100111111001010111111 9" -0( -0) -0+ -0, -b1 0 -0' -#2213 -b11000000110101010100110010000001 ] -#2215 -b11000000110101010100110010000001 # -b1 J -b11 . -b11000000110101010100110010000001 ! -b11000000110101010100110010000001 ? -b11 A -b11000000110101010100110010000001 L -b10 4 -b10 #" -b11011111100100111111001010111111 @" -b111 D" -b11011111100100111111001010111111 /" -b10100010 +" -b111 3" -b11000000110101010100110010000001 H -b10 P -b11011111100100111111001010111111 m -b110001 i -b111 q -0k -b11011111100100111111001010111111 \ -b0 X -b111 ` -1Z -1' -#2216 -b11011001 / -b10 2 -#2220 -07" -0:" -b111100 5" -1&" -b0 $" -b1 x -b111100 b -b100111100 s -b100111100 B -b11 A -0g -b10 O -1)" -b10 "" -b100111100100111100 8 -0= -b100111100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101111011001100111 " -b11 . -1& -b1111010010110100000001111110100 % -b1111010010110100000001111110100 < -b1111010010110100000001111110100 D -b1111010010110100000001111110100 U -b1111010010110100000001111110100 f -b1111010010110100000001111110100 u -b1111010010110100000001111110100 (" -b1111010010110100000001111110100 9" -0( -0) -0+ -0, -b10 0 -0' -#2223 -b0 n -#2225 -b0 # -0N -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1111010010110100000001111110100 \ -b1101 ` -b1111010010110100000001111110100 m -b111100 i -b1101 q -0p -b0 H -b10 P -b1111010010110100000001111110100 /" -b0 +" -b1101 3" -1-" -b1111010010110100000001111110100 @" -b111100 <" -b1101 D" -0C" -0>" -b10 #" -b100 7 -1' -#2226 -b11011010 / -b10 2 -#2230 -17" -1:" -b0 5" -0&" -0)" -b11001111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11001111 Q -b10 O -b0 G -b11001111 s -b11001111 B -b11 A -b11001111011001111 8 -b11001111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11000011000100001 " -b11 . -1& -b1000001010001111100110110000010 % -b1000001010001111100110110000010 < -b1000001010001111100110110000010 D -b1000001010001111100110110000010 U -b1000001010001111100110110000010 f -b1000001010001111100110110000010 u -b1000001010001111100110110000010 (" -b1000001010001111100110110000010 9" -0( -0) -0+ -0, -b1 0 -0' -#2235 -b0 { -b0 J -b100 7 -b10 #" -b1000001010001111100110110000010 @" -b0 <" -b10 D" -1C" -1>" -b1000001010001111100110110000010 /" -b11001111 +" -b10 3" -02" -0-" -b10 P -b1000001010001111100110110000010 m -b0 i -b10 q -1p -1k -b1000001010001111100110110000010 \ -b11001111 X -b10 ` -0_ -0Z -1' -#2236 -b11011011 / -b10 2 -#2240 -b11010 $" -0d -b11111000 b -1S -b0 Q -b1 G -b11010 s -b111111000 B -b11 A -1V -b10 O -1)" -b10 "" -b11010111111000 8 -1= -b10001000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11010111111000 " -b11 . -0& -b11110001101010011000100111100 % -b11110001101010011000100111100 < -b11110001101010011000100111100 D -b11110001101010011000100111100 U -b11110001101010011000100111100 f -b11110001101010011000100111100 u -b11110001101010011000100111100 (" -b11110001101010011000100111100 9" -0( -0) -0+ -0, -b10 0 -0' -#2245 -1N -b1 J -1!" -b11110001101010011000100111100 \ -b0 X -b110 ` -1_ -1Z -b11110001101010011000100111100 m -b11111000 i -b110 q -0k -b10 P -b11110001101010011000100111100 /" -b11010 +" -b110 3" -12" -b11110001101010011000100111100 @" -b110 D" -b10 #" -b10 4 -1' -#2246 -b11011100 / -b10 2 -#2250 -b101000 $" -1d -b0 b -0S -0V -b101000 Q -b0 G -b101000 s -b101000 B -b11 A -1g -b10 O -0)" -b10 "" -b101000000101000 8 -0= -b101000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100101011001001111 " -b11 . -1& -b1000111011001110111111110001110 % -b1000111011001110111111110001110 < -b1000111011001110111111110001110 D -b1000111011001110111111110001110 U -b1000111011001110111111110001110 f -b1000111011001110111111110001110 u -b1000111011001110111111110001110 (" -b1000111011001110111111110001110 9" -0( -0) -0+ -0, -b1 0 -0' -#2255 -0!" -0N -b0 J -b100 7 -b10 #" -b1000111011001110111111110001110 @" -b1100 D" -b1000111011001110111111110001110 /" -b101000 +" -b1100 3" -02" -b10 P -b1000111011001110111111110001110 m -b0 i -b1100 q -1k -b1000111011001110111111110001110 \ -b101000 X -b1100 ` -0_ -0Z -1' -#2256 -b11011101 / -b10 2 -#2260 -07" -b11100010 5" -1&" -b0 $" -b1 x -0d -b1100011 b -1S -b0 Q -b1 G -b111100010 s -b101100011 B -b11 A -1V -b10 O -1)" -b10 "" -b111100010101100011 8 -1= -b1000000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111100010101100011 " -b11 . -0& -b101001000011001000011101010010 % -b101001000011001000011101010010 < -b101001000011001000011101010010 D -b101001000011001000011101010010 U -b101001000011001000011101010010 f -b101001000011001000011101010010 u -b101001000011001000011101010010 (" -b101001000011001000011101010010 9" -0( -0) -0+ -0, -b10 0 -0' -#2265 -1N -b1 J -1!" -b1 { -b101001000011001000011101010010 \ -b0 X -b110 ` -1_ -1Z -b101001000011001000011101010010 m -b1100011 i -b110 q -0k -b10 P -b101001000011001000011101010010 /" -b0 +" -b110 3" -12" -1-" -b101001000011001000011101010010 @" -b11100010 <" -b110 D" -0>" -b10 #" -b10 4 -1' -#2266 -b11011110 / -b10 2 -#2270 -17" -b0 5" -0&" -b1100101 $" -b10 "" -b0 x -b11001100 b -b10 O -b1100101 s -b111001100 B -b11 A -b1100101111001100 8 -b10111100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1100101111001100 " -b11 . -b10011011010001100011011000110110 % -b10011011010001100011011000110110 < -b10011011010001100011011000110110 D -b10011011010001100011011000110110 U -b10011011010001100011011000110110 f -b10011011010001100011011000110110 u -b10011011010001100011011000110110 (" -b10011011010001100011011000110110 9" -0( -0) -0+ -0, -b1 0 -0' -#2275 -b0 { -b10 4 -b10 #" -b10011011010001100011011000110110 @" -b0 <" -b10 D" -1>" -b10011011010001100011011000110110 /" -b1100101 +" -b10 3" -0-" -b10 P -b10011011010001100011011000110110 m -b11001100 i -b10 q -b10011011010001100011011000110110 \ -b10 ` -1' -#2276 -b11011111 / -b10 2 -#2280 -b111110 $" -b10 "" -b1100101 b -b10 O -b111110 s -b101100101 B -b11 A -b111110101100101 8 -b10000101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111110101100101 " -b11 . -b1000100001101101110011110001000 % -b1000100001101101110011110001000 < -b1000100001101101110011110001000 D -b1000100001101101110011110001000 U -b1000100001101101110011110001000 f -b1000100001101101110011110001000 u -b1000100001101101110011110001000 (" -b1000100001101101110011110001000 9" -0( -0) -0+ -0, -b10 0 -0' -#2285 -b1000100001101101110011110001000 \ -b1011 ` -b1000100001101101110011110001000 m -b1100101 i -b1011 q -b10 P -b1000100001101101110011110001000 /" -b111110 +" -b1011 3" -b1000100001101101110011110001000 @" -b1011 D" -b10 #" -b10 4 -1' -#2286 -b11100000 / -b10 2 -#2290 -b11111001 $" -b10 "" -b11101 b -b10 O -b11111001 s -b100011101 B -b11 A -b11111001100011101 8 -b111111011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11111001100011101 " -b11 . -b11101111111000111011101011011111 % -b11101111111000111011101011011111 < -b11101111111000111011101011011111 D -b11101111111000111011101011011111 U -b11101111111000111011101011011111 f -b11101111111000111011101011011111 u -b11101111111000111011101011011111 (" -b11101111111000111011101011011111 9" -0( -0) -0+ -0, -b1 0 -0' -#2293 -b11101000000000000000000011010001 n -#2295 -b11101000000000000000000011010001 # -b11 . -b11101000000000000000000011010001 ! -b11101000000000000000000011010001 ? -b11 A -b11101000000000000000000011010001 L -b10 4 -b10 #" -b11101111111000111011101011011111 @" -b1010 D" -b11101111111000111011101011011111 /" -b11111001 +" -b1010 3" -b11101000000000000000000011010001 H -b10 P -b11101111111000111011101011011111 m -b11101 i -b1010 q -b11101111111000111011101011011111 \ -b1010 ` -1' -#2296 -b11100001 / -b10 2 -#2300 -b11101111 $" -1d -b0 b -0S -0V -b11101111 Q -b0 G -b11101111 s -b11101111 B -b11 A -1g -b10 O -0)" -b10 "" -b11101111011101111 8 -0= -b11101111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b110010000011111110 " -b11 . -1& -b1110100000101111100010111101000 % -b1110100000101111100010111101000 < -b1110100000101111100010111101000 D -b1110100000101111100010111101000 U -b1110100000101111100010111101000 f -b1110100000101111100010111101000 u -b1110100000101111100010111101000 (" -b1110100000101111100010111101000 9" -0( -0) -0+ -0, -b10 0 -0' -#2303 -b0 n -#2305 -b0 # -0N -b0 J -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1110100000101111100010111101000 \ -b11101111 X -b0 ` -0_ -0Z -b1110100000101111100010111101000 m -b0 i -b0 q -1k -b0 H -b10 P -b1110100000101111100010111101000 /" -b11101111 +" -b0 3" -02" -b1110100000101111100010111101000 @" -b0 D" -b10 #" -b100 7 -1' -#2306 -b11100010 / -b10 2 -#2310 -07" -b10011 5" -1&" -b0 $" -b1 x -b11000000 Q -b100010011 s -b11000000 B -b11 A -1V -b10 O -1)" -b10 "" -b100010011011000000 8 -1= -b1010000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b100010011011000000 " -b11 . -0& -b111100110100100000101101111001 % -b111100110100100000101101111001 < -b111100110100100000101101111001 D -b111100110100100000101101111001 U -b111100110100100000101101111001 f -b111100110100100000101101111001 u -b111100110100100000101101111001 (" -b111100110100100000101101111001 9" -0( -0) -0+ -0, -b1 0 -0' -#2315 -1!" -b1 { -1N -b10 4 -b10 #" -b111100110100100000101101111001 @" -b10011 <" -b111 D" -0>" -b111100110100100000101101111001 /" -b0 +" -b111 3" -12" -1-" -b10 P -b111100110100100000101101111001 m -b111 q -b111100110100100000101101111001 \ -b11000000 X -b111 ` -1_ -1' -#2316 -b11100011 / -b10 2 -#2320 -b11101 5" -0d -0g -b11101 b -1S -b0 Q -b1 G -b100011101 s -b100011101 B -b11 A -1V -b10 O -0:" -b10 "" -b100011101100011101 8 -0= -b100011101 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110001010101010010 " -b11 . -1& -b1110100001111110011110111101000 % -b1110100001111110011110111101000 < -b1110100001111110011110111101000 D -b1110100001111110011110111101000 U -b1110100001111110011110111101000 f -b1110100001111110011110111101000 u -b1110100001111110011110111101000 (" -b1110100001111110011110111101000 9" -0( -0) -0+ -0, -b10 0 -0' -#2323 -b0 ] -#2325 -0N -b1 J -0!" -b1110100001111110011110111101000 \ -b0 X -b1 ` -1Z -b1110100001111110011110111101000 m -b11101 i -b1 q -0p -0k -b10 P -b1110100001111110011110111101000 /" -b1 3" -b1110100001111110011110111101000 @" -b11101 <" -b1 D" -0C" -b10 #" -b100 7 -1' -#2326 -b11100100 / -b10 2 -#2330 -17" -1:" -b0 5" -0&" -0)" -b1000010 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1000010 Q -b10 O -b0 G -b1000010 s -b1000010 B -b11 A -b1000010001000010 8 -b1000010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100010100100000 " -b11 . -1& -b10010001100010100000011000100011 % -b10010001100010100000011000100011 < -b10010001100010100000011000100011 D -b10010001100010100000011000100011 U -b10010001100010100000011000100011 f -b10010001100010100000011000100011 u -b10010001100010100000011000100011 (" -b10010001100010100000011000100011 9" -0( -0) -0+ -0, -b1 0 -0' -#2335 -b0 { -b0 J -b100 7 -b10 #" -b10010001100010100000011000100011 @" -b0 <" -b1100 D" -1C" -1>" -b10010001100010100000011000100011 /" -b1000010 +" -b1100 3" -02" -0-" -b10 P -b10010001100010100000011000100011 m -b0 i -b1100 q -1p -1k -b10010001100010100000011000100011 \ -b1000010 X -b1100 ` -0_ -0Z -1' -#2336 -b11100101 / -b10 2 -#2340 -b1101001 $" -b10 "" -b1101001 Q -b10 O -b1101001 s -b1101001 B -b11 A -b1101001001101001 8 -b1101001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111000101001101011 " -b11 . -1& -b11101110000101010011011011011100 % -b11101110000101010011011011011100 < -b11101110000101010011011011011100 D -b11101110000101010011011011011100 U -b11101110000101010011011011011100 f -b11101110000101010011011011011100 u -b11101110000101010011011011011100 (" -b11101110000101010011011011011100 9" -0( -0) -0+ -0, -b10 0 -0' -#2345 -b11101110000101010011011011011100 \ -b1101001 X -b1001 ` -b11101110000101010011011011011100 m -b1001 q -b10 P -b11101110000101010011011011011100 /" -b1101001 +" -b1001 3" -b11101110000101010011011011011100 @" -b1001 D" -b10 #" -b100 7 -1' -#2346 -b11100110 / -b10 2 -#2350 -07" -0:" -b10110111 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10110111 b -1S -1V -b0 Q -b10 O -b1 G -b110110111 s -b110110111 B -b11 A -b110110111110110111 8 -b110110111 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b10000111010100010 " -b11 . -1& -b10101011010101110000100001010110 % -b10101011010101110000100001010110 < -b10101011010101110000100001010110 D -b10101011010101110000100001010110 U -b10101011010101110000100001010110 f -b10101011010101110000100001010110 u -b10101011010101110000100001010110 (" -b10101011010101110000100001010110 9" -0( -0) -0+ -0, -b1 0 -0' -#2355 -b1 { -b1 J -b100 7 -b10 #" -b10101011010101110000100001010110 @" -b10110111 <" -b1100 D" -0C" -0>" -b10101011010101110000100001010110 /" -b0 +" -b1100 3" -12" -1-" -b10 P -b10101011010101110000100001010110 m -b10110111 i -b1100 q -0p -0k -b10101011010101110000100001010110 \ -b0 X -b1100 ` -1_ -1Z -1' -#2356 -b11100111 / -b10 2 -#2360 -b100101 5" -b10 "" -b100101 b -b10 O -b100100101 s -b100100101 B -b11 A -b100100101100100101 8 -b100100101 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10000011011110010 " -b11 . -1& -b11111101110101111000010011111011 % -b11111101110101111000010011111011 < -b11111101110101111000010011111011 D -b11111101110101111000010011111011 U -b11111101110101111000010011111011 f -b11111101110101111000010011111011 u -b11111101110101111000010011111011 (" -b11111101110101111000010011111011 9" -0( -0) -0+ -0, -b10 0 -0' -#2365 -b11111101110101111000010011111011 \ -b0 ` -b11111101110101111000010011111011 m -b100101 i -b0 q -b10 P -b11111101110101111000010011111011 /" -b0 3" -b11111101110101111000010011111011 @" -b100101 <" -b0 D" -b10 #" -b100 7 -1' -#2366 -b11101000 / -b10 2 -#2370 -b11001110 5" -1d -b0 b -0S -b10100 Q -b0 G -b111001110 s -b10100 B -b11 A -1g -b10 O -1:" -b10 "" -b111001110000010100 8 -1= -b11010010 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111001110000010100 " -b11 . -0& -b1010101110000011000100110101011 % -b1010101110000011000100110101011 < -b1010101110000011000100110101011 D -b1010101110000011000100110101011 U -b1010101110000011000100110101011 f -b1010101110000011000100110101011 u -b1010101110000011000100110101011 (" -b1010101110000011000100110101011 9" -0( -0) -0+ -0, -b1 0 -0' -#2375 -1!" -1N -b0 J -b10 4 -b10 #" -b1010101110000011000100110101011 @" -b11001110 <" -b1011 D" -1C" -b1010101110000011000100110101011 /" -b1011 3" -b10 P -b1010101110000011000100110101011 m -b0 i -b1011 q -1p -1k -b1010101110000011000100110101011 \ -b10100 X -b1011 ` -0Z -1' -#2376 -b11101001 / -b10 2 -#2380 -b11001000 5" -0d -0g -b11001000 b -1S -b0 Q -b1 G -b111001000 s -b111001000 B -b11 A -1V -b10 O -0:" -b10 "" -b111001000111001000 8 -0= -b111001000 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1011011010000011 " -b11 . -1& -b100110011100110000101101001100 % -b100110011100110000101101001100 < -b100110011100110000101101001100 D -b100110011100110000101101001100 U -b100110011100110000101101001100 f -b100110011100110000101101001100 u -b100110011100110000101101001100 (" -b100110011100110000101101001100 9" -0( -0) -0+ -0, -b10 0 -0' -#2385 -0N -b1 J -0!" -b100110011100110000101101001100 \ -b0 X -b11 ` -1Z -b100110011100110000101101001100 m -b11001000 i -b11 q -0p -0k -b10 P -b100110011100110000101101001100 /" -b11 3" -b100110011100110000101101001100 @" -b11001000 <" -b11 D" -0C" -b10 #" -b100 7 -1' -#2386 -b11101010 / -b10 2 -#2390 -b1110000 5" -b11010100 b -b101110000 s -b111010100 B -b11 A -1g -b10 O -1:" -b10 "" -b101110000111010100 8 -1= -b111001 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101110000111010100 " -b11 . -0& -b10110101001000001011100001101010 % -b10110101001000001011100001101010 < -b10110101001000001011100001101010 D -b10110101001000001011100001101010 U -b10110101001000001011100001101010 f -b10110101001000001011100001101010 u -b10110101001000001011100001101010 (" -b10110101001000001011100001101010 9" -0( -0) -0+ -0, -b1 0 -0' -#2395 -1!" -1N -b10 4 -b10 #" -b10110101001000001011100001101010 @" -b1110000 <" -b100 D" -1C" -b10110101001000001011100001101010 /" -b100 3" -b10 P -b10110101001000001011100001101010 m -b11010100 i -b100 q -1p -b10110101001000001011100001101010 \ -b100 ` -1' -#2396 -b11101011 / -b10 2 -#2400 -b1110010 5" -b10 "" -1d -b0 b -0S -b100001 Q -b10 O -b0 G -b101110010 s -b100001 B -b11 A -b101110010000100001 8 -b100010000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101110010000100001 " -b11 . -b11100011011111111101010011000110 % -b11100011011111111101010011000110 < -b11100011011111111101010011000110 D -b11100011011111111101010011000110 U -b11100011011111111101010011000110 f -b11100011011111111101010011000110 u -b11100011011111111101010011000110 (" -b11100011011111111101010011000110 9" -0( -0) -0+ -0, -b10 0 -0' -#2403 -b110100100000000 A" -#2405 -b11010010000000000000000000000000000000000000000 # -b0 J -b11 . -b11010010000000000000000000000000000000000000000 ! -b11010010000000000000000000000000000000000000000 ? -b11 A -b110100100000000 } -b11100011011111111101010011000110 \ -b100001 X -b1100 ` -0Z -b11100011011111111101010011000110 m -b0 i -b1100 q -1k -b10 P -b11100011011111111101010011000110 /" -b1100 3" -b11100011011111111101010011000110 @" -b1110010 <" -b1100 D" -b110100100000000 y -b10 #" -b10 4 -1' -#2406 -b11101100 / -b10 2 -#2410 -17" -b0 5" -0&" -b1101 $" -b10 "" -b0 x -0d -b10110 b -1S -b0 Q -b10 O -b1 G -b1101 s -b100010110 B -b11 A -b1101100010110 8 -b1001000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1101100010110 " -b11 . -b11011100101110110010010010111001 % -b11011100101110110010010010111001 < -b11011100101110110010010010111001 D -b11011100101110110010010010111001 U -b11011100101110110010010010111001 f -b11011100101110110010010010111001 u -b11011100101110110010010010111001 (" -b11011100101110110010010010111001 9" -0( -0) -0+ -0, -b1 0 -0' -#2413 -b0 A" -#2415 -b0 # -b0 { -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b11011100101110110010010010111001 @" -b0 <" -b100 D" -1>" -b11011100101110110010010010111001 /" -b1101 +" -b100 3" -0-" -b10 P -b11011100101110110010010010111001 m -b10110 i -b100 q -0k -b11011100101110110010010010111001 \ -b0 X -b100 ` -1Z -1' -#2416 -b11101101 / -b10 2 -#2420 -b101100 $" -1d -b0 b -0S -0V -b101100 Q -b0 G -b101100 s -b101100 B -b11 A -1g -b10 O -0)" -b10 "" -b101100000101100 8 -0= -b101100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110100001101111 " -b11 . -1& -b101001011010000011100101010010 % -b101001011010000011100101010010 < -b101001011010000011100101010010 D -b101001011010000011100101010010 U -b101001011010000011100101010010 f -b101001011010000011100101010010 u -b101001011010000011100101010010 (" -b101001011010000011100101010010 9" -0( -0) -0+ -0, -b10 0 -0' -#2423 -b1100000100000000 0" -#2425 -b110000010000000000000000000000000000000000000000 # -0N -b0 J -0!" -b11 . -b110000010000000000000000000000000000000000000000 ! -b110000010000000000000000000000000000000000000000 ? -b11 A -b1100000100000000 } -b101001011010000011100101010010 \ -b101100 X -b1000 ` -0_ -0Z -b101001011010000011100101010010 m -b0 i -b1000 q -1k -b10 P -b101001011010000011100101010010 /" -b101100 +" -b1000 3" -02" -b101001011010000011100101010010 @" -b1000 D" -b1100000100000000 y -b10 #" -b100 7 -1' -#2426 -b11101110 / -b10 2 -#2430 -b101010 $" -b10 "" -b101010 Q -b10 O -b101010 s -b101010 B -b11 A -b101010000101010 8 -b101010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11101110110011010 " -b11 . -1& -b11101101100111100101101011011011 % -b11101101100111100101101011011011 < -b11101101100111100101101011011011 D -b11101101100111100101101011011011 U -b11101101100111100101101011011011 f -b11101101100111100101101011011011 u -b11101101100111100101101011011011 (" -b11101101100111100101101011011011 9" -0( -0) -0+ -0, -b1 0 -0' -#2435 -b100 7 -b10 #" -b11101101100111100101101011011011 @" -b101 D" -b11101101100111100101101011011011 /" -b101010 +" -b101 3" -b10 P -b11101101100111100101101011011011 m -b101 q -b11101101100111100101101011011011 \ -b101010 X -b101 ` -1' -#2436 -b11101111 / -b10 2 -#2440 -07" -b11100111 5" -1&" -b0 $" -b1 x -0d -b1000111 b -1S -b0 Q -b1 G -b111100111 s -b101000111 B -b11 A -1V -b10 O -1)" -b10 "" -b111100111101000111 8 -1= -b101101000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111100111101000111 " -b11 . -0& -b10000110100000101111111000001101 % -b10000110100000101111111000001101 < -b10000110100000101111111000001101 D -b10000110100000101111111000001101 U -b10000110100000101111111000001101 f -b10000110100000101111111000001101 u -b10000110100000101111111000001101 (" -b10000110100000101111111000001101 9" -0( -0) -0+ -0, -b10 0 -0' -#2445 -1N -b1 J -1!" -b1 { -b10000110100000101111111000001101 \ -b0 X -b100 ` -1_ -1Z -b10000110100000101111111000001101 m -b1000111 i -b100 q -0k -b10 P -b10000110100000101111111000001101 /" -b0 +" -b100 3" -12" -1-" -b10000110100000101111111000001101 @" -b11100111 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#2446 -b11110000 / -b10 2 -#2450 -17" -b0 5" -0&" -b1111111 $" -b10 "" -b0 x -b1010 b -b10 O -b1111111 s -b100001010 B -b11 A -b1111111100001010 8 -b10001011 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1111111100001010 " -b11 . -b1100001000101010111111111000010 % -b1100001000101010111111111000010 < -b1100001000101010111111111000010 D -b1100001000101010111111111000010 U -b1100001000101010111111111000010 f -b1100001000101010111111111000010 u -b1100001000101010111111111000010 (" -b1100001000101010111111111000010 9" -0( -0) -0+ -0, -b1 0 -0' -#2455 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b1100001000101010111111111000010 @" -b0 <" -b11 D" -1>" -b1100001000101010111111111000010 /" -b1111111 +" -b11 3" -0-" -b10 P -b1100001000101010111111111000010 m -b1010 i -b11 q -b1100001000101010111111111000010 \ -b11 ` -1' -#2456 -b11110001 / -b10 2 -#2460 -07" -0:" -b1011101 5" -1&" -b0 $" -b1 x -b1011101 b -b101011101 s -b101011101 B -b11 A -0g -b10 O -1)" -b10 "" -b101011101101011101 8 -0= -b101011101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11100110001001011 " -b11 . -1& -b11101100101010000111010011011001 % -b11101100101010000111010011011001 < -b11101100101010000111010011011001 D -b11101100101010000111010011011001 U -b11101100101010000111010011011001 f -b11101100101010000111010011011001 u -b11101100101010000111010011011001 (" -b11101100101010000111010011011001 9" -0( -0) -0+ -0, -b10 0 -0' -#2463 -b0 0" -#2465 -0N -0!" -b1 { -b11101100101010000111010011011001 \ -b100 ` -b11101100101010000111010011011001 m -b1011101 i -b100 q -0p -b10 P -b11101100101010000111010011011001 /" -b0 +" -b100 3" -1-" -b11101100101010000111010011011001 @" -b1011101 <" -b100 D" -0C" -0>" -b10 #" -b100 7 -1' -#2466 -b11110010 / -b10 2 -#2470 -b10100110 5" -b10 "" -b10100110 b -b10 O -b110100110 s -b110100110 B -b11 A -b110100110110100110 8 -b110100110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100111010111000 " -b11 . -1& -b10000001011001101111010000000010 % -b10000001011001101111010000000010 < -b10000001011001101111010000000010 D -b10000001011001101111010000000010 U -b10000001011001101111010000000010 f -b10000001011001101111010000000010 u -b10000001011001101111010000000010 (" -b10000001011001101111010000000010 9" -0( -0) -0+ -0, -b1 0 -0' -#2475 -b100 7 -b10 #" -b10000001011001101111010000000010 @" -b10100110 <" -b1000 D" -b10000001011001101111010000000010 /" -b1000 3" -b10 P -b10000001011001101111010000000010 m -b10100110 i -b1000 q -b10000001011001101111010000000010 \ -b1000 ` -1' -#2476 -b11110011 / -b10 2 -#2480 -17" -1:" -b0 5" -0&" -0)" -b1101111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1101111 Q -b10 O -b0 G -b1101111 s -b1101111 B -b11 A -b1101111001101111 8 -b1101111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10010101110111110 " -b11 . -1& -b10100001100010101001011001000011 % -b10100001100010101001011001000011 < -b10100001100010101001011001000011 D -b10100001100010101001011001000011 U -b10100001100010101001011001000011 f -b10100001100010101001011001000011 u -b10100001100010101001011001000011 (" -b10100001100010101001011001000011 9" -0( -0) -0+ -0, -b10 0 -0' -#2485 -b0 J -b0 { -b10100001100010101001011001000011 \ -b1101111 X -b111 ` -0_ -0Z -b10100001100010101001011001000011 m -b0 i -b111 q -1p -1k -b10 P -b10100001100010101001011001000011 /" -b1101111 +" -b111 3" -02" -0-" -b10100001100010101001011001000011 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b100 7 -1' -#2486 -b11110100 / -b10 2 -#2490 -07" -0:" -b1111010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1111010 b -1S -1V -b0 Q -b10 O -b1 G -b101111010 s -b101111010 B -b11 A -b101111010101111010 8 -b101111010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101001101010001011 " -b11 . -1& -b1011101010000001111101110111010 % -b1011101010000001111101110111010 < -b1011101010000001111101110111010 D -b1011101010000001111101110111010 U -b1011101010000001111101110111010 f -b1011101010000001111101110111010 u -b1011101010000001111101110111010 (" -b1011101010000001111101110111010 9" -0( -0) -0+ -0, -b1 0 -0' -#2495 -b1 { -b1 J -b100 7 -b10 #" -b1011101010000001111101110111010 @" -b1111010 <" -b100 D" -0C" -0>" -b1011101010000001111101110111010 /" -b0 +" -b100 3" -12" -1-" -b10 P -b1011101010000001111101110111010 m -b1111010 i -b100 q -0p -0k -b1011101010000001111101110111010 \ -b0 X -b100 ` -1_ -1Z -1' -#2496 -b11110101 / -b10 2 -#2500 -17" -b0 5" -0&" -b1001001 $" -b0 x -1d -b0 b -0S -b111011 Q -b0 G -b1001001 s -b111011 B -b11 A -1g -b10 O -1:" -b10 "" -b1001001000111011 8 -1= -b11101101 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1001001000111011 " -b11 . -0& -b11100110110000010111100111001 % -b11100110110000010111100111001 < -b11100110110000010111100111001 D -b11100110110000010111100111001 U -b11100110110000010111100111001 f -b11100110110000010111100111001 u -b11100110110000010111100111001 (" -b11100110110000010111100111001 9" -0( -0) -0+ -0, -b10 0 -0' -#2505 -1N -b0 J -1!" -b0 { -b11100110110000010111100111001 \ -b111011 X -b101 ` -0Z -b11100110110000010111100111001 m -b0 i -b101 q -1p -1k -b10 P -b11100110110000010111100111001 /" -b1001001 +" -b101 3" -0-" -b11100110110000010111100111001 @" -b0 <" -b101 D" -1C" -1>" -b10 #" -b10 4 -1' -#2506 -b11110110 / -b10 2 -#2510 -07" -0:" -b1010110 5" -1&" -b0 $" -b1 x -0d -0g -b1010110 b -1S -b0 Q -b1 G -b101010110 s -b101010110 B -b11 A -1V -b10 O -1)" -b10 "" -b101010110101010110 8 -0= -b101010110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1001011110001000 " -b11 . -1& -b100101111111010100101101001011 % -b100101111111010100101101001011 < -b100101111111010100101101001011 D -b100101111111010100101101001011 U -b100101111111010100101101001011 f -b100101111111010100101101001011 u -b100101111111010100101101001011 (" -b100101111111010100101101001011 9" -0( -0) -0+ -0, -b1 0 -0' -#2515 -0!" -b1 { -0N -b1 J -b100 7 -b10 #" -b100101111111010100101101001011 @" -b1010110 <" -b111 D" -0C" -0>" -b100101111111010100101101001011 /" -b0 +" -b111 3" -1-" -b10 P -b100101111111010100101101001011 m -b1010110 i -b111 q -0p -0k -b100101111111010100101101001011 \ -b0 X -b111 ` -1Z -1' -#2516 -b11110111 / -b10 2 -#2520 -17" -b0 5" -0&" -b0 x -1d -b0 b -0S -b11101000 Q -b0 G -b0 s -b11101000 B -b11 A -1g -b10 O -1:" -b10 "" -b11101000 8 -1= -b110010101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11101000 " -b11 . -0& -b11100101111100101111001011001011 % -b11100101111100101111001011001011 < -b11100101111100101111001011001011 D -b11100101111100101111001011001011 U -b11100101111100101111001011001011 f -b11100101111100101111001011001011 u -b11100101111100101111001011001011 (" -b11100101111100101111001011001011 9" -0( -0) -0+ -0, -b10 0 -0' -#2525 -1N -b0 J -1!" -b0 { -b11100101111100101111001011001011 \ -b11101000 X -b10 ` -0Z -b11100101111100101111001011001011 m -b0 i -b10 q -1p -1k -b10 P -b11100101111100101111001011001011 /" -b10 3" -0-" -b11100101111100101111001011001011 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b10 4 -1' -#2526 -b11111000 / -b10 2 -#2530 -b11000010 $" -b11000010 Q -b11000010 s -b11000010 B -b11 A -0V -b10 O -0)" -b10 "" -b11000010011000010 8 -0= -b11000010 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110001100100110010 " -b11 . -1& -b11010110101000111011101010101101 % -b11010110101000111011101010101101 < -b11010110101000111011101010101101 D -b11010110101000111011101010101101 U -b11010110101000111011101010101101 f -b11010110101000111011101010101101 u -b11010110101000111011101010101101 (" -b11010110101000111011101010101101 9" -0( -0) -0+ -0, -b1 0 -0' -#2535 -0!" -0N -b100 7 -b10 #" -b11010110101000111011101010101101 @" -b110 D" -b11010110101000111011101010101101 /" -b11000010 +" -b110 3" -02" -b10 P -b11010110101000111011101010101101 m -b110 q -b11010110101000111011101010101101 \ -b11000010 X -b110 ` -0_ -1' -#2536 -b11111001 / -b10 2 -#2540 -07" -0:" -b10000001 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10000001 b -1S -1V -b0 Q -b10 O -b1 G -b110000001 s -b110000001 B -b11 A -b110000001110000001 8 -b110000001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b11010111001001 " -b11 . -1& -b1111111110000001001111111111111 % -b1111111110000001001111111111111 < -b1111111110000001001111111111111 D -b1111111110000001001111111111111 U -b1111111110000001001111111111111 f -b1111111110000001001111111111111 u -b1111111110000001001111111111111 (" -b1111111110000001001111111111111 9" -0( -0) -0+ -0, -b10 0 -0' -#2545 -b1 J -b1 { -b1111111110000001001111111111111 \ -b0 X -b1001 ` -1_ -1Z -b1111111110000001001111111111111 m -b10000001 i -b1001 q -0p -0k -b10 P -b1111111110000001001111111111111 /" -b0 +" -b1001 3" -12" -1-" -b1111111110000001001111111111111 @" -b10000001 <" -b1001 D" -0C" -0>" -b10 #" -b100 7 -1' -#2546 -b11111010 / -b10 2 -#2550 -b11010000 5" -b10 "" -b11010000 b -b10 O -b111010000 s -b111010000 B -b11 A -b111010000111010000 8 -b111010000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11001110000100100 " -b11 . -1& -b10101001010100111101111001010010 % -b10101001010100111101111001010010 < -b10101001010100111101111001010010 D -b10101001010100111101111001010010 U -b10101001010100111101111001010010 f -b10101001010100111101111001010010 u -b10101001010100111101111001010010 (" -b10101001010100111101111001010010 9" -0( -0) -0+ -0, -b1 0 -0' -#2555 -b100 7 -b10 #" -b10101001010100111101111001010010 @" -b11010000 <" -b1100 D" -b10101001010100111101111001010010 /" -b1100 3" -b10 P -b10101001010100111101111001010010 m -b11010000 i -b1100 q -b10101001010100111101111001010010 \ -b1100 ` -1' -#2556 -b11111011 / -b10 2 -#2560 -b11011000 5" -b10011000 b -b111011000 s -b110011000 B -b11 A -1g -b10 O -1:" -b10 "" -b111011000110011000 8 -1= -b100100011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111011000110011000 " -b11 . -0& -b1001111110111110010010110011111 % -b1001111110111110010010110011111 < -b1001111110111110010010110011111 D -b1001111110111110010010110011111 U -b1001111110111110010010110011111 f -b1001111110111110010010110011111 u -b1001111110111110010010110011111 (" -b1001111110111110010010110011111 9" -0( -0) -0+ -0, -b10 0 -0' -#2565 -1N -1!" -b1001111110111110010010110011111 \ -b100 ` -b1001111110111110010010110011111 m -b10011000 i -b100 q -1p -b10 P -b1001111110111110010010110011111 /" -b100 3" -b1001111110111110010010110011111 @" -b11011000 <" -b100 D" -1C" -b10 #" -b10 4 -1' -#2566 -b11111100 / -b10 2 -#2570 -b1111100 5" -b10 "" -b1110111 b -b10 O -b101111100 s -b101110111 B -b11 A -b101111100101110111 8 -b100111011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101111100101110111 " -b11 . -b110010011111011010011101100100 % -b110010011111011010011101100100 < -b110010011111011010011101100100 D -b110010011111011010011101100100 U -b110010011111011010011101100100 f -b110010011111011010011101100100 u -b110010011111011010011101100100 (" -b110010011111011010011101100100 9" -0( -0) -0+ -0, -b1 0 -0' -#2575 -b10 4 -b10 #" -b110010011111011010011101100100 @" -b1111100 <" -b1010 D" -b110010011111011010011101100100 /" -b1010 3" -b10 P -b110010011111011010011101100100 m -b1110111 i -b1010 q -b110010011111011010011101100100 \ -b1010 ` -1' -#2576 -b11111101 / -b10 2 -#2580 -b101111 5" -b101111 b -b100101111 s -b100101111 B -b11 A -0g -b10 O -0:" -b10 "" -b100101111100101111 8 -0= -b100101111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101001011100000011 " -b11 . -1& -b11011111010000111011100010111110 % -b11011111010000111011100010111110 < -b11011111010000111011100010111110 D -b11011111010000111011100010111110 U -b11011111010000111011100010111110 f -b11011111010000111011100010111110 u -b11011111010000111011100010111110 (" -b11011111010000111011100010111110 9" -0( -0) -0+ -0, -b10 0 -0' -#2585 -0N -0!" -b11011111010000111011100010111110 \ -b1000 ` -b11011111010000111011100010111110 m -b101111 i -b1000 q -0p -b10 P -b11011111010000111011100010111110 /" -b1000 3" -b11011111010000111011100010111110 @" -b101111 <" -b1000 D" -0C" -b10 #" -b100 7 -1' -#2586 -b11111110 / -b10 2 -#2590 -b11001011 5" -b10 "" -b11001011 b -b10 O -b111001011 s -b111001011 B -b11 A -b111001011111001011 8 -b111001011 $ -b100011001010001111 " -b11 . -1& -b1100101000100001111100111001010 % -b1100101000100001111100111001010 < -b1100101000100001111100111001010 D -b1100101000100001111100111001010 U -b1100101000100001111100111001010 f -b1100101000100001111100111001010 u -b1100101000100001111100111001010 (" -b1100101000100001111100111001010 9" -0( -0) -0+ -0, -b1 0 -0' -#2595 -b100 7 -b10 #" -b1100101000100001111100111001010 @" -b11001011 <" -b1100101000100001111100111001010 /" -b10 P -b1100101000100001111100111001010 m -b11001011 i -b1100101000100001111100111001010 \ -1' -#2596 -b11111111 / -b10 2 -#2600 -b11011000 5" -b10 "" -b11011000 b -b10 O -b111011000 s -b111011000 B -b11 A -b111011000111011000 8 -b111011000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1101110011111000 " -b11 . -1& -b101000011010000000100001010 % -b101000011010000000100001010 < -b101000011010000000100001010 D -b101000011010000000100001010 U -b101000011010000000100001010 f -b101000011010000000100001010 u -b101000011010000000100001010 (" -b101000011010000000100001010 9" -0( -0) -0+ -0, -b10 0 -0' -#2605 -b101000011010000000100001010 \ -b10 ` -b101000011010000000100001010 m -b11011000 i -b10 q -b10 P -b101000011010000000100001010 /" -b10 3" -b101000011010000000100001010 @" -b11011000 <" -b10 D" -b10 #" -b100 7 -1' -#2606 -b100000000 / -b10 2 -#2610 -b10111101 5" -b10 "" -b10111101 b -b10 O -b110111101 s -b110111101 B -b11 A -b110111101110111101 8 -b110111101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11000000111110110 " -b11 . -1& -b111000100011000101111101110001 % -b111000100011000101111101110001 < -b111000100011000101111101110001 D -b111000100011000101111101110001 U -b111000100011000101111101110001 f -b111000100011000101111101110001 u -b111000100011000101111101110001 (" -b111000100011000101111101110001 9" -0( -0) -0+ -0, -b1 0 -0' -#2615 -b100 7 -b10 #" -b111000100011000101111101110001 @" -b10111101 <" -b11 D" -b111000100011000101111101110001 /" -b11 3" -b10 P -b111000100011000101111101110001 m -b10111101 i -b11 q -b111000100011000101111101110001 \ -b11 ` -1' -#2616 -b100000001 / -b10 2 -#2620 -17" -b0 5" -0&" -b110100 $" -b0 x -1d -b0 b -0S -b110100 Q -b0 G -b110100 s -b110100 B -b11 A -1g -b10 O -1:" -b10 "" -b110100000110100 8 -1= -b110000010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110100000110100 " -b11 . -0& -b110001000100000010111101100010 % -b110001000100000010111101100010 < -b110001000100000010111101100010 D -b110001000100000010111101100010 U -b110001000100000010111101100010 f -b110001000100000010111101100010 u -b110001000100000010111101100010 (" -b110001000100000010111101100010 9" -0( -0) -0+ -0, -b10 0 -0' -#2625 -1N -b0 J -1!" -b0 { -b110001000100000010111101100010 \ -b110100 X -b101 ` -0Z -b110001000100000010111101100010 m -b0 i -b101 q -1p -1k -b10 P -b110001000100000010111101100010 /" -b110100 +" -b101 3" -0-" -b110001000100000010111101100010 @" -b0 <" -b101 D" -1C" -1>" -b10 #" -b10 4 -1' -#2626 -b100000010 / -b10 2 -#2630 -b10000011 $" -b10 "" -b10000110 Q -b10 O -b10000011 s -b10000110 B -b11 A -b10000011010000110 8 -b11000110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10000011010000110 " -b11 . -b10011001100100101001100000110011 % -b10011001100100101001100000110011 < -b10011001100100101001100000110011 D -b10011001100100101001100000110011 U -b10011001100100101001100000110011 f -b10011001100100101001100000110011 u -b10011001100100101001100000110011 (" -b10011001100100101001100000110011 9" -0( -0) -0+ -0, -b1 0 -0' -#2635 -b10 4 -b10 #" -b10011001100100101001100000110011 @" -b10 D" -b10011001100100101001100000110011 /" -b10000011 +" -b10 3" -b10 P -b10011001100100101001100000110011 m -b10 q -b10011001100100101001100000110011 \ -b10000110 X -b10 ` -1' -#2636 -b100000011 / -b10 2 -#2640 -07" -b101100 5" -1&" -b0 $" -b10 "" -b1 x -0d -b10010101 b -1S -b0 Q -b10 O -b1 G -b100101100 s -b110010101 B -b11 A -b100101100110010101 8 -b110111101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b100101100110010101 " -b11 . -b1010010011010010001110110100100 % -b1010010011010010001110110100100 < -b1010010011010010001110110100100 D -b1010010011010010001110110100100 U -b1010010011010010001110110100100 f -b1010010011010010001110110100100 u -b1010010011010010001110110100100 (" -b1010010011010010001110110100100 9" -0( -0) -0+ -0, -b10 0 -0' -#2645 -b1 J -b1 { -b1010010011010010001110110100100 \ -b0 X -b100 ` -1Z -b1010010011010010001110110100100 m -b10010101 i -b100 q -0k -b10 P -b1010010011010010001110110100100 /" -b0 +" -b100 3" -1-" -b1010010011010010001110110100100 @" -b101100 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#2646 -b100000100 / -b10 2 -#2650 -17" -b0 5" -0&" -b1000 $" -b10 "" -b0 x -1d -b0 b -0S -b1100001 Q -b10 O -b0 G -b1000 s -b1100001 B -b11 A -b1000001100001 8 -b11000100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1000001100001 " -b11 . -b10100111011011110100100001001110 % -b10100111011011110100100001001110 < -b10100111011011110100100001001110 D -b10100111011011110100100001001110 U -b10100111011011110100100001001110 f -b10100111011011110100100001001110 u -b10100111011011110100100001001110 (" -b10100111011011110100100001001110 9" -0( -0) -0+ -0, -b1 0 -0' -#2655 -b0 { -b0 J -b10 4 -b10 #" -b10100111011011110100100001001110 @" -b0 <" -b1101 D" -1>" -b10100111011011110100100001001110 /" -b1000 +" -b1101 3" -0-" -b10 P -b10100111011011110100100001001110 m -b0 i -b1101 q -1k -b10100111011011110100100001001110 \ -b1100001 X -b1101 ` -0Z -1' -#2656 -b100000101 / -b10 2 -#2660 -b1001010 $" -b10 "" -b10110001 Q -b10 O -b1001010 s -b10110001 B -b11 A -b1001010010110001 8 -b100111100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1001010010110001 " -b11 . -b1101111000101010111010111011110 % -b1101111000101010111010111011110 < -b1101111000101010111010111011110 D -b1101111000101010111010111011110 U -b1101111000101010111010111011110 f -b1101111000101010111010111011110 u -b1101111000101010111010111011110 (" -b1101111000101010111010111011110 9" -0( -0) -0+ -0, -b10 0 -0' -#2665 -b1101111000101010111010111011110 \ -b10110001 X -b1 ` -b1101111000101010111010111011110 m -b1 q -b10 P -b1101111000101010111010111011110 /" -b1001010 +" -b1 3" -b1101111000101010111010111011110 @" -b1 D" -b10 #" -b10 4 -1' -#2666 -b100000110 / -b10 2 -#2670 -b11010010 $" -b10 "" -0d -b11100111 b -1S -b0 Q -b10 O -b1 G -b11010010 s -b111100111 B -b11 A -b11010010111100111 8 -b101010001 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b11010010111100111 " -b11 . -b1110100101100101000011111101001 % -b1110100101100101000011111101001 < -b1110100101100101000011111101001 D -b1110100101100101000011111101001 U -b1110100101100101000011111101001 f -b1110100101100101000011111101001 u -b1110100101100101000011111101001 (" -b1110100101100101000011111101001 9" -0( -0) -0+ -0, -b1 0 -0' -#2675 -b1 J -b10 4 -b10 #" -b1110100101100101000011111101001 @" -b1000 D" -b1110100101100101000011111101001 /" -b11010010 +" -b1000 3" -b10 P -b1110100101100101000011111101001 m -b11100111 i -b1000 q -0k -b1110100101100101000011111101001 \ -b0 X -b1000 ` -1Z -1' -#2676 -b100000111 / -b10 2 -#2680 -07" -0:" -b10 5" -1&" -b0 $" -b1 x -b10 b -b100000010 s -b100000010 B -b11 A -0g -b10 O -1)" -b10 "" -b100000010100000010 8 -0= -b100000010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1110011010111011 " -b11 . -1& -b11100011000101100101100111000 % -b11100011000101100101100111000 < -b11100011000101100101100111000 D -b11100011000101100101100111000 U -b11100011000101100101100111000 f -b11100011000101100101100111000 u -b11100011000101100101100111000 (" -b11100011000101100101100111000 9" -0( -0) -0+ -0, -b10 0 -0' -#2685 -0N -0!" -b1 { -b11100011000101100101100111000 \ -b1101 ` -b11100011000101100101100111000 m -b10 i -b1101 q -0p -b10 P -b11100011000101100101100111000 /" -b0 +" -b1101 3" -1-" -b11100011000101100101100111000 @" -b10 <" -b1101 D" -0C" -0>" -b10 #" -b100 7 -1' -#2686 -b100001000 / -b10 2 -#2690 -b111101 5" -b11100000 b -b100111101 s -b111100000 B -b11 A -1g -b10 O -1:" -b10 "" -b100111101111100000 8 -1= -b111011100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100111101111100000 " -b11 . -0& -b1111110110010111000100111111101 % -b1111110110010111000100111111101 < -b1111110110010111000100111111101 D -b1111110110010111000100111111101 U -b1111110110010111000100111111101 f -b1111110110010111000100111111101 u -b1111110110010111000100111111101 (" -b1111110110010111000100111111101 9" -0( -0) -0+ -0, -b1 0 -0' -#2695 -1!" -1N -b10 4 -b10 #" -b1111110110010111000100111111101 @" -b111101 <" -b1100 D" -1C" -b1111110110010111000100111111101 /" -b1100 3" -b10 P -b1111110110010111000100111111101 m -b11100000 i -b1100 q -1p -b1111110110010111000100111111101 \ -b1100 ` -1' -#2696 -b100001001 / -b10 2 -#2700 -b111011 5" -b111011 b -b100111011 s -b100111011 B -b11 A -0g -b10 O -0:" -b10 "" -b100111011100111011 8 -0= -b100111011 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b110000111010001010 " -b11 . -1& -b1010100101101111100000110101001 % -b1010100101101111100000110101001 < -b1010100101101111100000110101001 D -b1010100101101111100000110101001 U -b1010100101101111100000110101001 f -b1010100101101111100000110101001 u -b1010100101101111100000110101001 (" -b1010100101101111100000110101001 9" -0( -0) -0+ -0, -b10 0 -0' -#2705 -0N -0!" -b1010100101101111100000110101001 \ -b0 ` -b1010100101101111100000110101001 m -b111011 i -b0 q -0p -b10 P -b1010100101101111100000110101001 /" -b0 3" -b1010100101101111100000110101001 @" -b111011 <" -b0 D" -0C" -b10 #" -b100 7 -1' -#2706 -b100001010 / -b10 2 -#2710 -b10010000 5" -b10 "" -b10010000 b -b10 O -b110010000 s -b110010000 B -b11 A -b110010000110010000 8 -b110010000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100010001000111110 " -b11 . -1& -b1001000010010100100001110010000 % -b1001000010010100100001110010000 < -b1001000010010100100001110010000 D -b1001000010010100100001110010000 U -b1001000010010100100001110010000 f -b1001000010010100100001110010000 u -b1001000010010100100001110010000 (" -b1001000010010100100001110010000 9" -0( -0) -0+ -0, -b1 0 -0' -#2715 -b100 7 -b10 #" -b1001000010010100100001110010000 @" -b10010000 <" -b1001 D" -b1001000010010100100001110010000 /" -b1001 3" -b10 P -b1001000010010100100001110010000 m -b10010000 i -b1001 q -b1001000010010100100001110010000 \ -b1001 ` -1' -#2716 -b100001011 / -b10 2 -#2720 -17" -b0 5" -0&" -b11001110 $" -b0 x -b11000111 b -b11001110 s -b111000111 B -b11 A -1g -b10 O -1:" -b10 "" -b11001110111000111 8 -1= -b100100101 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11001110111000111 " -b11 . -0& -b11010110000000000010000010101100 % -b11010110000000000010000010101100 < -b11010110000000000010000010101100 D -b11010110000000000010000010101100 U -b11010110000000000010000010101100 f -b11010110000000000010000010101100 u -b11010110000000000010000010101100 (" -b11010110000000000010000010101100 9" -0( -0) -0+ -0, -b10 0 -0' -#2725 -1N -1!" -b0 { -b11010110000000000010000010101100 \ -b0 ` -b11010110000000000010000010101100 m -b11000111 i -b0 q -1p -b10 P -b11010110000000000010000010101100 /" -b11001110 +" -b0 3" -0-" -b11010110000000000010000010101100 @" -b0 <" -b0 D" -1C" -1>" -b10 #" -b10 4 -1' -#2726 -b100001100 / -b10 2 -#2730 -b10101111 $" -b10 "" -1d -b0 b -0S -b110010 Q -b10 O -b0 G -b10101111 s -b110010 B -b11 A -b10101111000110010 8 -b100111001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b10101111000110010 " -b11 . -b11100011001100000000001011000110 % -b11100011001100000000001011000110 < -b11100011001100000000001011000110 D -b11100011001100000000001011000110 U -b11100011001100000000001011000110 f -b11100011001100000000001011000110 u -b11100011001100000000001011000110 (" -b11100011001100000000001011000110 9" -0( -0) -0+ -0, -b1 0 -0' -#2733 -b100001000000000000001101 0" -#2735 -b10000100000000000000110100000000000000000000000000000000 # -b0 J -b11 . -b10000100000000000000110100000000000000000000000000000000 ! -b10000100000000000000110100000000000000000000000000000000 ? -b11 A -b100001000000000000001101 } -b10 4 -b100001000000000000001101 y -b10 #" -b11100011001100000000001011000110 @" -b1100 D" -b11100011001100000000001011000110 /" -b10101111 +" -b1100 3" -b10 P -b11100011001100000000001011000110 m -b0 i -b1100 q -1k -b11100011001100000000001011000110 \ -b110010 X -b1100 ` -0Z -1' -#2736 -b100001101 / -b10 2 -#2740 -07" -0:" -b10110000 5" -1&" -b0 $" -b1 x -0d -0g -b10110000 b -1S -b0 Q -b1 G -b110110000 s -b110110000 B -b11 A -1V -b10 O -1)" -b10 "" -b110110000110110000 8 -0= -b110110000 $ -b100011110010011111 " -b11 . -1& -b11110100110001000000010011101001 % -b11110100110001000000010011101001 < -b11110100110001000000010011101001 D -b11110100110001000000010011101001 U -b11110100110001000000010011101001 f -b11110100110001000000010011101001 u -b11110100110001000000010011101001 (" -b11110100110001000000010011101001 9" -0( -0) -0+ -0, -b10 0 -0' -#2743 -b1101110001101110000000011011100 0" -#2745 -b110111000110111000000001101110000000000000000000000000000000000 # -0N -b1 J -0!" -b1 { -b11 . -b110111000110111000000001101110000000000000000000000000000000000 ! -b110111000110111000000001101110000000000000000000000000000000000 ? -b11 A -b1101110001101110000000011011100 } -b11110100110001000000010011101001 \ -b0 X -1Z -b11110100110001000000010011101001 m -b10110000 i -0p -0k -b10 P -b11110100110001000000010011101001 /" -b0 +" -1-" -b11110100110001000000010011101001 @" -b10110000 <" -0C" -0>" -b1101110001101110000000011011100 y -b10 #" -b100 7 -1' -#2746 -b100001110 / -b10 2 -#2750 -b11111111 5" -b10001001 b -b111111111 s -b110001001 B -b11 A -1g -b10 O -1:" -b10 "" -b111111111110001001 8 -1= -b111010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b111111111110001001 " -b11 . -0& -b110100011101110001001101101000 % -b110100011101110001001101101000 < -b110100011101110001001101101000 D -b110100011101110001001101101000 U -b110100011101110001001101101000 f -b110100011101110001001101101000 u -b110100011101110001001101101000 (" -b110100011101110001001101101000 9" -0( -0) -0+ -0, -b1 0 -0' -#2755 -1!" -1N -b10 4 -b10 #" -b110100011101110001001101101000 @" -b11111111 <" -b111 D" -1C" -b110100011101110001001101101000 /" -b111 3" -b10 P -b110100011101110001001101101000 m -b10001001 i -b111 q -1p -b110100011101110001001101101000 \ -b111 ` -1' -#2756 -b100001111 / -b10 2 -#2760 -17" -b0 5" -0&" -0)" -b101010 $" -b0 x -1d -b0 b -0S -0V -b101010 Q -b0 G -b101010 s -b101010 B -b11 A -1g -b10 O -1:" -b10 "" -b101010000101010 8 -0= -b101010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11100001010001100 " -b11 . -1& -b11010010101100011111000010100101 % -b11010010101100011111000010100101 < -b11010010101100011111000010100101 D -b11010010101100011111000010100101 U -b11010010101100011111000010100101 f -b11010010101100011111000010100101 u -b11010010101100011111000010100101 (" -b11010010101100011111000010100101 9" -0( -0) -0+ -0, -b10 0 -0' -#2765 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b11010010101100011111000010100101 \ -b101010 X -b11 ` -0_ -0Z -b11010010101100011111000010100101 m -b0 i -b11 q -1k -b10 P -b11010010101100011111000010100101 /" -b101010 +" -b11 3" -02" -0-" -b11010010101100011111000010100101 @" -b0 <" -b11 D" -1>" -b0 y -b10 #" -b100 7 -1' -#2766 -b100010000 / -b10 2 -#2770 -07" -0:" -b1010111 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1010111 b -1S -1V -b0 Q -b10 O -b1 G -b101010111 s -b101010111 B -b11 A -b101010111101010111 8 -b101010111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101100000001010011 " -b11 . -1& -b111111101110010101101101111111 % -b111111101110010101101101111111 < -b111111101110010101101101111111 D -b111111101110010101101101111111 U -b111111101110010101101101111111 f -b111111101110010101101101111111 u -b111111101110010101101101111111 (" -b111111101110010101101101111111 9" -0( -0) -0+ -0, -b1 0 -0' -#2775 -b1 { -b1 J -b100 7 -b10 #" -b111111101110010101101101111111 @" -b1010111 <" -b1011 D" -0C" -0>" -b111111101110010101101101111111 /" -b0 +" -b1011 3" -12" -1-" -b10 P -b111111101110010101101101111111 m -b1010111 i -b1011 q -0p -0k -b111111101110010101101101111111 \ -b0 X -b1011 ` -1_ -1Z -1' -#2776 -b100010001 / -b10 2 -#2780 -17" -b0 5" -0&" -b10110100 $" -b0 x -b11110101 b -b10110100 s -b111110101 B -b11 A -1g -b10 O -1:" -b10 "" -b10110100111110101 8 -1= -b10010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10110100111110101 " -b11 . -0& -b11011100001000111111010010111000 % -b11011100001000111111010010111000 < -b11011100001000111111010010111000 D -b11011100001000111111010010111000 U -b11011100001000111111010010111000 f -b11011100001000111111010010111000 u -b11011100001000111111010010111000 (" -b11011100001000111111010010111000 9" -0( -0) -0+ -0, -b10 0 -0' -#2785 -1N -1!" -b0 { -b11011100001000111111010010111000 \ -b1 ` -b11011100001000111111010010111000 m -b11110101 i -b1 q -1p -b10 P -b11011100001000111111010010111000 /" -b10110100 +" -b1 3" -0-" -b11011100001000111111010010111000 @" -b0 <" -b1 D" -1C" -1>" -b10 #" -b10 4 -1' -#2786 -b100010010 / -b10 2 -#2790 -07" -0:" -b10100100 5" -1&" -b0 $" -b1 x -b10100100 b -b110100100 s -b110100100 B -b11 A -0g -b10 O -1)" -b10 "" -b110100100110100100 8 -0= -b110100100 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b11101010110110000 " -b11 . -1& -b1001001100111011111101110010011 % -b1001001100111011111101110010011 < -b1001001100111011111101110010011 D -b1001001100111011111101110010011 U -b1001001100111011111101110010011 f -b1001001100111011111101110010011 u -b1001001100111011111101110010011 (" -b1001001100111011111101110010011 9" -0( -0) -0+ -0, -b1 0 -0' -#2793 -b0 0" -#2795 -0!" -b1 { -0N -b100 7 -b10 #" -b1001001100111011111101110010011 @" -b10100100 <" -b1011 D" -0C" -0>" -b1001001100111011111101110010011 /" -b0 +" -b1011 3" -1-" -b10 P -b1001001100111011111101110010011 m -b10100100 i -b1011 q -0p -b1001001100111011111101110010011 \ -b1011 ` -1' -#2796 -b100010011 / -b10 2 -#2800 -b110001 5" -b10 "" -b110001 b -b10 O -b100110001 s -b100110001 B -b11 A -b100110001100110001 8 -b100110001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11101111110001111 " -b11 . -1& -b10000110111001111100111000001101 % -b10000110111001111100111000001101 < -b10000110111001111100111000001101 D -b10000110111001111100111000001101 U -b10000110111001111100111000001101 f -b10000110111001111100111000001101 u -b10000110111001111100111000001101 (" -b10000110111001111100111000001101 9" -0( -0) -0+ -0, -b10 0 -0' -#2805 -b10000110111001111100111000001101 \ -b110 ` -b10000110111001111100111000001101 m -b110001 i -b110 q -b10 P -b10000110111001111100111000001101 /" -b110 3" -b10000110111001111100111000001101 @" -b110001 <" -b110 D" -b10 #" -b100 7 -1' -#2806 -b100010100 / -b10 2 -#2810 -17" -1:" -b0 5" -0&" -0)" -b11111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11111 Q -b10 O -b0 G -b11111 s -b11111 B -b11 A -b11111000011111 8 -b11111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111010100011100101 " -b11 . -1& -b1001011101011111010100010010 % -b1001011101011111010100010010 < -b1001011101011111010100010010 D -b1001011101011111010100010010 U -b1001011101011111010100010010 f -b1001011101011111010100010010 u -b1001011101011111010100010010 (" -b1001011101011111010100010010 9" -0( -0) -0+ -0, -b1 0 -0' -#2815 -b0 { -b0 J -b100 7 -b10 #" -b1001011101011111010100010010 @" -b0 <" -b1 D" -1C" -1>" -b1001011101011111010100010010 /" -b11111 +" -b1 3" -02" -0-" -b10 P -b1001011101011111010100010010 m -b0 i -b1 q -1p -1k -b1001011101011111010100010010 \ -b11111 X -b1 ` -0_ -0Z -1' -#2816 -b100010101 / -b10 2 -#2820 -07" -0:" -b11100011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11100011 b -1S -1V -b0 Q -b10 O -b1 G -b111100011 s -b111100011 B -b11 A -b111100011111100011 8 -b111100011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111111010101101 " -b11 . -1& -b110101010100100000011101101010 % -b110101010100100000011101101010 < -b110101010100100000011101101010 D -b110101010100100000011101101010 U -b110101010100100000011101101010 f -b110101010100100000011101101010 u -b110101010100100000011101101010 (" -b110101010100100000011101101010 9" -0( -0) -0+ -0, -b10 0 -0' -#2825 -b1 J -b1 { -b110101010100100000011101101010 \ -b0 X -b101 ` -1_ -1Z -b110101010100100000011101101010 m -b11100011 i -b101 q -0p -0k -b10 P -b110101010100100000011101101010 /" -b0 +" -b101 3" -12" -1-" -b110101010100100000011101101010 @" -b11100011 <" -b101 D" -0C" -0>" -b10 #" -b100 7 -1' -#2826 -b100010110 / -b10 2 -#2830 -b101000 5" -b10111000 b -b100101000 s -b110111000 B -b11 A -1g -b10 O -1:" -b10 "" -b100101000110111000 8 -1= -b1101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100101000110111000 " -b11 . -0& -b11100110001011111011111011001100 % -b11100110001011111011111011001100 < -b11100110001011111011111011001100 D -b11100110001011111011111011001100 U -b11100110001011111011111011001100 f -b11100110001011111011111011001100 u -b11100110001011111011111011001100 (" -b11100110001011111011111011001100 9" -0( -0) -0+ -0, -b1 0 -0' -#2835 -1!" -1N -b10 4 -b10 #" -b11100110001011111011111011001100 @" -b101000 <" -b1010 D" -1C" -b11100110001011111011111011001100 /" -b1010 3" -b10 P -b11100110001011111011111011001100 m -b10111000 i -b1010 q -1p -b11100110001011111011111011001100 \ -b1010 ` -1' -#2836 -b100010111 / -b10 2 -#2840 -17" -b0 5" -0&" -b1110111 $" -b10 "" -b0 x -1d -b0 b -0S -b100010 Q -b10 O -b0 G -b1110111 s -b100010 B -b11 A -b1110111000100010 8 -b100101111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1110111000100010 " -b11 . -b1011011001000001000100010110 % -b1011011001000001000100010110 < -b1011011001000001000100010110 D -b1011011001000001000100010110 U -b1011011001000001000100010110 f -b1011011001000001000100010110 u -b1011011001000001000100010110 (" -b1011011001000001000100010110 9" -0( -0) -0+ -0, -b10 0 -0' -#2843 -b10011110000011011000111000111100 n -#2845 -b10011110000011011000111000111100 # -b0 J -b0 { -b11 . -b10011110000011011000111000111100 ! -b10011110000011011000111000111100 ? -b11 A -b10011110000011011000111000111100 L -b1011011001000001000100010110 \ -b100010 X -b101 ` -0Z -b1011011001000001000100010110 m -b0 i -b101 q -1k -b10011110000011011000111000111100 H -b10 P -b1011011001000001000100010110 /" -b1110111 +" -b101 3" -0-" -b1011011001000001000100010110 @" -b0 <" -b101 D" -1>" -b10 #" -b10 4 -1' -#2846 -b100011000 / -b10 2 -#2850 -b10010000 $" -b10 "" -b110100 Q -b10 O -b10010000 s -b110100 B -b11 A -b10010000000110100 8 -b1100101 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10010000000110100 " -b11 . -b1001000100010011111001110010001 % -b1001000100010011111001110010001 < -b1001000100010011111001110010001 D -b1001000100010011111001110010001 U -b1001000100010011111001110010001 f -b1001000100010011111001110010001 u -b1001000100010011111001110010001 (" -b1001000100010011111001110010001 9" -0( -0) -0+ -0, -b1 0 -0' -#2855 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1001000100010011111001110010001 @" -b1 D" -b1001000100010011111001110010001 /" -b10010000 +" -b1 3" -b0 H -b10 P -b1001000100010011111001110010001 m -b1 q -b1001000100010011111001110010001 \ -b110100 X -b1 ` -1' -#2856 -b100011001 / -b10 2 -#2860 -07" -0:" -b11001111 5" -1&" -b0 $" -b1 x -0d -0g -b11001111 b -1S -b0 Q -b1 G -b111001111 s -b111001111 B -b11 A -1V -b10 O -1)" -b10 "" -b111001111111001111 8 -0= -b111001111 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101110010010101 " -b11 . -1& -b100000100011010110110101000001 % -b100000100011010110110101000001 < -b100000100011010110110101000001 D -b100000100011010110110101000001 U -b100000100011010110110101000001 f -b100000100011010110110101000001 u -b100000100011010110110101000001 (" -b100000100011010110110101000001 9" -0( -0) -0+ -0, -b10 0 -0' -#2865 -0N -b1 J -0!" -b1 { -b100000100011010110110101000001 \ -b0 X -b1100 ` -1Z -b100000100011010110110101000001 m -b11001111 i -b1100 q -0p -0k -b10 P -b100000100011010110110101000001 /" -b0 +" -b1100 3" -1-" -b100000100011010110110101000001 @" -b11001111 <" -b1100 D" -0C" -0>" -b10 #" -b100 7 -1' -#2866 -b100011010 / -b10 2 -#2870 -17" -b0 5" -0&" -b10000 $" -b0 x -b1000101 b -b10000 s -b101000101 B -b11 A -1g -b10 O -1:" -b10 "" -b10000101000101 8 -1= -b111001100 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10000101000101 " -b11 . -0& -b11010100001011001110001010101000 % -b11010100001011001110001010101000 < -b11010100001011001110001010101000 D -b11010100001011001110001010101000 U -b11010100001011001110001010101000 f -b11010100001011001110001010101000 u -b11010100001011001110001010101000 (" -b11010100001011001110001010101000 9" -0( -0) -0+ -0, -b1 0 -0' -#2875 -1!" -b0 { -1N -b10 4 -b10 #" -b11010100001011001110001010101000 @" -b0 <" -b0 D" -1C" -1>" -b11010100001011001110001010101000 /" -b10000 +" -b0 3" -0-" -b10 P -b11010100001011001110001010101000 m -b1000101 i -b0 q -1p -b11010100001011001110001010101000 \ -b0 ` -1' -#2876 -b100011011 / -b10 2 -#2880 -b10010 $" -1d -b0 b -0S -0V -b10010 Q -b0 G -b10010 s -b10010 B -b11 A -1g -b10 O -0)" -b10 "" -b10010000010010 8 -0= -b10010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110110111000011010 " -b11 . -1& -b11110111010011111100100011101110 % -b11110111010011111100100011101110 < -b11110111010011111100100011101110 D -b11110111010011111100100011101110 U -b11110111010011111100100011101110 f -b11110111010011111100100011101110 u -b11110111010011111100100011101110 (" -b11110111010011111100100011101110 9" -0( -0) -0+ -0, -b10 0 -0' -#2883 -b0 n -#2885 -0N -b0 J -0!" -b11110111010011111100100011101110 \ -b10010 X -b1 ` -0_ -0Z -b11110111010011111100100011101110 m -b0 i -b1 q -1k -b10 P -b11110111010011111100100011101110 /" -b10010 +" -b1 3" -02" -b11110111010011111100100011101110 @" -b1 D" -b10 #" -b100 7 -1' -#2886 -b100011100 / -b10 2 -#2890 -b110010 $" -b10 "" -b110010 Q -b10 O -b110010 s -b110010 B -b11 A -b110010000110010 8 -b110010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111001100010110 " -b11 . -1& -b11001011000100110011110010010110 % -b11001011000100110011110010010110 < -b11001011000100110011110010010110 D -b11001011000100110011110010010110 U -b11001011000100110011110010010110 f -b11001011000100110011110010010110 u -b11001011000100110011110010010110 (" -b11001011000100110011110010010110 9" -0( -0) -0+ -0, -b1 0 -0' -#2895 -b100 7 -b10 #" -b11001011000100110011110010010110 @" -b101 D" -b11001011000100110011110010010110 /" -b110010 +" -b101 3" -b10 P -b11001011000100110011110010010110 m -b101 q -b11001011000100110011110010010110 \ -b110010 X -b101 ` -1' -#2896 -b100011101 / -b10 2 -#2900 -b101011 $" -b10 "" -b101011 Q -b10 O -b101011 s -b101011 B -b11 A -b101011000101011 8 -b101011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100001001010101111 " -b11 . -1& -b110100110011100001101101101001 % -b110100110011100001101101101001 < -b110100110011100001101101101001 D -b110100110011100001101101101001 U -b110100110011100001101101101001 f -b110100110011100001101101101001 u -b110100110011100001101101101001 (" -b110100110011100001101101101001 9" -0( -0) -0+ -0, -b10 0 -0' -#2905 -b110100110011100001101101101001 \ -b101011 X -b110 ` -b110100110011100001101101101001 m -b110 q -b10 P -b110100110011100001101101101001 /" -b101011 +" -b110 3" -b110100110011100001101101101001 @" -b110 D" -b10 #" -b100 7 -1' -#2906 -b100011110 / -b10 2 -#2910 -b10100111 $" -b1101000 Q -b10100111 s -b1101000 B -b11 A -1V -b10 O -1)" -b10 "" -b10100111001101000 8 -1= -b110010010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b10100111001101000 " -b11 . -0& -b1101010011010011010101111010100 % -b1101010011010011010101111010100 < -b1101010011010011010101111010100 D -b1101010011010011010101111010100 U -b1101010011010011010101111010100 f -b1101010011010011010101111010100 u -b1101010011010011010101111010100 (" -b1101010011010011010101111010100 9" -0( -0) -0+ -0, -b1 0 -0' -#2915 -1!" -1N -b10 4 -b10 #" -b1101010011010011010101111010100 @" -b1111 D" -b1101010011010011010101111010100 /" -b10100111 +" -b1111 3" -12" -b10 P -b1101010011010011010101111010100 m -b1111 q -b1101010011010011010101111010100 \ -b1101000 X -b1111 ` -1_ -1' -#2916 -b100011111 / -b10 2 -#2920 -b10010010 $" -b10 "" -b1000011 Q -b10 O -b10010010 s -b1000011 B -b11 A -b10010010001000011 8 -b11000 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10010010001000011 " -b11 . -b1100101000011101100101111001010 % -b1100101000011101100101111001010 < -b1100101000011101100101111001010 D -b1100101000011101100101111001010 U -b1100101000011101100101111001010 f -b1100101000011101100101111001010 u -b1100101000011101100101111001010 (" -b1100101000011101100101111001010 9" -0( -0) -0+ -0, -b10 0 -0' -#2923 -b10010010101001100000000 ] -#2925 -b10010010101001100000000 # -b11 . -b10010010101001100000000 ! -b10010010101001100000000 ? -b11 A -b10010010101001100000000 L -b1100101000011101100101111001010 \ -b1000011 X -b11 ` -b1100101000011101100101111001010 m -b11 q -b10010010101001100000000 H -b10 P -b1100101000011101100101111001010 /" -b10010010 +" -b11 3" -b1100101000011101100101111001010 @" -b11 D" -b10 #" -b10 4 -1' -#2926 -b100100000 / -b10 2 -#2930 -07" -0:" -b11000010 5" -1&" -b0 $" -b1 x -0d -0g -b11000010 b -1S -b0 Q -b1 G -b111000010 s -b111000010 B -b11 A -1V -b10 O -1)" -b10 "" -b111000010111000010 8 -0= -b111000010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11100011101100110 " -b11 . -1& -b10100101110011010111001001001011 % -b10100101110011010111001001001011 < -b10100101110011010111001001001011 D -b10100101110011010111001001001011 U -b10100101110011010111001001001011 f -b10100101110011010111001001001011 u -b10100101110011010111001001001011 (" -b10100101110011010111001001001011 9" -0( -0) -0+ -0, -b1 0 -0' -#2933 -b0 ] -#2935 -b0 # -0!" -b1 { -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b10100101110011010111001001001011 @" -b11000010 <" -b0 D" -0C" -0>" -b10100101110011010111001001001011 /" -b0 +" -b0 3" -1-" -b0 H -b10 P -b10100101110011010111001001001011 m -b11000010 i -b0 q -0p -0k -b10100101110011010111001001001011 \ -b0 X -b0 ` -1Z -1' -#2936 -b100100001 / -b10 2 -#2940 -b101110 5" -1d -b0 b -0S -b10011100 Q -b0 G -b100101110 s -b10011100 B -b11 A -1g -b10 O -1:" -b10 "" -b100101110010011100 8 -1= -b101010110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100101110010011100 " -b11 . -0& -b11011101011110001100011010111010 % -b11011101011110001100011010111010 < -b11011101011110001100011010111010 D -b11011101011110001100011010111010 U -b11011101011110001100011010111010 f -b11011101011110001100011010111010 u -b11011101011110001100011010111010 (" -b11011101011110001100011010111010 9" -0( -0) -0+ -0, -b10 0 -0' -#2945 -1N -b0 J -1!" -b11011101011110001100011010111010 \ -b10011100 X -b110 ` -0Z -b11011101011110001100011010111010 m -b0 i -b110 q -1p -1k -b10 P -b11011101011110001100011010111010 /" -b110 3" -b11011101011110001100011010111010 @" -b101110 <" -b110 D" -1C" -b10 #" -b10 4 -1' -#2946 -b100100010 / -b10 2 -#2950 -17" -b0 5" -0&" -0)" -b1011011 $" -b0 x -b1011011 Q -b1011011 s -b1011011 B -b11 A -0V -b10 O -1:" -b10 "" -b1011011001011011 8 -0= -b1011011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111010001101000001 " -b11 . -1& -b10110101100100100001100001101011 % -b10110101100100100001100001101011 < -b10110101100100100001100001101011 D -b10110101100100100001100001101011 U -b10110101100100100001100001101011 f -b10110101100100100001100001101011 u -b10110101100100100001100001101011 (" -b10110101100100100001100001101011 9" -0( -0) -0+ -0, -b1 0 -0' -#2955 -0!" -b0 { -0N -b100 7 -b10 #" -b10110101100100100001100001101011 @" -b0 <" -b10 D" -1>" -b10110101100100100001100001101011 /" -b1011011 +" -b10 3" -02" -0-" -b10 P -b10110101100100100001100001101011 m -b10 q -b10110101100100100001100001101011 \ -b1011011 X -b10 ` -0_ -1' -#2956 -b100100011 / -b10 2 -#2960 -07" -b10101101 5" -1&" -b0 $" -b1 x -b111001 Q -b110101101 s -b111001 B -b11 A -1V -b10 O -1)" -b10 "" -b110101101000111001 8 -1= -b10100100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b110101101000111001 " -b11 . -0& -b10110101110100111010110001101011 % -b10110101110100111010110001101011 < -b10110101110100111010110001101011 D -b10110101110100111010110001101011 U -b10110101110100111010110001101011 f -b10110101110100111010110001101011 u -b10110101110100111010110001101011 (" -b10110101110100111010110001101011 9" -0( -0) -0+ -0, -b10 0 -0' -#2965 -1N -1!" -b1 { -b10110101110100111010110001101011 \ -b111001 X -b1101 ` -1_ -b10110101110100111010110001101011 m -b1101 q -b10 P -b10110101110100111010110001101011 /" -b0 +" -b1101 3" -12" -1-" -b10110101110100111010110001101011 @" -b10101101 <" -b1101 D" -0>" -b10 #" -b10 4 -1' -#2966 -b100100100 / -b10 2 -#2970 -b10011001 5" -b10 "" -b1110110 Q -b10 O -b110011001 s -b1110110 B -b11 A -b110011001001110110 8 -b10010110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b110011001001110110 " -b11 . -b1100110011101011111101111001100 % -b1100110011101011111101111001100 < -b1100110011101011111101111001100 D -b1100110011101011111101111001100 U -b1100110011101011111101111001100 f -b1100110011101011111101111001100 u -b1100110011101011111101111001100 (" -b1100110011101011111101111001100 9" -0( -0) -0+ -0, -b1 0 -0' -#2975 -b10 4 -b10 #" -b1100110011101011111101111001100 @" -b10011001 <" -b1001 D" -b1100110011101011111101111001100 /" -b1001 3" -b10 P -b1100110011101011111101111001100 m -b1001 q -b1100110011101011111101111001100 \ -b1110110 X -b1001 ` -1' -#2976 -b100100101 / -b10 2 -#2980 -17" -b0 5" -0&" -0)" -b1110 $" -b0 x -b1110 Q -b1110 s -b1110 B -b11 A -0V -b10 O -1:" -b10 "" -b1110000001110 8 -0= -b1110 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111010011001001011 " -b11 . -1& -b1000110100101110001100010001 % -b1000110100101110001100010001 < -b1000110100101110001100010001 D -b1000110100101110001100010001 U -b1000110100101110001100010001 f -b1000110100101110001100010001 u -b1000110100101110001100010001 (" -b1000110100101110001100010001 9" -0( -0) -0+ -0, -b10 0 -0' -#2983 -b111001000000000000000000000000 ] -#2985 -b111001000000000000000000000000 # -0N -0!" -b0 { -b11 . -b111001000000000000000000000000 ! -b111001000000000000000000000000 ? -b11 A -b111001000000000000000000000000 L -b1000110100101110001100010001 \ -b1110 X -b1100 ` -0_ -b1000110100101110001100010001 m -b1100 q -b111001000000000000000000000000 H -b10 P -b1000110100101110001100010001 /" -b1110 +" -b1100 3" -02" -0-" -b1000110100101110001100010001 @" -b0 <" -b1100 D" -1>" -b10 #" -b100 7 -1' -#2986 -b100100110 / -b10 2 -#2990 -07" -b1010101 5" -1&" -b0 $" -b1 x -b10000111 Q -b101010101 s -b10000111 B -b11 A -1V -b10 O -1)" -b10 "" -b101010101010000111 8 -1= -b111111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101010101010000111 " -b11 . -0& -b1101100111011011111001111011001 % -b1101100111011011111001111011001 < -b1101100111011011111001111011001 D -b1101100111011011111001111011001 U -b1101100111011011111001111011001 f -b1101100111011011111001111011001 u -b1101100111011011111001111011001 (" -b1101100111011011111001111011001 9" -0( -0) -0+ -0, -b1 0 -0' -#2995 -1!" -b1 { -1N -b10 4 -b10 #" -b1101100111011011111001111011001 @" -b1010101 <" -b11 D" -0>" -b1101100111011011111001111011001 /" -b0 +" -b11 3" -12" -1-" -b10 P -b1101100111011011111001111011001 m -b11 q -b1101100111011011111001111011001 \ -b10000111 X -b11 ` -1_ -1' -#2996 -b100100111 / -b10 2 -#3000 -17" -b0 5" -0&" -b1000010 $" -b10 "" -b0 x -0d -b11001111 b -1S -b0 Q -b10 O -b1 G -b1000010 s -b111001111 B -b11 A -b1000010111001111 8 -b101010100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1000010111001111 " -b11 . -b1100111111100111100000111001111 % -b1100111111100111100000111001111 < -b1100111111100111100000111001111 D -b1100111111100111100000111001111 U -b1100111111100111100000111001111 f -b1100111111100111100000111001111 u -b1100111111100111100000111001111 (" -b1100111111100111100000111001111 9" -0( -0) -0+ -0, -b10 0 -0' -#3003 -b0 ] -#3005 -b0 # -b1 J -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1100111111100111100000111001111 \ -b0 X -b100 ` -1Z -b1100111111100111100000111001111 m -b11001111 i -b100 q -0k -b0 H -b10 P -b1100111111100111100000111001111 /" -b1000010 +" -b100 3" -0-" -b1100111111100111100000111001111 @" -b0 <" -b100 D" -1>" -b10 #" -b10 4 -1' -#3006 -b100101000 / -b10 2 -#3010 -07" -0:" -b10010001 5" -1&" -b0 $" -b1 x -b10010001 b -b110010001 s -b110010001 B -b11 A -0g -b10 O -1)" -b10 "" -b110010001110010001 8 -0= -b110010001 $ -b10100110100101011 " -b11 . -1& -b11011111011111111100100110111 % -b11011111011111111100100110111 < -b11011111011111111100100110111 D -b11011111011111111100100110111 U -b11011111011111111100100110111 f -b11011111011111111100100110111 u -b11011111011111111100100110111 (" -b11011111011111111100100110111 9" -0( -0) -0+ -0, -b1 0 -0' -#3013 -b10010001100010100000000000000000 0" -b100000100011010000000000000000 n -#3015 -b1001000110001010000000000000000000100000100011010000000000000000 # -0!" -b1 { -0N -b11 . -b1001000110001010000000000000000000100000100011010000000000000000 ! -b1001000110001010000000000000000000100000100011010000000000000000 ? -b11 A -b10010001100010100000000000000000 } -b100000100011010000000000000000 L -b100 7 -b10010001100010100000000000000000 y -b10 #" -b11011111011111111100100110111 @" -b10010001 <" -0C" -0>" -b11011111011111111100100110111 /" -b0 +" -1-" -b100000100011010000000000000000 H -b10 P -b11011111011111111100100110111 m -b10010001 i -0p -b11011111011111111100100110111 \ -1' -#3016 -b100101001 / -b10 2 -#3020 -b11111001 5" -b11011101 b -b111111001 s -b111011101 B -b11 A -1g -b10 O -1:" -b10 "" -b111111001111011101 8 -1= -b100111110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111111001111011101 " -b11 . -0& -b1011011001101101010010110110110 % -b1011011001101101010010110110110 < -b1011011001101101010010110110110 D -b1011011001101101010010110110110 U -b1011011001101101010010110110110 f -b1011011001101101010010110110110 u -b1011011001101101010010110110110 (" -b1011011001101101010010110110110 9" -0( -0) -0+ -0, -b10 0 -0' -#3025 -1N -1!" -b1011011001101101010010110110110 \ -b11 ` -b1011011001101101010010110110110 m -b11011101 i -b11 q -1p -b10 P -b1011011001101101010010110110110 /" -b11 3" -b1011011001101101010010110110110 @" -b11111001 <" -b11 D" -1C" -b10 #" -b10 4 -1' -#3026 -b100101010 / -b10 2 -#3030 -b1101000 5" -b10 "" -b1110111 b -b10 O -b101101000 s -b101110111 B -b11 A -b101101000101110111 8 -b11001101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101101000101110111 " -b11 . -b110110111001001011111101101101 % -b110110111001001011111101101101 < -b110110111001001011111101101101 D -b110110111001001011111101101101 U -b110110111001001011111101101101 f -b110110111001001011111101101101 u -b110110111001001011111101101101 (" -b110110111001001011111101101101 9" -0( -0) -0+ -0, -b1 0 -0' -#3033 -b0 n -#3035 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b110110111001001011111101101101 @" -b1101000 <" -b1101 D" -b110110111001001011111101101101 /" -b1101 3" -b0 H -b10 P -b110110111001001011111101101101 m -b1110111 i -b1101 q -b110110111001001011111101101101 \ -b1101 ` -1' -#3036 -b100101011 / -b10 2 -#3040 -b10100010 5" -b10100010 b -b110100010 s -b110100010 B -b11 A -0g -b10 O -0:" -b10 "" -b110100010110100010 8 -0= -b110100010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1111000110100110 " -b11 . -1& -b10011111110110001101100100111 % -b10011111110110001101100100111 < -b10011111110110001101100100111 D -b10011111110110001101100100111 U -b10011111110110001101100100111 f -b10011111110110001101100100111 u -b10011111110110001101100100111 (" -b10011111110110001101100100111 9" -0( -0) -0+ -0, -b10 0 -0' -#3045 -0N -0!" -b10011111110110001101100100111 \ -b1 ` -b10011111110110001101100100111 m -b10100010 i -b1 q -0p -b10 P -b10011111110110001101100100111 /" -b1 3" -b10011111110110001101100100111 @" -b10100010 <" -b1 D" -0C" -b10 #" -b100 7 -1' -#3046 -b100101100 / -b10 2 -#3050 -17" -1:" -b0 5" -0&" -0)" -b1110001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1110001 Q -b10 O -b0 G -b1110001 s -b1110001 B -b11 A -b1110001001110001 8 -b1110001 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b110100001100011010 " -b11 . -1& -b11000001010000101000100110000 % -b11000001010000101000100110000 < -b11000001010000101000100110000 D -b11000001010000101000100110000 U -b11000001010000101000100110000 f -b11000001010000101000100110000 u -b11000001010000101000100110000 (" -b11000001010000101000100110000 9" -0( -0) -0+ -0, -b1 0 -0' -#3055 -b0 { -b0 J -b100 7 -b10 #" -b11000001010000101000100110000 @" -b0 <" -b1101 D" -1C" -1>" -b11000001010000101000100110000 /" -b1110001 +" -b1101 3" -02" -0-" -b10 P -b11000001010000101000100110000 m -b0 i -b1101 q -1p -1k -b11000001010000101000100110000 \ -b1110001 X -b1101 ` -0_ -0Z -1' -#3056 -b100101101 / -b10 2 -#3060 -b1000110 $" -b10 "" -b1000110 Q -b10 O -b1000110 s -b1000110 B -b11 A -b1000110001000110 8 -b1000110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101101111100100110 " -b11 . -1& -b11011011000001101111111010110110 % -b11011011000001101111111010110110 < -b11011011000001101111111010110110 D -b11011011000001101111111010110110 U -b11011011000001101111111010110110 f -b11011011000001101111111010110110 u -b11011011000001101111111010110110 (" -b11011011000001101111111010110110 9" -0( -0) -0+ -0, -b10 0 -0' -#3065 -b11011011000001101111111010110110 \ -b1000110 X -b11 ` -b11011011000001101111111010110110 m -b11 q -b10 P -b11011011000001101111111010110110 /" -b1000110 +" -b11 3" -b11011011000001101111111010110110 @" -b11 D" -b10 #" -b100 7 -1' -#3066 -b100101110 / -b10 2 -#3070 -07" -0:" -b1001 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1001 b -1S -1V -b0 Q -b10 O -b1 G -b100001001 s -b100001001 B -b11 A -b100001001100001001 8 -b100001001 $ -b100001100101010 " -b11 . -1& -b10000001010000011011110000000010 % -b10000001010000011011110000000010 < -b10000001010000011011110000000010 D -b10000001010000011011110000000010 U -b10000001010000011011110000000010 f -b10000001010000011011110000000010 u -b10000001010000011011110000000010 (" -b10000001010000011011110000000010 9" -0( -0) -0+ -0, -b1 0 -0' -#3075 -b1 { -b1 J -b100 7 -b10 #" -b10000001010000011011110000000010 @" -b1001 <" -0C" -0>" -b10000001010000011011110000000010 /" -b0 +" -12" -1-" -b10 P -b10000001010000011011110000000010 m -b1001 i -0p -0k -b10000001010000011011110000000010 \ -b0 X -1_ -1Z -1' -#3076 -b100101111 / -b10 2 -#3080 -17" -1:" -b0 5" -0&" -0)" -b11011101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11011101 Q -b10 O -b0 G -b11011101 s -b11011101 B -b11 A -b11011101011011101 8 -b11011101 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111000000000101011 " -b11 . -1& -b1100100100000001001000111001001 % -b1100100100000001001000111001001 < -b1100100100000001001000111001001 D -b1100100100000001001000111001001 U -b1100100100000001001000111001001 f -b1100100100000001001000111001001 u -b1100100100000001001000111001001 (" -b1100100100000001001000111001001 9" -0( -0) -0+ -0, -b10 0 -0' -#3085 -b0 J -b0 { -b1100100100000001001000111001001 \ -b11011101 X -b110 ` -0_ -0Z -b1100100100000001001000111001001 m -b0 i -b110 q -1p -1k -b10 P -b1100100100000001001000111001001 /" -b11011101 +" -b110 3" -02" -0-" -b1100100100000001001000111001001 @" -b0 <" -b110 D" -1C" -1>" -b10 #" -b100 7 -1' -#3086 -b100110000 / -b10 2 -#3090 -b10100110 $" -b10 "" -b10100110 Q -b10 O -b10100110 s -b10100110 B -b11 A -b10100110010100110 8 -b10100110 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111001011101101000 " -b11 . -1& -b1111101110011010011100011111 % -b1111101110011010011100011111 < -b1111101110011010011100011111 D -b1111101110011010011100011111 U -b1111101110011010011100011111 f -b1111101110011010011100011111 u -b1111101110011010011100011111 (" -b1111101110011010011100011111 9" -0( -0) -0+ -0, -b1 0 -0' -#3095 -b100 7 -b10 #" -b1111101110011010011100011111 @" -b1101 D" -b1111101110011010011100011111 /" -b10100110 +" -b1101 3" -b10 P -b1111101110011010011100011111 m -b1101 q -b1111101110011010011100011111 \ -b10100110 X -b1101 ` -1' -#3096 -b100110001 / -b10 2 -#3100 -b1001110 $" -b10 "" -b1001110 Q -b10 O -b1001110 s -b1001110 B -b11 A -b1001110001001110 8 -b1001110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110010101110101000 " -b11 . -1& -b11001001011000111010010010010010 % -b11001001011000111010010010010010 < -b11001001011000111010010010010010 D -b11001001011000111010010010010010 U -b11001001011000111010010010010010 f -b11001001011000111010010010010010 u -b11001001011000111010010010010010 (" -b11001001011000111010010010010010 9" -0( -0) -0+ -0, -b10 0 -0' -#3105 -b11001001011000111010010010010010 \ -b1001110 X -b110 ` -b11001001011000111010010010010010 m -b110 q -b10 P -b11001001011000111010010010010010 /" -b1001110 +" -b110 3" -b11001001011000111010010010010010 @" -b110 D" -b10 #" -b100 7 -1' -#3106 -b100110010 / -b10 2 -#3110 -b11001000 $" -b10 "" -b11001000 Q -b10 O -b11001000 s -b11001000 B -b11 A -b11001000011001000 8 -b11001000 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b110000010011101100 " -b11 . -1& -b11110001001101111111001011100010 % -b11110001001101111111001011100010 < -b11110001001101111111001011100010 D -b11110001001101111111001011100010 U -b11110001001101111111001011100010 f -b11110001001101111111001011100010 u -b11110001001101111111001011100010 (" -b11110001001101111111001011100010 9" -0( -0) -0+ -0, -b1 0 -0' -#3115 -b100 7 -b10 #" -b11110001001101111111001011100010 @" -b11 D" -b11110001001101111111001011100010 /" -b11001000 +" -b11 3" -b10 P -b11110001001101111111001011100010 m -b11 q -b11110001001101111111001011100010 \ -b11001000 X -b11 ` -1' -#3116 -b100110011 / -b10 2 -#3120 -07" -0:" -b10110110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10110110 b -1S -1V -b0 Q -b10 O -b1 G -b110110110 s -b110110110 B -b11 A -b110110110110110110 8 -b110110110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1000110010111 " -b11 . -1& -b10011100101110011011011000111001 % -b10011100101110011011011000111001 < -b10011100101110011011011000111001 D -b10011100101110011011011000111001 U -b10011100101110011011011000111001 f -b10011100101110011011011000111001 u -b10011100101110011011011000111001 (" -b10011100101110011011011000111001 9" -0( -0) -0+ -0, -b10 0 -0' -#3125 -b1 J -b1 { -b10011100101110011011011000111001 \ -b0 X -b111 ` -1_ -1Z -b10011100101110011011011000111001 m -b10110110 i -b111 q -0p -0k -b10 P -b10011100101110011011011000111001 /" -b0 +" -b111 3" -12" -1-" -b10011100101110011011011000111001 @" -b10110110 <" -b111 D" -0C" -0>" -b10 #" -b100 7 -1' -#3126 -b100110100 / -b10 2 -#3130 -17" -1:" -b0 5" -0&" -0)" -b11011100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11011100 Q -b10 O -b0 G -b11011100 s -b11011100 B -b11 A -b11011100011011100 8 -b11011100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11000111110101111 " -b11 . -1& -b11111011010100000101111011110110 % -b11111011010100000101111011110110 < -b11111011010100000101111011110110 D -b11111011010100000101111011110110 U -b11111011010100000101111011110110 f -b11111011010100000101111011110110 u -b11111011010100000101111011110110 (" -b11111011010100000101111011110110 9" -0( -0) -0+ -0, -b1 0 -0' -#3135 -b0 { -b0 J -b100 7 -b10 #" -b11111011010100000101111011110110 @" -b0 <" -b100 D" -1C" -1>" -b11111011010100000101111011110110 /" -b11011100 +" -b100 3" -02" -0-" -b10 P -b11111011010100000101111011110110 m -b0 i -b100 q -1p -1k -b11111011010100000101111011110110 \ -b11011100 X -b100 ` -0_ -0Z -1' -#3136 -b100110101 / -b10 2 -#3140 -b10000111 $" -0d -b1111110 b -1S -b0 Q -b1 G -b10000111 s -b101111110 B -b11 A -1V -b10 O -1)" -b10 "" -b10000111101111110 8 -1= -b10101010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10000111101111110 " -b11 . -0& -b11011100111010000110100110111 % -b11011100111010000110100110111 < -b11011100111010000110100110111 D -b11011100111010000110100110111 U -b11011100111010000110100110111 f -b11011100111010000110100110111 u -b11011100111010000110100110111 (" -b11011100111010000110100110111 9" -0( -0) -0+ -0, -b10 0 -0' -#3145 -1N -b1 J -1!" -b11011100111010000110100110111 \ -b0 X -b111 ` -1_ -1Z -b11011100111010000110100110111 m -b1111110 i -b111 q -0k -b10 P -b11011100111010000110100110111 /" -b10000111 +" -b111 3" -12" -b11011100111010000110100110111 @" -b111 D" -b10 #" -b10 4 -1' -#3146 -b100110110 / -b10 2 -#3150 -b10001001 $" -1d -b0 b -0S -0V -b10001001 Q -b0 G -b10001001 s -b10001001 B -b11 A -1g -b10 O -0)" -b10 "" -b10001001010001001 8 -0= -b10001001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b1111011010001111 " -b11 . -1& -b101111001001100010010101011110 % -b101111001001100010010101011110 < -b101111001001100010010101011110 D -b101111001001100010010101011110 U -b101111001001100010010101011110 f -b101111001001100010010101011110 u -b101111001001100010010101011110 (" -b101111001001100010010101011110 9" -0( -0) -0+ -0, -b1 0 -0' -#3153 -b0 0" -#3155 -0!" -0N -b0 J -b100 7 -b10 #" -b101111001001100010010101011110 @" -b1010 D" -b101111001001100010010101011110 /" -b10001001 +" -b1010 3" -02" -b10 P -b101111001001100010010101011110 m -b0 i -b1010 q -1k -b101111001001100010010101011110 \ -b10001001 X -b1010 ` -0_ -0Z -1' -#3156 -b100110111 / -b10 2 -#3160 -b111001 $" -b10 "" -b111001 Q -b10 O -b111001 s -b111001 B -b11 A -b111001000111001 8 -b111001 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1000011100010011 " -b11 . -1& -b1110011101101110100000011 % -b1110011101101110100000011 < -b1110011101101110100000011 D -b1110011101101110100000011 U -b1110011101101110100000011 f -b1110011101101110100000011 u -b1110011101101110100000011 (" -b1110011101101110100000011 9" -0( -0) -0+ -0, -b10 0 -0' -#3165 -b1110011101101110100000011 \ -b111001 X -b1 ` -b1110011101101110100000011 m -b1 q -b10 P -b1110011101101110100000011 /" -b111001 +" -b1 3" -b1110011101101110100000011 @" -b1 D" -b10 #" -b100 7 -1' -#3166 -b100111000 / -b10 2 -#3170 -b100111 $" -b10 "" -b100111 Q -b10 O -b100111 s -b100111 B -b11 A -b100111000100111 8 -b100111 $ -b100101100011000010 " -b11 . -1& -b11011110110011101001101010111101 % -b11011110110011101001101010111101 < -b11011110110011101001101010111101 D -b11011110110011101001101010111101 U -b11011110110011101001101010111101 f -b11011110110011101001101010111101 u -b11011110110011101001101010111101 (" -b11011110110011101001101010111101 9" -0( -0) -0+ -0, -b1 0 -0' -#3175 -b100 7 -b10 #" -b11011110110011101001101010111101 @" -b11011110110011101001101010111101 /" -b100111 +" -b10 P -b11011110110011101001101010111101 m -b11011110110011101001101010111101 \ -b100111 X -1' -#3176 -b100111001 / -b10 2 -#3180 -07" -0:" -b11010010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11010010 b -1S -1V -b0 Q -b10 O -b1 G -b111010010 s -b111010010 B -b11 A -b111010010111010010 8 -b111010010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11001111100010110 " -b11 . -1& -b11001001011010000110100010010010 % -b11001001011010000110100010010010 < -b11001001011010000110100010010010 D -b11001001011010000110100010010010 U -b11001001011010000110100010010010 f -b11001001011010000110100010010010 u -b11001001011010000110100010010010 (" -b11001001011010000110100010010010 9" -0( -0) -0+ -0, -b10 0 -0' -#3185 -b1 J -b1 { -b11001001011010000110100010010010 \ -b0 X -b1111 ` -1_ -1Z -b11001001011010000110100010010010 m -b11010010 i -b1111 q -0p -0k -b10 P -b11001001011010000110100010010010 /" -b0 +" -b1111 3" -12" -1-" -b11001001011010000110100010010010 @" -b11010010 <" -b1111 D" -0C" -0>" -b10 #" -b100 7 -1' -#3186 -b100111010 / -b10 2 -#3190 -17" -b0 5" -0&" -b10011000 $" -b0 x -b1000110 b -b10011000 s -b101000110 B -b11 A -1g -b10 O -1:" -b10 "" -b10011000101000110 8 -1= -b1110001 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10011000101000110 " -b11 . -0& -b10010010000110101101010000100100 % -b10010010000110101101010000100100 < -b10010010000110101101010000100100 D -b10010010000110101101010000100100 U -b10010010000110101101010000100100 f -b10010010000110101101010000100100 u -b10010010000110101101010000100100 (" -b10010010000110101101010000100100 9" -0( -0) -0+ -0, -b1 0 -0' -#3195 -1!" -b0 { -1N -b10 4 -b10 #" -b10010010000110101101010000100100 @" -b0 <" -b1 D" -1C" -1>" -b10010010000110101101010000100100 /" -b10011000 +" -b1 3" -0-" -b10 P -b10010010000110101101010000100100 m -b1000110 i -b1 q -1p -b10010010000110101101010000100100 \ -b1 ` -1' -#3196 -b100111011 / -b10 2 -#3200 -b11000 $" -b10 "" -1d -b0 b -0S -b11000011 Q -b10 O -b0 G -b11000 s -b11000011 B -b11 A -b11000011000011 8 -b1101010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11000011000011 " -b11 . -b111010111011110001101101110101 % -b111010111011110001101101110101 < -b111010111011110001101101110101 D -b111010111011110001101101110101 U -b111010111011110001101101110101 f -b111010111011110001101101110101 u -b111010111011110001101101110101 (" -b111010111011110001101101110101 9" -0( -0) -0+ -0, -b10 0 -0' -#3205 -b0 J -b111010111011110001101101110101 \ -b11000011 X -b1100 ` -0Z -b111010111011110001101101110101 m -b0 i -b1100 q -1k -b10 P -b111010111011110001101101110101 /" -b11000 +" -b1100 3" -b111010111011110001101101110101 @" -b1100 D" -b10 #" -b10 4 -1' -#3206 -b100111100 / -b10 2 -#3210 -07" -0:" -b111010 5" -1&" -b0 $" -b1 x -0d -0g -b111010 b -1S -b0 Q -b1 G -b100111010 s -b100111010 B -b11 A -1V -b10 O -1)" -b10 "" -b100111010100111010 8 -0= -b100111010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b110000110010000101 " -b11 . -1& -b1011010001100000100001110110100 % -b1011010001100000100001110110100 < -b1011010001100000100001110110100 D -b1011010001100000100001110110100 U -b1011010001100000100001110110100 f -b1011010001100000100001110110100 u -b1011010001100000100001110110100 (" -b1011010001100000100001110110100 9" -0( -0) -0+ -0, -b1 0 -0' -#3213 -b101100010001010000001101 0" -b1101 ] -#3215 -b10110001000101000000110100000000000000000000000000001101 # -0!" -b1 { -0N -b1 J -b11 . -b10110001000101000000110100000000000000000000000000001101 ! -b10110001000101000000110100000000000000000000000000001101 ? -b11 A -b101100010001010000001101 } -b1101 L -b100 7 -b101100010001010000001101 y -b10 #" -b1011010001100000100001110110100 @" -b111010 <" -b0 D" -0C" -0>" -b1011010001100000100001110110100 /" -b0 +" -b0 3" -1-" -b1101 H -b10 P -b1011010001100000100001110110100 m -b111010 i -b0 q -0p -0k -b1011010001100000100001110110100 \ -b0 X -b0 ` -1Z -1' -#3216 -b100111101 / -b10 2 -#3220 -b11111010 5" -b10 "" -b11111010 b -b10 O -b111111010 s -b111111010 B -b11 A -b111111010111111010 8 -b111111010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101010111100100000 " -b11 . -1& -b11100011110100111010111011000111 % -b11100011110100111010111011000111 < -b11100011110100111010111011000111 D -b11100011110100111010111011000111 U -b11100011110100111010111011000111 f -b11100011110100111010111011000111 u -b11100011110100111010111011000111 (" -b11100011110100111010111011000111 9" -0( -0) -0+ -0, -b10 0 -0' -#3225 -b11100011110100111010111011000111 \ -b1111 ` -b11100011110100111010111011000111 m -b11111010 i -b1111 q -b10 P -b11100011110100111010111011000111 /" -b1111 3" -b11100011110100111010111011000111 @" -b11111010 <" -b1111 D" -b10 #" -b100 7 -1' -#3226 -b100111110 / -b10 2 -#3230 -17" -1:" -b0 5" -0&" -0)" -b10010011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10010011 Q -b10 O -b0 G -b10010011 s -b10010011 B -b11 A -b10010011010010011 8 -b10010011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110101010100001101 " -b11 . -1& -b11101111000110000100101011011110 % -b11101111000110000100101011011110 < -b11101111000110000100101011011110 D -b11101111000110000100101011011110 U -b11101111000110000100101011011110 f -b11101111000110000100101011011110 u -b11101111000110000100101011011110 (" -b11101111000110000100101011011110 9" -0( -0) -0+ -0, -b1 0 -0' -#3235 -b0 { -b0 J -b100 7 -b10 #" -b11101111000110000100101011011110 @" -b0 <" -b1110 D" -1C" -1>" -b11101111000110000100101011011110 /" -b10010011 +" -b1110 3" -02" -0-" -b10 P -b11101111000110000100101011011110 m -b0 i -b1110 q -1p -1k -b11101111000110000100101011011110 \ -b10010011 X -b1110 ` -0_ -0Z -1' -#3236 -b100111111 / -b10 2 -#3240 -07" -0:" -b1011010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1011010 b -1S -1V -b0 Q -b10 O -b1 G -b101011010 s -b101011010 B -b11 A -b101011010101011010 8 -b101011010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110011111000001 " -b11 . -1& -b1111100001001000100010111111000 % -b1111100001001000100010111111000 < -b1111100001001000100010111111000 D -b1111100001001000100010111111000 U -b1111100001001000100010111111000 f -b1111100001001000100010111111000 u -b1111100001001000100010111111000 (" -b1111100001001000100010111111000 9" -0( -0) -0+ -0, -b10 0 -0' -#3245 -b1 J -b1 { -b1111100001001000100010111111000 \ -b0 X -b100 ` -1_ -1Z -b1111100001001000100010111111000 m -b1011010 i -b100 q -0p -0k -b10 P -b1111100001001000100010111111000 /" -b0 +" -b100 3" -12" -1-" -b1111100001001000100010111111000 @" -b1011010 <" -b100 D" -0C" -0>" -b10 #" -b100 7 -1' -#3246 -b101000000 / -b10 2 -#3250 -b10111011 5" -b10100101 b -b110111011 s -b110100101 B -b11 A -1g -b10 O -1:" -b10 "" -b110111011110100101 8 -1= -b110010001 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110111011110100101 " -b11 . -0& -b10101000001011101111011001010000 % -b10101000001011101111011001010000 < -b10101000001011101111011001010000 D -b10101000001011101111011001010000 U -b10101000001011101111011001010000 f -b10101000001011101111011001010000 u -b10101000001011101111011001010000 (" -b10101000001011101111011001010000 9" -0( -0) -0+ -0, -b1 0 -0' -#3255 -1!" -1N -b10 4 -b10 #" -b10101000001011101111011001010000 @" -b10111011 <" -b1110 D" -1C" -b10101000001011101111011001010000 /" -b1110 3" -b10 P -b10101000001011101111011001010000 m -b10100101 i -b1110 q -1p -b10101000001011101111011001010000 \ -b1110 ` -1' -#3256 -b101000001 / -b10 2 -#3260 -17" -b0 5" -0&" -b10101101 $" -b10 "" -b0 x -b10101001 b -b10 O -b10101101 s -b110101001 B -b11 A -b10101101110101001 8 -b111010101 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10101101110101001 " -b11 . -b101000111110011000111101010001 % -b101000111110011000111101010001 < -b101000111110011000111101010001 D -b101000111110011000111101010001 U -b101000111110011000111101010001 f -b101000111110011000111101010001 u -b101000111110011000111101010001 (" -b101000111110011000111101010001 9" -0( -0) -0+ -0, -b10 0 -0' -#3265 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b101000111110011000111101010001 \ -b1000 ` -b101000111110011000111101010001 m -b10101001 i -b1000 q -b0 H -b10 P -b101000111110011000111101010001 /" -b10101101 +" -b1000 3" -0-" -b101000111110011000111101010001 @" -b0 <" -b1000 D" -1>" -b0 y -b10 #" -b10 4 -1' -#3266 -b101000010 / -b10 2 -#3270 -b111000 $" -b10 "" -1d -b0 b -0S -b101100 Q -b10 O -b0 G -b111000 s -b101100 B -b11 A -b111000000101100 8 -b110001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111000000101100 " -b11 . -b10010000000110001000100000100000 % -b10010000000110001000100000100000 < -b10010000000110001000100000100000 D -b10010000000110001000100000100000 U -b10010000000110001000100000100000 f -b10010000000110001000100000100000 u -b10010000000110001000100000100000 (" -b10010000000110001000100000100000 9" -0( -0) -0+ -0, -b1 0 -0' -#3273 -b111110101111011001100001111 0" -#3275 -b11111010111101100110000111100000000000000000000000000000000 # -b0 J -b11 . -b11111010111101100110000111100000000000000000000000000000000 ! -b11111010111101100110000111100000000000000000000000000000000 ? -b11 A -b111110101111011001100001111 } -b10 4 -b111110101111011001100001111 y -b10 #" -b10010000000110001000100000100000 @" -b1100 D" -b10010000000110001000100000100000 /" -b111000 +" -b1100 3" -b10 P -b10010000000110001000100000100000 m -b0 i -b1100 q -1k -b10010000000110001000100000100000 \ -b101100 X -b1100 ` -0Z -1' -#3276 -b101000011 / -b10 2 -#3280 -b10011 $" -b10 "" -b10111110 Q -b10 O -b10011 s -b10111110 B -b11 A -b10011010111110 8 -b111110111 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b10011010111110 " -b11 . -b1111111001101110110100011111 % -b1111111001101110110100011111 < -b1111111001101110110100011111 D -b1111111001101110110100011111 U -b1111111001101110110100011111 f -b1111111001101110110100011111 u -b1111111001101110110100011111 (" -b1111111001101110110100011111 9" -0( -0) -0+ -0, -b10 0 -0' -#3283 -b0 0" -b101001101000110101111001010001 ] -#3285 -b101001101000110101111001010001 # -b11 . -b101001101000110101111001010001 ! -b101001101000110101111001010001 ? -b11 A -b101001101000110101111001010001 L -b0 } -b1111111001101110110100011111 \ -b10111110 X -b110 ` -b1111111001101110110100011111 m -b110 q -b101001101000110101111001010001 H -b10 P -b1111111001101110110100011111 /" -b10011 +" -b110 3" -b1111111001101110110100011111 @" -b110 D" -b0 y -b10 #" -b10 4 -1' -#3286 -b101000100 / -b10 2 -#3290 -b1110101 $" -b10 "" -0d -b10000110 b -1S -b0 Q -b10 O -b1 G -b1110101 s -b110000110 B -b11 A -b1110101110000110 8 -b111101101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b1110101110000110 " -b11 . -b1101110101001100001110111011101 % -b1101110101001100001110111011101 < -b1101110101001100001110111011101 D -b1101110101001100001110111011101 U -b1101110101001100001110111011101 f -b1101110101001100001110111011101 u -b1101110101001100001110111011101 (" -b1101110101001100001110111011101 9" -0( -0) -0+ -0, -b1 0 -0' -#3293 -b0 ] -#3295 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1101110101001100001110111011101 @" -b1010 D" -b1101110101001100001110111011101 /" -b1110101 +" -b1010 3" -b0 H -b10 P -b1101110101001100001110111011101 m -b10000110 i -b1010 q -0k -b1101110101001100001110111011101 \ -b0 X -b1010 ` -1Z -1' -#3296 -b101000101 / -b10 2 -#3300 -07" -0:" -b10000011 5" -1&" -b0 $" -b1 x -b10000011 b -b110000011 s -b110000011 B -b11 A -0g -b10 O -1)" -b10 "" -b110000011110000011 8 -0= -b110000011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1010001010110110 " -b11 . -1& -b10001000011101011000001000010000 % -b10001000011101011000001000010000 < -b10001000011101011000001000010000 D -b10001000011101011000001000010000 U -b10001000011101011000001000010000 f -b10001000011101011000001000010000 u -b10001000011101011000001000010000 (" -b10001000011101011000001000010000 9" -0( -0) -0+ -0, -b10 0 -0' -#3303 -b1011111110111 n -#3305 -b1011111110111 # -0N -0!" -b1 { -b11 . -b1011111110111 ! -b1011111110111 ? -b11 A -b1011111110111 L -b10001000011101011000001000010000 \ -b1100 ` -b10001000011101011000001000010000 m -b10000011 i -b1100 q -0p -b1011111110111 H -b10 P -b10001000011101011000001000010000 /" -b0 +" -b1100 3" -1-" -b10001000011101011000001000010000 @" -b10000011 <" -b1100 D" -0C" -0>" -b10 #" -b100 7 -1' -#3306 -b101000110 / -b10 2 -#3310 -17" -b0 5" -0&" -b11111010 $" -b0 x -b11011001 b -b11111010 s -b111011001 B -b11 A -1g -b10 O -1:" -b10 "" -b11111010111011001 8 -1= -b100011010 $ -b11111010111011001 " -b11 . -0& -b10110110100010101000100101101 % -b10110110100010101000100101101 < -b10110110100010101000100101101 D -b10110110100010101000100101101 U -b10110110100010101000100101101 f -b10110110100010101000100101101 u -b10110110100010101000100101101 (" -b10110110100010101000100101101 9" -0( -0) -0+ -0, -b1 0 -0' -#3315 -1!" -b0 { -1N -b10 4 -b10 #" -b10110110100010101000100101101 @" -b0 <" -1C" -1>" -b10110110100010101000100101101 /" -b11111010 +" -0-" -b10 P -b10110110100010101000100101101 m -b11011001 i -1p -b10110110100010101000100101101 \ -1' -#3316 -b101000111 / -b10 2 -#3320 -07" -b11000010 5" -1&" -b0 $" -b10 "" -b1 x -b1111101 b -b10 O -b111000010 s -b101111101 B -b11 A -b111000010101111101 8 -b1011110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111000010101111101 " -b11 . -b10010011011100100110011000100110 % -b10010011011100100110011000100110 < -b10010011011100100110011000100110 D -b10010011011100100110011000100110 U -b10010011011100100110011000100110 f -b10010011011100100110011000100110 u -b10010011011100100110011000100110 (" -b10010011011100100110011000100110 9" -0( -0) -0+ -0, -b10 0 -0' -#3323 -b0 n -#3325 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10010011011100100110011000100110 \ -b1000 ` -b10010011011100100110011000100110 m -b1111101 i -b1000 q -b0 H -b10 P -b10010011011100100110011000100110 /" -b0 +" -b1000 3" -1-" -b10010011011100100110011000100110 @" -b11000010 <" -b1000 D" -0>" -b10 #" -b10 4 -1' -#3326 -b101001000 / -b10 2 -#3330 -b10000010 5" -b10 "" -1d -b0 b -0S -b11100 Q -b10 O -b0 G -b110000010 s -b11100 B -b11 A -b110000010000011100 8 -b100011111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b110000010000011100 " -b11 . -b10000100101101101101100000001001 % -b10000100101101101101100000001001 < -b10000100101101101101100000001001 D -b10000100101101101101100000001001 U -b10000100101101101101100000001001 f -b10000100101101101101100000001001 u -b10000100101101101101100000001001 (" -b10000100101101101101100000001001 9" -0( -0) -0+ -0, -b1 0 -0' -#3333 -b10011000000000000001100000000 A" -#3335 -b1001100000000000000110000000000000000000000000000000000000000 # -b0 J -b11 . -b1001100000000000000110000000000000000000000000000000000000000 ! -b1001100000000000000110000000000000000000000000000000000000000 ? -b11 A -b10011000000000000001100000000 } -b10 4 -b10011000000000000001100000000 y -b10 #" -b10000100101101101101100000001001 @" -b10000010 <" -b1011 D" -b10000100101101101101100000001001 /" -b1011 3" -b10 P -b10000100101101101101100000001001 m -b0 i -b1011 q -1k -b10000100101101101101100000001001 \ -b11100 X -b1011 ` -0Z -1' -#3336 -b101001001 / -b10 2 -#3340 -17" -b0 5" -0&" -b110110 $" -b10 "" -b0 x -b1010101 Q -b10 O -b110110 s -b1010101 B -b11 A -b110110001010101 8 -b100111011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110110001010101 " -b11 . -b11001100100101111011100010011001 % -b11001100100101111011100010011001 < -b11001100100101111011100010011001 D -b11001100100101111011100010011001 U -b11001100100101111011100010011001 f -b11001100100101111011100010011001 u -b11001100100101111011100010011001 (" -b11001100100101111011100010011001 9" -0( -0) -0+ -0, -b10 0 -0' -#3343 -b0 A" -b10001000000000010010110 ] -#3345 -b10001000000000010010110 # -b0 { -b11 . -b10001000000000010010110 ! -b10001000000000010010110 ? -b11 A -b10001000000000010010110 L -b0 } -b11001100100101111011100010011001 \ -b1010101 X -b1110 ` -b11001100100101111011100010011001 m -b1110 q -b10001000000000010010110 H -b10 P -b11001100100101111011100010011001 /" -b110110 +" -b1110 3" -0-" -b11001100100101111011100010011001 @" -b0 <" -b1110 D" -1>" -b0 y -b10 #" -b10 4 -1' -#3346 -b101001010 / -b10 2 -#3350 -07" -0:" -b11001011 5" -1&" -b0 $" -b1 x -0d -0g -b11001011 b -1S -b0 Q -b1 G -b111001011 s -b111001011 B -b11 A -1V -b10 O -1)" -b10 "" -b111001011111001011 8 -0= -b111001011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100100010001111100 " -b11 . -1& -b11001111001110000010100010011110 % -b11001111001110000010100010011110 < -b11001111001110000010100010011110 D -b11001111001110000010100010011110 U -b11001111001110000010100010011110 f -b11001111001110000010100010011110 u -b11001111001110000010100010011110 (" -b11001111001110000010100010011110 9" -0( -0) -0+ -0, -b1 0 -0' -#3353 -b0 ] -#3355 -b0 # -0!" -b1 { -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b11001111001110000010100010011110 @" -b11001011 <" -b1101 D" -0C" -0>" -b11001111001110000010100010011110 /" -b0 +" -b1101 3" -1-" -b0 H -b10 P -b11001111001110000010100010011110 m -b11001011 i -b1101 q -0p -0k -b11001111001110000010100010011110 \ -b0 X -b1101 ` -1Z -1' -#3356 -b101001011 / -b10 2 -#3360 -b11111010 5" -b10 "" -b11111010 b -b10 O -b111111010 s -b111111010 B -b11 A -b111111010111111010 8 -b111111010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101011101010110010 " -b11 . -1& -b11111001110110001100011011110011 % -b11111001110110001100011011110011 < -b11111001110110001100011011110011 D -b11111001110110001100011011110011 U -b11111001110110001100011011110011 f -b11111001110110001100011011110011 u -b11111001110110001100011011110011 (" -b11111001110110001100011011110011 9" -0( -0) -0+ -0, -b10 0 -0' -#3365 -b11111001110110001100011011110011 \ -b111 ` -b11111001110110001100011011110011 m -b11111010 i -b111 q -b10 P -b11111001110110001100011011110011 /" -b111 3" -b11111001110110001100011011110011 @" -b11111010 <" -b111 D" -b10 #" -b100 7 -1' -#3366 -b101001100 / -b10 2 -#3370 -b11000000 5" -b100 b -b111000000 s -b100000100 B -b11 A -1g -b10 O -1:" -b10 "" -b111000000100000100 8 -1= -b101101011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111000000100000100 " -b11 . -0& -b10010010101011000000111000100101 % -b10010010101011000000111000100101 < -b10010010101011000000111000100101 D -b10010010101011000000111000100101 U -b10010010101011000000111000100101 f -b10010010101011000000111000100101 u -b10010010101011000000111000100101 (" -b10010010101011000000111000100101 9" -0( -0) -0+ -0, -b1 0 -0' -#3375 -1!" -1N -b10 4 -b10 #" -b10010010101011000000111000100101 @" -b11000000 <" -b10 D" -1C" -b10010010101011000000111000100101 /" -b10 3" -b10 P -b10010010101011000000111000100101 m -b100 i -b10 q -1p -b10010010101011000000111000100101 \ -b10 ` -1' -#3376 -b101001101 / -b10 2 -#3380 -17" -b0 5" -0&" -0)" -b10101101 $" -b0 x -1d -b0 b -0S -0V -b10101101 Q -b0 G -b10101101 s -b10101101 B -b11 A -1g -b10 O -1:" -b10 "" -b10101101010101101 8 -0= -b10101101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1111110000100 " -b11 . -1& -b1011100010110010010100110111000 % -b1011100010110010010100110111000 < -b1011100010110010010100110111000 D -b1011100010110010010100110111000 U -b1011100010110010010100110111000 f -b1011100010110010010100110111000 u -b1011100010110010010100110111000 (" -b1011100010110010010100110111000 9" -0( -0) -0+ -0, -b10 0 -0' -#3385 -0N -b0 J -0!" -b0 { -b1011100010110010010100110111000 \ -b10101101 X -b100 ` -0_ -0Z -b1011100010110010010100110111000 m -b0 i -b100 q -1k -b10 P -b1011100010110010010100110111000 /" -b10101101 +" -b100 3" -02" -0-" -b1011100010110010010100110111000 @" -b0 <" -b100 D" -1>" -b10 #" -b100 7 -1' -#3386 -b101001110 / -b10 2 -#3390 -b10000010 $" -b10 "" -b10000010 Q -b10 O -b10000010 s -b10000010 B -b11 A -b10000010010000010 8 -b10000010 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11001100110101111 " -b11 . -1& -b10110101110001100101010001101011 % -b10110101110001100101010001101011 < -b10110101110001100101010001101011 D -b10110101110001100101010001101011 U -b10110101110001100101010001101011 f -b10110101110001100101010001101011 u -b10110101110001100101010001101011 (" -b10110101110001100101010001101011 9" -0( -0) -0+ -0, -b1 0 -0' -#3395 -b100 7 -b10 #" -b10110101110001100101010001101011 @" -b1110 D" -b10110101110001100101010001101011 /" -b10000010 +" -b1110 3" -b10 P -b10110101110001100101010001101011 m -b1110 q -b10110101110001100101010001101011 \ -b10000010 X -b1110 ` -1' -#3396 -b101001111 / -b10 2 -#3400 -07" -b11011100 5" -1&" -b0 $" -b1 x -0d -b10001100 b -1S -b0 Q -b1 G -b111011100 s -b110001100 B -b11 A -1V -b10 O -1)" -b10 "" -b111011100110001100 8 -1= -b110011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111011100110001100 " -b11 . -0& -b101001110101101110001101010011 % -b101001110101101110001101010011 < -b101001110101101110001101010011 D -b101001110101101110001101010011 U -b101001110101101110001101010011 f -b101001110101101110001101010011 u -b101001110101101110001101010011 (" -b101001110101101110001101010011 9" -0( -0) -0+ -0, -b10 0 -0' -#3405 -1N -b1 J -1!" -b1 { -b101001110101101110001101010011 \ -b0 X -b1101 ` -1_ -1Z -b101001110101101110001101010011 m -b10001100 i -b1101 q -0k -b10 P -b101001110101101110001101010011 /" -b0 +" -b1101 3" -12" -1-" -b101001110101101110001101010011 @" -b11011100 <" -b1101 D" -0>" -b10 #" -b10 4 -1' -#3406 -b101010000 / -b10 2 -#3410 -17" -b0 5" -0&" -0)" -b10001101 $" -b0 x -1d -b0 b -0S -0V -b10001101 Q -b0 G -b10001101 s -b10001101 B -b11 A -1g -b10 O -1:" -b10 "" -b10001101010001101 8 -0= -b10001101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10010101010011100 " -b11 . -1& -b101111100111100110001101011111 % -b101111100111100110001101011111 < -b101111100111100110001101011111 D -b101111100111100110001101011111 U -b101111100111100110001101011111 f -b101111100111100110001101011111 u -b101111100111100110001101011111 (" -b101111100111100110001101011111 9" -0( -0) -0+ -0, -b1 0 -0' -#3415 -0!" -b0 { -0N -b0 J -b100 7 -b10 #" -b101111100111100110001101011111 @" -b0 <" -b1010 D" -1>" -b101111100111100110001101011111 /" -b10001101 +" -b1010 3" -02" -0-" -b10 P -b101111100111100110001101011111 m -b0 i -b1010 q -1k -b101111100111100110001101011111 \ -b10001101 X -b1010 ` -0_ -0Z -1' -#3416 -b101010001 / -b10 2 -#3420 -07" -b10100100 5" -1&" -b0 $" -b1 x -b11100001 Q -b110100100 s -b11100001 B -b11 A -1V -b10 O -1)" -b10 "" -b110100100011100001 8 -1= -b110111001 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110100100011100001 " -b11 . -0& -b11001010000011111000011010010100 % -b11001010000011111000011010010100 < -b11001010000011111000011010010100 D -b11001010000011111000011010010100 U -b11001010000011111000011010010100 f -b11001010000011111000011010010100 u -b11001010000011111000011010010100 (" -b11001010000011111000011010010100 9" -0( -0) -0+ -0, -b10 0 -0' -#3425 -1N -1!" -b1 { -b11001010000011111000011010010100 \ -b11100001 X -b101 ` -1_ -b11001010000011111000011010010100 m -b101 q -b10 P -b11001010000011111000011010010100 /" -b0 +" -b101 3" -12" -1-" -b11001010000011111000011010010100 @" -b10100100 <" -b101 D" -0>" -b10 #" -b10 4 -1' -#3426 -b101010010 / -b10 2 -#3430 -17" -b0 5" -0&" -b1000110 $" -b10 "" -b0 x -0d -b1100101 b -1S -b0 Q -b10 O -b1 G -b1000110 s -b101100101 B -b11 A -b1000110101100101 8 -b11100000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1000110101100101 " -b11 . -b110101011111001101100101101010 % -b110101011111001101100101101010 < -b110101011111001101100101101010 D -b110101011111001101100101101010 U -b110101011111001101100101101010 f -b110101011111001101100101101010 u -b110101011111001101100101101010 (" -b110101011111001101100101101010 9" -0( -0) -0+ -0, -b1 0 -0' -#3433 -b1001001000000001111101110010011 A" -#3435 -b100100100000000111110111001001100000000000000000000000000000000 # -b0 { -b1 J -b11 . -b100100100000000111110111001001100000000000000000000000000000000 ! -b100100100000000111110111001001100000000000000000000000000000000 ? -b11 A -b1001001000000001111101110010011 } -b10 4 -b1001001000000001111101110010011 y -b10 #" -b110101011111001101100101101010 @" -b0 <" -b10 D" -1>" -b110101011111001101100101101010 /" -b1000110 +" -b10 3" -0-" -b10 P -b110101011111001101100101101010 m -b1100101 i -b10 q -0k -b110101011111001101100101101010 \ -b0 X -b10 ` -1Z -1' -#3436 -b101010011 / -b10 2 -#3440 -07" -0:" -1&" -b0 $" -b1 x -b0 b -b100000000 s -b100000000 B -b11 A -0g -b10 O -1)" -b10 "" -b100000000100000000 8 -0= -b100000000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111110011101111110 " -b11 . -1& -b11001010011010000100110010010100 % -b11001010011010000100110010010100 < -b11001010011010000100110010010100 D -b11001010011010000100110010010100 U -b11001010011010000100110010010100 f -b11001010011010000100110010010100 u -b11001010011010000100110010010100 (" -b11001010011010000100110010010100 9" -0( -0) -0+ -0, -b10 0 -0' -#3443 -b1111111010110110 0" -b11101000000000000000000011010001 n -#3445 -b111111101011011011101000000000000000000011010001 # -0N -0!" -b1 { -b11 . -b111111101011011011101000000000000000000011010001 ! -b111111101011011011101000000000000000000011010001 ? -b11 A -b11101000000000000000000011010001 L -b1111111010110110 } -b11001010011010000100110010010100 \ -b1111 ` -b11001010011010000100110010010100 m -b0 i -b1111 q -0p -b11101000000000000000000011010001 H -b10 P -b11001010011010000100110010010100 /" -b0 +" -b1111 3" -1-" -b11001010011010000100110010010100 @" -b1111 D" -0C" -0>" -b1111111010110110 y -b10 #" -b100 7 -1' -#3446 -b101010100 / -b10 2 -#3450 -17" -0&" -b10000010 $" -b0 x -b1101100 b -b10000010 s -b101101100 B -b11 A -1g -b10 O -1:" -b10 "" -b10000010101101100 8 -1= -b110110000 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10000010101101100 " -b11 . -0& -b11100000110110000011100011000001 % -b11100000110110000011100011000001 < -b11100000110110000011100011000001 D -b11100000110110000011100011000001 U -b11100000110110000011100011000001 f -b11100000110110000011100011000001 u -b11100000110110000011100011000001 (" -b11100000110110000011100011000001 9" -0( -0) -0+ -0, -b1 0 -0' -#3455 -1!" -b0 { -1N -b10 4 -b10 #" -b11100000110110000011100011000001 @" -b11 D" -1C" -1>" -b11100000110110000011100011000001 /" -b10000010 +" -b11 3" -0-" -b10 P -b11100000110110000011100011000001 m -b1101100 i -b11 q -1p -b11100000110110000011100011000001 \ -b11 ` -1' -#3456 -b101010101 / -b10 2 -#3460 -b10111101 $" -b10 "" -b1111001 b -b10 O -b10111101 s -b101111001 B -b11 A -b10111101101111001 8 -b1100011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b10111101101111001 " -b11 . -b10100010111000010100001001000101 % -b10100010111000010100001001000101 < -b10100010111000010100001001000101 D -b10100010111000010100001001000101 U -b10100010111000010100001001000101 f -b10100010111000010100001001000101 u -b10100010111000010100001001000101 (" -b10100010111000010100001001000101 9" -0( -0) -0+ -0, -b10 0 -0' -#3463 -b10110101110001100101010010000001 0" -b0 n -#3465 -b1011010111000110010101001000000100000000000000000000000000000000 # -b11 . -b1011010111000110010101001000000100000000000000000000000000000000 ! -b1011010111000110010101001000000100000000000000000000000000000000 ? -b11 A -b0 L -b10110101110001100101010010000001 } -b10100010111000010100001001000101 \ -b1100 ` -b10100010111000010100001001000101 m -b1111001 i -b1100 q -b0 H -b10 P -b10100010111000010100001001000101 /" -b10111101 +" -b1100 3" -b10100010111000010100001001000101 @" -b1100 D" -b10110101110001100101010010000001 y -b10 #" -b10 4 -1' -#3466 -b101010110 / -b10 2 -#3470 -b10001010 $" -b10 "" -b1011110 b -b10 O -b10001010 s -b101011110 B -b11 A -b10001010101011110 8 -b101001101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b10001010101011110 " -b11 . -b1100001101010000111100111000011 % -b1100001101010000111100111000011 < -b1100001101010000111100111000011 D -b1100001101010000111100111000011 U -b1100001101010000111100111000011 f -b1100001101010000111100111000011 u -b1100001101010000111100111000011 (" -b1100001101010000111100111000011 9" -0( -0) -0+ -0, -b1 0 -0' -#3473 -b0 0" -#3475 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b1100001101010000111100111000011 @" -b1111 D" -b1100001101010000111100111000011 /" -b10001010 +" -b1111 3" -b10 P -b1100001101010000111100111000011 m -b1011110 i -b1111 q -b1100001101010000111100111000011 \ -b1111 ` -1' -#3476 -b101010111 / -b10 2 -#3480 -b10100 $" -1d -b0 b -0S -0V -b10100 Q -b0 G -b10100 s -b10100 B -b11 A -1g -b10 O -0)" -b10 "" -b10100000010100 8 -0= -b10100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110000001001111001 " -b11 . -1& -b10010010000110110101101000100100 % -b10010010000110110101101000100100 < -b10010010000110110101101000100100 D -b10010010000110110101101000100100 U -b10010010000110110101101000100100 f -b10010010000110110101101000100100 u -b10010010000110110101101000100100 (" -b10010010000110110101101000100100 9" -0( -0) -0+ -0, -b10 0 -0' -#3483 -b1110001001111111010101100000000 0" -#3485 -b111000100111111101010110000000000000000000000000000000000000000 # -0N -b0 J -0!" -b11 . -b111000100111111101010110000000000000000000000000000000000000000 ! -b111000100111111101010110000000000000000000000000000000000000000 ? -b11 A -b1110001001111111010101100000000 } -b10010010000110110101101000100100 \ -b10100 X -b110 ` -0_ -0Z -b10010010000110110101101000100100 m -b0 i -b110 q -1k -b10 P -b10010010000110110101101000100100 /" -b10100 +" -b110 3" -02" -b10010010000110110101101000100100 @" -b110 D" -b1110001001111111010101100000000 y -b10 #" -b100 7 -1' -#3486 -b101011000 / -b10 2 -#3490 -07" -b11010101 5" -1&" -b0 $" -b1 x -0d -b10011110 b -1S -b0 Q -b1 G -b111010101 s -b110011110 B -b11 A -1V -b10 O -1)" -b10 "" -b111010101110011110 8 -1= -b1000001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111010101110011110 " -b11 . -0& -b11110111110011011001100111101 % -b11110111110011011001100111101 < -b11110111110011011001100111101 D -b11110111110011011001100111101 U -b11110111110011011001100111101 f -b11110111110011011001100111101 u -b11110111110011011001100111101 (" -b11110111110011011001100111101 9" -0( -0) -0+ -0, -b1 0 -0' -#3495 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b11110111110011011001100111101 @" -b11010101 <" -b1001 D" -0>" -b11110111110011011001100111101 /" -b0 +" -b1001 3" -12" -1-" -b10 P -b11110111110011011001100111101 m -b10011110 i -b1001 q -0k -b11110111110011011001100111101 \ -b0 X -b1001 ` -1_ -1Z -1' -#3496 -b101011001 / -b10 2 -#3500 -b10110000 5" -b10110000 b -b110110000 s -b110110000 B -b11 A -0g -b10 O -0:" -b10 "" -b110110000110110000 8 -0= -b110110000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11101110110110001 " -b11 . -1& -b10110010111110011001010001100101 % -b10110010111110011001010001100101 < -b10110010111110011001010001100101 D -b10110010111110011001010001100101 U -b10110010111110011001010001100101 f -b10110010111110011001010001100101 u -b10110010111110011001010001100101 (" -b10110010111110011001010001100101 9" -0( -0) -0+ -0, -b10 0 -0' -#3503 -b0 A" -b10011011000000000000000000110110 n -#3505 -b10011011000000000000000000110110 # -0N -0!" -b11 . -b10011011000000000000000000110110 ! -b10011011000000000000000000110110 ? -b11 A -b10011011000000000000000000110110 L -b0 } -b10110010111110011001010001100101 \ -b101 ` -b10110010111110011001010001100101 m -b10110000 i -b101 q -0p -b10011011000000000000000000110110 H -b10 P -b10110010111110011001010001100101 /" -b101 3" -b10110010111110011001010001100101 @" -b10110000 <" -b101 D" -0C" -b0 y -b10 #" -b100 7 -1' -#3506 -b101011010 / -b10 2 -#3510 -17" -1:" -b0 5" -0&" -0)" -b11000101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11000101 Q -b10 O -b0 G -b11000101 s -b11000101 B -b11 A -b11000101011000101 8 -b11000101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b10101011101011101 " -b11 . -1& -b101111011001011011100101011110 % -b101111011001011011100101011110 < -b101111011001011011100101011110 D -b101111011001011011100101011110 U -b101111011001011011100101011110 f -b101111011001011011100101011110 u -b101111011001011011100101011110 (" -b101111011001011011100101011110 9" -0( -0) -0+ -0, -b1 0 -0' -#3515 -b0 { -b0 J -b100 7 -b10 #" -b101111011001011011100101011110 @" -b0 <" -b1111 D" -1C" -1>" -b101111011001011011100101011110 /" -b11000101 +" -b1111 3" -02" -0-" -b10 P -b101111011001011011100101011110 m -b0 i -b1111 q -1p -1k -b101111011001011011100101011110 \ -b11000101 X -b1111 ` -0_ -0Z -1' -#3516 -b101011011 / -b10 2 -#3520 -07" -b1110010 5" -1&" -b0 $" -b1 x -0d -b110101 b -1S -b0 Q -b1 G -b101110010 s -b100110101 B -b11 A -1V -b10 O -1)" -b10 "" -b101110010100110101 8 -1= -b11111011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101110010100110101 " -b11 . -0& -b101101001001010001111101011010 % -b101101001001010001111101011010 < -b101101001001010001111101011010 D -b101101001001010001111101011010 U -b101101001001010001111101011010 f -b101101001001010001111101011010 u -b101101001001010001111101011010 (" -b101101001001010001111101011010 9" -0( -0) -0+ -0, -b10 0 -0' -#3525 -1N -b1 J -1!" -b1 { -b101101001001010001111101011010 \ -b0 X -b1011 ` -1_ -1Z -b101101001001010001111101011010 m -b110101 i -b1011 q -0k -b10 P -b101101001001010001111101011010 /" -b0 +" -b1011 3" -12" -1-" -b101101001001010001111101011010 @" -b1110010 <" -b1011 D" -0>" -b10 #" -b10 4 -1' -#3526 -b101011100 / -b10 2 -#3530 -b11111110 5" -b10 "" -b11010100 b -b10 O -b111111110 s -b111010100 B -b11 A -b111111110111010100 8 -b11001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111111110111010100 " -b11 . -b1000100110111001011100110001001 % -b1000100110111001011100110001001 < -b1000100110111001011100110001001 D -b1000100110111001011100110001001 U -b1000100110111001011100110001001 f -b1000100110111001011100110001001 u -b1000100110111001011100110001001 (" -b1000100110111001011100110001001 9" -0( -0) -0+ -0, -b1 0 -0' -#3533 -b0 n -#3535 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1000100110111001011100110001001 @" -b11111110 <" -b110 D" -b1000100110111001011100110001001 /" -b110 3" -b0 H -b10 P -b1000100110111001011100110001001 m -b11010100 i -b110 q -b1000100110111001011100110001001 \ -b110 ` -1' -#3536 -b101011101 / -b10 2 -#3540 -17" -b0 5" -0&" -0)" -b1011000 $" -b0 x -1d -b0 b -0S -0V -b1011000 Q -b0 G -b1011000 s -b1011000 B -b11 A -1g -b10 O -1:" -b10 "" -b1011000001011000 8 -0= -b1011000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11001010110100100 " -b11 . -1& -b10110010011111000111000001100100 % -b10110010011111000111000001100100 < -b10110010011111000111000001100100 D -b10110010011111000111000001100100 U -b10110010011111000111000001100100 f -b10110010011111000111000001100100 u -b10110010011111000111000001100100 (" -b10110010011111000111000001100100 9" -0( -0) -0+ -0, -b10 0 -0' -#3545 -0N -b0 J -0!" -b0 { -b10110010011111000111000001100100 \ -b1011000 X -b1111 ` -0_ -0Z -b10110010011111000111000001100100 m -b0 i -b1111 q -1k -b10 P -b10110010011111000111000001100100 /" -b1011000 +" -b1111 3" -02" -0-" -b10110010011111000111000001100100 @" -b0 <" -b1111 D" -1>" -b10 #" -b100 7 -1' -#3546 -b101011110 / -b10 2 -#3550 -07" -0:" -b100110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b100110 b -1S -1V -b0 Q -b10 O -b1 G -b100100110 s -b100100110 B -b11 A -b100100110100100110 8 -b100100110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101111001000101101 " -b11 . -1& -b11110010111001001101110011100101 % -b11110010111001001101110011100101 < -b11110010111001001101110011100101 D -b11110010111001001101110011100101 U -b11110010111001001101110011100101 f -b11110010111001001101110011100101 u -b11110010111001001101110011100101 (" -b11110010111001001101110011100101 9" -0( -0) -0+ -0, -b1 0 -0' -#3555 -b1 { -b1 J -b100 7 -b10 #" -b11110010111001001101110011100101 @" -b100110 <" -b100 D" -0C" -0>" -b11110010111001001101110011100101 /" -b0 +" -b100 3" -12" -1-" -b10 P -b11110010111001001101110011100101 m -b100110 i -b100 q -0p -0k -b11110010111001001101110011100101 \ -b0 X -b100 ` -1_ -1Z -1' -#3556 -b101011111 / -b10 2 -#3560 -b1110110 5" -1d -b0 b -0S -b11000100 Q -b0 G -b101110110 s -b11000100 B -b11 A -1g -b10 O -1:" -b10 "" -b101110110011000100 8 -1= -b111101101 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101110110011000100 " -b11 . -0& -b10001110001101010110111000011100 % -b10001110001101010110111000011100 < -b10001110001101010110111000011100 D -b10001110001101010110111000011100 U -b10001110001101010110111000011100 f -b10001110001101010110111000011100 u -b10001110001101010110111000011100 (" -b10001110001101010110111000011100 9" -0( -0) -0+ -0, -b10 0 -0' -#3565 -1N -b0 J -1!" -b10001110001101010110111000011100 \ -b11000100 X -b101 ` -0Z -b10001110001101010110111000011100 m -b0 i -b101 q -1p -1k -b10 P -b10001110001101010110111000011100 /" -b101 3" -b10001110001101010110111000011100 @" -b1110110 <" -b101 D" -1C" -b10 #" -b10 4 -1' -#3566 -b101100000 / -b10 2 -#3570 -17" -b0 5" -0&" -0)" -b11001011 $" -b0 x -b11001011 Q -b11001011 s -b11001011 B -b11 A -0V -b10 O -1:" -b10 "" -b11001011011001011 8 -0= -b11001011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110011011000100010 " -b11 . -1& -b1100001110001110101100011000 % -b1100001110001110101100011000 < -b1100001110001110101100011000 D -b1100001110001110101100011000 U -b1100001110001110101100011000 f -b1100001110001110101100011000 u -b1100001110001110101100011000 (" -b1100001110001110101100011000 9" -0( -0) -0+ -0, -b1 0 -0' -#3575 -0!" -b0 { -0N -b100 7 -b10 #" -b1100001110001110101100011000 @" -b0 <" -b1000 D" -1>" -b1100001110001110101100011000 /" -b11001011 +" -b1000 3" -02" -0-" -b10 P -b1100001110001110101100011000 m -b1000 q -b1100001110001110101100011000 \ -b11001011 X -b1000 ` -0_ -1' -#3576 -b101100001 / -b10 2 -#3580 -07" -0:" -b11100011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11100011 b -1S -1V -b0 Q -b10 O -b1 G -b111100011 s -b111100011 B -b11 A -b111100011111100011 8 -b111100011 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b110110111111100101 " -b11 . -1& -b1111001110101000100100011110 % -b1111001110101000100100011110 < -b1111001110101000100100011110 D -b1111001110101000100100011110 U -b1111001110101000100100011110 f -b1111001110101000100100011110 u -b1111001110101000100100011110 (" -b1111001110101000100100011110 9" -0( -0) -0+ -0, -b10 0 -0' -#3585 -b1 J -b1 { -b1111001110101000100100011110 \ -b0 X -b0 ` -1_ -1Z -b1111001110101000100100011110 m -b11100011 i -b0 q -0p -0k -b10 P -b1111001110101000100100011110 /" -b0 +" -b0 3" -12" -1-" -b1111001110101000100100011110 @" -b11100011 <" -b0 D" -0C" -0>" -b10 #" -b100 7 -1' -#3586 -b101100010 / -b10 2 -#3590 -b11000101 5" -b10 "" -b11000101 b -b10 O -b111000101 s -b111000101 B -b11 A -b111000101111000101 8 -b111000101 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101101011111111 " -b11 . -1& -b100100011011011110011101001000 % -b100100011011011110011101001000 < -b100100011011011110011101001000 D -b100100011011011110011101001000 U -b100100011011011110011101001000 f -b100100011011011110011101001000 u -b100100011011011110011101001000 (" -b100100011011011110011101001000 9" -0( -0) -0+ -0, -b1 0 -0' -#3595 -b100 7 -b10 #" -b100100011011011110011101001000 @" -b11000101 <" -b110 D" -b100100011011011110011101001000 /" -b110 3" -b10 P -b100100011011011110011101001000 m -b11000101 i -b110 q -b100100011011011110011101001000 \ -b110 ` -1' -#3596 -b101100011 / -b10 2 -#3600 -17" -b0 5" -0&" -b1111101 $" -b0 x -b11111001 b -b1111101 s -b111111001 B -b11 A -1g -b10 O -1:" -b10 "" -b1111101111111001 8 -1= -b10010100 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1111101111111001 " -b11 . -0& -b111110000010101101101101111100 % -b111110000010101101101101111100 < -b111110000010101101101101111100 D -b111110000010101101101101111100 U -b111110000010101101101101111100 f -b111110000010101101101101111100 u -b111110000010101101101101111100 (" -b111110000010101101101101111100 9" -0( -0) -0+ -0, -b10 0 -0' -#3605 -1N -1!" -b0 { -b111110000010101101101101111100 \ -b111 ` -b111110000010101101101101111100 m -b11111001 i -b111 q -1p -b10 P -b111110000010101101101101111100 /" -b1111101 +" -b111 3" -0-" -b111110000010101101101101111100 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b10 4 -1' -#3606 -b101100100 / -b10 2 -#3610 -07" -0:" -b10010100 5" -1&" -b0 $" -b1 x -b10010100 b -b110010100 s -b110010100 B -b11 A -0g -b10 O -1)" -b10 "" -b110010100110010100 8 -0= -b110010100 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10110110101101111 " -b11 . -1& -b11111100000001111010111011111000 % -b11111100000001111010111011111000 < -b11111100000001111010111011111000 D -b11111100000001111010111011111000 U -b11111100000001111010111011111000 f -b11111100000001111010111011111000 u -b11111100000001111010111011111000 (" -b11111100000001111010111011111000 9" -0( -0) -0+ -0, -b1 0 -0' -#3613 -b0 0" -#3615 -0!" -b1 { -0N -b100 7 -b10 #" -b11111100000001111010111011111000 @" -b10010100 <" -b1010 D" -0C" -0>" -b11111100000001111010111011111000 /" -b0 +" -b1010 3" -1-" -b10 P -b11111100000001111010111011111000 m -b10010100 i -b1010 q -0p -b11111100000001111010111011111000 \ -b1010 ` -1' -#3616 -b101100101 / -b10 2 -#3620 -b1101 5" -b1001 b -b100001101 s -b100001001 B -b11 A -1g -b10 O -1:" -b10 "" -b100001101100001001 8 -1= -b110101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100001101100001001 " -b11 . -0& -b1000111001001010101000110001110 % -b1000111001001010101000110001110 < -b1000111001001010101000110001110 D -b1000111001001010101000110001110 U -b1000111001001010101000110001110 f -b1000111001001010101000110001110 u -b1000111001001010101000110001110 (" -b1000111001001010101000110001110 9" -0( -0) -0+ -0, -b10 0 -0' -#3625 -1N -1!" -b1000111001001010101000110001110 \ -b1100 ` -b1000111001001010101000110001110 m -b1001 i -b1100 q -1p -b10 P -b1000111001001010101000110001110 /" -b1100 3" -b1000111001001010101000110001110 @" -b1101 <" -b1100 D" -1C" -b10 #" -b10 4 -1' -#3626 -b101100110 / -b10 2 -#3630 -b1001110 5" -b1001110 b -b101001110 s -b101001110 B -b11 A -0g -b10 O -0:" -b10 "" -b101001110101001110 8 -0= -b101001110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1100011000100111 " -b11 . -1& -b110001001001001001111101100010 % -b110001001001001001111101100010 < -b110001001001001001111101100010 D -b110001001001001001111101100010 U -b110001001001001001111101100010 f -b110001001001001001111101100010 u -b110001001001001001111101100010 (" -b110001001001001001111101100010 9" -0( -0) -0+ -0, -b1 0 -0' -#3633 -b11100111000000001011110000000010 n -#3635 -b11100111000000001011110000000010 # -0!" -0N -b11 . -b11100111000000001011110000000010 ! -b11100111000000001011110000000010 ? -b11 A -b11100111000000001011110000000010 L -b100 7 -b10 #" -b110001001001001001111101100010 @" -b1001110 <" -b1001 D" -0C" -b110001001001001001111101100010 /" -b1001 3" -b11100111000000001011110000000010 H -b10 P -b110001001001001001111101100010 m -b1001110 i -b1001 q -0p -b110001001001001001111101100010 \ -b1001 ` -1' -#3636 -b101100111 / -b10 2 -#3640 -17" -b0 5" -0&" -b1011011 $" -b0 x -1d -b0 b -0S -b11101111 Q -b0 G -b1011011 s -b11101111 B -b11 A -1g -b10 O -1:" -b10 "" -b1011011011101111 8 -1= -b110011110 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1011011011101111 " -b11 . -0& -b11111101110001101011110011111011 % -b11111101110001101011110011111011 < -b11111101110001101011110011111011 D -b11111101110001101011110011111011 U -b11111101110001101011110011111011 f -b11111101110001101011110011111011 u -b11111101110001101011110011111011 (" -b11111101110001101011110011111011 9" -0( -0) -0+ -0, -b10 0 -0' -#3645 -1N -b0 J -1!" -b0 { -b11111101110001101011110011111011 \ -b11101111 X -b1100 ` -0Z -b11111101110001101011110011111011 m -b0 i -b1100 q -1p -1k -b10 P -b11111101110001101011110011111011 /" -b1011011 +" -b1100 3" -0-" -b11111101110001101011110011111011 @" -b0 <" -b1100 D" -1C" -1>" -b10 #" -b10 4 -1' -#3646 -b101101000 / -b10 2 -#3650 -b1000010 $" -b10 "" -0d -b10001 b -1S -b0 Q -b10 O -b1 G -b1000010 s -b100010001 B -b11 A -b1000010100010001 8 -b11001010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1000010100010001 " -b11 . -b11101100101010000010100011011001 % -b11101100101010000010100011011001 < -b11101100101010000010100011011001 D -b11101100101010000010100011011001 U -b11101100101010000010100011011001 f -b11101100101010000010100011011001 u -b11101100101010000010100011011001 (" -b11101100101010000010100011011001 9" -0( -0) -0+ -0, -b1 0 -0' -#3653 -b100101000000000001100001001010 0" -#3655 -b10010100000000000110000100101000000000000000000000000000000000 # -b1 J -b11 . -b10010100000000000110000100101000000000000000000000000000000000 ! -b10010100000000000110000100101000000000000000000000000000000000 ? -b11 A -b100101000000000001100001001010 } -b0 L -b10 4 -b100101000000000001100001001010 y -b10 #" -b11101100101010000010100011011001 @" -b100 D" -b11101100101010000010100011011001 /" -b1000010 +" -b100 3" -b0 H -b10 P -b11101100101010000010100011011001 m -b10001 i -b100 q -0k -b11101100101010000010100011011001 \ -b0 X -b100 ` -1Z -1' -#3656 -b101101001 / -b10 2 -#3660 -07" -0:" -b10010 5" -1&" -b0 $" -b1 x -b10010 b -b100010010 s -b100010010 B -b11 A -0g -b10 O -1)" -b10 "" -b100010010100010010 8 -0= -b100010010 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b10011001111100010 " -b11 . -1& -b111100000101111111100001111 % -b111100000101111111100001111 < -b111100000101111111100001111 D -b111100000101111111100001111 U -b111100000101111111100001111 f -b111100000101111111100001111 u -b111100000101111111100001111 (" -b111100000101111111100001111 9" -0( -0) -0+ -0, -b10 0 -0' -#3663 -b10010001100010100000000000000000 0" -b0 n -#3665 -b1001000110001010000000000000000000000000000000000000000000000000 # -0N -0!" -b1 { -b11 . -b1001000110001010000000000000000000000000000000000000000000000000 ! -b1001000110001010000000000000000000000000000000000000000000000000 ? -b11 A -b10010001100010100000000000000000 } -b111100000101111111100001111 \ -b1110 ` -b111100000101111111100001111 m -b10010 i -b1110 q -0p -b10 P -b111100000101111111100001111 /" -b0 +" -b1110 3" -1-" -b111100000101111111100001111 @" -b10010 <" -b1110 D" -0C" -0>" -b10010001100010100000000000000000 y -b10 #" -b100 7 -1' -#3666 -b101101010 / -b10 2 -#3670 -b11110 5" -b11000001 b -b100011110 s -b111000001 B -b11 A -1g -b10 O -1:" -b10 "" -b100011110111000001 8 -1= -b110111100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100011110111000001 " -b11 . -0& -b11011011100011001000010010110111 % -b11011011100011001000010010110111 < -b11011011100011001000010010110111 D -b11011011100011001000010010110111 U -b11011011100011001000010010110111 f -b11011011100011001000010010110111 u -b11011011100011001000010010110111 (" -b11011011100011001000010010110111 9" -0( -0) -0+ -0, -b1 0 -0' -#3675 -1!" -1N -b10 4 -b10 #" -b11011011100011001000010010110111 @" -b11110 <" -b1 D" -1C" -b11011011100011001000010010110111 /" -b1 3" -b10 P -b11011011100011001000010010110111 m -b11000001 i -b1 q -1p -b11011011100011001000010010110111 \ -b1 ` -1' -#3676 -b101101011 / -b10 2 -#3680 -b1010111 5" -b1010111 b -b101010111 s -b101010111 B -b11 A -0g -b10 O -0:" -b10 "" -b101010111101010111 8 -0= -b101010111 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b10000001000110111 " -b11 . -1& -b11010000000000010010001010100000 % -b11010000000000010010001010100000 < -b11010000000000010010001010100000 D -b11010000000000010010001010100000 U -b11010000000000010010001010100000 f -b11010000000000010010001010100000 u -b11010000000000010010001010100000 (" -b11010000000000010010001010100000 9" -0( -0) -0+ -0, -b10 0 -0' -#3683 -b100001100001100110011101 n -#3685 -b100001100001100110011101 # -0N -0!" -b11 . -b100001100001100110011101 ! -b100001100001100110011101 ? -b11 A -b100001100001100110011101 L -b0 } -b11010000000000010010001010100000 \ -b1100 ` -b11010000000000010010001010100000 m -b1010111 i -b1100 q -0p -b100001100001100110011101 H -b10 P -b11010000000000010010001010100000 /" -b1100 3" -b11010000000000010010001010100000 @" -b1010111 <" -b1100 D" -0C" -b0 y -b10 #" -b100 7 -1' -#3686 -b101101100 / -b10 2 -#3690 -b1100110 5" -b11011100 b -b101100110 s -b111011100 B -b11 A -1g -b10 O -1:" -b10 "" -b101100110111011100 8 -1= -b100110110 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b101100110111011100 " -b11 . -0& -b10000101110000110011110000001011 % -b10000101110000110011110000001011 < -b10000101110000110011110000001011 D -b10000101110000110011110000001011 U -b10000101110000110011110000001011 f -b10000101110000110011110000001011 u -b10000101110000110011110000001011 (" -b10000101110000110011110000001011 9" -0( -0) -0+ -0, -b1 0 -0' -#3695 -1!" -1N -b10 4 -b10 #" -b10000101110000110011110000001011 @" -b1100110 <" -b0 D" -1C" -b10000101110000110011110000001011 /" -b0 3" -b10 P -b10000101110000110011110000001011 m -b11011100 i -b0 q -1p -b10000101110000110011110000001011 \ -b0 ` -1' -#3696 -b101101101 / -b10 2 -#3700 -17" -b0 5" -0&" -0)" -b10011111 $" -b0 x -1d -b0 b -0S -0V -b10011111 Q -b0 G -b10011111 s -b10011111 B -b11 A -1g -b10 O -1:" -b10 "" -b10011111010011111 8 -0= -b10011111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111111111010111 " -b11 . -1& -b100111000101000001100001001 % -b100111000101000001100001001 < -b100111000101000001100001001 D -b100111000101000001100001001 U -b100111000101000001100001001 f -b100111000101000001100001001 u -b100111000101000001100001001 (" -b100111000101000001100001001 9" -0( -0) -0+ -0, -b10 0 -0' -#3703 -b0 n -#3705 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100111000101000001100001001 \ -b10011111 X -b1001 ` -0_ -0Z -b100111000101000001100001001 m -b0 i -b1001 q -1k -b0 H -b10 P -b100111000101000001100001001 /" -b10011111 +" -b1001 3" -02" -0-" -b100111000101000001100001001 @" -b0 <" -b1001 D" -1>" -b10 #" -b100 7 -1' -#3706 -b101101110 / -b10 2 -#3710 -b1101100 $" -b10 "" -b1101100 Q -b10 O -b1101100 s -b1101100 B -b11 A -b1101100001101100 8 -b1101100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b110001001000011 " -b11 . -1& -b1101111110011001101111111011111 % -b1101111110011001101111111011111 < -b1101111110011001101111111011111 D -b1101111110011001101111111011111 U -b1101111110011001101111111011111 f -b1101111110011001101111111011111 u -b1101111110011001101111111011111 (" -b1101111110011001101111111011111 9" -0( -0) -0+ -0, -b1 0 -0' -#3715 -b100 7 -b10 #" -b1101111110011001101111111011111 @" -b1100 D" -b1101111110011001101111111011111 /" -b1101100 +" -b1100 3" -b10 P -b1101111110011001101111111011111 m -b1100 q -b1101111110011001101111111011111 \ -b1101100 X -b1100 ` -1' -#3716 -b101101111 / -b10 2 -#3720 -07" -b100100 5" -1&" -b0 $" -b1 x -b11101100 Q -b100100100 s -b11101100 B -b11 A -1V -b10 O -1)" -b10 "" -b100100100011101100 8 -1= -b100010101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100100100011101100 " -b11 . -0& -b111100100111001110010101111001 % -b111100100111001110010101111001 < -b111100100111001110010101111001 D -b111100100111001110010101111001 U -b111100100111001110010101111001 f -b111100100111001110010101111001 u -b111100100111001110010101111001 (" -b111100100111001110010101111001 9" -0( -0) -0+ -0, -b10 0 -0' -#3725 -1N -1!" -b1 { -b111100100111001110010101111001 \ -b11101100 X -b1110 ` -1_ -b111100100111001110010101111001 m -b1110 q -b10 P -b111100100111001110010101111001 /" -b0 +" -b1110 3" -12" -1-" -b111100100111001110010101111001 @" -b100100 <" -b1110 D" -0>" -b10 #" -b10 4 -1' -#3726 -b101110000 / -b10 2 -#3730 -b111000 5" -0d -0g -b111000 b -1S -b0 Q -b1 G -b100111000 s -b100111000 B -b11 A -1V -b10 O -0:" -b10 "" -b100111000100111000 8 -0= -b100111000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10001110101111101 " -b11 . -1& -b1011001111011111000111110110011 % -b1011001111011111000111110110011 < -b1011001111011111000111110110011 D -b1011001111011111000111110110011 U -b1011001111011111000111110110011 f -b1011001111011111000111110110011 u -b1011001111011111000111110110011 (" -b1011001111011111000111110110011 9" -0( -0) -0+ -0, -b1 0 -0' -#3733 -b11000100101010100010011100000000 ] -#3735 -b11000100101010100010011100000000 # -0!" -0N -b1 J -b11 . -b11000100101010100010011100000000 ! -b11000100101010100010011100000000 ? -b11 A -b11000100101010100010011100000000 L -b100 7 -b10 #" -b1011001111011111000111110110011 @" -b111000 <" -b10 D" -0C" -b1011001111011111000111110110011 /" -b10 3" -b11000100101010100010011100000000 H -b10 P -b1011001111011111000111110110011 m -b111000 i -b10 q -0p -0k -b1011001111011111000111110110011 \ -b0 X -b10 ` -1Z -1' -#3736 -b101110001 / -b10 2 -#3740 -b11010010 5" -1d -b0 b -0S -b111000 Q -b0 G -b111010010 s -b111000 B -b11 A -1g -b10 O -1:" -b10 "" -b111010010000111000 8 -1= -b101110010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111010010000111000 " -b11 . -0& -b111111110011111001011101111111 % -b111111110011111001011101111111 < -b111111110011111001011101111111 D -b111111110011111001011101111111 U -b111111110011111001011101111111 f -b111111110011111001011101111111 u -b111111110011111001011101111111 (" -b111111110011111001011101111111 9" -0( -0) -0+ -0, -b10 0 -0' -#3745 -1N -b0 J -1!" -b111111110011111001011101111111 \ -b111000 X -b0 ` -0Z -b111111110011111001011101111111 m -b0 i -b0 q -1p -1k -b10 P -b111111110011111001011101111111 /" -b0 3" -b111111110011111001011101111111 @" -b11010010 <" -b0 D" -1C" -b10 #" -b10 4 -1' -#3746 -b101110010 / -b10 2 -#3750 -17" -b0 5" -0&" -b11000111 $" -b10 "" -b0 x -b10001100 Q -b10 O -b11000111 s -b10001100 B -b11 A -b11000111010001100 8 -b10101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11000111010001100 " -b11 . -b11001111101101001011000010011111 % -b11001111101101001011000010011111 < -b11001111101101001011000010011111 D -b11001111101101001011000010011111 U -b11001111101101001011000010011111 f -b11001111101101001011000010011111 u -b11001111101101001011000010011111 (" -b11001111101101001011000010011111 9" -0( -0) -0+ -0, -b1 0 -0' -#3753 -b11001001011010000110100010010010 A" -b0 ] -#3755 -b1100100101101000011010001001001000000000000000000000000000000000 # -b0 { -b11 . -b1100100101101000011010001001001000000000000000000000000000000000 ! -b1100100101101000011010001001001000000000000000000000000000000000 ? -b11 A -b11001001011010000110100010010010 } -b0 L -b10 4 -b11001001011010000110100010010010 y -b10 #" -b11001111101101001011000010011111 @" -b0 <" -b1010 D" -1>" -b11001111101101001011000010011111 /" -b11000111 +" -b1010 3" -0-" -b0 H -b10 P -b11001111101101001011000010011111 m -b1010 q -b11001111101101001011000010011111 \ -b10001100 X -b1010 ` -1' -#3756 -b101110011 / -b10 2 -#3760 -b11000110 $" -b11000110 Q -b11000110 s -b11000110 B -b11 A -0V -b10 O -0)" -b10 "" -b11000110011000110 8 -0= -b11000110 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111011001001001000 " -b11 . -1& -b1100011010110111001010111000110 % -b1100011010110111001010111000110 < -b1100011010110111001010111000110 D -b1100011010110111001010111000110 U -b1100011010110111001010111000110 f -b1100011010110111001010111000110 u -b1100011010110111001010111000110 (" -b1100011010110111001010111000110 9" -0( -0) -0+ -0, -b10 0 -0' -#3763 -b0 0" -#3765 -b0 # -0N -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 } -b1100011010110111001010111000110 \ -b11000110 X -b1101 ` -0_ -b1100011010110111001010111000110 m -b1101 q -b10 P -b1100011010110111001010111000110 /" -b11000110 +" -b1101 3" -02" -b1100011010110111001010111000110 @" -b1101 D" -b0 y -b10 #" -b100 7 -1' -#3766 -b101110100 / -b10 2 -#3770 -07" -0:" -b110010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b110010 b -1S -1V -b0 Q -b10 O -b1 G -b100110010 s -b100110010 B -b11 A -b100110010100110010 8 -b100110010 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111011101001011000 " -b11 . -1& -b100000101011000001100001000 % -b100000101011000001100001000 < -b100000101011000001100001000 D -b100000101011000001100001000 U -b100000101011000001100001000 f -b100000101011000001100001000 u -b100000101011000001100001000 (" -b100000101011000001100001000 9" -0( -0) -0+ -0, -b1 0 -0' -#3775 -b1 { -b1 J -b100 7 -b10 #" -b100000101011000001100001000 @" -b110010 <" -b110 D" -0C" -0>" -b100000101011000001100001000 /" -b0 +" -b110 3" -12" -1-" -b10 P -b100000101011000001100001000 m -b110010 i -b110 q -0p -0k -b100000101011000001100001000 \ -b0 X -b110 ` -1_ -1Z -1' -#3776 -b101110101 / -b10 2 -#3780 -b11011000 5" -1d -b0 b -0S -b11111111 Q -b0 G -b111011000 s -b11111111 B -b11 A -1g -b10 O -1:" -b10 "" -b111011000011111111 8 -1= -b100011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111011000011111111 " -b11 . -0& -b101010010001101010101101010100 % -b101010010001101010101101010100 < -b101010010001101010101101010100 D -b101010010001101010101101010100 U -b101010010001101010101101010100 f -b101010010001101010101101010100 u -b101010010001101010101101010100 (" -b101010010001101010101101010100 9" -0( -0) -0+ -0, -b10 0 -0' -#3785 -1N -b0 J -1!" -b101010010001101010101101010100 \ -b11111111 X -b1101 ` -0Z -b101010010001101010101101010100 m -b0 i -b1101 q -1p -1k -b10 P -b101010010001101010101101010100 /" -b1101 3" -b101010010001101010101101010100 @" -b11011000 <" -b1101 D" -1C" -b10 #" -b10 4 -1' -#3786 -b101110110 / -b10 2 -#3790 -b1010101 5" -b10 "" -b1101101 Q -b10 O -b101010101 s -b1101101 B -b11 A -b101010101001101101 8 -b110110101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101010101001101101 " -b11 . -b11010011111101011111100110100 % -b11010011111101011111100110100 < -b11010011111101011111100110100 D -b11010011111101011111100110100 U -b11010011111101011111100110100 f -b11010011111101011111100110100 u -b11010011111101011111100110100 (" -b11010011111101011111100110100 9" -0( -0) -0+ -0, -b1 0 -0' -#3793 -b100000000 A" -#3795 -b10000000000000000000000000000000000000000 # -b11 . -b10000000000000000000000000000000000000000 ! -b10000000000000000000000000000000000000000 ? -b11 A -b100000000 } -b10 4 -b100000000 y -b10 #" -b11010011111101011111100110100 @" -b1010101 <" -b11 D" -b11010011111101011111100110100 /" -b11 3" -b10 P -b11010011111101011111100110100 m -b11 q -b11010011111101011111100110100 \ -b1101101 X -b11 ` -1' -#3796 -b101110111 / -b10 2 -#3800 -b11100111 5" -b10 "" -b11101000 Q -b10 O -b111100111 s -b11101000 B -b11 A -b111100111011101000 8 -b101010110 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111100111011101000 " -b11 . -b110001001100011000100101100010 % -b110001001100011000100101100010 < -b110001001100011000100101100010 D -b110001001100011000100101100010 U -b110001001100011000100101100010 f -b110001001100011000100101100010 u -b110001001100011000100101100010 (" -b110001001100011000100101100010 9" -0( -0) -0+ -0, -b10 0 -0' -#3803 -b0 A" -#3805 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 } -b110001001100011000100101100010 \ -b11101000 X -b0 ` -b110001001100011000100101100010 m -b0 q -b10 P -b110001001100011000100101100010 /" -b0 3" -b110001001100011000100101100010 @" -b11100111 <" -b0 D" -b0 y -b10 #" -b10 4 -1' -#3806 -b101111000 / -b10 2 -#3810 -b11110110 5" -b10 "" -0d -b11000001 b -1S -b0 Q -b10 O -b1 G -b111110110 s -b111000001 B -b11 A -b111110110111000001 8 -b110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111110110111000001 " -b11 . -b1101010100100110011101111010101 % -b1101010100100110011101111010101 < -b1101010100100110011101111010101 D -b1101010100100110011101111010101 U -b1101010100100110011101111010101 f -b1101010100100110011101111010101 u -b1101010100100110011101111010101 (" -b1101010100100110011101111010101 9" -0( -0) -0+ -0, -b1 0 -0' -#3815 -b1 J -b10 4 -b10 #" -b1101010100100110011101111010101 @" -b11110110 <" -b10 D" -b1101010100100110011101111010101 /" -b10 3" -b10 P -b1101010100100110011101111010101 m -b11000001 i -b10 q -0k -b1101010100100110011101111010101 \ -b0 X -b10 ` -1Z -1' -#3816 -b101111001 / -b10 2 -#3820 -17" -b0 5" -0&" -0)" -b111 $" -b0 x -1d -b0 b -0S -0V -b111 Q -b0 G -b111 s -b111 B -b11 A -1g -b10 O -1:" -b10 "" -b111000000111 8 -0= -b111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101010100011100011 " -b11 . -1& -b11100001111010001111001011000011 % -b11100001111010001111001011000011 < -b11100001111010001111001011000011 D -b11100001111010001111001011000011 U -b11100001111010001111001011000011 f -b11100001111010001111001011000011 u -b11100001111010001111001011000011 (" -b11100001111010001111001011000011 9" -0( -0) -0+ -0, -b10 0 -0' -#3823 -b100001100001100110011101 n -#3825 -b100001100001100110011101 # -0N -b0 J -0!" -b0 { -b11 . -b100001100001100110011101 ! -b100001100001100110011101 ? -b11 A -b100001100001100110011101 L -b11100001111010001111001011000011 \ -b111 X -b1011 ` -0_ -0Z -b11100001111010001111001011000011 m -b0 i -b1011 q -1k -b100001100001100110011101 H -b10 P -b11100001111010001111001011000011 /" -b111 +" -b1011 3" -02" -0-" -b11100001111010001111001011000011 @" -b0 <" -b1011 D" -1>" -b10 #" -b100 7 -1' -#3826 -b101111010 / -b10 2 -#3830 -b11001000 $" -b111001 Q -b11001000 s -b111001 B -b11 A -1V -b10 O -1)" -b10 "" -b11001000000111001 8 -1= -b100100101 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11001000000111001 " -b11 . -0& -b1110100010101011000110111101000 % -b1110100010101011000110111101000 < -b1110100010101011000110111101000 D -b1110100010101011000110111101000 U -b1110100010101011000110111101000 f -b1110100010101011000110111101000 u -b1110100010101011000110111101000 (" -b1110100010101011000110111101000 9" -0( -0) -0+ -0, -b1 0 -0' -#3835 -1!" -1N -b10 4 -b10 #" -b1110100010101011000110111101000 @" -b1 D" -b1110100010101011000110111101000 /" -b11001000 +" -b1 3" -12" -b10 P -b1110100010101011000110111101000 m -b1 q -b1110100010101011000110111101000 \ -b111001 X -b1 ` -1_ -1' -#3836 -b101111011 / -b10 2 -#3840 -b1010110 $" -b10 "" -0d -b1100111 b -1S -b0 Q -b10 O -b1 G -b1010110 s -b101100111 B -b11 A -b1010110101100111 8 -b1001101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1010110101100111 " -b11 . -b11001100010110011101001010011000 % -b11001100010110011101001010011000 < -b11001100010110011101001010011000 D -b11001100010110011101001010011000 U -b11001100010110011101001010011000 f -b11001100010110011101001010011000 u -b11001100010110011101001010011000 (" -b11001100010110011101001010011000 9" -0( -0) -0+ -0, -b10 0 -0' -#3843 -b1000101000000001111001011100010 0" -b11 ] -#3845 -b100010100000000111100101110001000000000000000000000000000000011 # -b1 J -b11 . -b100010100000000111100101110001000000000000000000000000000000011 ! -b100010100000000111100101110001000000000000000000000000000000011 ? -b11 A -b11 L -b1000101000000001111001011100010 } -b11001100010110011101001010011000 \ -b0 X -b100 ` -1Z -b11001100010110011101001010011000 m -b1100111 i -b100 q -0k -b11 H -b10 P -b11001100010110011101001010011000 /" -b1010110 +" -b100 3" -b11001100010110011101001010011000 @" -b100 D" -b1000101000000001111001011100010 y -b10 #" -b10 4 -1' -#3846 -b101111100 / -b10 2 -#3850 -b101011 $" -1d -b0 b -0S -0V -b101011 Q -b0 G -b101011 s -b101011 B -b11 A -1g -b10 O -0)" -b10 "" -b101011000101011 8 -0= -b101011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110110101111001110 " -b11 . -1& -b1100001000001001111100011000 % -b1100001000001001111100011000 < -b1100001000001001111100011000 D -b1100001000001001111100011000 U -b1100001000001001111100011000 f -b1100001000001001111100011000 u -b1100001000001001111100011000 (" -b1100001000001001111100011000 9" -0( -0) -0+ -0, -b1 0 -0' -#3853 -b0 0" -b0 n -#3855 -b0 # -0!" -0N -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b100 7 -b0 y -b10 #" -b1100001000001001111100011000 @" -b1110 D" -b1100001000001001111100011000 /" -b101011 +" -b1110 3" -02" -b0 H -b10 P -b1100001000001001111100011000 m -b0 i -b1110 q -1k -b1100001000001001111100011000 \ -b101011 X -b1110 ` -0_ -0Z -1' -#3856 -b101111101 / -b10 2 -#3860 -07" -0:" -b11111010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11111010 b -1S -1V -b0 Q -b10 O -b1 G -b111111010 s -b111111010 B -b11 A -b111111010111111010 8 -b111111010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1001100000100010 " -b11 . -1& -b1110010111100000110001111100101 % -b1110010111100000110001111100101 < -b1110010111100000110001111100101 D -b1110010111100000110001111100101 U -b1110010111100000110001111100101 f -b1110010111100000110001111100101 u -b1110010111100000110001111100101 (" -b1110010111100000110001111100101 9" -0( -0) -0+ -0, -b10 0 -0' -#3865 -b1 J -b1 { -b1110010111100000110001111100101 \ -b0 X -b1 ` -1_ -1Z -b1110010111100000110001111100101 m -b11111010 i -b1 q -0p -0k -b10 P -b1110010111100000110001111100101 /" -b0 +" -b1 3" -12" -1-" -b1110010111100000110001111100101 @" -b11111010 <" -b1 D" -0C" -0>" -b10 #" -b100 7 -1' -#3866 -b101111110 / -b10 2 -#3870 -b1111101 5" -b10 "" -b1111101 b -b10 O -b101111101 s -b101111101 B -b11 A -b101111101101111101 8 -b101111101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b100000101101110 " -b11 . -1& -b110001100101110101110101100011 % -b110001100101110101110101100011 < -b110001100101110101110101100011 D -b110001100101110101110101100011 U -b110001100101110101110101100011 f -b110001100101110101110101100011 u -b110001100101110101110101100011 (" -b110001100101110101110101100011 9" -0( -0) -0+ -0, -b1 0 -0' -#3875 -b100 7 -b10 #" -b110001100101110101110101100011 @" -b1111101 <" -b1111 D" -b110001100101110101110101100011 /" -b1111 3" -b10 P -b110001100101110101110101100011 m -b1111101 i -b1111 q -b110001100101110101110101100011 \ -b1111 ` -1' -#3876 -b101111111 / -b10 2 -#3880 -b10101 5" -b1110111 b -b100010101 s -b101110111 B -b11 A -1g -b10 O -1:" -b10 "" -b100010101101110111 8 -1= -b1011000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100010101101110111 " -b11 . -0& -b1011001010100100011100010110 % -b1011001010100100011100010110 < -b1011001010100100011100010110 D -b1011001010100100011100010110 U -b1011001010100100011100010110 f -b1011001010100100011100010110 u -b1011001010100100011100010110 (" -b1011001010100100011100010110 9" -0( -0) -0+ -0, -b10 0 -0' -#3885 -1N -1!" -b1011001010100100011100010110 \ -b1110 ` -b1011001010100100011100010110 m -b1110111 i -b1110 q -1p -b10 P -b1011001010100100011100010110 /" -b1110 3" -b1011001010100100011100010110 @" -b10101 <" -b1110 D" -1C" -b10 #" -b10 4 -1' -#3886 -b110000000 / -b10 2 -#3890 -b101000 5" -b101000 b -b100101000 s -b100101000 B -b11 A -0g -b10 O -0:" -b10 "" -b100101000100101000 8 -0= -b100101000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11001110110000111 " -b11 . -1& -b11111010011100110100111011110100 % -b11111010011100110100111011110100 < -b11111010011100110100111011110100 D -b11111010011100110100111011110100 U -b11111010011100110100111011110100 f -b11111010011100110100111011110100 u -b11111010011100110100111011110100 (" -b11111010011100110100111011110100 9" -0( -0) -0+ -0, -b1 0 -0' -#3895 -0!" -0N -b100 7 -b10 #" -b11111010011100110100111011110100 @" -b101000 <" -b1010 D" -0C" -b11111010011100110100111011110100 /" -b1010 3" -b10 P -b11111010011100110100111011110100 m -b101000 i -b1010 q -0p -b11111010011100110100111011110100 \ -b1010 ` -1' -#3896 -b110000001 / -b10 2 -#3900 -17" -b0 5" -0&" -b101101 $" -b0 x -1d -b0 b -0S -b11110010 Q -b0 G -b101101 s -b11110010 B -b11 A -1g -b10 O -1:" -b10 "" -b101101011110010 8 -1= -b111011100 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101101011110010 " -b11 . -0& -b11010111111000111011000010101111 % -b11010111111000111011000010101111 < -b11010111111000111011000010101111 D -b11010111111000111011000010101111 U -b11010111111000111011000010101111 f -b11010111111000111011000010101111 u -b11010111111000111011000010101111 (" -b11010111111000111011000010101111 9" -0( -0) -0+ -0, -b10 0 -0' -#3905 -1N -b0 J -1!" -b0 { -b11010111111000111011000010101111 \ -b11110010 X -b111 ` -0Z -b11010111111000111011000010101111 m -b0 i -b111 q -1p -1k -b10 P -b11010111111000111011000010101111 /" -b101101 +" -b111 3" -0-" -b11010111111000111011000010101111 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b10 4 -1' -#3906 -b110000010 / -b10 2 -#3910 -07" -b1011100 5" -1&" -b0 $" -b10 "" -b1 x -0d -b11100110 b -1S -b0 Q -b10 O -b1 G -b101011100 s -b111100110 B -b11 A -b101011100111100110 8 -b11101010 $ -b101011100111100110 " -b11 . -b1101001110110100011011111010011 % -b1101001110110100011011111010011 < -b1101001110110100011011111010011 D -b1101001110110100011011111010011 U -b1101001110110100011011111010011 f -b1101001110110100011011111010011 u -b1101001110110100011011111010011 (" -b1101001110110100011011111010011 9" -0( -0) -0+ -0, -b1 0 -0' -#3913 -b10011100000010000110101000000000 0" -b0 ] -#3915 -b1001110000001000011010100000000000000000000000000000000000000000 # -b1 { -b1 J -b11 . -b1001110000001000011010100000000000000000000000000000000000000000 ! -b1001110000001000011010100000000000000000000000000000000000000000 ? -b11 A -b10011100000010000110101000000000 } -b10 4 -b10011100000010000110101000000000 y -b10 #" -b1101001110110100011011111010011 @" -b1011100 <" -0>" -b1101001110110100011011111010011 /" -b0 +" -1-" -b10 P -b1101001110110100011011111010011 m -b11100110 i -0k -b1101001110110100011011111010011 \ -b0 X -1Z -1' -#3916 -b110000011 / -b10 2 -#3920 -17" -b0 5" -0&" -b100000 $" -b10 "" -b0 x -1d -b0 b -0S -b11000 Q -b10 O -b0 G -b100000 s -b11000 B -b11 A -b100000000011000 8 -b10000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100000000011000 " -b11 . -b10001001101001110111101000010011 % -b10001001101001110111101000010011 < -b10001001101001110111101000010011 D -b10001001101001110111101000010011 U -b10001001101001110111101000010011 f -b10001001101001110111101000010011 u -b10001001101001110111101000010011 (" -b10001001101001110111101000010011 9" -0( -0) -0+ -0, -b10 0 -0' -#3925 -b0 # -b0 J -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10001001101001110111101000010011 \ -b11000 X -b1 ` -0Z -b10001001101001110111101000010011 m -b0 i -b1 q -1k -b10 P -b10001001101001110111101000010011 /" -b100000 +" -b1 3" -0-" -b10001001101001110111101000010011 @" -b0 <" -b1 D" -1>" -b0 y -b10 #" -b10 4 -1' -#3926 -b110000100 / -b10 2 -#3930 -b11101101 $" -b11101101 Q -b11101101 s -b11101101 B -b11 A -0V -b10 O -0)" -b10 "" -b11101101011101101 8 -0= -b11101101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b11101101111001010 " -b11 . -1& -b11100110101000101011000011001101 % -b11100110101000101011000011001101 < -b11100110101000101011000011001101 D -b11100110101000101011000011001101 U -b11100110101000101011000011001101 f -b11100110101000101011000011001101 u -b11100110101000101011000011001101 (" -b11100110101000101011000011001101 9" -0( -0) -0+ -0, -b1 0 -0' -#3933 -b10000000000000000000000100 0" -b101100010001010000001101 ] -#3935 -b1000000000000000000000010000000000101100010001010000001101 # -0!" -0N -b11 . -b1000000000000000000000010000000000101100010001010000001101 ! -b1000000000000000000000010000000000101100010001010000001101 ? -b11 A -b10000000000000000000000100 } -b101100010001010000001101 L -b100 7 -b10000000000000000000000100 y -b10 #" -b11100110101000101011000011001101 @" -b1001 D" -b11100110101000101011000011001101 /" -b11101101 +" -b1001 3" -02" -b101100010001010000001101 H -b10 P -b11100110101000101011000011001101 m -b1001 q -b11100110101000101011000011001101 \ -b11101101 X -b1001 ` -0_ -1' -#3936 -b110000101 / -b10 2 -#3940 -b10101010 $" -0d -b11101111 b -1S -b0 Q -b1 G -b10101010 s -b111101111 B -b11 A -1V -b10 O -1)" -b10 "" -b10101010111101111 8 -1= -b10110111 $ -b10101010111101111 " -b11 . -0& -b101010000010100100111101010100 % -b101010000010100100111101010100 < -b101010000010100100111101010100 D -b101010000010100100111101010100 U -b101010000010100100111101010100 f -b101010000010100100111101010100 u -b101010000010100100111101010100 (" -b101010000010100100111101010100 9" -0( -0) -0+ -0, -b10 0 -0' -#3945 -1N -b1 J -1!" -b101010000010100100111101010100 \ -b0 X -1_ -1Z -b101010000010100100111101010100 m -b11101111 i -0k -b10 P -b101010000010100100111101010100 /" -b10101010 +" -12" -b101010000010100100111101010100 @" -b10 #" -b10 4 -1' -#3946 -b110000110 / -b10 2 -#3950 -07" -b11101101 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b10110111 Q -b10 O -b0 G -b111101101 s -b10110111 B -b11 A -b111101101010110111 8 -b100100101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111101101010110111 " -b11 . -b10110110101011111101101001101101 % -b10110110101011111101101001101101 < -b10110110101011111101101001101101 D -b10110110101011111101101001101101 U -b10110110101011111101101001101101 f -b10110110101011111101101001101101 u -b10110110101011111101101001101101 (" -b10110110101011111101101001101101 9" -0( -0) -0+ -0, -b1 0 -0' -#3953 -b0 0" -#3955 -b0 # -b1 { -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b10110110101011111101101001101101 @" -b11101101 <" -b11 D" -0>" -b10110110101011111101101001101101 /" -b0 +" -b11 3" -1-" -b0 H -b10 P -b10110110101011111101101001101101 m -b0 i -b11 q -1k -b10110110101011111101101001101101 \ -b10110111 X -b11 ` -0Z -1' -#3956 -b110000111 / -b10 2 -#3960 -b10001 5" -b10 "" -0d -b100110 b -1S -b0 Q -b10 O -b1 G -b100010001 s -b100100110 B -b11 A -b100010001100100110 8 -b111000111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100010001100100110 " -b11 . -b10110001110110001100000001100011 % -b10110001110110001100000001100011 < -b10110001110110001100000001100011 D -b10110001110110001100000001100011 U -b10110001110110001100000001100011 f -b10110001110110001100000001100011 u -b10110001110110001100000001100011 (" -b10110001110110001100000001100011 9" -0( -0) -0+ -0, -b10 0 -0' -#3963 -b0 ] -#3965 -b1 J -b10110001110110001100000001100011 \ -b0 X -b1 ` -1Z -b10110001110110001100000001100011 m -b100110 i -b1 q -0k -b10 P -b10110001110110001100000001100011 /" -b1 3" -b10110001110110001100000001100011 @" -b10001 <" -b1 D" -b10 #" -b10 4 -1' -#3966 -b110001000 / -b10 2 -#3970 -17" -b0 5" -0&" -b1001110 $" -b10 "" -b0 x -1d -b0 b -0S -b10100000 Q -b10 O -b0 G -b1001110 s -b10100000 B -b11 A -b1001110010100000 8 -b111110011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1001110010100000 " -b11 . -b1100011010010111110100111000110 % -b1100011010010111110100111000110 < -b1100011010010111110100111000110 D -b1100011010010111110100111000110 U -b1100011010010111110100111000110 f -b1100011010010111110100111000110 u -b1100011010010111110100111000110 (" -b1100011010010111110100111000110 9" -0( -0) -0+ -0, -b1 0 -0' -#3973 -b111001000000000000000000 n -#3975 -b111001000000000000000000 # -b0 { -b0 J -b11 . -b111001000000000000000000 ! -b111001000000000000000000 ? -b11 A -b111001000000000000000000 L -b10 4 -b10 #" -b1100011010010111110100111000110 @" -b0 <" -b101 D" -1>" -b1100011010010111110100111000110 /" -b1001110 +" -b101 3" -0-" -b111001000000000000000000 H -b10 P -b1100011010010111110100111000110 m -b0 i -b101 q -1k -b1100011010010111110100111000110 \ -b10100000 X -b101 ` -0Z -1' -#3976 -b110001001 / -b10 2 -#3980 -07" -b1011001 5" -1&" -b0 $" -b10 "" -b1 x -b10001101 Q -b10 O -b101011001 s -b10001101 B -b11 A -b101011001010001101 8 -b100011101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101011001010001101 " -b11 . -b110110101000000111001101101101 % -b110110101000000111001101101101 < -b110110101000000111001101101101 D -b110110101000000111001101101101 U -b110110101000000111001101101101 f -b110110101000000111001101101101 u -b110110101000000111001101101101 (" -b110110101000000111001101101101 9" -0( -0) -0+ -0, -b10 0 -0' -#3983 -b11000111010010000000000 0" -#3985 -b1100011101001000000000000000000000000000000000000000000 # -b1 { -b11 . -b1100011101001000000000000000000000000000000000000000000 ! -b1100011101001000000000000000000000000000000000000000000 ? -b11 A -b0 L -b11000111010010000000000 } -b110110101000000111001101101101 \ -b10001101 X -b111 ` -b110110101000000111001101101101 m -b111 q -b0 H -b10 P -b110110101000000111001101101101 /" -b0 +" -b111 3" -1-" -b110110101000000111001101101101 @" -b1011001 <" -b111 D" -0>" -b11000111010010000000000 y -b10 #" -b10 4 -1' -#3986 -b110001010 / -b10 2 -#3990 -b101001 5" -0d -0g -b101001 b -1S -b0 Q -b1 G -b100101001 s -b100101001 B -b11 A -1V -b10 O -0:" -b10 "" -b100101001100101001 8 -0= -b100101001 $ -b1111000100101111 " -b11 . -1& -b10100010001010011100111001000100 % -b10100010001010011100111001000100 < -b10100010001010011100111001000100 D -b10100010001010011100111001000100 U -b10100010001010011100111001000100 f -b10100010001010011100111001000100 u -b10100010001010011100111001000100 (" -b10100010001010011100111001000100 9" -0( -0) -0+ -0, -b1 0 -0' -#3993 -b101111000000000110001100000000 ] -#3995 -b101111000000000110001100000000 # -0!" -0N -b1 J -b11 . -b101111000000000110001100000000 ! -b101111000000000110001100000000 ? -b11 A -b0 } -b101111000000000110001100000000 L -b100 7 -b0 y -b10 #" -b10100010001010011100111001000100 @" -b101001 <" -0C" -b10100010001010011100111001000100 /" -b101111000000000110001100000000 H -b10 P -b10100010001010011100111001000100 m -b101001 i -0p -0k -b10100010001010011100111001000100 \ -b0 X -1Z -1' -#3996 -b110001011 / -b10 2 -#4000 -17" -1:" -b0 5" -0&" -0)" -b10011100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10011100 Q -b10 O -b0 G -b10011100 s -b10011100 B -b11 A -b10011100010011100 8 -b10011100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11111111111011010 " -b11 . -1& -b11001010110111000010111010010101 % -b11001010110111000010111010010101 < -b11001010110111000010111010010101 D -b11001010110111000010111010010101 U -b11001010110111000010111010010101 f -b11001010110111000010111010010101 u -b11001010110111000010111010010101 (" -b11001010110111000010111010010101 9" -0( -0) -0+ -0, -b10 0 -0' -#4005 -b0 J -b0 { -b11001010110111000010111010010101 \ -b10011100 X -b1101 ` -0_ -0Z -b11001010110111000010111010010101 m -b0 i -b1101 q -1p -1k -b10 P -b11001010110111000010111010010101 /" -b10011100 +" -b1101 3" -02" -0-" -b11001010110111000010111010010101 @" -b0 <" -b1101 D" -1C" -1>" -b10 #" -b100 7 -1' -#4006 -b110001100 / -b10 2 -#4010 -b1100001 $" -b1001000 Q -b1100001 s -b1001000 B -b11 A -1V -b10 O -1)" -b10 "" -b1100001001001000 8 -1= -b1111101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1100001001001000 " -b11 . -0& -b1000000011101011101101110000000 % -b1000000011101011101101110000000 < -b1000000011101011101101110000000 D -b1000000011101011101101110000000 U -b1000000011101011101101110000000 f -b1000000011101011101101110000000 u -b1000000011101011101101110000000 (" -b1000000011101011101101110000000 9" -0( -0) -0+ -0, -b1 0 -0' -#4015 -1!" -1N -b10 4 -b10 #" -b1000000011101011101101110000000 @" -b111 D" -b1000000011101011101101110000000 /" -b1100001 +" -b111 3" -12" -b10 P -b1000000011101011101101110000000 m -b111 q -b1000000011101011101101110000000 \ -b1001000 X -b111 ` -1_ -1' -#4016 -b110001101 / -b10 2 -#4020 -07" -b10010101 5" -1&" -b0 $" -b10 "" -b1 x -b11010001 Q -b10 O -b110010101 s -b11010001 B -b11 A -b110010101011010001 8 -b11001100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110010101011010001 " -b11 . -b1101100110010110000111111011001 % -b1101100110010110000111111011001 < -b1101100110010110000111111011001 D -b1101100110010110000111111011001 U -b1101100110010110000111111011001 f -b1101100110010110000111111011001 u -b1101100110010110000111111011001 (" -b1101100110010110000111111011001 9" -0( -0) -0+ -0, -b10 0 -0' -#4023 -b0 0" -b1000000001110001010110 ] -#4025 -b1000000001110001010110 # -b1 { -b11 . -b1000000001110001010110 ! -b1000000001110001010110 ? -b11 A -b1000000001110001010110 L -b1101100110010110000111111011001 \ -b11010001 X -b110 ` -b1101100110010110000111111011001 m -b110 q -b1000000001110001010110 H -b10 P -b1101100110010110000111111011001 /" -b0 +" -b110 3" -1-" -b1101100110010110000111111011001 @" -b10010101 <" -b110 D" -0>" -b10 #" -b10 4 -1' -#4026 -b110001110 / -b10 2 -#4030 -b111010 5" -b10 "" -b1001 Q -b10 O -b100111010 s -b1001 B -b11 A -b100111010000001001 8 -b1100010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100111010000001001 " -b11 . -b1001000111010101011100010010 % -b1001000111010101011100010010 < -b1001000111010101011100010010 D -b1001000111010101011100010010 U -b1001000111010101011100010010 f -b1001000111010101011100010010 u -b1001000111010101011100010010 (" -b1001000111010101011100010010 9" -0( -0) -0+ -0, -b1 0 -0' -#4033 -b0 ] -#4035 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1001000111010101011100010010 @" -b111010 <" -b1101 D" -b1001000111010101011100010010 /" -b1101 3" -b0 H -b10 P -b1001000111010101011100010010 m -b1101 q -b1001000111010101011100010010 \ -b1001 X -b1101 ` -1' -#4036 -b110001111 / -b10 2 -#4040 -17" -b0 5" -0&" -0)" -b10100111 $" -b0 x -b10100111 Q -b10100111 s -b10100111 B -b11 A -0V -b10 O -1:" -b10 "" -b10100111010100111 8 -0= -b10100111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100000101100011 " -b11 . -1& -b11100010101110101001011011000101 % -b11100010101110101001011011000101 < -b11100010101110101001011011000101 D -b11100010101110101001011011000101 U -b11100010101110101001011011000101 f -b11100010101110101001011011000101 u -b11100010101110101001011011000101 (" -b11100010101110101001011011000101 9" -0( -0) -0+ -0, -b10 0 -0' -#4045 -0N -0!" -b0 { -b11100010101110101001011011000101 \ -b10100111 X -b1000 ` -0_ -b11100010101110101001011011000101 m -b1000 q -b10 P -b11100010101110101001011011000101 /" -b10100111 +" -b1000 3" -02" -0-" -b11100010101110101001011011000101 @" -b0 <" -b1000 D" -1>" -b10 #" -b100 7 -1' -#4046 -b110010000 / -b10 2 -#4050 -b1111100 $" -b11001101 Q -b1111100 s -b11001101 B -b11 A -1V -b10 O -1)" -b10 "" -b1111100011001101 8 -1= -b11101100 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1111100011001101 " -b11 . -0& -b10100101001101010010101001001010 % -b10100101001101010010101001001010 < -b10100101001101010010101001001010 D -b10100101001101010010101001001010 U -b10100101001101010010101001001010 f -b10100101001101010010101001001010 u -b10100101001101010010101001001010 (" -b10100101001101010010101001001010 9" -0( -0) -0+ -0, -b1 0 -0' -#4055 -1!" -1N -b10 4 -b10 #" -b10100101001101010010101001001010 @" -b11 D" -b10100101001101010010101001001010 /" -b1111100 +" -b11 3" -12" -b10 P -b10100101001101010010101001001010 m -b11 q -b10100101001101010010101001001010 \ -b11001101 X -b11 ` -1_ -1' -#4056 -b110010001 / -b10 2 -#4060 -b10000 $" -b10000 Q -b10000 s -b10000 B -b11 A -0V -b10 O -0)" -b10 "" -b10000000010000 8 -0= -b10000 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111101100101011010 " -b11 . -1& -b11011000010010111101011010110000 % -b11011000010010111101011010110000 < -b11011000010010111101011010110000 D -b11011000010010111101011010110000 U -b11011000010010111101011010110000 f -b11011000010010111101011010110000 u -b11011000010010111101011010110000 (" -b11011000010010111101011010110000 9" -0( -0) -0+ -0, -b10 0 -0' -#4065 -0N -0!" -b11011000010010111101011010110000 \ -b10000 X -b1101 ` -0_ -b11011000010010111101011010110000 m -b1101 q -b10 P -b11011000010010111101011010110000 /" -b10000 +" -b1101 3" -02" -b11011000010010111101011010110000 @" -b1101 D" -b10 #" -b100 7 -1' -#4066 -b110010010 / -b10 2 -#4070 -07" -b11001100 5" -1&" -b0 $" -b1 x -b1001100 Q -b111001100 s -b1001100 B -b11 A -1V -b10 O -1)" -b10 "" -b111001100001001100 8 -1= -b11100110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111001100001001100 " -b11 . -0& -b1110101001001110111011111101010 % -b1110101001001110111011111101010 < -b1110101001001110111011111101010 D -b1110101001001110111011111101010 U -b1110101001001110111011111101010 f -b1110101001001110111011111101010 u -b1110101001001110111011111101010 (" -b1110101001001110111011111101010 9" -0( -0) -0+ -0, -b1 0 -0' -#4075 -1!" -b1 { -1N -b10 4 -b10 #" -b1110101001001110111011111101010 @" -b11001100 <" -b1110 D" -0>" -b1110101001001110111011111101010 /" -b0 +" -b1110 3" -12" -1-" -b10 P -b1110101001001110111011111101010 m -b1110 q -b1110101001001110111011111101010 \ -b1001100 X -b1110 ` -1_ -1' -#4076 -b110010011 / -b10 2 -#4080 -b1111010 5" -0d -0g -b1111010 b -1S -b0 Q -b1 G -b101111010 s -b101111010 B -b11 A -1V -b10 O -0:" -b10 "" -b101111010101111010 8 -0= -b101111010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111111101001001101 " -b11 . -1& -b100110111110111000110101001101 % -b100110111110111000110101001101 < -b100110111110111000110101001101 D -b100110111110111000110101001101 U -b100110111110111000110101001101 f -b100110111110111000110101001101 u -b100110111110111000110101001101 (" -b100110111110111000110101001101 9" -0( -0) -0+ -0, -b10 0 -0' -#4085 -0N -b1 J -0!" -b100110111110111000110101001101 \ -b0 X -b1101 ` -1Z -b100110111110111000110101001101 m -b1111010 i -b1101 q -0p -0k -b10 P -b100110111110111000110101001101 /" -b1101 3" -b100110111110111000110101001101 @" -b1111010 <" -b1101 D" -0C" -b10 #" -b100 7 -1' -#4086 -b110010100 / -b10 2 -#4090 -17" -b0 5" -0&" -b100011 $" -b0 x -1d -b0 b -0S -b1100101 Q -b0 G -b100011 s -b1100101 B -b11 A -1g -b10 O -1:" -b10 "" -b100011001100101 8 -1= -b10010001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100011001100101 " -b11 . -0& -b1001011000100000011110110010110 % -b1001011000100000011110110010110 < -b1001011000100000011110110010110 D -b1001011000100000011110110010110 U -b1001011000100000011110110010110 f -b1001011000100000011110110010110 u -b1001011000100000011110110010110 (" -b1001011000100000011110110010110 9" -0( -0) -0+ -0, -b1 0 -0' -#4095 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1001011000100000011110110010110 @" -b0 <" -b1010 D" -1C" -1>" -b1001011000100000011110110010110 /" -b100011 +" -b1010 3" -0-" -b10 P -b1001011000100000011110110010110 m -b0 i -b1010 q -1p -1k -b1001011000100000011110110010110 \ -b1100101 X -b1010 ` -0Z -1' -#4096 -b110010101 / -b10 2 -#4100 -07" -b10100101 5" -1&" -b0 $" -b10 "" -b1 x -b1000 Q -b10 O -b110100101 s -b1000 B -b11 A -b110100101000001000 8 -b11111001 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b110100101000001000 " -b11 . -b10011100111101010100000000111001 % -b10011100111101010100000000111001 < -b10011100111101010100000000111001 D -b10011100111101010100000000111001 U -b10011100111101010100000000111001 f -b10011100111101010100000000111001 u -b10011100111101010100000000111001 (" -b10011100111101010100000000111001 9" -0( -0) -0+ -0, -b10 0 -0' -#4103 -b10000101000000000000000000000000 0" -#4105 -b1000010100000000000000000000000000000000000000000000000000000000 # -b1 { -b11 . -b1000010100000000000000000000000000000000000000000000000000000000 ! -b1000010100000000000000000000000000000000000000000000000000000000 ? -b11 A -b10000101000000000000000000000000 } -b10011100111101010100000000111001 \ -b1000 X -b111 ` -b10011100111101010100000000111001 m -b111 q -b10 P -b10011100111101010100000000111001 /" -b0 +" -b111 3" -1-" -b10011100111101010100000000111001 @" -b10100101 <" -b111 D" -0>" -b10000101000000000000000000000000 y -b10 #" -b10 4 -1' -#4106 -b110010110 / -b10 2 -#4110 -17" -b0 5" -0&" -b10010011 $" -b10 "" -b0 x -b11111101 Q -b10 O -b10010011 s -b11111101 B -b11 A -b10010011011111101 8 -b111110001 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10010011011111101 " -b11 . -b110010011100001111001101100100 % -b110010011100001111001101100100 < -b110010011100001111001101100100 D -b110010011100001111001101100100 U -b110010011100001111001101100100 f -b110010011100001111001101100100 u -b110010011100001111001101100100 (" -b110010011100001111001101100100 9" -0( -0) -0+ -0, -b1 0 -0' -#4115 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b110010011100001111001101100100 @" -b0 <" -b1000 D" -1>" -b110010011100001111001101100100 /" -b10010011 +" -b1000 3" -0-" -b10 P -b110010011100001111001101100100 m -b1000 q -b110010011100001111001101100100 \ -b11111101 X -b1000 ` -1' -#4116 -b110010111 / -b10 2 -#4120 -b11000001 $" -b10 "" -b11001101 Q -b10 O -b11000001 s -b11001101 B -b11 A -b11000001011001101 8 -b111010000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11000001011001101 " -b11 . -b11111111111110010110011011111111 % -b11111111111110010110011011111111 < -b11111111111110010110011011111111 D -b11111111111110010110011011111111 U -b11111111111110010110011011111111 f -b11111111111110010110011011111111 u -b11111111111110010110011011111111 (" -b11111111111110010110011011111111 9" -0( -0) -0+ -0, -b10 0 -0' -#4123 -b11101111000110000100101000000000 0" -#4125 -b1110111100011000010010100000000000000000000000000000000000000000 # -b11 . -b1110111100011000010010100000000000000000000000000000000000000000 ! -b1110111100011000010010100000000000000000000000000000000000000000 ? -b11 A -b11101111000110000100101000000000 } -b11111111111110010110011011111111 \ -b11001101 X -b1110 ` -b11111111111110010110011011111111 m -b1110 q -b10 P -b11111111111110010110011011111111 /" -b11000001 +" -b1110 3" -b11111111111110010110011011111111 @" -b1110 D" -b11101111000110000100101000000000 y -b10 #" -b10 4 -1' -#4126 -b110011000 / -b10 2 -#4130 -07" -b11110101 5" -1&" -b0 $" -b10 "" -b1 x -b1011111 Q -b10 O -b111110101 s -b1011111 B -b11 A -b111110101001011111 8 -b111100001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111110101001011111 " -b11 . -b11111111001000110011001011111110 % -b11111111001000110011001011111110 < -b11111111001000110011001011111110 D -b11111111001000110011001011111110 U -b11111111001000110011001011111110 f -b11111111001000110011001011111110 u -b11111111001000110011001011111110 (" -b11111111001000110011001011111110 9" -0( -0) -0+ -0, -b1 0 -0' -#4133 -b0 0" -#4135 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b11111111001000110011001011111110 @" -b11110101 <" -b1001 D" -0>" -b11111111001000110011001011111110 /" -b0 +" -b1001 3" -1-" -b10 P -b11111111001000110011001011111110 m -b1001 q -b11111111001000110011001011111110 \ -b1011111 X -b1001 ` -1' -#4136 -b110011001 / -b10 2 -#4140 -b11101011 5" -0d -0g -b11101011 b -1S -b0 Q -b1 G -b111101011 s -b111101011 B -b11 A -1V -b10 O -0:" -b10 "" -b111101011111101011 8 -0= -b111101011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10100001100111111 " -b11 . -1& -b100110110111100111111101001101 % -b100110110111100111111101001101 < -b100110110111100111111101001101 D -b100110110111100111111101001101 U -b100110110111100111111101001101 f -b100110110111100111111101001101 u -b100110110111100111111101001101 (" -b100110110111100111111101001101 9" -0( -0) -0+ -0, -b10 0 -0' -#4145 -0N -b1 J -0!" -b100110110111100111111101001101 \ -b0 X -b1000 ` -1Z -b100110110111100111111101001101 m -b11101011 i -b1000 q -0p -0k -b10 P -b100110110111100111111101001101 /" -b1000 3" -b100110110111100111111101001101 @" -b11101011 <" -b1000 D" -0C" -b10 #" -b100 7 -1' -#4146 -b110011010 / -b10 2 -#4150 -b10100100 5" -1d -b0 b -0S -b11 Q -b0 G -b110100100 s -b11 B -b11 A -1g -b10 O -1:" -b10 "" -b110100100000000011 8 -1= -b101000111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b110100100000000011 " -b11 . -0& -b10100101001100100100111001001010 % -b10100101001100100100111001001010 < -b10100101001100100100111001001010 D -b10100101001100100100111001001010 U -b10100101001100100100111001001010 f -b10100101001100100100111001001010 u -b10100101001100100100111001001010 (" -b10100101001100100100111001001010 9" -0( -0) -0+ -0, -b1 0 -0' -#4155 -1!" -1N -b0 J -b10 4 -b10 #" -b10100101001100100100111001001010 @" -b10100100 <" -b111 D" -1C" -b10100101001100100100111001001010 /" -b111 3" -b10 P -b10100101001100100100111001001010 m -b0 i -b111 q -1p -1k -b10100101001100100100111001001010 \ -b11 X -b111 ` -0Z -1' -#4156 -b110011011 / -b10 2 -#4160 -b1101100 5" -b10 "" -0d -b10101001 b -1S -b0 Q -b10 O -b1 G -b101101100 s -b110101001 B -b11 A -b101101100110101001 8 -b10011110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101101100110101001 " -b11 . -b10111101010011011100000101 % -b10111101010011011100000101 < -b10111101010011011100000101 D -b10111101010011011100000101 U -b10111101010011011100000101 f -b10111101010011011100000101 u -b10111101010011011100000101 (" -b10111101010011011100000101 9" -0( -0) -0+ -0, -b10 0 -0' -#4163 -b1001001000000001111101110010011 A" -#4165 -b100100100000000111110111001001100000000000000000000000000000000 # -b1 J -b11 . -b100100100000000111110111001001100000000000000000000000000000000 ! -b100100100000000111110111001001100000000000000000000000000000000 ? -b11 A -b1001001000000001111101110010011 } -b10111101010011011100000101 \ -b0 X -b101 ` -1Z -b10111101010011011100000101 m -b10101001 i -b101 q -0k -b10 P -b10111101010011011100000101 /" -b101 3" -b10111101010011011100000101 @" -b1101100 <" -b101 D" -b1001001000000001111101110010011 y -b10 #" -b10 4 -1' -#4166 -b110011100 / -b10 2 -#4170 -17" -b0 5" -0&" -0)" -b1100111 $" -b0 x -1d -b0 b -0S -0V -b1100111 Q -b0 G -b1100111 s -b1100111 B -b11 A -1g -b10 O -1:" -b10 "" -b1100111001100111 8 -0= -b1100111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110110110111110011 " -b11 . -1& -b1001101000000111111010110011010 % -b1001101000000111111010110011010 < -b1001101000000111111010110011010 D -b1001101000000111111010110011010 U -b1001101000000111111010110011010 f -b1001101000000111111010110011010 u -b1001101000000111111010110011010 (" -b1001101000000111111010110011010 9" -0( -0) -0+ -0, -b1 0 -0' -#4173 -b0 A" -b0 n -#4175 -b0 # -0!" -b0 { -0N -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b1001101000000111111010110011010 @" -b0 <" -b1000 D" -1>" -b1001101000000111111010110011010 /" -b1100111 +" -b1000 3" -02" -0-" -b10 P -b1001101000000111111010110011010 m -b0 i -b1000 q -1k -b1001101000000111111010110011010 \ -b1100111 X -b1000 ` -0_ -0Z -1' -#4176 -b110011101 / -b10 2 -#4180 -b10001100 $" -b10 "" -b10001100 Q -b10 O -b10001100 s -b10001100 B -b11 A -b10001100010001100 8 -b10001100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100100010100011011 " -b11 . -1& -b11010101111000010100000110 % -b11010101111000010100000110 < -b11010101111000010100000110 D -b11010101111000010100000110 U -b11010101111000010100000110 f -b11010101111000010100000110 u -b11010101111000010100000110 (" -b11010101111000010100000110 9" -0( -0) -0+ -0, -b10 0 -0' -#4185 -b11010101111000010100000110 \ -b10001100 X -b1100 ` -b11010101111000010100000110 m -b1100 q -b10 P -b11010101111000010100000110 /" -b10001100 +" -b1100 3" -b11010101111000010100000110 @" -b1100 D" -b10 #" -b100 7 -1' -#4186 -b110011110 / -b10 2 -#4190 -b1100100 $" -b1101110 Q -b1100100 s -b1101110 B -b11 A -1V -b10 O -1)" -b10 "" -b1100100001101110 8 -1= -b110100000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b1100100001101110 " -b11 . -0& -b100010111101111100111101000101 % -b100010111101111100111101000101 < -b100010111101111100111101000101 D -b100010111101111100111101000101 U -b100010111101111100111101000101 f -b100010111101111100111101000101 u -b100010111101111100111101000101 (" -b100010111101111100111101000101 9" -0( -0) -0+ -0, -b1 0 -0' -#4195 -1!" -1N -b10 4 -b10 #" -b100010111101111100111101000101 @" -b1010 D" -b100010111101111100111101000101 /" -b1100100 +" -b1010 3" -12" -b10 P -b100010111101111100111101000101 m -b1010 q -b100010111101111100111101000101 \ -b1101110 X -b1010 ` -1_ -1' -#4196 -b110011111 / -b10 2 -#4200 -b11011110 Q -b10 O -b11011110 B -b11 A -b1100100011011110 8 -b101010111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b1100100011011110 " -b11 . -b10001110111010101101000000011101 % -b10001110111010101101000000011101 < -b10001110111010101101000000011101 D -b10001110111010101101000000011101 U -b10001110111010101101000000011101 f -b10001110111010101101000000011101 u -b10001110111010101101000000011101 (" -b10001110111010101101000000011101 9" -0( -0) -0+ -0, -b10 0 -0' -#4203 -b110010001100100000000000 0" -#4205 -b11001000110010000000000000000000000000000000000000000000 # -b11 . -b11001000110010000000000000000000000000000000000000000000 ! -b11001000110010000000000000000000000000000000000000000000 ? -b11 A -b110010001100100000000000 } -b10001110111010101101000000011101 \ -b11011110 X -b1011 ` -b10001110111010101101000000011101 m -b1011 q -b10 P -b10001110111010101101000000011101 /" -b1011 3" -b10001110111010101101000000011101 @" -b1011 D" -b110010001100100000000000 y -b10 #" -b10 4 -1' -#4206 -b110100000 / -b10 2 -#4210 -07" -b10010110 5" -1&" -b0 $" -b10 "" -b1 x -0d -b10110010 b -1S -b0 Q -b10 O -b1 G -b110010110 s -b110110010 B -b11 A -b110010110110110010 8 -b1111000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b110010110110110010 " -b11 . -b11110111011001100010001011101110 % -b11110111011001100010001011101110 < -b11110111011001100010001011101110 D -b11110111011001100010001011101110 U -b11110111011001100010001011101110 f -b11110111011001100010001011101110 u -b11110111011001100010001011101110 (" -b11110111011001100010001011101110 9" -0( -0) -0+ -0, -b1 0 -0' -#4215 -b1 { -b1 J -b10 4 -b10 #" -b11110111011001100010001011101110 @" -b10010110 <" -b1111 D" -0>" -b11110111011001100010001011101110 /" -b0 +" -b1111 3" -1-" -b10 P -b11110111011001100010001011101110 m -b10110010 i -b1111 q -0k -b11110111011001100010001011101110 \ -b0 X -b1111 ` -1Z -1' -#4216 -b110100001 / -b10 2 -#4220 -17" -b0 5" -0&" -b11000011 $" -b10 "" -b0 x -b10001010 b -b10 O -b11000011 s -b110001010 B -b11 A -b11000011110001010 8 -b110010011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b11000011110001010 " -b11 . -b10110100111010000100100101101 % -b10110100111010000100100101101 < -b10110100111010000100100101101 D -b10110100111010000100100101101 U -b10110100111010000100100101101 f -b10110100111010000100100101101 u -b10110100111010000100100101101 (" -b10110100111010000100100101101 9" -0( -0) -0+ -0, -b10 0 -0' -#4225 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10110100111010000100100101101 \ -b111 ` -b10110100111010000100100101101 m -b10001010 i -b111 q -b10 P -b10110100111010000100100101101 /" -b11000011 +" -b111 3" -0-" -b10110100111010000100100101101 @" -b0 <" -b111 D" -1>" -b0 y -b10 #" -b10 4 -1' -#4226 -b110100010 / -b10 2 -#4230 -07" -0:" -b11001101 5" -1&" -b0 $" -b1 x -b11001101 b -b111001101 s -b111001101 B -b11 A -0g -b10 O -1)" -b10 "" -b111001101111001101 8 -0= -b111001101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10101001110000111 " -b11 . -1& -b1010011101001010111010110100111 % -b1010011101001010111010110100111 < -b1010011101001010111010110100111 D -b1010011101001010111010110100111 U -b1010011101001010111010110100111 f -b1010011101001010111010110100111 u -b1010011101001010111010110100111 (" -b1010011101001010111010110100111 9" -0( -0) -0+ -0, -b1 0 -0' -#4233 -b1101 0" -b1110000100000000 n -#4235 -b110100000000000000001110000100000000 # -0!" -b1 { -0N -b11 . -b110100000000000000001110000100000000 ! -b110100000000000000001110000100000000 ? -b11 A -b1101 } -b1110000100000000 L -b100 7 -b1101 y -b10 #" -b1010011101001010111010110100111 @" -b11001101 <" -b100 D" -0C" -0>" -b1010011101001010111010110100111 /" -b0 +" -b100 3" -1-" -b1110000100000000 H -b10 P -b1010011101001010111010110100111 m -b11001101 i -b100 q -0p -b1010011101001010111010110100111 \ -b100 ` -1' -#4236 -b110100011 / -b10 2 -#4240 -b1001100 5" -1d -b0 b -0S -b10100000 Q -b0 G -b101001100 s -b10100000 B -b11 A -1g -b10 O -1:" -b10 "" -b101001100010100000 8 -1= -b10110111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101001100010100000 " -b11 . -0& -b10101000001001001100101001010000 % -b10101000001001001100101001010000 < -b10101000001001001100101001010000 D -b10101000001001001100101001010000 U -b10101000001001001100101001010000 f -b10101000001001001100101001010000 u -b10101000001001001100101001010000 (" -b10101000001001001100101001010000 9" -0( -0) -0+ -0, -b10 0 -0' -#4245 -1N -b0 J -1!" -b10101000001001001100101001010000 \ -b10100000 X -b1 ` -0Z -b10101000001001001100101001010000 m -b0 i -b1 q -1p -1k -b10 P -b10101000001001001100101001010000 /" -b1 3" -b10101000001001001100101001010000 @" -b1001100 <" -b1 D" -1C" -b10 #" -b10 4 -1' -#4246 -b110100100 / -b10 2 -#4250 -b11110101 5" -0d -0g -b11110101 b -1S -b0 Q -b1 G -b111110101 s -b111110101 B -b11 A -1V -b10 O -0:" -b10 "" -b111110101111110101 8 -0= -b111110101 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100100111100100 " -b11 . -1& -b10100010011111110010001001000100 % -b10100010011111110010001001000100 < -b10100010011111110010001001000100 D -b10100010011111110010001001000100 U -b10100010011111110010001001000100 f -b10100010011111110010001001000100 u -b10100010011111110010001001000100 (" -b10100010011111110010001001000100 9" -0( -0) -0+ -0, -b1 0 -0' -#4255 -b0 # -0!" -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b100 7 -b0 y -b10 #" -b10100010011111110010001001000100 @" -b11110101 <" -b110 D" -0C" -b10100010011111110010001001000100 /" -b110 3" -b0 H -b10 P -b10100010011111110010001001000100 m -b11110101 i -b110 q -0p -0k -b10100010011111110010001001000100 \ -b0 X -b110 ` -1Z -1' -#4256 -b110100101 / -b10 2 -#4260 -b100010 5" -b10101111 b -b100100010 s -b110101111 B -b11 A -1g -b10 O -1:" -b10 "" -b100100010110101111 8 -1= -b110010010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100100010110101111 " -b11 . -0& -b10100010010011000111111001000100 % -b10100010010011000111111001000100 < -b10100010010011000111111001000100 D -b10100010010011000111111001000100 U -b10100010010011000111111001000100 f -b10100010010011000111111001000100 u -b10100010010011000111111001000100 (" -b10100010010011000111111001000100 9" -0( -0) -0+ -0, -b10 0 -0' -#4265 -1N -1!" -b10100010010011000111111001000100 \ -b1000 ` -b10100010010011000111111001000100 m -b10101111 i -b1000 q -1p -b10 P -b10100010010011000111111001000100 /" -b1000 3" -b10100010010011000111111001000100 @" -b100010 <" -b1000 D" -1C" -b10 #" -b10 4 -1' -#4266 -b110100110 / -b10 2 -#4270 -b10111011 5" -b10111011 b -b110111011 s -b110111011 B -b11 A -0g -b10 O -0:" -b10 "" -b110111011110111011 8 -0= -b110111011 $ -b110101010111000101 " -b11 . -1& -b11011110001110110000100010111100 % -b11011110001110110000100010111100 < -b11011110001110110000100010111100 D -b11011110001110110000100010111100 U -b11011110001110110000100010111100 f -b11011110001110110000100010111100 u -b11011110001110110000100010111100 (" -b11011110001110110000100010111100 9" -0( -0) -0+ -0, -b1 0 -0' -#4273 -b0 n -#4275 -0!" -0N -b100 7 -b10 #" -b11011110001110110000100010111100 @" -b10111011 <" -0C" -b11011110001110110000100010111100 /" -b10 P -b11011110001110110000100010111100 m -b10111011 i -0p -b11011110001110110000100010111100 \ -1' -#4276 -b110100111 / -b10 2 -#4280 -17" -1:" -b0 5" -0&" -0)" -b11000101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11000101 Q -b10 O -b0 G -b11000101 s -b11000101 B -b11 A -b11000101011000101 8 -b11000101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1111010011111011 " -b11 . -1& -b1100110100100000111011111001101 % -b1100110100100000111011111001101 < -b1100110100100000111011111001101 D -b1100110100100000111011111001101 U -b1100110100100000111011111001101 f -b1100110100100000111011111001101 u -b1100110100100000111011111001101 (" -b1100110100100000111011111001101 9" -0( -0) -0+ -0, -b10 0 -0' -#4285 -b0 J -b0 { -b1100110100100000111011111001101 \ -b11000101 X -b111 ` -0_ -0Z -b1100110100100000111011111001101 m -b0 i -b111 q -1p -1k -b10 P -b1100110100100000111011111001101 /" -b11000101 +" -b111 3" -02" -0-" -b1100110100100000111011111001101 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b100 7 -1' -#4286 -b110101000 / -b10 2 -#4290 -b110 $" -0d -b10010110 b -1S -b0 Q -b1 G -b110 s -b110010110 B -b11 A -1V -b10 O -1)" -b10 "" -b110110010110 8 -1= -b100010000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110110010110 " -b11 . -0& -b11010100001010100001100010101000 % -b11010100001010100001100010101000 < -b11010100001010100001100010101000 D -b11010100001010100001100010101000 U -b11010100001010100001100010101000 f -b11010100001010100001100010101000 u -b11010100001010100001100010101000 (" -b11010100001010100001100010101000 9" -0( -0) -0+ -0, -b1 0 -0' -#4295 -1!" -1N -b1 J -b10 4 -b10 #" -b11010100001010100001100010101000 @" -b1110 D" -b11010100001010100001100010101000 /" -b110 +" -b1110 3" -12" -b10 P -b11010100001010100001100010101000 m -b10010110 i -b1110 q -0k -b11010100001010100001100010101000 \ -b0 X -b1110 ` -1_ -1Z -1' -#4296 -b110101001 / -b10 2 -#4300 -b10000001 $" -b10 "" -1d -b0 b -0S -b1110110 Q -b10 O -b0 G -b10000001 s -b1110110 B -b11 A -b10000001001110110 8 -b101111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10000001001110110 " -b11 . -b1010000100110000001011110100001 % -b1010000100110000001011110100001 < -b1010000100110000001011110100001 D -b1010000100110000001011110100001 U -b1010000100110000001011110100001 f -b1010000100110000001011110100001 u -b1010000100110000001011110100001 (" -b1010000100110000001011110100001 9" -0( -0) -0+ -0, -b10 0 -0' -#4303 -b0 0" -#4305 -b0 J -b1010000100110000001011110100001 \ -b1110110 X -b1011 ` -0Z -b1010000100110000001011110100001 m -b0 i -b1011 q -1k -b10 P -b1010000100110000001011110100001 /" -b10000001 +" -b1011 3" -b1010000100110000001011110100001 @" -b1011 D" -b10 #" -b10 4 -1' -#4306 -b110101010 / -b10 2 -#4310 -b10000010 $" -b10 "" -b101100 Q -b10 O -b10000010 s -b101100 B -b11 A -b10000010000101100 8 -b111110100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10000010000101100 " -b11 . -b11100101010110000000101011001010 % -b11100101010110000000101011001010 < -b11100101010110000000101011001010 D -b11100101010110000000101011001010 U -b11100101010110000000101011001010 f -b11100101010110000000101011001010 u -b11100101010110000000101011001010 (" -b11100101010110000000101011001010 9" -0( -0) -0+ -0, -b1 0 -0' -#4313 -b111001000000000000000000000000 ] -#4315 -b111001000000000000000000000000 # -b11 . -b111001000000000000000000000000 ! -b111001000000000000000000000000 ? -b11 A -b111001000000000000000000000000 L -b10 4 -b10 #" -b11100101010110000000101011001010 @" -b1000 D" -b11100101010110000000101011001010 /" -b10000010 +" -b1000 3" -b111001000000000000000000000000 H -b10 P -b11100101010110000000101011001010 m -b1000 q -b11100101010110000000101011001010 \ -b101100 X -b1000 ` -1' -#4316 -b110101011 / -b10 2 -#4320 -b1101 $" -b10 "" -0d -b10010101 b -1S -b0 Q -b10 O -b1 G -b1101 s -b110010101 B -b11 A -b1101110010101 8 -b1100110 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1101110010101 " -b11 . -b1010110100011110101100010101 % -b1010110100011110101100010101 < -b1010110100011110101100010101 D -b1010110100011110101100010101 U -b1010110100011110101100010101 f -b1010110100011110101100010101 u -b1010110100011110101100010101 (" -b1010110100011110101100010101 9" -0( -0) -0+ -0, -b10 0 -0' -#4323 -b10110101110001100101010010000001 0" -b101001101000110101111001010001 ] -#4325 -b1011010111000110010101001000000100101001101000110101111001010001 # -b1 J -b11 . -b1011010111000110010101001000000100101001101000110101111001010001 ! -b1011010111000110010101001000000100101001101000110101111001010001 ? -b11 A -b101001101000110101111001010001 L -b10110101110001100101010010000001 } -b1010110100011110101100010101 \ -b0 X -b1100 ` -1Z -b1010110100011110101100010101 m -b10010101 i -b1100 q -0k -b101001101000110101111001010001 H -b10 P -b1010110100011110101100010101 /" -b1101 +" -b1100 3" -b1010110100011110101100010101 @" -b1100 D" -b10110101110001100101010010000001 y -b10 #" -b10 4 -1' -#4326 -b110101100 / -b10 2 -#4330 -07" -0:" -b10000000 5" -1&" -b0 $" -b1 x -b10000000 b -b110000000 s -b110000000 B -b11 A -0g -b10 O -1)" -b10 "" -b110000000110000000 8 -0= -b110000000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111111001110100100 " -b11 . -1& -b101101110010111110100101011011 % -b101101110010111110100101011011 < -b101101110010111110100101011011 D -b101101110010111110100101011011 U -b101101110010111110100101011011 f -b101101110010111110100101011011 u -b101101110010111110100101011011 (" -b101101110010111110100101011011 9" -0( -0) -0+ -0, -b1 0 -0' -#4333 -b1100000100000000 0" -#4335 -b110000010000000000000000000000000000000000000000 # -0!" -b1 { -0N -b11 . -b110000010000000000000000000000000000000000000000 ! -b110000010000000000000000000000000000000000000000 ? -b11 A -b1100000100000000 } -b0 L -b100 7 -b1100000100000000 y -b10 #" -b101101110010111110100101011011 @" -b10000000 <" -b1 D" -0C" -0>" -b101101110010111110100101011011 /" -b0 +" -b1 3" -1-" -b0 H -b10 P -b101101110010111110100101011011 m -b10000000 i -b1 q -0p -b101101110010111110100101011011 \ -b1 ` -1' -#4336 -b110101101 / -b10 2 -#4340 -17" -1:" -b0 5" -0&" -0)" -b11011101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11011101 Q -b10 O -b0 G -b11011101 s -b11011101 B -b11 A -b11011101011011101 8 -b11011101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b10110111110 " -b11 . -1& -b111000001110101100100101110000 % -b111000001110101100100101110000 < -b111000001110101100100101110000 D -b111000001110101100100101110000 U -b111000001110101100100101110000 f -b111000001110101100100101110000 u -b111000001110101100100101110000 (" -b111000001110101100100101110000 9" -0( -0) -0+ -0, -b10 0 -0' -#4345 -b0 J -b0 { -b111000001110101100100101110000 \ -b11011101 X -b1101 ` -0_ -0Z -b111000001110101100100101110000 m -b0 i -b1101 q -1p -1k -b10 P -b111000001110101100100101110000 /" -b11011101 +" -b1101 3" -02" -0-" -b111000001110101100100101110000 @" -b0 <" -b1101 D" -1C" -1>" -b10 #" -b100 7 -1' -#4346 -b110101110 / -b10 2 -#4350 -07" -0:" -b11011010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11011010 b -1S -1V -b0 Q -b10 O -b1 G -b111011010 s -b111011010 B -b11 A -b111011010111011010 8 -b111011010 $ -b110001000000011010 " -b11 . -1& -b10010111011111111100000000101110 % -b10010111011111111100000000101110 < -b10010111011111111100000000101110 D -b10010111011111111100000000101110 U -b10010111011111111100000000101110 f -b10010111011111111100000000101110 u -b10010111011111111100000000101110 (" -b10010111011111111100000000101110 9" -0( -0) -0+ -0, -b1 0 -0' -#4355 -b1 { -b1 J -b100 7 -b10 #" -b10010111011111111100000000101110 @" -b11011010 <" -0C" -0>" -b10010111011111111100000000101110 /" -b0 +" -12" -1-" -b10 P -b10010111011111111100000000101110 m -b11011010 i -0p -0k -b10010111011111111100000000101110 \ -b0 X -1_ -1Z -1' -#4356 -b110101111 / -b10 2 -#4360 -17" -1:" -b0 5" -0&" -0)" -b1000001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1000001 Q -b10 O -b0 G -b1000001 s -b1000001 B -b11 A -b1000001001000001 8 -b1000001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111101110011100000 " -b11 . -1& -b10001110000101111111100000011100 % -b10001110000101111111100000011100 < -b10001110000101111111100000011100 D -b10001110000101111111100000011100 U -b10001110000101111111100000011100 f -b10001110000101111111100000011100 u -b10001110000101111111100000011100 (" -b10001110000101111111100000011100 9" -0( -0) -0+ -0, -b10 0 -0' -#4365 -b0 J -b0 { -b10001110000101111111100000011100 \ -b1000001 X -b10 ` -0_ -0Z -b10001110000101111111100000011100 m -b0 i -b10 q -1p -1k -b10 P -b10001110000101111111100000011100 /" -b1000001 +" -b10 3" -02" -0-" -b10001110000101111111100000011100 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b100 7 -1' -#4366 -b110110000 / -b10 2 -#4370 -07" -b11101 5" -1&" -b0 $" -b1 x -b10001010 Q -b100011101 s -b10001010 B -b11 A -1V -b10 O -1)" -b10 "" -b100011101010001010 8 -1= -b11 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100011101010001010 " -b11 . -0& -b10000011111101110011011000000111 % -b10000011111101110011011000000111 < -b10000011111101110011011000000111 D -b10000011111101110011011000000111 U -b10000011111101110011011000000111 f -b10000011111101110011011000000111 u -b10000011111101110011011000000111 (" -b10000011111101110011011000000111 9" -0( -0) -0+ -0, -b1 0 -0' -#4375 -1!" -b1 { -1N -b10 4 -b10 #" -b10000011111101110011011000000111 @" -b11101 <" -b1011 D" -0>" -b10000011111101110011011000000111 /" -b0 +" -b1011 3" -12" -1-" -b10 P -b10000011111101110011011000000111 m -b1011 q -b10000011111101110011011000000111 \ -b10001010 X -b1011 ` -1_ -1' -#4376 -b110110001 / -b10 2 -#4380 -b10100011 5" -0d -0g -b10100011 b -1S -b0 Q -b1 G -b110100011 s -b110100011 B -b11 A -1V -b10 O -0:" -b10 "" -b110100011110100011 8 -0= -b110100011 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10010011100001101 " -b11 . -1& -b10001101001011000100011000011010 % -b10001101001011000100011000011010 < -b10001101001011000100011000011010 D -b10001101001011000100011000011010 U -b10001101001011000100011000011010 f -b10001101001011000100011000011010 u -b10001101001011000100011000011010 (" -b10001101001011000100011000011010 9" -0( -0) -0+ -0, -b10 0 -0' -#4383 -b11101000 A" -b1110001001111111010101100000000 ] -#4385 -b1110100001110001001111111010101100000000 # -0N -b1 J -0!" -b11 . -b1110100001110001001111111010101100000000 ! -b1110100001110001001111111010101100000000 ? -b11 A -b1110001001111111010101100000000 L -b11101000 } -b10001101001011000100011000011010 \ -b0 X -b11 ` -1Z -b10001101001011000100011000011010 m -b10100011 i -b11 q -0p -0k -b1110001001111111010101100000000 H -b10 P -b10001101001011000100011000011010 /" -b11 3" -b10001101001011000100011000011010 @" -b10100011 <" -b11 D" -0C" -b11101000 y -b10 #" -b100 7 -1' -#4386 -b110110010 / -b10 2 -#4390 -17" -1:" -b0 5" -0&" -0)" -b101100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b101100 Q -b10 O -b0 G -b101100 s -b101100 B -b11 A -b101100000101100 8 -b101100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101010111100000110 " -b11 . -1& -b11010111000111010010111010101110 % -b11010111000111010010111010101110 < -b11010111000111010010111010101110 D -b11010111000111010010111010101110 U -b11010111000111010010111010101110 f -b11010111000111010010111010101110 u -b11010111000111010010111010101110 (" -b11010111000111010010111010101110 9" -0( -0) -0+ -0, -b1 0 -0' -#4395 -b0 { -b0 J -b100 7 -b10 #" -b11010111000111010010111010101110 @" -b0 <" -b1 D" -1C" -1>" -b11010111000111010010111010101110 /" -b101100 +" -b1 3" -02" -0-" -b10 P -b11010111000111010010111010101110 m -b0 i -b1 q -1p -1k -b11010111000111010010111010101110 \ -b101100 X -b1 ` -0_ -0Z -1' -#4396 -b110110011 / -b10 2 -#4400 -b1000110 $" -b10 "" -b1000110 Q -b10 O -b1000110 s -b1000110 B -b11 A -b1000110001000110 8 -b1000110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b110111010101000000 " -b11 . -1& -b1000000101100000011010110000001 % -b1000000101100000011010110000001 < -b1000000101100000011010110000001 D -b1000000101100000011010110000001 U -b1000000101100000011010110000001 f -b1000000101100000011010110000001 u -b1000000101100000011010110000001 (" -b1000000101100000011010110000001 9" -0( -0) -0+ -0, -b10 0 -0' -#4405 -b1000000101100000011010110000001 \ -b1000110 X -b111 ` -b1000000101100000011010110000001 m -b111 q -b10 P -b1000000101100000011010110000001 /" -b1000110 +" -b111 3" -b1000000101100000011010110000001 @" -b111 D" -b10 #" -b100 7 -1' -#4406 -b110110100 / -b10 2 -#4410 -07" -0:" -b10010110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10010110 b -1S -1V -b0 Q -b10 O -b1 G -b110010110 s -b110010110 B -b11 A -b110010110110010110 8 -b110010110 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100011100100111111 " -b11 . -1& -b110111110100000110011101101111 % -b110111110100000110011101101111 < -b110111110100000110011101101111 D -b110111110100000110011101101111 U -b110111110100000110011101101111 f -b110111110100000110011101101111 u -b110111110100000110011101101111 (" -b110111110100000110011101101111 9" -0( -0) -0+ -0, -b1 0 -0' -#4415 -b1 { -b1 J -b100 7 -b10 #" -b110111110100000110011101101111 @" -b10010110 <" -b1100 D" -0C" -0>" -b110111110100000110011101101111 /" -b0 +" -b1100 3" -12" -1-" -b10 P -b110111110100000110011101101111 m -b10010110 i -b1100 q -0p -0k -b110111110100000110011101101111 \ -b0 X -b1100 ` -1_ -1Z -1' -#4416 -b110110101 / -b10 2 -#4420 -b1001011 5" -1d -b0 b -0S -b100110 Q -b0 G -b101001011 s -b100110 B -b11 A -1g -b10 O -1:" -b10 "" -b101001011000100110 8 -1= -b111101011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101001011000100110 " -b11 . -0& -b1110010000101010000011111100100 % -b1110010000101010000011111100100 < -b1110010000101010000011111100100 D -b1110010000101010000011111100100 U -b1110010000101010000011111100100 f -b1110010000101010000011111100100 u -b1110010000101010000011111100100 (" -b1110010000101010000011111100100 9" -0( -0) -0+ -0, -b10 0 -0' -#4425 -1N -b0 J -1!" -b1110010000101010000011111100100 \ -b100110 X -b1110 ` -0Z -b1110010000101010000011111100100 m -b0 i -b1110 q -1p -1k -b10 P -b1110010000101010000011111100100 /" -b1110 3" -b1110010000101010000011111100100 @" -b1001011 <" -b1110 D" -1C" -b10 #" -b10 4 -1' -#4426 -b110110110 / -b10 2 -#4430 -b10110010 5" -b10 "" -0d -b1000110 b -1S -b0 Q -b10 O -b1 G -b110110010 s -b101000110 B -b11 A -b110110010101000110 8 -b100001111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110110010101000110 " -b11 . -b10111110010001110001100001111100 % -b10111110010001110001100001111100 < -b10111110010001110001100001111100 D -b10111110010001110001100001111100 U -b10111110010001110001100001111100 f -b10111110010001110001100001111100 u -b10111110010001110001100001111100 (" -b10111110010001110001100001111100 9" -0( -0) -0+ -0, -b1 0 -0' -#4433 -b11100011 A" -b0 ] -#4435 -b1110001100000000000000000000000000000000 # -b1 J -b11 . -b1110001100000000000000000000000000000000 ! -b1110001100000000000000000000000000000000 ? -b11 A -b11100011 } -b0 L -b10 4 -b11100011 y -b10 #" -b10111110010001110001100001111100 @" -b10110010 <" -b1 D" -b10111110010001110001100001111100 /" -b1 3" -b0 H -b10 P -b10111110010001110001100001111100 m -b1000110 i -b1 q -0k -b10111110010001110001100001111100 \ -b0 X -b1 ` -1Z -1' -#4436 -b110110111 / -b10 2 -#4440 -17" -b0 5" -0&" -b11110110 $" -b10 "" -b0 x -1d -b0 b -0S -b1101101 Q -b10 O -b0 G -b11110110 s -b1101101 B -b11 A -b11110110001101101 8 -b10001011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11110110001101101 " -b11 . -b11001011010110101111010010010110 % -b11001011010110101111010010010110 < -b11001011010110101111010010010110 D -b11001011010110101111010010010110 U -b11001011010110101111010010010110 f -b11001011010110101111010010010110 u -b11001011010110101111010010010110 (" -b11001011010110101111010010010110 9" -0( -0) -0+ -0, -b10 0 -0' -#4443 -b0 A" -#4445 -b0 # -b0 J -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b11001011010110101111010010010110 \ -b1101101 X -b1110 ` -0Z -b11001011010110101111010010010110 m -b0 i -b1110 q -1k -b10 P -b11001011010110101111010010010110 /" -b11110110 +" -b1110 3" -0-" -b11001011010110101111010010010110 @" -b0 <" -b1110 D" -1>" -b0 y -b10 #" -b10 4 -1' -#4446 -b110111000 / -b10 2 -#4450 -07" -b101101 5" -1&" -b0 $" -b10 "" -b1 x -b11100000 Q -b10 O -b100101101 s -b11100000 B -b11 A -b100101101011100000 8 -b101010011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b100101101011100000 " -b11 . -b11110110001100011001101011101100 % -b11110110001100011001101011101100 < -b11110110001100011001101011101100 D -b11110110001100011001101011101100 U -b11110110001100011001101011101100 f -b11110110001100011001101011101100 u -b11110110001100011001101011101100 (" -b11110110001100011001101011101100 9" -0( -0) -0+ -0, -b1 0 -0' -#4453 -b0 0" -#4455 -b1 { -b10 4 -b10 #" -b11110110001100011001101011101100 @" -b101101 <" -b111 D" -0>" -b11110110001100011001101011101100 /" -b0 +" -b111 3" -1-" -b10 P -b11110110001100011001101011101100 m -b111 q -b11110110001100011001101011101100 \ -b11100000 X -b111 ` -1' -#4456 -b110111001 / -b10 2 -#4460 -b1001110 5" -b10 "" -0d -b1110010 b -1S -b0 Q -b10 O -b1 G -b101001110 s -b101110010 B -b11 A -b101001110101110010 8 -b11101100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101001110101110010 " -b11 . -b11110100000100011101100111101 % -b11110100000100011101100111101 < -b11110100000100011101100111101 D -b11110100000100011101100111101 U -b11110100000100011101100111101 f -b11110100000100011101100111101 u -b11110100000100011101100111101 (" -b11110100000100011101100111101 9" -0( -0) -0+ -0, -b10 0 -0' -#4463 -b100111000000000000000000000000 ] -#4465 -b100111000000000000000000000000 # -b1 J -b11 . -b100111000000000000000000000000 ! -b100111000000000000000000000000 ? -b11 A -b100111000000000000000000000000 L -b11110100000100011101100111101 \ -b0 X -b1100 ` -1Z -b11110100000100011101100111101 m -b1110010 i -b1100 q -0k -b100111000000000000000000000000 H -b10 P -b11110100000100011101100111101 /" -b1100 3" -b11110100000100011101100111101 @" -b1001110 <" -b1100 D" -b10 #" -b10 4 -1' -#4466 -b110111010 / -b10 2 -#4470 -17" -b0 5" -0&" -0)" -b111001 $" -b0 x -1d -b0 b -0S -0V -b111001 Q -b0 G -b111001 s -b111001 B -b11 A -1g -b10 O -1:" -b10 "" -b111001000111001 8 -0= -b111001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101110001011010 " -b11 . -1& -b10000010010001000000001000000100 % -b10000010010001000000001000000100 < -b10000010010001000000001000000100 D -b10000010010001000000001000000100 U -b10000010010001000000001000000100 f -b10000010010001000000001000000100 u -b10000010010001000000001000000100 (" -b10000010010001000000001000000100 9" -0( -0) -0+ -0, -b1 0 -0' -#4473 -b110001000000000000000001100010 A" -#4475 -b11000100000000000000000110001000000000000000000000000000000000 # -0!" -b0 { -0N -b0 J -b11 . -b11000100000000000000000110001000000000000000000000000000000000 ! -b11000100000000000000000110001000000000000000000000000000000000 ? -b11 A -b110001000000000000000001100010 } -b0 L -b100 7 -b110001000000000000000001100010 y -b10 #" -b10000010010001000000001000000100 @" -b0 <" -b1001 D" -1>" -b10000010010001000000001000000100 /" -b111001 +" -b1001 3" -02" -0-" -b0 H -b10 P -b10000010010001000000001000000100 m -b0 i -b1001 q -1k -b10000010010001000000001000000100 \ -b111001 X -b1001 ` -0_ -0Z -1' -#4476 -b110111011 / -b10 2 -#4480 -07" -b1110101 5" -1&" -b0 $" -b1 x -b10100011 Q -b101110101 s -b10100011 B -b11 A -1V -b10 O -1)" -b10 "" -b101110101010100011 8 -1= -b111100100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101110101010100011 " -b11 . -0& -b10100111010111110100101001001110 % -b10100111010111110100101001001110 < -b10100111010111110100101001001110 D -b10100111010111110100101001001110 U -b10100111010111110100101001001110 f -b10100111010111110100101001001110 u -b10100111010111110100101001001110 (" -b10100111010111110100101001001110 9" -0( -0) -0+ -0, -b10 0 -0' -#4485 -1N -1!" -b1 { -b10100111010111110100101001001110 \ -b10100011 X -b1100 ` -1_ -b10100111010111110100101001001110 m -b1100 q -b10 P -b10100111010111110100101001001110 /" -b0 +" -b1100 3" -12" -1-" -b10100111010111110100101001001110 @" -b1110101 <" -b1100 D" -0>" -b10 #" -b10 4 -1' -#4486 -b110111100 / -b10 2 -#4490 -17" -b0 5" -0&" -b10000101 $" -b10 "" -b0 x -b1111011 Q -b10 O -b10000101 s -b1111011 B -b11 A -b10000101001111011 8 -b101011001 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10000101001111011 " -b11 . -b11000000100011101011101010000001 % -b11000000100011101011101010000001 < -b11000000100011101011101010000001 D -b11000000100011101011101010000001 U -b11000000100011101011101010000001 f -b11000000100011101011101010000001 u -b11000000100011101011101010000001 (" -b11000000100011101011101010000001 9" -0( -0) -0+ -0, -b1 0 -0' -#4493 -b0 A" -b0 ] -#4495 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b11000000100011101011101010000001 @" -b0 <" -b1 D" -1>" -b11000000100011101011101010000001 /" -b10000101 +" -b1 3" -0-" -b10 P -b11000000100011101011101010000001 m -b1 q -b11000000100011101011101010000001 \ -b1111011 X -b1 ` -1' -#4496 -b110111101 / -b10 2 -#4500 -b11101000 $" -b10 "" -0d -b10100101 b -1S -b0 Q -b10 O -b1 G -b11101000 s -b110100101 B -b11 A -b11101000110100101 8 -b10110011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b11101000110100101 " -b11 . -b1001101110110011101100110011011 % -b1001101110110011101100110011011 < -b1001101110110011101100110011011 D -b1001101110110011101100110011011 U -b1001101110110011101100110011011 f -b1001101110110011101100110011011 u -b1001101110110011101100110011011 (" -b1001101110110011101100110011011 9" -0( -0) -0+ -0, -b10 0 -0' -#4503 -b1000110011110001000100000000 0" -#4505 -b100011001111000100010000000000000000000000000000000000000000 # -b1 J -b11 . -b100011001111000100010000000000000000000000000000000000000000 ! -b100011001111000100010000000000000000000000000000000000000000 ? -b11 A -b1000110011110001000100000000 } -b1001101110110011101100110011011 \ -b0 X -b1000 ` -1Z -b1001101110110011101100110011011 m -b10100101 i -b1000 q -0k -b10 P -b1001101110110011101100110011011 /" -b11101000 +" -b1000 3" -b1001101110110011101100110011011 @" -b1000 D" -b1000110011110001000100000000 y -b10 #" -b10 4 -1' -#4506 -b110111110 / -b10 2 -#4510 -07" -b11000010 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b11000110 Q -b10 O -b0 G -b111000010 s -b11000110 B -b11 A -b111000010011000110 8 -b101110000 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111000010011000110 " -b11 . -b11111010110011100010111011110101 % -b11111010110011100010111011110101 < -b11111010110011100010111011110101 D -b11111010110011100010111011110101 U -b11111010110011100010111011110101 f -b11111010110011100010111011110101 u -b11111010110011100010111011110101 (" -b11111010110011100010111011110101 9" -0( -0) -0+ -0, -b1 0 -0' -#4513 -b0 0" -#4515 -b0 # -b1 { -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b11111010110011100010111011110101 @" -b11000010 <" -b1011 D" -0>" -b11111010110011100010111011110101 /" -b0 +" -b1011 3" -1-" -b10 P -b11111010110011100010111011110101 m -b0 i -b1011 q -1k -b11111010110011100010111011110101 \ -b11000110 X -b1011 ` -0Z -1' -#4516 -b110111111 / -b10 2 -#4520 -b1001111 5" -b10 "" -b11010010 Q -b10 O -b101001111 s -b11010010 B -b11 A -b101001111011010010 8 -b111100001 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101001111011010010 " -b11 . -b11100001010111110000101011000010 % -b11100001010111110000101011000010 < -b11100001010111110000101011000010 D -b11100001010111110000101011000010 U -b11100001010111110000101011000010 f -b11100001010111110000101011000010 u -b11100001010111110000101011000010 (" -b11100001010111110000101011000010 9" -0( -0) -0+ -0, -b10 0 -0' -#4523 -b10011000000000000001100000000 A" -b1100011010110110000000011000110 ] -#4525 -b1001100000000000000110000000001100011010110110000000011000110 # -b11 . -b1001100000000000000110000000001100011010110110000000011000110 ! -b1001100000000000000110000000001100011010110110000000011000110 ? -b11 A -b1100011010110110000000011000110 L -b10011000000000000001100000000 } -b11100001010111110000101011000010 \ -b11010010 X -b100 ` -b11100001010111110000101011000010 m -b100 q -b1100011010110110000000011000110 H -b10 P -b11100001010111110000101011000010 /" -b100 3" -b11100001010111110000101011000010 @" -b1001111 <" -b100 D" -b10011000000000000001100000000 y -b10 #" -b10 4 -1' -#4526 -b111000000 / -b10 2 -#4530 -17" -b0 5" -0&" -b101110 $" -b10 "" -b0 x -0d -b10111101 b -1S -b0 Q -b10 O -b1 G -b101110 s -b110111101 B -b11 A -b101110110111101 8 -b10100101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101110110111101 " -b11 . -b11100011100110010110011011000111 % -b11100011100110010110011011000111 < -b11100011100110010110011011000111 D -b11100011100110010110011011000111 U -b11100011100110010110011011000111 f -b11100011100110010110011011000111 u -b11100011100110010110011011000111 (" -b11100011100110010110011011000111 9" -0( -0) -0+ -0, -b1 0 -0' -#4533 -b0 A" -b0 ] -#4535 -b0 # -b0 { -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b11100011100110010110011011000111 @" -b0 <" -b1110 D" -1>" -b11100011100110010110011011000111 /" -b101110 +" -b1110 3" -0-" -b0 H -b10 P -b11100011100110010110011011000111 m -b10111101 i -b1110 q -0k -b11100011100110010110011011000111 \ -b0 X -b1110 ` -1Z -1' -#4536 -b111000001 / -b10 2 -#4540 -07" -b1010 5" -1&" -b0 $" -b10 "" -b1 x -b10000000 b -b10 O -b100001010 s -b110000000 B -b11 A -b100001010110000000 8 -b1010100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100001010110000000 " -b11 . -b10101011000011101001001001010110 % -b10101011000011101001001001010110 < -b10101011000011101001001001010110 D -b10101011000011101001001001010110 U -b10101011000011101001001001010110 f -b10101011000011101001001001010110 u -b10101011000011101001001001010110 (" -b10101011000011101001001001010110 9" -0( -0) -0+ -0, -b10 0 -0' -#4543 -b111101 0" -b101111101110001 n -#4545 -b11110100000000000000000101111101110001 # -b1 { -b11 . -b11110100000000000000000101111101110001 ! -b11110100000000000000000101111101110001 ? -b11 A -b101111101110001 L -b111101 } -b10101011000011101001001001010110 \ -b1100 ` -b10101011000011101001001001010110 m -b10000000 i -b1100 q -b101111101110001 H -b10 P -b10101011000011101001001001010110 /" -b0 +" -b1100 3" -1-" -b10101011000011101001001001010110 @" -b1010 <" -b1100 D" -0>" -b111101 y -b10 #" -b10 4 -1' -#4546 -b111000010 / -b10 2 -#4550 -17" -b0 5" -0&" -b101111 $" -b10 "" -b0 x -b0 b -b10 O -b101111 s -b100000000 B -b11 A -b101111100000000 8 -b11110010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101111100000000 " -b11 . -b11010001000101111010010010100010 % -b11010001000101111010010010100010 < -b11010001000101111010010010100010 D -b11010001000101111010010010100010 U -b11010001000101111010010010100010 f -b11010001000101111010010010100010 u -b11010001000101111010010010100010 (" -b11010001000101111010010010100010 9" -0( -0) -0+ -0, -b1 0 -0' -#4553 -b1011011 n -#4555 -b1011011 # -b0 { -b11 . -b1011011 ! -b1011011 ? -b11 A -b0 } -b1011011 L -b10 4 -b0 y -b10 #" -b11010001000101111010010010100010 @" -b0 <" -b1000 D" -1>" -b11010001000101111010010010100010 /" -b101111 +" -b1000 3" -0-" -b1011011 H -b10 P -b11010001000101111010010010100010 m -b0 i -b1000 q -b11010001000101111010010010100010 \ -b1000 ` -1' -#4556 -b111000011 / -b10 2 -#4560 -07" -b1100110 5" -1&" -b0 $" -b10 "" -b1 x -1d -0S -b1110000 Q -b10 O -b0 G -b101100110 s -b1110000 B -b11 A -b101100110001110000 8 -b110001111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101100110001110000 " -b11 . -b10111010111010101100101001110101 % -b10111010111010101100101001110101 < -b10111010111010101100101001110101 D -b10111010111010101100101001110101 U -b10111010111010101100101001110101 f -b10111010111010101100101001110101 u -b10111010111010101100101001110101 (" -b10111010111010101100101001110101 9" -0( -0) -0+ -0, -b10 0 -0' -#4563 -b0 0" -b11001010011010000100110010010100 n -#4565 -b11001010011010000100110010010100 # -b0 J -b1 { -b11 . -b11001010011010000100110010010100 ! -b11001010011010000100110010010100 ? -b11 A -b11001010011010000100110010010100 L -b10111010111010101100101001110101 \ -b1110000 X -b1 ` -0Z -b10111010111010101100101001110101 m -b1 q -1k -b11001010011010000100110010010100 H -b10 P -b10111010111010101100101001110101 /" -b0 +" -b1 3" -1-" -b10111010111010101100101001110101 @" -b1100110 <" -b1 D" -0>" -b10 #" -b10 4 -1' -#4566 -b111000100 / -b10 2 -#4570 -b11011101 5" -b10 "" -b11000110 Q -b10 O -b111011101 s -b11000110 B -b11 A -b111011101011000110 8 -b100111110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b111011101011000110 " -b11 . -b111111101001010000010101111111 % -b111111101001010000010101111111 < -b111111101001010000010101111111 D -b111111101001010000010101111111 U -b111111101001010000010101111111 f -b111111101001010000010101111111 u -b111111101001010000010101111111 (" -b111111101001010000010101111111 9" -0( -0) -0+ -0, -b1 0 -0' -#4575 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b111111101001010000010101111111 @" -b11011101 <" -b111 D" -b111111101001010000010101111111 /" -b111 3" -b0 H -b10 P -b111111101001010000010101111111 m -b111 q -b111111101001010000010101111111 \ -b11000110 X -b111 ` -1' -#4576 -b111000101 / -b10 2 -#4580 -b11000101 5" -b10 "" -b100110 Q -b10 O -b111000101 s -b100110 B -b11 A -b111000101000100110 8 -b101001011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111000101000100110 " -b11 . -b10101101000100111101110001011010 % -b10101101000100111101110001011010 < -b10101101000100111101110001011010 D -b10101101000100111101110001011010 U -b10101101000100111101110001011010 f -b10101101000100111101110001011010 u -b10101101000100111101110001011010 (" -b10101101000100111101110001011010 9" -0( -0) -0+ -0, -b10 0 -0' -#4583 -b1100011010110110000000011000110 ] -#4585 -b1100011010110110000000011000110 # -b11 . -b1100011010110110000000011000110 ! -b1100011010110110000000011000110 ? -b11 A -b1100011010110110000000011000110 L -b10101101000100111101110001011010 \ -b100110 X -b100 ` -b10101101000100111101110001011010 m -b100 q -b1100011010110110000000011000110 H -b10 P -b10101101000100111101110001011010 /" -b100 3" -b10101101000100111101110001011010 @" -b11000101 <" -b100 D" -b10 #" -b10 4 -1' -#4586 -b111000110 / -b10 2 -#4590 -b1000 5" -0d -0g -b1000 b -1S -b0 Q -b1 G -b100001000 s -b100001000 B -b11 A -1V -b10 O -0:" -b10 "" -b100001000100001000 8 -0= -b100001000 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101100110010000110 " -b11 . -1& -b11010100011100010010100110101 % -b11010100011100010010100110101 < -b11010100011100010010100110101 D -b11010100011100010010100110101 U -b11010100011100010010100110101 f -b11010100011100010010100110101 u -b11010100011100010010100110101 (" -b11010100011100010010100110101 9" -0( -0) -0+ -0, -b1 0 -0' -#4593 -b11011011110011100000000 A" -b0 ] -#4595 -b1101101111001110000000000000000000000000000000000000000 # -0!" -0N -b1 J -b11 . -b1101101111001110000000000000000000000000000000000000000 ! -b1101101111001110000000000000000000000000000000000000000 ? -b11 A -b11011011110011100000000 } -b0 L -b100 7 -b11011011110011100000000 y -b10 #" -b11010100011100010010100110101 @" -b1000 <" -b1101 D" -0C" -b11010100011100010010100110101 /" -b1101 3" -b0 H -b10 P -b11010100011100010010100110101 m -b1000 i -b1101 q -0p -0k -b11010100011100010010100110101 \ -b0 X -b1101 ` -1Z -1' -#4596 -b111000111 / -b10 2 -#4600 -17" -b0 5" -0&" -b11001010 $" -b0 x -b11101 b -b11001010 s -b100011101 B -b11 A -1g -b10 O -1:" -b10 "" -b11001010100011101 8 -1= -b110111101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11001010100011101 " -b11 . -0& -b1111110110101011101110111111101 % -b1111110110101011101110111111101 < -b1111110110101011101110111111101 D -b1111110110101011101110111111101 U -b1111110110101011101110111111101 f -b1111110110101011101110111111101 u -b1111110110101011101110111111101 (" -b1111110110101011101110111111101 9" -0( -0) -0+ -0, -b10 0 -0' -#4605 -1N -1!" -b0 { -b1111110110101011101110111111101 \ -b10 ` -b1111110110101011101110111111101 m -b11101 i -b10 q -1p -b10 P -b1111110110101011101110111111101 /" -b11001010 +" -b10 3" -0-" -b1111110110101011101110111111101 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b10 4 -1' -#4606 -b111001000 / -b10 2 -#4610 -b11000100 $" -b10 "" -1d -b0 b -0S -b11111010 Q -b10 O -b0 G -b11000100 s -b11111010 B -b11 A -b11000100011111010 8 -b110101110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11000100011111010 " -b11 . -b110110010101011100100001101 % -b110110010101011100100001101 < -b110110010101011100100001101 D -b110110010101011100100001101 U -b110110010101011100100001101 f -b110110010101011100100001101 u -b110110010101011100100001101 (" -b110110010101011100100001101 9" -0( -0) -0+ -0, -b1 0 -0' -#4613 -b11101000 n -#4615 -b11101000 # -b0 J -b11 . -b11101000 ! -b11101000 ? -b11 A -b0 } -b11101000 L -b10 4 -b0 y -b10 #" -b110110010101011100100001101 @" -b100 D" -b110110010101011100100001101 /" -b11000100 +" -b100 3" -b11101000 H -b10 P -b110110010101011100100001101 m -b0 i -b100 q -1k -b110110010101011100100001101 \ -b11111010 X -b100 ` -0Z -1' -#4616 -b111001001 / -b10 2 -#4620 -07" -b11110111 5" -1&" -b0 $" -b10 "" -b1 x -0d -b11010101 b -1S -b0 Q -b10 O -b1 G -b111110111 s -b111010101 B -b11 A -b111110111111010101 8 -b110010000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111110111111010101 " -b11 . -b11000000100011110101100110000 % -b11000000100011110101100110000 < -b11000000100011110101100110000 D -b11000000100011110101100110000 U -b11000000100011110101100110000 f -b11000000100011110101100110000 u -b11000000100011110101100110000 (" -b11000000100011110101100110000 9" -0( -0) -0+ -0, -b10 0 -0' -#4625 -b0 # -b1 J -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b11000000100011110101100110000 \ -b0 X -b1 ` -1Z -b11000000100011110101100110000 m -b11010101 i -b1 q -0k -b0 H -b10 P -b11000000100011110101100110000 /" -b0 +" -b1 3" -1-" -b11000000100011110101100110000 @" -b11110111 <" -b1 D" -0>" -b10 #" -b10 4 -1' -#4626 -b111001010 / -b10 2 -#4630 -17" -b0 5" -0&" -b11000101 $" -b10 "" -b0 x -b10010011 b -b10 O -b11000101 s -b110010011 B -b11 A -b11000101110010011 8 -b101010111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11000101110010011 " -b11 . -b11100011010111110011010011000110 % -b11100011010111110011010011000110 < -b11100011010111110011010011000110 D -b11100011010111110011010011000110 U -b11100011010111110011010011000110 f -b11100011010111110011010011000110 u -b11100011010111110011010011000110 (" -b11100011010111110011010011000110 9" -0( -0) -0+ -0, -b1 0 -0' -#4633 -b0 A" -b0 n -#4635 -b0 { -b10 4 -b10 #" -b11100011010111110011010011000110 @" -b0 <" -b101 D" -1>" -b11100011010111110011010011000110 /" -b11000101 +" -b101 3" -0-" -b10 P -b11100011010111110011010011000110 m -b10010011 i -b101 q -b11100011010111110011010011000110 \ -b101 ` -1' -#4636 -b111001011 / -b10 2 -#4640 -b11110111 $" -b10 "" -b10111101 b -b10 O -b11110111 s -b110111101 B -b11 A -b11110111110111101 8 -b100000110 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11110111110111101 " -b11 . -b10011100010010100101011000111000 % -b10011100010010100101011000111000 < -b10011100010010100101011000111000 D -b10011100010010100101011000111000 U -b10011100010010100101011000111000 f -b10011100010010100101011000111000 u -b10011100010010100101011000111000 (" -b10011100010010100101011000111000 9" -0( -0) -0+ -0, -b10 0 -0' -#4643 -b101111100100000111011111001101 0" -#4645 -b10111110010000011101111100110100000000000000000000000000000000 # -b11 . -b10111110010000011101111100110100000000000000000000000000000000 ! -b10111110010000011101111100110100000000000000000000000000000000 ? -b11 A -b101111100100000111011111001101 } -b10011100010010100101011000111000 \ -b1111 ` -b10011100010010100101011000111000 m -b10111101 i -b1111 q -b10 P -b10011100010010100101011000111000 /" -b11110111 +" -b1111 3" -b10011100010010100101011000111000 @" -b1111 D" -b101111100100000111011111001101 y -b10 #" -b10 4 -1' -#4646 -b111001100 / -b10 2 -#4650 -b11101110 $" -b10 "" -1d -b0 b -0S -b101 Q -b10 O -b0 G -b11101110 s -b101 B -b11 A -b11101110000000101 8 -b11010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11101110000000101 " -b11 . -b11010100110011010110011010101001 % -b11010100110011010110011010101001 < -b11010100110011010110011010101001 D -b11010100110011010110011010101001 U -b11010100110011010110011010101001 f -b11010100110011010110011010101001 u -b11010100110011010110011010101001 (" -b11010100110011010110011010101001 9" -0( -0) -0+ -0, -b1 0 -0' -#4653 -b1010010010 0" -b101111101110001 n -#4655 -b101001001000000000000000000101111101110001 # -b0 J -b11 . -b101001001000000000000000000101111101110001 ! -b101001001000000000000000000101111101110001 ? -b11 A -b1010010010 } -b101111101110001 L -b10 4 -b1010010010 y -b10 #" -b11010100110011010110011010101001 @" -b100 D" -b11010100110011010110011010101001 /" -b11101110 +" -b100 3" -b101111101110001 H -b10 P -b11010100110011010110011010101001 m -b0 i -b100 q -1k -b11010100110011010110011010101001 \ -b101 X -b100 ` -0Z -1' -#4656 -b111001101 / -b10 2 -#4660 -07" -0:" -b1110010 5" -1&" -b0 $" -b1 x -0d -0g -b1110010 b -1S -b0 Q -b1 G -b101110010 s -b101110010 B -b11 A -1V -b10 O -1)" -b10 "" -b101110010101110010 8 -0= -b101110010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111001110010000001 " -b11 . -1& -b10111010110011011001100101110 % -b10111010110011011001100101110 < -b10111010110011011001100101110 D -b10111010110011011001100101110 U -b10111010110011011001100101110 f -b10111010110011011001100101110 u -b10111010110011011001100101110 (" -b10111010110011011001100101110 9" -0( -0) -0+ -0, -b10 0 -0' -#4663 -b0 0" -#4665 -b0 # -0N -b1 J -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b10111010110011011001100101110 \ -b0 X -b1 ` -1Z -b10111010110011011001100101110 m -b1110010 i -b1 q -0p -0k -b0 H -b10 P -b10111010110011011001100101110 /" -b0 +" -b1 3" -1-" -b10111010110011011001100101110 @" -b1110010 <" -b1 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#4666 -b111001110 / -b10 2 -#4670 -b1110100 5" -b10001010 b -b101110100 s -b110001010 B -b11 A -1g -b10 O -1:" -b10 "" -b101110100110001010 8 -1= -b100000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101110100110001010 " -b11 . -0& -b11101100101111000001101011011001 % -b11101100101111000001101011011001 < -b11101100101111000001101011011001 D -b11101100101111000001101011011001 U -b11101100101111000001101011011001 f -b11101100101111000001101011011001 u -b11101100101111000001101011011001 (" -b11101100101111000001101011011001 9" -0( -0) -0+ -0, -b1 0 -0' -#4675 -1!" -1N -b10 4 -b10 #" -b11101100101111000001101011011001 @" -b1110100 <" -b101 D" -1C" -b11101100101111000001101011011001 /" -b101 3" -b10 P -b11101100101111000001101011011001 m -b10001010 i -b101 q -1p -b11101100101111000001101011011001 \ -b101 ` -1' -#4676 -b111001111 / -b10 2 -#4680 -b1110111 5" -b1110111 b -b101110111 s -b101110111 B -b11 A -0g -b10 O -0:" -b10 "" -b101110111101110111 8 -0= -b101110111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1000110000101001 " -b11 . -1& -b11011100100111010000100010111001 % -b11011100100111010000100010111001 < -b11011100100111010000100010111001 D -b11011100100111010000100010111001 U -b11011100100111010000100010111001 f -b11011100100111010000100010111001 u -b11011100100111010000100010111001 (" -b11011100100111010000100010111001 9" -0( -0) -0+ -0, -b10 0 -0' -#4683 -b1110000100000000 n -#4685 -b1110000100000000 # -0N -0!" -b11 . -b1110000100000000 ! -b1110000100000000 ? -b11 A -b1110000100000000 L -b11011100100111010000100010111001 \ -b1001 ` -b11011100100111010000100010111001 m -b1110111 i -b1001 q -0p -b1110000100000000 H -b10 P -b11011100100111010000100010111001 /" -b1001 3" -b11011100100111010000100010111001 @" -b1110111 <" -b1001 D" -0C" -b10 #" -b100 7 -1' -#4686 -b111010000 / -b10 2 -#4690 -17" -1:" -b0 5" -0&" -0)" -b11110100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11110100 Q -b10 O -b0 G -b11110100 s -b11110100 B -b11 A -b11110100011110100 8 -b11110100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b100101000111100111 " -b11 . -1& -b11000100101111011011001010001001 % -b11000100101111011011001010001001 < -b11000100101111011011001010001001 D -b11000100101111011011001010001001 U -b11000100101111011011001010001001 f -b11000100101111011011001010001001 u -b11000100101111011011001010001001 (" -b11000100101111011011001010001001 9" -0( -0) -0+ -0, -b1 0 -0' -#4695 -b0 { -b0 J -b100 7 -b10 #" -b11000100101111011011001010001001 @" -b0 <" -b100 D" -1C" -1>" -b11000100101111011011001010001001 /" -b11110100 +" -b100 3" -02" -0-" -b10 P -b11000100101111011011001010001001 m -b0 i -b100 q -1p -1k -b11000100101111011011001010001001 \ -b11110100 X -b100 ` -0_ -0Z -1' -#4696 -b111010001 / -b10 2 -#4700 -07" -0:" -b10110011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10110011 b -1S -1V -b0 Q -b10 O -b1 G -b110110011 s -b110110011 B -b11 A -b110110011110110011 8 -b110110011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101000100100110001 " -b11 . -1& -b10100100000110001110100001001000 % -b10100100000110001110100001001000 < -b10100100000110001110100001001000 D -b10100100000110001110100001001000 U -b10100100000110001110100001001000 f -b10100100000110001110100001001000 u -b10100100000110001110100001001000 (" -b10100100000110001110100001001000 9" -0( -0) -0+ -0, -b10 0 -0' -#4705 -b1 J -b1 { -b10100100000110001110100001001000 \ -b0 X -b1010 ` -1_ -1Z -b10100100000110001110100001001000 m -b10110011 i -b1010 q -0p -0k -b10 P -b10100100000110001110100001001000 /" -b0 +" -b1010 3" -12" -1-" -b10100100000110001110100001001000 @" -b10110011 <" -b1010 D" -0C" -0>" -b10 #" -b100 7 -1' -#4706 -b111010010 / -b10 2 -#4710 -b10110 5" -b10 "" -b10110 b -b10 O -b100010110 s -b100010110 B -b11 A -b100010110100010110 8 -b100010110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10011110110010011 " -b11 . -1& -b10100010110111011101011001000101 % -b10100010110111011101011001000101 < -b10100010110111011101011001000101 D -b10100010110111011101011001000101 U -b10100010110111011101011001000101 f -b10100010110111011101011001000101 u -b10100010110111011101011001000101 (" -b10100010110111011101011001000101 9" -0( -0) -0+ -0, -b1 0 -0' -#4715 -b100 7 -b10 #" -b10100010110111011101011001000101 @" -b10110 <" -b1000 D" -b10100010110111011101011001000101 /" -b1000 3" -b10 P -b10100010110111011101011001000101 m -b10110 i -b1000 q -b10100010110111011101011001000101 \ -b1000 ` -1' -#4716 -b111010011 / -b10 2 -#4720 -b1001 5" -b10 "" -b1001 b -b10 O -b100001001 s -b100001001 B -b11 A -b100001001100001001 8 -b100001001 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b110000001000101010 " -b11 . -1& -b1000111111000011000110110001111 % -b1000111111000011000110110001111 < -b1000111111000011000110110001111 D -b1000111111000011000110110001111 U -b1000111111000011000110110001111 f -b1000111111000011000110110001111 u -b1000111111000011000110110001111 (" -b1000111111000011000110110001111 9" -0( -0) -0+ -0, -b10 0 -0' -#4725 -b1000111111000011000110110001111 \ -b1111 ` -b1000111111000011000110110001111 m -b1001 i -b1111 q -b10 P -b1000111111000011000110110001111 /" -b1111 3" -b1000111111000011000110110001111 @" -b1001 <" -b1111 D" -b10 #" -b100 7 -1' -#4726 -b111010100 / -b10 2 -#4730 -17" -1:" -b0 5" -0&" -0)" -b10011110 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10011110 Q -b10 O -b0 G -b10011110 s -b10011110 B -b11 A -b10011110010011110 8 -b10011110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100000011001001000 " -b11 . -1& -b11101000010111100000000011010000 % -b11101000010111100000000011010000 < -b11101000010111100000000011010000 D -b11101000010111100000000011010000 U -b11101000010111100000000011010000 f -b11101000010111100000000011010000 u -b11101000010111100000000011010000 (" -b11101000010111100000000011010000 9" -0( -0) -0+ -0, -b1 0 -0' -#4735 -b0 { -b0 J -b100 7 -b10 #" -b11101000010111100000000011010000 @" -b0 <" -b1110 D" -1C" -1>" -b11101000010111100000000011010000 /" -b10011110 +" -b1110 3" -02" -0-" -b10 P -b11101000010111100000000011010000 m -b0 i -b1110 q -1p -1k -b11101000010111100000000011010000 \ -b10011110 X -b1110 ` -0_ -0Z -1' -#4736 -b111010101 / -b10 2 -#4740 -07" -0:" -b11111001 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11111001 b -1S -1V -b0 Q -b10 O -b1 G -b111111001 s -b111111001 B -b11 A -b111111001111111001 8 -b111111001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101000111010000011 " -b11 . -1& -b10101100110011011111111001011001 % -b10101100110011011111111001011001 < -b10101100110011011111111001011001 D -b10101100110011011111111001011001 U -b10101100110011011111111001011001 f -b10101100110011011111111001011001 u -b10101100110011011111111001011001 (" -b10101100110011011111111001011001 9" -0( -0) -0+ -0, -b10 0 -0' -#4745 -b1 J -b1 { -b10101100110011011111111001011001 \ -b0 X -b1010 ` -1_ -1Z -b10101100110011011111111001011001 m -b11111001 i -b1010 q -0p -0k -b10 P -b10101100110011011111111001011001 /" -b0 +" -b1010 3" -12" -1-" -b10101100110011011111111001011001 @" -b11111001 <" -b1010 D" -0C" -0>" -b10 #" -b100 7 -1' -#4746 -b111010110 / -b10 2 -#4750 -b11011011 5" -1d -b0 b -0S -b1111001 Q -b0 G -b111011011 s -b1111001 B -b11 A -1g -b10 O -1:" -b10 "" -b111011011001111001 8 -1= -b11101111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111011011001111001 " -b11 . -0& -b1110110010010010110100011101 % -b1110110010010010110100011101 < -b1110110010010010110100011101 D -b1110110010010010110100011101 U -b1110110010010010110100011101 f -b1110110010010010110100011101 u -b1110110010010010110100011101 (" -b1110110010010010110100011101 9" -0( -0) -0+ -0, -b1 0 -0' -#4755 -1!" -1N -b0 J -b10 4 -b10 #" -b1110110010010010110100011101 @" -b11011011 <" -b1000 D" -1C" -b1110110010010010110100011101 /" -b1000 3" -b10 P -b1110110010010010110100011101 m -b0 i -b1000 q -1p -1k -b1110110010010010110100011101 \ -b1111001 X -b1000 ` -0Z -1' -#4756 -b111010111 / -b10 2 -#4760 -b11 5" -b10 "" -0d -b11100101 b -1S -b0 Q -b10 O -b1 G -b100000011 s -b111100101 B -b11 A -b100000011111100101 8 -b111000110 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100000011111100101 " -b11 . -b1100001111100011000100011000 % -b1100001111100011000100011000 < -b1100001111100011000100011000 D -b1100001111100011000100011000 U -b1100001111100011000100011000 f -b1100001111100011000100011000 u -b1100001111100011000100011000 (" -b1100001111100011000100011000 9" -0( -0) -0+ -0, -b10 0 -0' -#4765 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1100001111100011000100011000 \ -b0 X -b1011 ` -1Z -b1100001111100011000100011000 m -b11100101 i -b1011 q -0k -b0 H -b10 P -b1100001111100011000100011000 /" -b1011 3" -b1100001111100011000100011000 @" -b11 <" -b1011 D" -b10 #" -b10 4 -1' -#4766 -b111011000 / -b10 2 -#4770 -b11110100 5" -b10 "" -1d -b0 b -0S -b11100111 Q -b10 O -b0 G -b111110100 s -b11100111 B -b11 A -b111110100011100111 8 -b11110110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111110100011100111 " -b11 . -b1000101010001100111010110001010 % -b1000101010001100111010110001010 < -b1000101010001100111010110001010 D -b1000101010001100111010110001010 U -b1000101010001100111010110001010 f -b1000101010001100111010110001010 u -b1000101010001100111010110001010 (" -b1000101010001100111010110001010 9" -0( -0) -0+ -0, -b1 0 -0' -#4773 -b0 n -#4775 -b0 J -b10 4 -b10 #" -b1000101010001100111010110001010 @" -b11110100 <" -b110 D" -b1000101010001100111010110001010 /" -b110 3" -b10 P -b1000101010001100111010110001010 m -b0 i -b110 q -1k -b1000101010001100111010110001010 \ -b11100111 X -b110 ` -0Z -1' -#4776 -b111011001 / -b10 2 -#4780 -b10101100 5" -b10 "" -b1000001 Q -b10 O -b110101100 s -b1000001 B -b11 A -b110101100001000001 8 -b100001110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110101100001000001 " -b11 . -b110001011111000010100101100010 % -b110001011111000010100101100010 < -b110001011111000010100101100010 D -b110001011111000010100101100010 U -b110001011111000010100101100010 f -b110001011111000010100101100010 u -b110001011111000010100101100010 (" -b110001011111000010100101100010 9" -0( -0) -0+ -0, -b10 0 -0' -#4785 -b110001011111000010100101100010 \ -b1000001 X -b1 ` -b110001011111000010100101100010 m -b1 q -b10 P -b110001011111000010100101100010 /" -b1 3" -b110001011111000010100101100010 @" -b10101100 <" -b1 D" -b10 #" -b10 4 -1' -#4786 -b111011010 / -b10 2 -#4790 -17" -b0 5" -0&" -0)" -b1100010 $" -b0 x -b1100010 Q -b1100010 s -b1100010 B -b11 A -0V -b10 O -1:" -b10 "" -b1100010001100010 8 -0= -b1100010 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b110001011001010110 " -b11 . -1& -b1000111110100101010010110001111 % -b1000111110100101010010110001111 < -b1000111110100101010010110001111 D -b1000111110100101010010110001111 U -b1000111110100101010010110001111 f -b1000111110100101010010110001111 u -b1000111110100101010010110001111 (" -b1000111110100101010010110001111 9" -0( -0) -0+ -0, -b1 0 -0' -#4793 -b110110101001001111100000000000 ] -#4795 -b110110101001001111100000000000 # -0!" -b0 { -0N -b11 . -b110110101001001111100000000000 ! -b110110101001001111100000000000 ? -b11 A -b110110101001001111100000000000 L -b100 7 -b10 #" -b1000111110100101010010110001111 @" -b0 <" -b1001 D" -1>" -b1000111110100101010010110001111 /" -b1100010 +" -b1001 3" -02" -0-" -b110110101001001111100000000000 H -b10 P -b1000111110100101010010110001111 m -b1001 q -b1000111110100101010010110001111 \ -b1100010 X -b1001 ` -0_ -1' -#4796 -b111011011 / -b10 2 -#4800 -07" -b1001001 5" -1&" -b0 $" -b1 x -0d -b1010100 b -1S -b0 Q -b1 G -b101001001 s -b101010100 B -b11 A -1V -b10 O -1)" -b10 "" -b101001001101010100 8 -1= -b111010000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101001001101010100 " -b11 . -0& -b1111100000000000000110111111000 % -b1111100000000000000110111111000 < -b1111100000000000000110111111000 D -b1111100000000000000110111111000 U -b1111100000000000000110111111000 f -b1111100000000000000110111111000 u -b1111100000000000000110111111000 (" -b1111100000000000000110111111000 9" -0( -0) -0+ -0, -b10 0 -0' -#4805 -1N -b1 J -1!" -b1 { -b1111100000000000000110111111000 \ -b0 X -b1100 ` -1_ -1Z -b1111100000000000000110111111000 m -b1010100 i -b1100 q -0k -b10 P -b1111100000000000000110111111000 /" -b0 +" -b1100 3" -12" -1-" -b1111100000000000000110111111000 @" -b1001001 <" -b1100 D" -0>" -b10 #" -b10 4 -1' -#4806 -b111011100 / -b10 2 -#4810 -17" -b0 5" -0&" -b11110 $" -b10 "" -b0 x -1d -b0 b -0S -b1011001 Q -b10 O -b0 G -b11110 s -b1011001 B -b11 A -b11110001011001 8 -b100100111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11110001011001 " -b11 . -b111011110010001111000101110111 % -b111011110010001111000101110111 < -b111011110010001111000101110111 D -b111011110010001111000101110111 U -b111011110010001111000101110111 f -b111011110010001111000101110111 u -b111011110010001111000101110111 (" -b111011110010001111000101110111 9" -0( -0) -0+ -0, -b1 0 -0' -#4813 -b1100011100000000 A" -#4815 -b110001110000000000000000000000000000000000000000 # -b0 { -b0 J -b11 . -b110001110000000000000000000000000000000000000000 ! -b110001110000000000000000000000000000000000000000 ? -b11 A -b1100011100000000 } -b0 L -b10 4 -b1100011100000000 y -b10 #" -b111011110010001111000101110111 @" -b0 <" -b0 D" -1>" -b111011110010001111000101110111 /" -b11110 +" -b0 3" -0-" -b0 H -b10 P -b111011110010001111000101110111 m -b0 i -b0 q -1k -b111011110010001111000101110111 \ -b1011001 X -b0 ` -0Z -1' -#4816 -b111011101 / -b10 2 -#4820 -b1100 $" -b1100 Q -b1100 s -b1100 B -b11 A -0V -b10 O -0)" -b10 "" -b1100000001100 8 -0= -b1100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110010001101101111 " -b11 . -1& -b1001000100111110101101110010001 % -b1001000100111110101101110010001 < -b1001000100111110101101110010001 D -b1001000100111110101101110010001 U -b1001000100111110101101110010001 f -b1001000100111110101101110010001 u -b1001000100111110101101110010001 (" -b1001000100111110101101110010001 9" -0( -0) -0+ -0, -b10 0 -0' -#4823 -b0 ] -#4825 -b0 # -0N -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 } -b1001000100111110101101110010001 \ -b1100 X -b110 ` -0_ -b1001000100111110101101110010001 m -b110 q -b10 P -b1001000100111110101101110010001 /" -b1100 +" -b110 3" -02" -b1001000100111110101101110010001 @" -b110 D" -b0 y -b10 #" -b100 7 -1' -#4826 -b111011110 / -b10 2 -#4830 -b1110000 $" -b10 Q -b1110000 s -b10 B -b11 A -1V -b10 O -1)" -b10 "" -b1110000000000010 8 -1= -b10100110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1110000000000010 " -b11 . -0& -b10101000111000101000000001010001 % -b10101000111000101000000001010001 < -b10101000111000101000000001010001 D -b10101000111000101000000001010001 U -b10101000111000101000000001010001 f -b10101000111000101000000001010001 u -b10101000111000101000000001010001 (" -b10101000111000101000000001010001 9" -0( -0) -0+ -0, -b1 0 -0' -#4835 -1!" -1N -b10 4 -b10 #" -b10101000111000101000000001010001 @" -b111 D" -b10101000111000101000000001010001 /" -b1110000 +" -b111 3" -12" -b10 P -b10101000111000101000000001010001 m -b111 q -b10101000111000101000000001010001 \ -b10 X -b111 ` -1_ -1' -#4836 -b111011111 / -b10 2 -#4840 -07" -0:" -b100100 5" -1&" -b0 $" -b1 x -0d -0g -b100100 b -1S -b0 Q -b1 G -b100100100 s -b100100100 B -b11 A -1V -b10 O -1)" -b10 "" -b100100100100100100 8 -0= -b100100100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1011001000000111 " -b11 . -1& -b11110110011011101111010011101100 % -b11110110011011101111010011101100 < -b11110110011011101111010011101100 D -b11110110011011101111010011101100 U -b11110110011011101111010011101100 f -b11110110011011101111010011101100 u -b11110110011011101111010011101100 (" -b11110110011011101111010011101100 9" -0( -0) -0+ -0, -b10 0 -0' -#4845 -0N -b1 J -0!" -b1 { -b11110110011011101111010011101100 \ -b0 X -b110 ` -1Z -b11110110011011101111010011101100 m -b100100 i -b110 q -0p -0k -b10 P -b11110110011011101111010011101100 /" -b0 +" -b110 3" -1-" -b11110110011011101111010011101100 @" -b100100 <" -b110 D" -0C" -0>" -b10 #" -b100 7 -1' -#4846 -b111100000 / -b10 2 -#4850 -17" -b0 5" -0&" -b11001001 $" -b0 x -b11110111 b -b11001001 s -b111110111 B -b11 A -1g -b10 O -1:" -b10 "" -b11001001111110111 8 -1= -b110101101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11001001111110111 " -b11 . -0& -b11111011100101010001101011110111 % -b11111011100101010001101011110111 < -b11111011100101010001101011110111 D -b11111011100101010001101011110111 U -b11111011100101010001101011110111 f -b11111011100101010001101011110111 u -b11111011100101010001101011110111 (" -b11111011100101010001101011110111 9" -0( -0) -0+ -0, -b1 0 -0' -#4855 -1!" -b0 { -1N -b10 4 -b10 #" -b11111011100101010001101011110111 @" -b0 <" -b1111 D" -1C" -1>" -b11111011100101010001101011110111 /" -b11001001 +" -b1111 3" -0-" -b10 P -b11111011100101010001101011110111 m -b11110111 i -b1111 q -1p -b11111011100101010001101011110111 \ -b1111 ` -1' -#4856 -b111100001 / -b10 2 -#4860 -07" -b1101000 5" -1&" -b0 $" -b10 "" -b1 x -b10111111 b -b10 O -b101101000 s -b110111111 B -b11 A -b101101000110111111 8 -b11100011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101101000110111111 " -b11 . -b11000000111000000100101010000001 % -b11000000111000000100101010000001 < -b11000000111000000100101010000001 D -b11000000111000000100101010000001 U -b11000000111000000100101010000001 f -b11000000111000000100101010000001 u -b11000000111000000100101010000001 (" -b11000000111000000100101010000001 9" -0( -0) -0+ -0, -b10 0 -0' -#4865 -b1 { -b11000000111000000100101010000001 \ -b100 ` -b11000000111000000100101010000001 m -b10111111 i -b100 q -b10 P -b11000000111000000100101010000001 /" -b0 +" -b100 3" -1-" -b11000000111000000100101010000001 @" -b1101000 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#4866 -b111100010 / -b10 2 -#4870 -b1000011 5" -b10 "" -b11100110 b -b10 O -b101000011 s -b111100110 B -b11 A -b101000011111100110 8 -b100110011 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101000011111100110 " -b11 . -b11001101011110001100001010011010 % -b11001101011110001100001010011010 < -b11001101011110001100001010011010 D -b11001101011110001100001010011010 U -b11001101011110001100001010011010 f -b11001101011110001100001010011010 u -b11001101011110001100001010011010 (" -b11001101011110001100001010011010 9" -0( -0) -0+ -0, -b1 0 -0' -#4873 -b0 A" -b11111000000000000101111011110000 n -#4875 -b11111000000000000101111011110000 # -b11 . -b11111000000000000101111011110000 ! -b11111000000000000101111011110000 ? -b11 A -b11111000000000000101111011110000 L -b10 4 -b10 #" -b11001101011110001100001010011010 @" -b1000011 <" -b1001 D" -b11001101011110001100001010011010 /" -b1001 3" -b11111000000000000101111011110000 H -b10 P -b11001101011110001100001010011010 m -b11100110 i -b1001 q -b11001101011110001100001010011010 \ -b1001 ` -1' -#4876 -b111100011 / -b10 2 -#4880 -17" -b0 5" -0&" -0)" -b1010101 $" -b0 x -1d -b0 b -0S -0V -b1010101 Q -b0 G -b1010101 s -b1010101 B -b11 A -1g -b10 O -1:" -b10 "" -b1010101001010101 8 -0= -b1010101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b11101101110111101 " -b11 . -1& -b1001111011000010111101110011110 % -b1001111011000010111101110011110 < -b1001111011000010111101110011110 D -b1001111011000010111101110011110 U -b1001111011000010111101110011110 f -b1001111011000010111101110011110 u -b1001111011000010111101110011110 (" -b1001111011000010111101110011110 9" -0( -0) -0+ -0, -b10 0 -0' -#4883 -b0 n -#4885 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1001111011000010111101110011110 \ -b1010101 X -b111 ` -0_ -0Z -b1001111011000010111101110011110 m -b0 i -b111 q -1k -b0 H -b10 P -b1001111011000010111101110011110 /" -b1010101 +" -b111 3" -02" -0-" -b1001111011000010111101110011110 @" -b0 <" -b111 D" -1>" -b10 #" -b100 7 -1' -#4886 -b111100100 / -b10 2 -#4890 -07" -0:" -b11110100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11110100 b -1S -1V -b0 Q -b10 O -b1 G -b111110100 s -b111110100 B -b11 A -b111110100111110100 8 -b111110100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10001100101110 " -b11 . -1& -b1101010000111000101011111010100 % -b1101010000111000101011111010100 < -b1101010000111000101011111010100 D -b1101010000111000101011111010100 U -b1101010000111000101011111010100 f -b1101010000111000101011111010100 u -b1101010000111000101011111010100 (" -b1101010000111000101011111010100 9" -0( -0) -0+ -0, -b1 0 -0' -#4895 -b1 { -b1 J -b100 7 -b10 #" -b1101010000111000101011111010100 @" -b11110100 <" -b1 D" -0C" -0>" -b1101010000111000101011111010100 /" -b0 +" -b1 3" -12" -1-" -b10 P -b1101010000111000101011111010100 m -b11110100 i -b1 q -0p -0k -b1101010000111000101011111010100 \ -b0 X -b1 ` -1_ -1Z -1' -#4896 -b111100101 / -b10 2 -#4900 -17" -1:" -b0 5" -0&" -0)" -b1011011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1011011 Q -b10 O -b0 G -b1011011 s -b1011011 B -b11 A -b1011011001011011 8 -b1011011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100111111011001010 " -b11 . -1& -b11010011100010000110101010100111 % -b11010011100010000110101010100111 < -b11010011100010000110101010100111 D -b11010011100010000110101010100111 U -b11010011100010000110101010100111 f -b11010011100010000110101010100111 u -b11010011100010000110101010100111 (" -b11010011100010000110101010100111 9" -0( -0) -0+ -0, -b10 0 -0' -#4905 -b0 J -b0 { -b11010011100010000110101010100111 \ -b1011011 X -b1101 ` -0_ -0Z -b11010011100010000110101010100111 m -b0 i -b1101 q -1p -1k -b10 P -b11010011100010000110101010100111 /" -b1011011 +" -b1101 3" -02" -0-" -b11010011100010000110101010100111 @" -b0 <" -b1101 D" -1C" -1>" -b10 #" -b100 7 -1' -#4906 -b111100110 / -b10 2 -#4910 -b10100011 $" -0d -b100110 b -1S -b0 Q -b1 G -b10100011 s -b100100110 B -b11 A -1V -b10 O -1)" -b10 "" -b10100011100100110 8 -1= -b111011011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10100011100100110 " -b11 . -0& -b11010011100010011001100110100 % -b11010011100010011001100110100 < -b11010011100010011001100110100 D -b11010011100010011001100110100 U -b11010011100010011001100110100 f -b11010011100010011001100110100 u -b11010011100010011001100110100 (" -b11010011100010011001100110100 9" -0( -0) -0+ -0, -b1 0 -0' -#4915 -1!" -1N -b1 J -b10 4 -b10 #" -b11010011100010011001100110100 @" -b1000 D" -b11010011100010011001100110100 /" -b10100011 +" -b1000 3" -12" -b10 P -b11010011100010011001100110100 m -b100110 i -b1000 q -0k -b11010011100010011001100110100 \ -b0 X -b1000 ` -1_ -1Z -1' -#4916 -b111100111 / -b10 2 -#4920 -07" -0:" -b1001 5" -1&" -b0 $" -b1 x -b1001 b -b100001001 s -b100001001 B -b11 A -0g -b10 O -1)" -b10 "" -b100001001100001001 8 -0= -b100001001 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111001001000010111 " -b11 . -1& -b1001100100001111001100010011 % -b1001100100001111001100010011 < -b1001100100001111001100010011 D -b1001100100001111001100010011 U -b1001100100001111001100010011 f -b1001100100001111001100010011 u -b1001100100001111001100010011 (" -b1001100100001111001100010011 9" -0( -0) -0+ -0, -b10 0 -0' -#4923 -b111001000000000000000000 n -#4925 -b111001000000000000000000 # -0N -0!" -b1 { -b11 . -b111001000000000000000000 ! -b111001000000000000000000 ? -b11 A -b111001000000000000000000 L -b1001100100001111001100010011 \ -b0 ` -b1001100100001111001100010011 m -b1001 i -b0 q -0p -b111001000000000000000000 H -b10 P -b1001100100001111001100010011 /" -b0 +" -b0 3" -1-" -b1001100100001111001100010011 @" -b1001 <" -b0 D" -0C" -0>" -b10 #" -b100 7 -1' -#4926 -b111101000 / -b10 2 -#4930 -17" -b0 5" -0&" -b11011000 $" -b0 x -1d -b0 b -0S -b1011 Q -b0 G -b11011000 s -b1011 B -b11 A -1g -b10 O -1:" -b10 "" -b11011000000001011 8 -1= -b1110011 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11011000000001011 " -b11 . -0& -b10011110101101011100101000111101 % -b10011110101101011100101000111101 < -b10011110101101011100101000111101 D -b10011110101101011100101000111101 U -b10011110101101011100101000111101 f -b10011110101101011100101000111101 u -b10011110101101011100101000111101 (" -b10011110101101011100101000111101 9" -0( -0) -0+ -0, -b1 0 -0' -#4935 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b10011110101101011100101000111101 @" -b0 <" -b11 D" -1C" -1>" -b10011110101101011100101000111101 /" -b11011000 +" -b11 3" -0-" -b10 P -b10011110101101011100101000111101 m -b0 i -b11 q -1p -1k -b10011110101101011100101000111101 \ -b1011 X -b11 ` -0Z -1' -#4936 -b111101001 / -b10 2 -#4940 -07" -b1111000 5" -1&" -b0 $" -b10 "" -b1 x -b11111010 Q -b10 O -b101111000 s -b11111010 B -b11 A -b101111000011111010 8 -b100000010 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101111000011111010 " -b11 . -b11011101101011111000100110111 % -b11011101101011111000100110111 < -b11011101101011111000100110111 D -b11011101101011111000100110111 U -b11011101101011111000100110111 f -b11011101101011111000100110111 u -b11011101101011111000100110111 (" -b11011101101011111000100110111 9" -0( -0) -0+ -0, -b10 0 -0' -#4943 -b11101011011110000000000000000000 ] -#4945 -b11101011011110000000000000000000 # -b1 { -b11 . -b11101011011110000000000000000000 ! -b11101011011110000000000000000000 ? -b11 A -b11101011011110000000000000000000 L -b11011101101011111000100110111 \ -b11111010 X -b1110 ` -b11011101101011111000100110111 m -b1110 q -b11101011011110000000000000000000 H -b10 P -b11011101101011111000100110111 /" -b0 +" -b1110 3" -1-" -b11011101101011111000100110111 @" -b1111000 <" -b1110 D" -0>" -b10 #" -b10 4 -1' -#4946 -b111101010 / -b10 2 -#4950 -b100 5" -b10 "" -0d -b10110111 b -1S -b0 Q -b10 O -b1 G -b100000100 s -b110110111 B -b11 A -b100000100110110111 8 -b111100100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100000100110110111 " -b11 . -b1010110100001110101000110101101 % -b1010110100001110101000110101101 < -b1010110100001110101000110101101 D -b1010110100001110101000110101101 U -b1010110100001110101000110101101 f -b1010110100001110101000110101101 u -b1010110100001110101000110101101 (" -b1010110100001110101000110101101 9" -0( -0) -0+ -0, -b1 0 -0' -#4953 -b0 ] -#4955 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1010110100001110101000110101101 @" -b100 <" -b1000 D" -b1010110100001110101000110101101 /" -b1000 3" -b0 H -b10 P -b1010110100001110101000110101101 m -b10110111 i -b1000 q -0k -b1010110100001110101000110101101 \ -b0 X -b1000 ` -1Z -1' -#4956 -b111101011 / -b10 2 -#4960 -b100001 5" -b10 "" -1d -b0 b -0S -b11111110 Q -b10 O -b0 G -b100100001 s -b11111110 B -b11 A -b100100001011111110 8 -b10000111 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b100100001011111110 " -b11 . -b1110111101011010111000111101111 % -b1110111101011010111000111101111 < -b1110111101011010111000111101111 D -b1110111101011010111000111101111 U -b1110111101011010111000111101111 f -b1110111101011010111000111101111 u -b1110111101011010111000111101111 (" -b1110111101011010111000111101111 9" -0( -0) -0+ -0, -b10 0 -0' -#4963 -b10101011010101110000000000000000 n -#4965 -b10101011010101110000000000000000 # -b0 J -b11 . -b10101011010101110000000000000000 ! -b10101011010101110000000000000000 ? -b11 A -b10101011010101110000000000000000 L -b1110111101011010111000111101111 \ -b11111110 X -b1111 ` -0Z -b1110111101011010111000111101111 m -b0 i -b1111 q -1k -b10101011010101110000000000000000 H -b10 P -b1110111101011010111000111101111 /" -b1111 3" -b1110111101011010111000111101111 @" -b100001 <" -b1111 D" -b10 #" -b10 4 -1' -#4966 -b111101100 / -b10 2 -#4970 -b1111000 5" -b10 "" -b111010 Q -b10 O -b101111000 s -b111010 B -b11 A -b101111000000111010 8 -b110111011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101111000000111010 " -b11 . -b11011000100000100101010010110001 % -b11011000100000100101010010110001 < -b11011000100000100101010010110001 D -b11011000100000100101010010110001 U -b11011000100000100101010010110001 f -b11011000100000100101010010110001 u -b11011000100000100101010010110001 (" -b11011000100000100101010010110001 9" -0( -0) -0+ -0, -b1 0 -0' -#4975 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b11011000100000100101010010110001 @" -b1111000 <" -b1 D" -b11011000100000100101010010110001 /" -b1 3" -b0 H -b10 P -b11011000100000100101010010110001 m -b1 q -b11011000100000100101010010110001 \ -b111010 X -b1 ` -1' -#4976 -b111101101 / -b10 2 -#4980 -17" -b0 5" -0&" -0)" -b100011 $" -b0 x -b100011 Q -b100011 s -b100011 B -b11 A -0V -b10 O -1:" -b10 "" -b100011000100011 8 -0= -b100011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b110010111110010101 " -b11 . -1& -b11000110010011111100111010001100 % -b11000110010011111100111010001100 < -b11000110010011111100111010001100 D -b11000110010011111100111010001100 U -b11000110010011111100111010001100 f -b11000110010011111100111010001100 u -b11000110010011111100111010001100 (" -b11000110010011111100111010001100 9" -0( -0) -0+ -0, -b10 0 -0' -#4985 -0N -0!" -b0 { -b11000110010011111100111010001100 \ -b100011 X -b1110 ` -0_ -b11000110010011111100111010001100 m -b1110 q -b10 P -b11000110010011111100111010001100 /" -b100011 +" -b1110 3" -02" -0-" -b11000110010011111100111010001100 @" -b0 <" -b1110 D" -1>" -b10 #" -b100 7 -1' -#4986 -b111101110 / -b10 2 -#4990 -b1011001 $" -b10 "" -b1011001 Q -b10 O -b1011001 s -b1011001 B -b11 A -b1011001001011001 8 -b1011001 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1111101100100 " -b11 . -1& -b10010110100110100110001000101101 % -b10010110100110100110001000101101 < -b10010110100110100110001000101101 D -b10010110100110100110001000101101 U -b10010110100110100110001000101101 f -b10010110100110100110001000101101 u -b10010110100110100110001000101101 (" -b10010110100110100110001000101101 9" -0( -0) -0+ -0, -b1 0 -0' -#4995 -b100 7 -b10 #" -b10010110100110100110001000101101 @" -b1101 D" -b10010110100110100110001000101101 /" -b1011001 +" -b1101 3" -b10 P -b10010110100110100110001000101101 m -b1101 q -b10010110100110100110001000101101 \ -b1011001 X -b1101 ` -1' -#4996 -b111101111 / -b10 2 -#5000 -07" -b1110111 5" -1&" -b0 $" -b1 x -b11011101 Q -b101110111 s -b11011101 B -b11 A -1V -b10 O -1)" -b10 "" -b101110111011011101 8 -1= -b10001 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101110111011011101 " -b11 . -0& -b10011000001100011100101000110000 % -b10011000001100011100101000110000 < -b10011000001100011100101000110000 D -b10011000001100011100101000110000 U -b10011000001100011100101000110000 f -b10011000001100011100101000110000 u -b10011000001100011100101000110000 (" -b10011000001100011100101000110000 9" -0( -0) -0+ -0, -b10 0 -0' -#5005 -1N -1!" -b1 { -b10011000001100011100101000110000 \ -b11011101 X -b11 ` -1_ -b10011000001100011100101000110000 m -b11 q -b10 P -b10011000001100011100101000110000 /" -b0 +" -b11 3" -12" -1-" -b10011000001100011100101000110000 @" -b1110111 <" -b11 D" -0>" -b10 #" -b10 4 -1' -#5006 -b111110000 / -b10 2 -#5010 -b1001101 5" -b10 "" -0d -b1010000 b -1S -b0 Q -b10 O -b1 G -b101001101 s -b101010000 B -b11 A -b101001101101010000 8 -b1001010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101001101101010000 " -b11 . -b10010010000100001001111000100100 % -b10010010000100001001111000100100 < -b10010010000100001001111000100100 D -b10010010000100001001111000100100 U -b10010010000100001001111000100100 f -b10010010000100001001111000100100 u -b10010010000100001001111000100100 (" -b10010010000100001001111000100100 9" -0( -0) -0+ -0, -b1 0 -0' -#5013 -b11011100000000000000000010111001 A" -b111000001110101001000101110000 ] -#5015 -b1101110000000000000000001011100100111000001110101001000101110000 # -b1 J -b11 . -b1101110000000000000000001011100100111000001110101001000101110000 ! -b1101110000000000000000001011100100111000001110101001000101110000 ? -b11 A -b11011100000000000000000010111001 } -b111000001110101001000101110000 L -b10 4 -b11011100000000000000000010111001 y -b10 #" -b10010010000100001001111000100100 @" -b1001101 <" -b1100 D" -b10010010000100001001111000100100 /" -b1100 3" -b111000001110101001000101110000 H -b10 P -b10010010000100001001111000100100 m -b1010000 i -b1100 q -0k -b10010010000100001001111000100100 \ -b0 X -b1100 ` -1Z -1' -#5016 -b111110001 / -b10 2 -#5020 -17" -b0 5" -0&" -b1001111 $" -b10 "" -b0 x -1d -b0 b -0S -b10111011 Q -b10 O -b0 G -b1001111 s -b10111011 B -b11 A -b1001111010111011 8 -b100111111 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1001111010111011 " -b11 . -b10101110101110011011100001011101 % -b10101110101110011011100001011101 < -b10101110101110011011100001011101 D -b10101110101110011011100001011101 U -b10101110101110011011100001011101 f -b10101110101110011011100001011101 u -b10101110101110011011100001011101 (" -b10101110101110011011100001011101 9" -0( -0) -0+ -0, -b10 0 -0' -#5023 -b0 A" -b10011010110000011100101000110101 n -#5025 -b10011010110000011100101000110101 # -b0 J -b0 { -b11 . -b10011010110000011100101000110101 ! -b10011010110000011100101000110101 ? -b11 A -b10011010110000011100101000110101 L -b0 } -b10101110101110011011100001011101 \ -b10111011 X -b1101 ` -0Z -b10101110101110011011100001011101 m -b0 i -b1101 q -1k -b10011010110000011100101000110101 H -b10 P -b10101110101110011011100001011101 /" -b1001111 +" -b1101 3" -0-" -b10101110101110011011100001011101 @" -b0 <" -b1101 D" -1>" -b0 y -b10 #" -b10 4 -1' -#5026 -b111110010 / -b10 2 -#5030 -b10010 $" -b10 "" -0d -b1000101 b -1S -b0 Q -b10 O -b1 G -b10010 s -b101000101 B -b11 A -b10010101000101 8 -b100101011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10010101000101 " -b11 . -b10000001101100010110110000000011 % -b10000001101100010110110000000011 < -b10000001101100010110110000000011 D -b10000001101100010110110000000011 U -b10000001101100010110110000000011 f -b10000001101100010110110000000011 u -b10000001101100010110110000000011 (" -b10000001101100010110110000000011 9" -0( -0) -0+ -0, -b1 0 -0' -#5033 -b0 ] -#5035 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b10000001101100010110110000000011 @" -b111 D" -b10000001101100010110110000000011 /" -b10010 +" -b111 3" -b0 H -b10 P -b10000001101100010110110000000011 m -b1000101 i -b111 q -0k -b10000001101100010110110000000011 \ -b0 X -b111 ` -1Z -1' -#5036 -b111110011 / -b10 2 -#5040 -b11011101 $" -b10 "" -b1101101 b -b10 O -b11011101 s -b101101101 B -b11 A -b11011101101101101 8 -b1011110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11011101101101101 " -b11 . -b111111111101111001010101111111 % -b111111111101111001010101111111 < -b111111111101111001010101111111 D -b111111111101111001010101111111 U -b111111111101111001010101111111 f -b111111111101111001010101111111 u -b111111111101111001010101111111 (" -b111111111101111001010101111111 9" -0( -0) -0+ -0, -b10 0 -0' -#5043 -b11101110 0" -b0 n -#5045 -b1110111000000000000000000000000000000000 # -b11 . -b1110111000000000000000000000000000000000 ! -b1110111000000000000000000000000000000000 ? -b11 A -b11101110 } -b111111111101111001010101111111 \ -b11 ` -b111111111101111001010101111111 m -b1101101 i -b11 q -b10 P -b111111111101111001010101111111 /" -b11011101 +" -b11 3" -b111111111101111001010101111111 @" -b11 D" -b11101110 y -b10 #" -b10 4 -1' -#5046 -b111110100 / -b10 2 -#5050 -b10010000 $" -b10 "" -1d -b0 b -0S -b10011100 Q -b10 O -b0 G -b10010000 s -b10011100 B -b11 A -b10010000010011100 8 -b10100010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10010000010011100 " -b11 . -b10110110000010000101100101101 % -b10110110000010000101100101101 < -b10110110000010000101100101101 D -b10110110000010000101100101101 U -b10110110000010000101100101101 f -b10110110000010000101100101101 u -b10110110000010000101100101101 (" -b10110110000010000101100101101 9" -0( -0) -0+ -0, -b1 0 -0' -#5053 -b111000001110101001000101110000 0" -b11110011000000000000000000000000 n -#5055 -b11100000111010100100010111000011110011000000000000000000000000 # -b0 J -b11 . -b11100000111010100100010111000011110011000000000000000000000000 ! -b11100000111010100100010111000011110011000000000000000000000000 ? -b11 A -b111000001110101001000101110000 } -b11110011000000000000000000000000 L -b10 4 -b111000001110101001000101110000 y -b10 #" -b10110110000010000101100101101 @" -b100 D" -b10110110000010000101100101101 /" -b10010000 +" -b100 3" -b11110011000000000000000000000000 H -b10 P -b10110110000010000101100101101 m -b0 i -b100 q -1k -b10110110000010000101100101101 \ -b10011100 X -b100 ` -0Z -1' -#5056 -b111110101 / -b10 2 -#5060 -07" -b1101111 5" -1&" -b0 $" -b10 "" -b1 x -0d -b11100000 b -1S -b0 Q -b10 O -b1 G -b101101111 s -b111100000 B -b11 A -b101101111111100000 8 -b11000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101101111111100000 " -b11 . -b11011100010010000010010010111000 % -b11011100010010000010010010111000 < -b11011100010010000010010010111000 D -b11011100010010000010010010111000 U -b11011100010010000010010010111000 f -b11011100010010000010010010111000 u -b11011100010010000010010010111000 (" -b11011100010010000010010010111000 9" -0( -0) -0+ -0, -b10 0 -0' -#5063 -b0 0" -b11001010110111000000000010010101 ] -#5065 -b11001010110111000000000010010101 # -b1 J -b1 { -b11 . -b11001010110111000000000010010101 ! -b11001010110111000000000010010101 ? -b11 A -b11001010110111000000000010010101 L -b0 } -b11011100010010000010010010111000 \ -b0 X -b1100 ` -1Z -b11011100010010000010010010111000 m -b11100000 i -b1100 q -0k -b11001010110111000000000010010101 H -b10 P -b11011100010010000010010010111000 /" -b0 +" -b1100 3" -1-" -b11011100010010000010010010111000 @" -b1101111 <" -b1100 D" -0>" -b0 y -b10 #" -b10 4 -1' -#5066 -b111110110 / -b10 2 -#5070 -b11101011 5" -b10 "" -1d -b0 b -0S -b10111111 Q -b10 O -b0 G -b111101011 s -b10111111 B -b11 A -b111101011010111111 8 -b1001110 $ -b111101011010111111 " -b11 . -b10110000101111110011001001100001 % -b10110000101111110011001001100001 < -b10110000101111110011001001100001 D -b10110000101111110011001001100001 U -b10110000101111110011001001100001 f -b10110000101111110011001001100001 u -b10110000101111110011001001100001 (" -b10110000101111110011001001100001 9" -0( -0) -0+ -0, -b1 0 -0' -#5073 -b0 n -#5075 -b0 # -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b10110000101111110011001001100001 @" -b11101011 <" -b10110000101111110011001001100001 /" -b0 H -b10 P -b10110000101111110011001001100001 m -b0 i -1k -b10110000101111110011001001100001 \ -b10111111 X -0Z -1' -#5076 -b111110111 / -b10 2 -#5080 -17" -b0 5" -0&" -0)" -b11111010 $" -b0 x -b11111010 Q -b11111010 s -b11111010 B -b11 A -0V -b10 O -1:" -b10 "" -b11111010011111010 8 -0= -b11111010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11111101100101001 " -b11 . -1& -b11100111100010110001111011001111 % -b11100111100010110001111011001111 < -b11100111100010110001111011001111 D -b11100111100010110001111011001111 U -b11100111100010110001111011001111 f -b11100111100010110001111011001111 u -b11100111100010110001111011001111 (" -b11100111100010110001111011001111 9" -0( -0) -0+ -0, -b10 0 -0' -#5083 -b100110000000000000000000011101 A" -b0 ] -#5085 -b10011000000000000000000001110100000000000000000000000000000000 # -0N -0!" -b0 { -b11 . -b10011000000000000000000001110100000000000000000000000000000000 ! -b10011000000000000000000001110100000000000000000000000000000000 ? -b11 A -b100110000000000000000000011101 } -b11100111100010110001111011001111 \ -b11111010 X -b11 ` -0_ -b11100111100010110001111011001111 m -b11 q -b10 P -b11100111100010110001111011001111 /" -b11111010 +" -b11 3" -02" -0-" -b11100111100010110001111011001111 @" -b0 <" -b11 D" -1>" -b100110000000000000000000011101 y -b10 #" -b100 7 -1' -#5086 -b111111000 / -b10 2 -#5090 -b1111110 $" -b10 "" -b1111110 Q -b10 O -b1111110 s -b1111110 B -b11 A -b1111110001111110 8 -b1111110 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b110010111001001110 " -b11 . -1& -b10111101111010011011110001111011 % -b10111101111010011011110001111011 < -b10111101111010011011110001111011 D -b10111101111010011011110001111011 U -b10111101111010011011110001111011 f -b10111101111010011011110001111011 u -b10111101111010011011110001111011 (" -b10111101111010011011110001111011 9" -0( -0) -0+ -0, -b1 0 -0' -#5095 -b100 7 -b10 #" -b10111101111010011011110001111011 @" -b1010 D" -b10111101111010011011110001111011 /" -b1111110 +" -b1010 3" -b10 P -b10111101111010011011110001111011 m -b1010 q -b10111101111010011011110001111011 \ -b1111110 X -b1010 ` -1' -#5096 -b111111001 / -b10 2 -#5100 -07" -b11100100 5" -1&" -b0 $" -b1 x -b10000111 Q -b111100100 s -b10000111 B -b11 A -1V -b10 O -1)" -b10 "" -b111100100010000111 8 -1= -b11001111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111100100010000111 " -b11 . -0& -b10010100011101000100010000101000 % -b10010100011101000100010000101000 < -b10010100011101000100010000101000 D -b10010100011101000100010000101000 U -b10010100011101000100010000101000 f -b10010100011101000100010000101000 u -b10010100011101000100010000101000 (" -b10010100011101000100010000101000 9" -0( -0) -0+ -0, -b10 0 -0' -#5105 -1N -1!" -b1 { -b10010100011101000100010000101000 \ -b10000111 X -b1011 ` -1_ -b10010100011101000100010000101000 m -b1011 q -b10 P -b10010100011101000100010000101000 /" -b0 +" -b1011 3" -12" -1-" -b10010100011101000100010000101000 @" -b11100100 <" -b1011 D" -0>" -b10 #" -b10 4 -1' -#5106 -b111111010 / -b10 2 -#5110 -b1111101 5" -0d -0g -b1111101 b -1S -b0 Q -b1 G -b101111101 s -b101111101 B -b11 A -1V -b10 O -0:" -b10 "" -b101111101101111101 8 -0= -b101111101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100011010010000101 " -b11 . -1& -b10101110001001100011100001011100 % -b10101110001001100011100001011100 < -b10101110001001100011100001011100 D -b10101110001001100011100001011100 U -b10101110001001100011100001011100 f -b10101110001001100011100001011100 u -b10101110001001100011100001011100 (" -b10101110001001100011100001011100 9" -0( -0) -0+ -0, -b1 0 -0' -#5113 -b0 A" -#5115 -b0 # -0!" -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b10101110001001100011100001011100 @" -b1111101 <" -b10 D" -0C" -b10101110001001100011100001011100 /" -b10 3" -b10 P -b10101110001001100011100001011100 m -b1111101 i -b10 q -0p -0k -b10101110001001100011100001011100 \ -b0 X -b10 ` -1Z -1' -#5116 -b111111011 / -b10 2 -#5120 -b11001001 5" -b10 "" -b11001001 b -b10 O -b111001001 s -b111001001 B -b11 A -b111001001111001001 8 -b111001001 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111011000100010101 " -b11 . -1& -b101111001111111000000101011110 % -b101111001111111000000101011110 < -b101111001111111000000101011110 D -b101111001111111000000101011110 U -b101111001111111000000101011110 f -b101111001111111000000101011110 u -b101111001111111000000101011110 (" -b101111001111111000000101011110 9" -0( -0) -0+ -0, -b10 0 -0' -#5125 -b101111001111111000000101011110 \ -b1110 ` -b101111001111111000000101011110 m -b11001001 i -b1110 q -b10 P -b101111001111111000000101011110 /" -b1110 3" -b101111001111111000000101011110 @" -b11001001 <" -b1110 D" -b10 #" -b100 7 -1' -#5126 -b111111100 / -b10 2 -#5130 -b10001110 5" -b10 "" -b10001110 b -b10 O -b110001110 s -b110001110 B -b11 A -b110001110110001110 8 -b110001110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111110100100110101 " -b11 . -1& -b10101111101110101001011001011111 % -b10101111101110101001011001011111 < -b10101111101110101001011001011111 D -b10101111101110101001011001011111 U -b10101111101110101001011001011111 f -b10101111101110101001011001011111 u -b10101111101110101001011001011111 (" -b10101111101110101001011001011111 9" -0( -0) -0+ -0, -b1 0 -0' -#5135 -b100 7 -b10 #" -b10101111101110101001011001011111 @" -b10001110 <" -b110 D" -b10101111101110101001011001011111 /" -b110 3" -b10 P -b10101111101110101001011001011111 m -b10001110 i -b110 q -b10101111101110101001011001011111 \ -b110 ` -1' -#5136 -b111111101 / -b10 2 -#5140 -b1101001 5" -1d -b0 b -0S -b11000001 Q -b0 G -b101101001 s -b11000001 B -b11 A -1g -b10 O -1:" -b10 "" -b101101001011000001 8 -1= -b100101010 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101101001011000001 " -b11 . -0& -b11110101110100000000110011101011 % -b11110101110100000000110011101011 < -b11110101110100000000110011101011 D -b11110101110100000000110011101011 U -b11110101110100000000110011101011 f -b11110101110100000000110011101011 u -b11110101110100000000110011101011 (" -b11110101110100000000110011101011 9" -0( -0) -0+ -0, -b10 0 -0' -#5145 -1N -b0 J -1!" -b11110101110100000000110011101011 \ -b11000001 X -b1001 ` -0Z -b11110101110100000000110011101011 m -b0 i -b1001 q -1p -1k -b10 P -b11110101110100000000110011101011 /" -b1001 3" -b11110101110100000000110011101011 @" -b1101001 <" -b1001 D" -1C" -b10 #" -b10 4 -1' -#5146 -b111111110 / -b10 2 -#5150 -b1011010 5" -b10 "" -0d -b10101001 b -1S -b0 Q -b10 O -b1 G -b101011010 s -b110101001 B -b11 A -b101011010110101001 8 -b11010010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101011010110101001 " -b11 . -b11011000111111001100000010110001 % -b11011000111111001100000010110001 < -b11011000111111001100000010110001 D -b11011000111111001100000010110001 U -b11011000111111001100000010110001 f -b11011000111111001100000010110001 u -b11011000111111001100000010110001 (" -b11011000111111001100000010110001 9" -0( -0) -0+ -0, -b1 0 -0' -#5155 -b1 J -b10 4 -b10 #" -b11011000111111001100000010110001 @" -b1011010 <" -b1101 D" -b11011000111111001100000010110001 /" -b1101 3" -b10 P -b11011000111111001100000010110001 m -b10101001 i -b1101 q -0k -b11011000111111001100000010110001 \ -b0 X -b1101 ` -1Z -1' -#5156 -b111111111 / -b10 2 -#5160 -17" -b0 5" -0&" -b10011100 $" -b10 "" -b0 x -1d -b0 b -0S -b111 Q -b10 O -b0 G -b10011100 s -b111 B -b11 A -b10011100000000111 8 -b10000111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10011100000000111 " -b11 . -b11101110000000101000111011011100 % -b11101110000000101000111011011100 < -b11101110000000101000111011011100 D -b11101110000000101000111011011100 U -b11101110000000101000111011011100 f -b11101110000000101000111011011100 u -b11101110000000101000111011011100 (" -b11101110000000101000111011011100 9" -0( -0) -0+ -0, -b10 0 -0' -#5163 -b1001000000000001111001 A" -#5165 -b100100000000000111100100000000000000000000000000000000 # -b0 J -b0 { -b11 . -b100100000000000111100100000000000000000000000000000000 ! -b100100000000000111100100000000000000000000000000000000 ? -b11 A -b1001000000000001111001 } -b11101110000000101000111011011100 \ -b111 X -b111 ` -0Z -b11101110000000101000111011011100 m -b0 i -b111 q -1k -b10 P -b11101110000000101000111011011100 /" -b10011100 +" -b111 3" -0-" -b11101110000000101000111011011100 @" -b0 <" -b111 D" -1>" -b1001000000000001111001 y -b10 #" -b10 4 -1' -#5166 -b1000000000 / -b10 2 -#5170 -07" -0:" -b10101010 5" -1&" -b0 $" -b1 x -0d -0g -b10101010 b -1S -b0 Q -b1 G -b110101010 s -b110101010 B -b11 A -1V -b10 O -1)" -b10 "" -b110101010110101010 8 -0= -b110101010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110010000111101000 " -b11 . -1& -b11010111111000010011111010101111 % -b11010111111000010011111010101111 < -b11010111111000010011111010101111 D -b11010111111000010011111010101111 U -b11010111111000010011111010101111 f -b11010111111000010011111010101111 u -b11010111111000010011111010101111 (" -b11010111111000010011111010101111 9" -0( -0) -0+ -0, -b1 0 -0' -#5173 -b11001010110111000000000010010101 0" -b11100001000000001111001011000011 ] -#5175 -b1100101011011100000000001001010111100001000000001111001011000011 # -0!" -b1 { -0N -b1 J -b11 . -b1100101011011100000000001001010111100001000000001111001011000011 ! -b1100101011011100000000001001010111100001000000001111001011000011 ? -b11 A -b11001010110111000000000010010101 } -b11100001000000001111001011000011 L -b100 7 -b11001010110111000000000010010101 y -b10 #" -b11010111111000010011111010101111 @" -b10101010 <" -b1000 D" -0C" -0>" -b11010111111000010011111010101111 /" -b0 +" -b1000 3" -1-" -b11100001000000001111001011000011 H -b10 P -b11010111111000010011111010101111 m -b10101010 i -b1000 q -0p -0k -b11010111111000010011111010101111 \ -b0 X -b1000 ` -1Z -1' -#5176 -b1000000001 / -b10 2 -#5180 -b1111011 5" -b10 "" -b1111011 b -b10 O -b101111011 s -b101111011 B -b11 A -b101111011101111011 8 -b101111011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100011100001001000 " -b11 . -1& -b11001111101110100011001010011111 % -b11001111101110100011001010011111 < -b11001111101110100011001010011111 D -b11001111101110100011001010011111 U -b11001111101110100011001010011111 f -b11001111101110100011001010011111 u -b11001111101110100011001010011111 (" -b11001111101110100011001010011111 9" -0( -0) -0+ -0, -b10 0 -0' -#5185 -b11001111101110100011001010011111 \ -b1101 ` -b11001111101110100011001010011111 m -b1111011 i -b1101 q -b10 P -b11001111101110100011001010011111 /" -b1101 3" -b11001111101110100011001010011111 @" -b1111011 <" -b1101 D" -b10 #" -b100 7 -1' -#5186 -b1000000010 / -b10 2 -#5190 -17" -b0 5" -0&" -b1110010 $" -b0 x -1d -b0 b -0S -b1000110 Q -b0 G -b1110010 s -b1000110 B -b11 A -1g -b10 O -1:" -b10 "" -b1110010001000110 8 -1= -b111000101 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1110010001000110 " -b11 . -0& -b110000000100001101001101100000 % -b110000000100001101001101100000 < -b110000000100001101001101100000 D -b110000000100001101001101100000 U -b110000000100001101001101100000 f -b110000000100001101001101100000 u -b110000000100001101001101100000 (" -b110000000100001101001101100000 9" -0( -0) -0+ -0, -b1 0 -0' -#5195 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b110000000100001101001101100000 @" -b0 <" -b1 D" -1C" -1>" -b110000000100001101001101100000 /" -b1110010 +" -b1 3" -0-" -b10 P -b110000000100001101001101100000 m -b0 i -b1 q -1p -1k -b110000000100001101001101100000 \ -b1000110 X -b1 ` -0Z -1' -#5196 -b1000000011 / -b10 2 -#5200 -07" -b1110110 5" -1&" -b0 $" -b10 "" -b1 x -b10101 Q -b10 O -b101110110 s -b10101 B -b11 A -b101110110000010101 8 -b101111110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101110110000010101 " -b11 . -b1011110111100001101100110111101 % -b1011110111100001101100110111101 < -b1011110111100001101100110111101 D -b1011110111100001101100110111101 U -b1011110111100001101100110111101 f -b1011110111100001101100110111101 u -b1011110111100001101100110111101 (" -b1011110111100001101100110111101 9" -0( -0) -0+ -0, -b10 0 -0' -#5203 -b1010100100000000 0" -b101100000011010110000001 ] -#5205 -b101010010000000000000000101100000011010110000001 # -b1 { -b11 . -b101010010000000000000000101100000011010110000001 ! -b101010010000000000000000101100000011010110000001 ? -b11 A -b101100000011010110000001 L -b1010100100000000 } -b1011110111100001101100110111101 \ -b10101 X -b11 ` -b1011110111100001101100110111101 m -b11 q -b101100000011010110000001 H -b10 P -b1011110111100001101100110111101 /" -b0 +" -b11 3" -1-" -b1011110111100001101100110111101 @" -b1110110 <" -b11 D" -0>" -b1010100100000000 y -b10 #" -b10 4 -1' -#5206 -b1000000100 / -b10 2 -#5210 -b11011010 5" -0d -0g -b11011010 b -1S -b0 Q -b1 G -b111011010 s -b111011010 B -b11 A -1V -b10 O -0:" -b10 "" -b111011010111011010 8 -0= -b111011010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100110010110010011 " -b11 . -1& -b1101001111011010001101111010011 % -b1101001111011010001101111010011 < -b1101001111011010001101111010011 D -b1101001111011010001101111010011 U -b1101001111011010001101111010011 f -b1101001111011010001101111010011 u -b1101001111011010001101111010011 (" -b1101001111011010001101111010011 9" -0( -0) -0+ -0, -b1 0 -0' -#5213 -b0 A" -b1100111100110110 ] -#5215 -b1100111100110110 # -0!" -0N -b1 J -b11 . -b1100111100110110 ! -b1100111100110110 ? -b11 A -b0 } -b1100111100110110 L -b100 7 -b0 y -b10 #" -b1101001111011010001101111010011 @" -b11011010 <" -b1101 D" -0C" -b1101001111011010001101111010011 /" -b1101 3" -b1100111100110110 H -b10 P -b1101001111011010001101111010011 m -b11011010 i -b1101 q -0p -0k -b1101001111011010001101111010011 \ -b0 X -b1101 ` -1Z -1' -#5216 -b1000000101 / -b10 2 -#5220 -b10010001 5" -1d -b0 b -0S -b10100110 Q -b0 G -b110010001 s -b10100110 B -b11 A -1g -b10 O -1:" -b10 "" -b110010001010100110 8 -1= -b100110101 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110010001010100110 " -b11 . -0& -b101010110100100010100101010101 % -b101010110100100010100101010101 < -b101010110100100010100101010101 D -b101010110100100010100101010101 U -b101010110100100010100101010101 f -b101010110100100010100101010101 u -b101010110100100010100101010101 (" -b101010110100100010100101010101 9" -0( -0) -0+ -0, -b10 0 -0' -#5225 -1N -b0 J -1!" -b101010110100100010100101010101 \ -b10100110 X -b1000 ` -0Z -b101010110100100010100101010101 m -b0 i -b1000 q -1p -1k -b10 P -b101010110100100010100101010101 /" -b1000 3" -b101010110100100010100101010101 @" -b10010001 <" -b1000 D" -1C" -b10 #" -b10 4 -1' -#5226 -b1000000110 / -b10 2 -#5230 -b11011010 5" -0d -0g -b11011010 b -1S -b0 Q -b1 G -b111011010 s -b111011010 B -b11 A -1V -b10 O -0:" -b10 "" -b111011010111011010 8 -0= -b111011010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10011100011001010 " -b11 . -1& -b11001000101011000010111010010001 % -b11001000101011000010111010010001 < -b11001000101011000010111010010001 D -b11001000101011000010111010010001 U -b11001000101011000010111010010001 f -b11001000101011000010111010010001 u -b11001000101011000010111010010001 (" -b11001000101011000010111010010001 9" -0( -0) -0+ -0, -b1 0 -0' -#5233 -b111011110000000000000000 A" -b1111101110010000000000011111 ] -#5235 -b11101111000000000000000000001111101110010000000000011111 # -0!" -0N -b1 J -b11 . -b11101111000000000000000000001111101110010000000000011111 ! -b11101111000000000000000000001111101110010000000000011111 ? -b11 A -b111011110000000000000000 } -b1111101110010000000000011111 L -b100 7 -b111011110000000000000000 y -b10 #" -b11001000101011000010111010010001 @" -b11011010 <" -b111 D" -0C" -b11001000101011000010111010010001 /" -b111 3" -b1111101110010000000000011111 H -b10 P -b11001000101011000010111010010001 m -b11011010 i -b111 q -0p -0k -b11001000101011000010111010010001 \ -b0 X -b111 ` -1Z -1' -#5236 -b1000000111 / -b10 2 -#5240 -17" -b0 5" -0&" -b11011000 $" -b0 x -1d -b0 b -0S -b1001001 Q -b0 G -b11011000 s -b1001001 B -b11 A -1g -b10 O -1:" -b10 "" -b11011000001001001 8 -1= -b1000000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11011000001001001 " -b11 . -0& -b11000001101010011011100010000011 % -b11000001101010011011100010000011 < -b11000001101010011011100010000011 D -b11000001101010011011100010000011 U -b11000001101010011011100010000011 f -b11000001101010011011100010000011 u -b11000001101010011011100010000011 (" -b11000001101010011011100010000011 9" -0( -0) -0+ -0, -b10 0 -0' -#5245 -1N -b0 J -1!" -b0 { -b11000001101010011011100010000011 \ -b1001001 X -b100 ` -0Z -b11000001101010011011100010000011 m -b0 i -b100 q -1p -1k -b10 P -b11000001101010011011100010000011 /" -b11011000 +" -b100 3" -0-" -b11000001101010011011100010000011 @" -b0 <" -b100 D" -1C" -1>" -b10 #" -b10 4 -1' -#5246 -b1000001000 / -b10 2 -#5250 -07" -b10001001 5" -1&" -b0 $" -b10 "" -b1 x -b111101 Q -b10 O -b110001001 s -b111101 B -b11 A -b110001001000111101 8 -b100100000 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b110001001000111101 " -b11 . -b11011011100110100101100110110 % -b11011011100110100101100110110 < -b11011011100110100101100110110 D -b11011011100110100101100110110 U -b11011011100110100101100110110 f -b11011011100110100101100110110 u -b11011011100110100101100110110 (" -b11011011100110100101100110110 9" -0( -0) -0+ -0, -b1 0 -0' -#5253 -b0 0" -b0 ] -#5255 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b11011011100110100101100110110 @" -b10001001 <" -b1101 D" -0>" -b11011011100110100101100110110 /" -b0 +" -b1101 3" -1-" -b0 H -b10 P -b11011011100110100101100110110 m -b1101 q -b11011011100110100101100110110 \ -b111101 X -b1101 ` -1' -#5256 -b1000001001 / -b10 2 -#5260 -17" -b0 5" -0&" -b10011000 $" -b10 "" -b0 x -b1001111 Q -b10 O -b10011000 s -b1001111 B -b11 A -b10011000001001111 8 -b10111111 $ -b10011000001001111 " -b11 . -b10110110001011000010010001101100 % -b10110110001011000010010001101100 < -b10110110001011000010010001101100 D -b10110110001011000010010001101100 U -b10110110001011000010010001101100 f -b10110110001011000010010001101100 u -b10110110001011000010010001101100 (" -b10110110001011000010010001101100 9" -0( -0) -0+ -0, -b10 0 -0' -#5263 -b0 A" -#5265 -b0 { -b10110110001011000010010001101100 \ -b1001111 X -b10110110001011000010010001101100 m -b10 P -b10110110001011000010010001101100 /" -b10011000 +" -0-" -b10110110001011000010010001101100 @" -b0 <" -1>" -b10 #" -b10 4 -1' -#5266 -b1000001010 / -b10 2 -#5270 -07" -b111001 5" -1&" -b0 $" -b10 "" -b1 x -b1100101 Q -b10 O -b100111001 s -b1100101 B -b11 A -b100111001001100101 8 -b110000100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b100111001001100101 " -b11 . -b1110101000110000101110111101010 % -b1110101000110000101110111101010 < -b1110101000110000101110111101010 D -b1110101000110000101110111101010 U -b1110101000110000101110111101010 f -b1110101000110000101110111101010 u -b1110101000110000101110111101010 (" -b1110101000110000101110111101010 9" -0( -0) -0+ -0, -b1 0 -0' -#5275 -b1 { -b10 4 -b10 #" -b1110101000110000101110111101010 @" -b111001 <" -b100 D" -0>" -b1110101000110000101110111101010 /" -b0 +" -b100 3" -1-" -b10 P -b1110101000110000101110111101010 m -b100 q -b1110101000110000101110111101010 \ -b1100101 X -b100 ` -1' -#5276 -b1000001011 / -b10 2 -#5280 -17" -b0 5" -0&" -0)" -b10101110 $" -b0 x -b10101110 Q -b10101110 s -b10101110 B -b11 A -0V -b10 O -1:" -b10 "" -b10101110010101110 8 -0= -b10101110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b1000001011010 " -b11 . -1& -b10000001011000110011110000000010 % -b10000001011000110011110000000010 < -b10000001011000110011110000000010 D -b10000001011000110011110000000010 U -b10000001011000110011110000000010 f -b10000001011000110011110000000010 u -b10000001011000110011110000000010 (" -b10000001011000110011110000000010 9" -0( -0) -0+ -0, -b10 0 -0' -#5285 -0N -0!" -b0 { -b10000001011000110011110000000010 \ -b10101110 X -b1000 ` -0_ -b10000001011000110011110000000010 m -b1000 q -b10 P -b10000001011000110011110000000010 /" -b10101110 +" -b1000 3" -02" -0-" -b10000001011000110011110000000010 @" -b0 <" -b1000 D" -1>" -b10 #" -b100 7 -1' -#5286 -b1000001100 / -b10 2 -#5290 -07" -0:" -b1101101 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1101101 b -1S -1V -b0 Q -b10 O -b1 G -b101101101 s -b101101101 B -b11 A -b101101101101101101 8 -b101101101 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101000101111000110 " -b11 . -1& -b11110111111100101011010011101111 % -b11110111111100101011010011101111 < -b11110111111100101011010011101111 D -b11110111111100101011010011101111 U -b11110111111100101011010011101111 f -b11110111111100101011010011101111 u -b11110111111100101011010011101111 (" -b11110111111100101011010011101111 9" -0( -0) -0+ -0, -b1 0 -0' -#5295 -b1 { -b1 J -b100 7 -b10 #" -b11110111111100101011010011101111 @" -b1101101 <" -b1 D" -0C" -0>" -b11110111111100101011010011101111 /" -b0 +" -b1 3" -12" -1-" -b10 P -b11110111111100101011010011101111 m -b1101101 i -b1 q -0p -0k -b11110111111100101011010011101111 \ -b0 X -b1 ` -1_ -1Z -1' -#5296 -b1000001101 / -b10 2 -#5300 -17" -b0 5" -0&" -b1010111 $" -b0 x -1d -b0 b -0S -b1101 Q -b0 G -b1010111 s -b1101 B -b11 A -1g -b10 O -1:" -b10 "" -b1010111000001101 8 -1= -b110000010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1010111000001101 " -b11 . -0& -b1101010001010001100100011010 % -b1101010001010001100100011010 < -b1101010001010001100100011010 D -b1101010001010001100100011010 U -b1101010001010001100100011010 f -b1101010001010001100100011010 u -b1101010001010001100100011010 (" -b1101010001010001100100011010 9" -0( -0) -0+ -0, -b10 0 -0' -#5305 -1N -b0 J -1!" -b0 { -b1101010001010001100100011010 \ -b1101 X -b10 ` -0Z -b1101010001010001100100011010 m -b0 i -b10 q -1p -1k -b10 P -b1101010001010001100100011010 /" -b1010111 +" -b10 3" -0-" -b1101010001010001100100011010 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b10 4 -1' -#5306 -b1000001110 / -b10 2 -#5310 -07" -0:" -b10000011 5" -1&" -b0 $" -b1 x -0d -0g -b10000011 b -1S -b0 Q -b1 G -b110000011 s -b110000011 B -b11 A -1V -b10 O -1)" -b10 "" -b110000011110000011 8 -0= -b110000011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100100010010101001 " -b11 . -1& -b11011110111000101001110010111101 % -b11011110111000101001110010111101 < -b11011110111000101001110010111101 D -b11011110111000101001110010111101 U -b11011110111000101001110010111101 f -b11011110111000101001110010111101 u -b11011110111000101001110010111101 (" -b11011110111000101001110010111101 9" -0( -0) -0+ -0, -b1 0 -0' -#5313 -b1100000100000000 ] -#5315 -b1100000100000000 # -0!" -b1 { -0N -b1 J -b11 . -b1100000100000000 ! -b1100000100000000 ? -b11 A -b1100000100000000 L -b100 7 -b10 #" -b11011110111000101001110010111101 @" -b10000011 <" -b110 D" -0C" -0>" -b11011110111000101001110010111101 /" -b0 +" -b110 3" -1-" -b1100000100000000 H -b10 P -b11011110111000101001110010111101 m -b10000011 i -b110 q -0p -0k -b11011110111000101001110010111101 \ -b0 X -b110 ` -1Z -1' -#5316 -b1000001111 / -b10 2 -#5320 -17" -b0 5" -0&" -b1101010 $" -b0 x -b1110010 b -b1101010 s -b101110010 B -b11 A -1g -b10 O -1:" -b10 "" -b1101010101110010 8 -1= -b10011 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b1101010101110010 " -b11 . -0& -b10110110101111100011110001101101 % -b10110110101111100011110001101101 < -b10110110101111100011110001101101 D -b10110110101111100011110001101101 U -b10110110101111100011110001101101 f -b10110110101111100011110001101101 u -b10110110101111100011110001101101 (" -b10110110101111100011110001101101 9" -0( -0) -0+ -0, -b10 0 -0' -#5325 -1N -1!" -b0 { -b10110110101111100011110001101101 \ -b1111 ` -b10110110101111100011110001101101 m -b1110010 i -b1111 q -1p -b10 P -b10110110101111100011110001101101 /" -b1101010 +" -b1111 3" -0-" -b10110110101111100011110001101101 @" -b0 <" -b1111 D" -1C" -1>" -b10 #" -b10 4 -1' -#5326 -b1000010000 / -b10 2 -#5330 -b10101010 $" -1d -b0 b -0S -0V -b10101010 Q -b0 G -b10101010 s -b10101010 B -b11 A -1g -b10 O -0)" -b10 "" -b10101010010101010 8 -0= -b10101010 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b110000001101001 " -b11 . -1& -b1110010011101111111101111100100 % -b1110010011101111111101111100100 < -b1110010011101111111101111100100 D -b1110010011101111111101111100100 U -b1110010011101111111101111100100 f -b1110010011101111111101111100100 u -b1110010011101111111101111100100 (" -b1110010011101111111101111100100 9" -0( -0) -0+ -0, -b1 0 -0' -#5333 -b101110 n -#5335 -b101110 # -0!" -0N -b0 J -b11 . -b101110 ! -b101110 ? -b11 A -b101110 L -b100 7 -b10 #" -b1110010011101111111101111100100 @" -b1010 D" -b1110010011101111111101111100100 /" -b10101010 +" -b1010 3" -02" -b101110 H -b10 P -b1110010011101111111101111100100 m -b0 i -b1010 q -1k -b1110010011101111111101111100100 \ -b10101010 X -b1010 ` -0_ -0Z -1' -#5336 -b1000010001 / -b10 2 -#5340 -b11100001 $" -0d -b10111010 b -1S -b0 Q -b1 G -b11100001 s -b110111010 B -b11 A -1V -b10 O -1)" -b10 "" -b11100001110111010 8 -1= -b10111111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b11100001110111010 " -b11 . -0& -b10001010101101101011100000010101 % -b10001010101101101011100000010101 < -b10001010101101101011100000010101 D -b10001010101101101011100000010101 U -b10001010101101101011100000010101 f -b10001010101101101011100000010101 u -b10001010101101101011100000010101 (" -b10001010101101101011100000010101 9" -0( -0) -0+ -0, -b10 0 -0' -#5345 -1N -b1 J -1!" -b10001010101101101011100000010101 \ -b0 X -b1001 ` -1_ -1Z -b10001010101101101011100000010101 m -b10111010 i -b1001 q -0k -b10 P -b10001010101101101011100000010101 /" -b11100001 +" -b1001 3" -12" -b10001010101101101011100000010101 @" -b1001 D" -b10 #" -b10 4 -1' -#5346 -b1000010010 / -b10 2 -#5350 -07" -b1011100 5" -1&" -b0 $" -b10 "" -b1 x -b11100110 b -b10 O -b101011100 s -b111100110 B -b11 A -b101011100111100110 8 -b1001101 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101011100111100110 " -b11 . -b11000110111111111010100110001 % -b11000110111111111010100110001 < -b11000110111111111010100110001 D -b11000110111111111010100110001 U -b11000110111111111010100110001 f -b11000110111111111010100110001 u -b11000110111111111010100110001 (" -b11000110111111111010100110001 9" -0( -0) -0+ -0, -b1 0 -0' -#5353 -b0 n -#5355 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b11000110111111111010100110001 @" -b1011100 <" -b101 D" -0>" -b11000110111111111010100110001 /" -b0 +" -b101 3" -1-" -b0 H -b10 P -b11000110111111111010100110001 m -b11100110 i -b101 q -b11000110111111111010100110001 \ -b101 ` -1' -#5356 -b1000010011 / -b10 2 -#5360 -b10010110 5" -b10010110 b -b110010110 s -b110010110 B -b11 A -0g -b10 O -0:" -b10 "" -b110010110110010110 8 -0= -b110010110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b1110000011000011 " -b11 . -1& -b10011000010110100100101000110000 % -b10011000010110100100101000110000 < -b10011000010110100100101000110000 D -b10011000010110100100101000110000 U -b10011000010110100100101000110000 f -b10011000010110100100101000110000 u -b10011000010110100100101000110000 (" -b10011000010110100100101000110000 9" -0( -0) -0+ -0, -b10 0 -0' -#5365 -0N -0!" -b10011000010110100100101000110000 \ -b1110 ` -b10011000010110100100101000110000 m -b10010110 i -b1110 q -0p -b10 P -b10011000010110100100101000110000 /" -b1110 3" -b10011000010110100100101000110000 @" -b10010110 <" -b1110 D" -0C" -b10 #" -b100 7 -1' -#5366 -b1000010100 / -b10 2 -#5370 -b110001 5" -b10 "" -b110001 b -b10 O -b100110001 s -b100110001 B -b11 A -b100110001100110001 8 -b100110001 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11101111100001110 " -b11 . -1& -b11001000000011000010100110010 % -b11001000000011000010100110010 < -b11001000000011000010100110010 D -b11001000000011000010100110010 U -b11001000000011000010100110010 f -b11001000000011000010100110010 u -b11001000000011000010100110010 (" -b11001000000011000010100110010 9" -0( -0) -0+ -0, -b1 0 -0' -#5375 -b100 7 -b10 #" -b11001000000011000010100110010 @" -b110001 <" -b11 D" -b11001000000011000010100110010 /" -b11 3" -b10 P -b11001000000011000010100110010 m -b110001 i -b11 q -b11001000000011000010100110010 \ -b11 ` -1' -#5376 -b1000010101 / -b10 2 -#5380 -17" -b0 5" -0&" -b11110001 $" -b0 x -1d -b0 b -0S -b10010110 Q -b0 G -b11110001 s -b10010110 B -b11 A -1g -b10 O -1:" -b10 "" -b11110001010010110 8 -1= -b100110111 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11110001010010110 " -b11 . -0& -b11011101010110111101100110111 % -b11011101010110111101100110111 < -b11011101010110111101100110111 D -b11011101010110111101100110111 U -b11011101010110111101100110111 f -b11011101010110111101100110111 u -b11011101010110111101100110111 (" -b11011101010110111101100110111 9" -0( -0) -0+ -0, -b10 0 -0' -#5385 -1N -b0 J -1!" -b0 { -b11011101010110111101100110111 \ -b10010110 X -b110 ` -0Z -b11011101010110111101100110111 m -b0 i -b110 q -1p -1k -b10 P -b11011101010110111101100110111 /" -b11110001 +" -b110 3" -0-" -b11011101010110111101100110111 @" -b0 <" -b110 D" -1C" -1>" -b10 #" -b10 4 -1' -#5386 -b1000010110 / -b10 2 -#5390 -b10111110 $" -b10111110 Q -b10111110 s -b10111110 B -b11 A -0V -b10 O -0)" -b10 "" -b10111110010111110 8 -0= -b10111110 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b1111010100111001 " -b11 . -1& -b1101100111100010010100111011001 % -b1101100111100010010100111011001 < -b1101100111100010010100111011001 D -b1101100111100010010100111011001 U -b1101100111100010010100111011001 f -b1101100111100010010100111011001 u -b1101100111100010010100111011001 (" -b1101100111100010010100111011001 9" -0( -0) -0+ -0, -b1 0 -0' -#5393 -b11100001100110010000000011000011 0" -b0 ] -#5395 -b1110000110011001000000001100001100000000000000000000000000000000 # -0!" -0N -b11 . -b1110000110011001000000001100001100000000000000000000000000000000 ! -b1110000110011001000000001100001100000000000000000000000000000000 ? -b11 A -b11100001100110010000000011000011 } -b100 7 -b11100001100110010000000011000011 y -b10 #" -b1101100111100010010100111011001 @" -b0 D" -b1101100111100010010100111011001 /" -b10111110 +" -b0 3" -02" -b10 P -b1101100111100010010100111011001 m -b0 q -b1101100111100010010100111011001 \ -b10111110 X -b0 ` -0_ -1' -#5396 -b1000010111 / -b10 2 -#5400 -b11010110 $" -b10 "" -b11010110 Q -b10 O -b11010110 s -b11010110 B -b11 A -b11010110011010110 8 -b11010110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10010000000000110 " -b11 . -1& -b101110001010011011110101011100 % -b101110001010011011110101011100 < -b101110001010011011110101011100 D -b101110001010011011110101011100 U -b101110001010011011110101011100 f -b101110001010011011110101011100 u -b101110001010011011110101011100 (" -b101110001010011011110101011100 9" -0( -0) -0+ -0, -b10 0 -0' -#5405 -b101110001010011011110101011100 \ -b11010110 X -b10 ` -b101110001010011011110101011100 m -b10 q -b10 P -b101110001010011011110101011100 /" -b11010110 +" -b10 3" -b101110001010011011110101011100 @" -b10 D" -b10 #" -b100 7 -1' -#5406 -b1000011000 / -b10 2 -#5410 -b10110100 $" -b10 "" -b10110100 Q -b10 O -b10110100 s -b10110100 B -b11 A -b10110100010110100 8 -b10110100 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b1011000100100111 " -b11 . -1& -b1101101000110111010100011011 % -b1101101000110111010100011011 < -b1101101000110111010100011011 D -b1101101000110111010100011011 U -b1101101000110111010100011011 f -b1101101000110111010100011011 u -b1101101000110111010100011011 (" -b1101101000110111010100011011 9" -0( -0) -0+ -0, -b1 0 -0' -#5415 -b100 7 -b10 #" -b1101101000110111010100011011 @" -b1111 D" -b1101101000110111010100011011 /" -b10110100 +" -b1111 3" -b10 P -b1101101000110111010100011011 m -b1111 q -b1101101000110111010100011011 \ -b10110100 X -b1111 ` -1' -#5416 -b1000011001 / -b10 2 -#5420 -07" -b11110111 5" -1&" -b0 $" -b1 x -0d -b111001 b -1S -b0 Q -b1 G -b111110111 s -b100111001 B -b11 A -1V -b10 O -1)" -b10 "" -b111110111100111001 8 -1= -b100100100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111110111100111001 " -b11 . -0& -b1001000000100101001000110010000 % -b1001000000100101001000110010000 < -b1001000000100101001000110010000 D -b1001000000100101001000110010000 U -b1001000000100101001000110010000 f -b1001000000100101001000110010000 u -b1001000000100101001000110010000 (" -b1001000000100101001000110010000 9" -0( -0) -0+ -0, -b10 0 -0' -#5425 -1N -b1 J -1!" -b1 { -b1001000000100101001000110010000 \ -b0 X -b1000 ` -1_ -1Z -b1001000000100101001000110010000 m -b111001 i -b1000 q -0k -b10 P -b1001000000100101001000110010000 /" -b0 +" -b1000 3" -12" -1-" -b1001000000100101001000110010000 @" -b11110111 <" -b1000 D" -0>" -b10 #" -b10 4 -1' -#5426 -b1000011010 / -b10 2 -#5430 -17" -b0 5" -0&" -0)" -b10100011 $" -b0 x -1d -b0 b -0S -0V -b10100011 Q -b0 G -b10100011 s -b10100011 B -b11 A -1g -b10 O -1:" -b10 "" -b10100011010100011 8 -0= -b10100011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1110001011110001 " -b11 . -1& -b11101001100001101011101011010011 % -b11101001100001101011101011010011 < -b11101001100001101011101011010011 D -b11101001100001101011101011010011 U -b11101001100001101011101011010011 f -b11101001100001101011101011010011 u -b11101001100001101011101011010011 (" -b11101001100001101011101011010011 9" -0( -0) -0+ -0, -b1 0 -0' -#5435 -b0 # -0!" -b0 { -0N -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b11101001100001101011101011010011 @" -b0 <" -b101 D" -1>" -b11101001100001101011101011010011 /" -b10100011 +" -b101 3" -02" -0-" -b10 P -b11101001100001101011101011010011 m -b0 i -b101 q -1k -b11101001100001101011101011010011 \ -b10100011 X -b101 ` -0_ -0Z -1' -#5436 -b1000011011 / -b10 2 -#5440 -b11101101 $" -b10 "" -b11101101 Q -b10 O -b11101101 s -b11101101 B -b11 A -b11101101011101101 8 -b11101101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101011110010101 " -b11 . -1& -b1011011100001011010010110110111 % -b1011011100001011010010110110111 < -b1011011100001011010010110110111 D -b1011011100001011010010110110111 U -b1011011100001011010010110110111 f -b1011011100001011010010110110111 u -b1011011100001011010010110110111 (" -b1011011100001011010010110110111 9" -0( -0) -0+ -0, -b10 0 -0' -#5445 -b1011011100001011010010110110111 \ -b11101101 X -b1011 ` -b1011011100001011010010110110111 m -b1011 q -b10 P -b1011011100001011010010110110111 /" -b11101101 +" -b1011 3" -b1011011100001011010010110110111 @" -b1011 D" -b10 #" -b100 7 -1' -#5446 -b1000011100 / -b10 2 -#5450 -b11110011 $" -0d -b1110000 b -1S -b0 Q -b1 G -b11110011 s -b101110000 B -b11 A -1V -b10 O -1)" -b10 "" -b11110011101110000 8 -1= -b111100011 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11110011101110000 " -b11 . -0& -b101001011010111010110101010010 % -b101001011010111010110101010010 < -b101001011010111010110101010010 D -b101001011010111010110101010010 U -b101001011010111010110101010010 f -b101001011010111010110101010010 u -b101001011010111010110101010010 (" -b101001011010111010110101010010 9" -0( -0) -0+ -0, -b1 0 -0' -#5455 -1!" -1N -b1 J -b10 4 -b10 #" -b101001011010111010110101010010 @" -b0 D" -b101001011010111010110101010010 /" -b11110011 +" -b0 3" -12" -b10 P -b101001011010111010110101010010 m -b1110000 i -b0 q -0k -b101001011010111010110101010010 \ -b0 X -b0 ` -1_ -1Z -1' -#5456 -b1000011101 / -b10 2 -#5460 -07" -b10101 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b1111010 Q -b10 O -b0 G -b100010101 s -b1111010 B -b11 A -b100010101001111010 8 -b110011011 $ -b100010101001111010 " -b11 . -b1100011100100111111000111000111 % -b1100011100100111111000111000111 < -b1100011100100111111000111000111 D -b1100011100100111111000111000111 U -b1100011100100111111000111000111 f -b1100011100100111111000111000111 u -b1100011100100111111000111000111 (" -b1100011100100111111000111000111 9" -0( -0) -0+ -0, -b10 0 -0' -#5463 -b0 0" -b110100100000000 n -#5465 -b110100100000000 # -b0 J -b1 { -b11 . -b110100100000000 ! -b110100100000000 ? -b11 A -b110100100000000 L -b1100011100100111111000111000111 \ -b1111010 X -0Z -b1100011100100111111000111000111 m -b0 i -1k -b110100100000000 H -b10 P -b1100011100100111111000111000111 /" -b0 +" -1-" -b1100011100100111111000111000111 @" -b10101 <" -0>" -b10 #" -b10 4 -1' -#5466 -b1000011110 / -b10 2 -#5470 -17" -b0 5" -0&" -b100101 $" -b10 "" -b0 x -0d -b111011 b -1S -b0 Q -b10 O -b1 G -b100101 s -b100111011 B -b11 A -b100101100111011 8 -b101011110 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100101100111011 " -b11 . -b11110010111001001111001011100101 % -b11110010111001001111001011100101 < -b11110010111001001111001011100101 D -b11110010111001001111001011100101 U -b11110010111001001111001011100101 f -b11110010111001001111001011100101 u -b11110010111001001111001011100101 (" -b11110010111001001111001011100101 9" -0( -0) -0+ -0, -b1 0 -0' -#5475 -b0 # -b0 { -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b11110010111001001111001011100101 @" -b0 <" -b1011 D" -1>" -b11110010111001001111001011100101 /" -b100101 +" -b1011 3" -0-" -b0 H -b10 P -b11110010111001001111001011100101 m -b111011 i -b1011 q -0k -b11110010111001001111001011100101 \ -b0 X -b1011 ` -1Z -1' -#5476 -b1000011111 / -b10 2 -#5480 -07" -0:" -b10100110 5" -1&" -b0 $" -b1 x -b10100110 b -b110100110 s -b110100110 B -b11 A -0g -b10 O -1)" -b10 "" -b110100110110100110 8 -0= -b110100110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111001101100110110 " -b11 . -1& -b10100000000011101011100101000 % -b10100000000011101011100101000 < -b10100000000011101011100101000 D -b10100000000011101011100101000 U -b10100000000011101011100101000 f -b10100000000011101011100101000 u -b10100000000011101011100101000 (" -b10100000000011101011100101000 9" -0( -0) -0+ -0, -b10 0 -0' -#5483 -b0 n -#5485 -0N -0!" -b1 { -b10100000000011101011100101000 \ -b110 ` -b10100000000011101011100101000 m -b10100110 i -b110 q -0p -b10 P -b10100000000011101011100101000 /" -b0 +" -b110 3" -1-" -b10100000000011101011100101000 @" -b10100110 <" -b110 D" -0C" -0>" -b10 #" -b100 7 -1' -#5486 -b1000100000 / -b10 2 -#5490 -17" -b0 5" -0&" -b10100111 $" -b0 x -1d -b0 b -0S -b1010001 Q -b0 G -b10100111 s -b1010001 B -b11 A -1g -b10 O -1:" -b10 "" -b10100111001010001 8 -1= -b11001100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b10100111001010001 " -b11 . -0& -b1101101000001011101001111011010 % -b1101101000001011101001111011010 < -b1101101000001011101001111011010 D -b1101101000001011101001111011010 U -b1101101000001011101001111011010 f -b1101101000001011101001111011010 u -b1101101000001011101001111011010 (" -b1101101000001011101001111011010 9" -0( -0) -0+ -0, -b1 0 -0' -#5495 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1101101000001011101001111011010 @" -b0 <" -b1110 D" -1C" -1>" -b1101101000001011101001111011010 /" -b10100111 +" -b1110 3" -0-" -b10 P -b1101101000001011101001111011010 m -b0 i -b1110 q -1p -1k -b1101101000001011101001111011010 \ -b1010001 X -b1110 ` -0Z -1' -#5496 -b1000100001 / -b10 2 -#5500 -b111101 $" -b10 "" -b110110 Q -b10 O -b111101 s -b110110 B -b11 A -b111101000110110 8 -b111001111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111101000110110 " -b11 . -b10011011010001000100110000110110 % -b10011011010001000100110000110110 < -b10011011010001000100110000110110 D -b10011011010001000100110000110110 U -b10011011010001000100110000110110 f -b10011011010001000100110000110110 u -b10011011010001000100110000110110 (" -b10011011010001000100110000110110 9" -0( -0) -0+ -0, -b10 0 -0' -#5503 -b11100010000000000000000000000000 0" -#5505 -b1110001000000000000000000000000000000000000000000000000000000000 # -b11 . -b1110001000000000000000000000000000000000000000000000000000000000 ! -b1110001000000000000000000000000000000000000000000000000000000000 ? -b11 A -b11100010000000000000000000000000 } -b10011011010001000100110000110110 \ -b110110 X -b1001 ` -b10011011010001000100110000110110 m -b1001 q -b10 P -b10011011010001000100110000110110 /" -b111101 +" -b1001 3" -b10011011010001000100110000110110 @" -b1001 D" -b11100010000000000000000000000000 y -b10 #" -b10 4 -1' -#5506 -b1000100010 / -b10 2 -#5510 -07" -b1111110 5" -1&" -b0 $" -b10 "" -b1 x -b10100111 Q -b10 O -b101111110 s -b10100111 B -b11 A -b101111110010100111 8 -b110100 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101111110010100111 " -b11 . -b11011100001001111101001010111000 % -b11011100001001111101001010111000 < -b11011100001001111101001010111000 D -b11011100001001111101001010111000 U -b11011100001001111101001010111000 f -b11011100001001111101001010111000 u -b11011100001001111101001010111000 (" -b11011100001001111101001010111000 9" -0( -0) -0+ -0, -b1 0 -0' -#5513 -b0 0" -#5515 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b11011100001001111101001010111000 @" -b1111110 <" -b1011 D" -0>" -b11011100001001111101001010111000 /" -b0 +" -b1011 3" -1-" -b10 P -b11011100001001111101001010111000 m -b1011 q -b11011100001001111101001010111000 \ -b10100111 X -b1011 ` -1' -#5516 -b1000100011 / -b10 2 -#5520 -b10110010 5" -b10 "" -b1011101 Q -b10 O -b110110010 s -b1011101 B -b11 A -b110110010001011101 8 -b110110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110110010001011101 " -b11 . -b1001111000000001110100110011110 % -b1001111000000001110100110011110 < -b1001111000000001110100110011110 D -b1001111000000001110100110011110 U -b1001111000000001110100110011110 f -b1001111000000001110100110011110 u -b1001111000000001110100110011110 (" -b1001111000000001110100110011110 9" -0( -0) -0+ -0, -b10 0 -0' -#5523 -b11100010000000000000000000000000 ] -#5525 -b11100010000000000000000000000000 # -b11 . -b11100010000000000000000000000000 ! -b11100010000000000000000000000000 ? -b11 A -b11100010000000000000000000000000 L -b1001111000000001110100110011110 \ -b1011101 X -b10 ` -b1001111000000001110100110011110 m -b10 q -b11100010000000000000000000000000 H -b10 P -b1001111000000001110100110011110 /" -b10 3" -b1001111000000001110100110011110 @" -b10110010 <" -b10 D" -b10 #" -b10 4 -1' -#5526 -b1000100100 / -b10 2 -#5530 -17" -b0 5" -0&" -b101001 $" -b10 "" -b0 x -b100100 Q -b10 O -b101001 s -b100100 B -b11 A -b101001000100100 8 -b101001011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101001000100100 " -b11 . -b100011000111110100110101000110 % -b100011000111110100110101000110 < -b100011000111110100110101000110 D -b100011000111110100110101000110 U -b100011000111110100110101000110 f -b100011000111110100110101000110 u -b100011000111110100110101000110 (" -b100011000111110100110101000110 9" -0( -0) -0+ -0, -b1 0 -0' -#5533 -b0 ] -#5535 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b100011000111110100110101000110 @" -b0 <" -b1000 D" -1>" -b100011000111110100110101000110 /" -b101001 +" -b1000 3" -0-" -b0 H -b10 P -b100011000111110100110101000110 m -b1000 q -b100011000111110100110101000110 \ -b100100 X -b1000 ` -1' -#5536 -b1000100101 / -b10 2 -#5540 -b1000011 $" -b1000011 Q -b1000011 s -b1000011 B -b11 A -0V -b10 O -0)" -b10 "" -b1000011001000011 8 -0= -b1000011 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10100001100010 " -b11 . -1& -b1010100000110010001100110101000 % -b1010100000110010001100110101000 < -b1010100000110010001100110101000 D -b1010100000110010001100110101000 U -b1010100000110010001100110101000 f -b1010100000110010001100110101000 u -b1010100000110010001100110101000 (" -b1010100000110010001100110101000 9" -0( -0) -0+ -0, -b10 0 -0' -#5545 -0N -0!" -b1010100000110010001100110101000 \ -b1000011 X -b0 ` -0_ -b1010100000110010001100110101000 m -b0 q -b10 P -b1010100000110010001100110101000 /" -b1000011 +" -b0 3" -02" -b1010100000110010001100110101000 @" -b0 D" -b10 #" -b100 7 -1' -#5546 -b1000100110 / -b10 2 -#5550 -b1000101 $" -0d -b10001110 b -1S -b0 Q -b1 G -b1000101 s -b110001110 B -b11 A -1V -b10 O -1)" -b10 "" -b1000101110001110 8 -1= -b110000101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b1000101110001110 " -b11 . -0& -b1001100000001110001110110011000 % -b1001100000001110001110110011000 < -b1001100000001110001110110011000 D -b1001100000001110001110110011000 U -b1001100000001110001110110011000 f -b1001100000001110001110110011000 u -b1001100000001110001110110011000 (" -b1001100000001110001110110011000 9" -0( -0) -0+ -0, -b1 0 -0' -#5555 -1!" -1N -b1 J -b10 4 -b10 #" -b1001100000001110001110110011000 @" -b1011 D" -b1001100000001110001110110011000 /" -b1000101 +" -b1011 3" -12" -b10 P -b1001100000001110001110110011000 m -b10001110 i -b1011 q -0k -b1001100000001110001110110011000 \ -b0 X -b1011 ` -1_ -1Z -1' -#5556 -b1000100111 / -b10 2 -#5560 -b101011 $" -1d -b0 b -0S -0V -b101011 Q -b0 G -b101011 s -b101011 B -b11 A -1g -b10 O -0)" -b10 "" -b101011000101011 8 -0= -b101011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11110010111101100 " -b11 . -1& -b1110000010000010110100011100 % -b1110000010000010110100011100 < -b1110000010000010110100011100 D -b1110000010000010110100011100 U -b1110000010000010110100011100 f -b1110000010000010110100011100 u -b1110000010000010110100011100 (" -b1110000010000010110100011100 9" -0( -0) -0+ -0, -b10 0 -0' -#5563 -b101110101001011000000000 n -#5565 -b101110101001011000000000 # -0N -b0 J -0!" -b11 . -b101110101001011000000000 ! -b101110101001011000000000 ? -b11 A -b101110101001011000000000 L -b1110000010000010110100011100 \ -b101011 X -b1110 ` -0_ -0Z -b1110000010000010110100011100 m -b0 i -b1110 q -1k -b101110101001011000000000 H -b10 P -b1110000010000010110100011100 /" -b101011 +" -b1110 3" -02" -b1110000010000010110100011100 @" -b1110 D" -b10 #" -b100 7 -1' -#5566 -b1000101000 / -b10 2 -#5570 -b10001000 $" -b10 "" -b10001000 Q -b10 O -b10001000 s -b10001000 B -b11 A -b10001000010001000 8 -b10001000 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100011010100111111 " -b11 . -1& -b11011000100010110011101010110001 % -b11011000100010110011101010110001 < -b11011000100010110011101010110001 D -b11011000100010110011101010110001 U -b11011000100010110011101010110001 f -b11011000100010110011101010110001 u -b11011000100010110011101010110001 (" -b11011000100010110011101010110001 9" -0( -0) -0+ -0, -b1 0 -0' -#5575 -b100 7 -b10 #" -b11011000100010110011101010110001 @" -b1101 D" -b11011000100010110011101010110001 /" -b10001000 +" -b1101 3" -b10 P -b11011000100010110011101010110001 m -b1101 q -b11011000100010110011101010110001 \ -b10001000 X -b1101 ` -1' -#5576 -b1000101001 / -b10 2 -#5580 -b11000100 $" -b1010010 Q -b11000100 s -b1010010 B -b11 A -1V -b10 O -1)" -b10 "" -b11000100001010010 8 -1= -b101111000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11000100001010010 " -b11 . -0& -b1110000111001000100100011100 % -b1110000111001000100100011100 < -b1110000111001000100100011100 D -b1110000111001000100100011100 U -b1110000111001000100100011100 f -b1110000111001000100100011100 u -b1110000111001000100100011100 (" -b1110000111001000100100011100 9" -0( -0) -0+ -0, -b10 0 -0' -#5585 -1N -1!" -b1110000111001000100100011100 \ -b1010010 X -b101 ` -1_ -b1110000111001000100100011100 m -b101 q -b10 P -b1110000111001000100100011100 /" -b11000100 +" -b101 3" -12" -b1110000111001000100100011100 @" -b101 D" -b10 #" -b10 4 -1' -#5586 -b1000101010 / -b10 2 -#5590 -07" -b10010110 5" -1&" -b0 $" -b10 "" -b1 x -b11011110 Q -b10 O -b110010110 s -b11011110 B -b11 A -b110010110011011110 8 -b101111010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110010110011011110 " -b11 . -b11110001010110100101011011100010 % -b11110001010110100101011011100010 < -b11110001010110100101011011100010 D -b11110001010110100101011011100010 U -b11110001010110100101011011100010 f -b11110001010110100101011011100010 u -b11110001010110100101011011100010 (" -b11110001010110100101011011100010 9" -0( -0) -0+ -0, -b1 0 -0' -#5595 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b11110001010110100101011011100010 @" -b10010110 <" -b100 D" -0>" -b11110001010110100101011011100010 /" -b0 +" -b100 3" -1-" -b0 H -b10 P -b11110001010110100101011011100010 m -b100 q -b11110001010110100101011011100010 \ -b11011110 X -b100 ` -1' -#5596 -b1000101011 / -b10 2 -#5600 -17" -b0 5" -0&" -0)" -b11110101 $" -b0 x -b11110101 Q -b11110101 s -b11110101 B -b11 A -0V -b10 O -1:" -b10 "" -b11110101011110101 8 -0= -b11110101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100111111100101111 " -b11 . -1& -b10001001110100111011100000010011 % -b10001001110100111011100000010011 < -b10001001110100111011100000010011 D -b10001001110100111011100000010011 U -b10001001110100111011100000010011 f -b10001001110100111011100000010011 u -b10001001110100111011100000010011 (" -b10001001110100111011100000010011 9" -0( -0) -0+ -0, -b10 0 -0' -#5603 -b10011000010110100100101000000000 A" -#5605 -b1001100001011010010010100000000000000000000000000000000000000000 # -0N -0!" -b0 { -b11 . -b1001100001011010010010100000000000000000000000000000000000000000 ! -b1001100001011010010010100000000000000000000000000000000000000000 ? -b11 A -b10011000010110100100101000000000 } -b10001001110100111011100000010011 \ -b11110101 X -b1100 ` -0_ -b10001001110100111011100000010011 m -b1100 q -b10 P -b10001001110100111011100000010011 /" -b11110101 +" -b1100 3" -02" -0-" -b10001001110100111011100000010011 @" -b0 <" -b1100 D" -1>" -b10011000010110100100101000000000 y -b10 #" -b100 7 -1' -#5606 -b1000101100 / -b10 2 -#5610 -07" -0:" -b11010001 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11010001 b -1S -1V -b0 Q -b10 O -b1 G -b111010001 s -b111010001 B -b11 A -b111010001111010001 8 -b111010001 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101111101011100110 " -b11 . -1& -b1110001001101000001100011100 % -b1110001001101000001100011100 < -b1110001001101000001100011100 D -b1110001001101000001100011100 U -b1110001001101000001100011100 f -b1110001001101000001100011100 u -b1110001001101000001100011100 (" -b1110001001101000001100011100 9" -0( -0) -0+ -0, -b1 0 -0' -#5615 -b1 { -b1 J -b100 7 -b10 #" -b1110001001101000001100011100 @" -b11010001 <" -b1011 D" -0C" -0>" -b1110001001101000001100011100 /" -b0 +" -b1011 3" -12" -1-" -b10 P -b1110001001101000001100011100 m -b11010001 i -b1011 q -0p -0k -b1110001001101000001100011100 \ -b0 X -b1011 ` -1_ -1Z -1' -#5616 -b1000101101 / -b10 2 -#5620 -b10111 5" -b10 "" -b10111 b -b10 O -b100010111 s -b100010111 B -b11 A -b100010111100010111 8 -b100010111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101011101110010101 " -b11 . -1& -b11000000011000011001001010000000 % -b11000000011000011001001010000000 < -b11000000011000011001001010000000 D -b11000000011000011001001010000000 U -b11000000011000011001001010000000 f -b11000000011000011001001010000000 u -b11000000011000011001001010000000 (" -b11000000011000011001001010000000 9" -0( -0) -0+ -0, -b10 0 -0' -#5625 -b11000000011000011001001010000000 \ -b111 ` -b11000000011000011001001010000000 m -b10111 i -b111 q -b10 P -b11000000011000011001001010000000 /" -b111 3" -b11000000011000011001001010000000 @" -b10111 <" -b111 D" -b10 #" -b100 7 -1' -#5626 -b1000101110 / -b10 2 -#5630 -b101101 5" -1d -b0 b -0S -b1010101 Q -b0 G -b100101101 s -b1010101 B -b11 A -1g -b10 O -1:" -b10 "" -b100101101001010101 8 -1= -b1110001 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100101101001010101 " -b11 . -0& -b11001011010111001100010010010110 % -b11001011010111001100010010010110 < -b11001011010111001100010010010110 D -b11001011010111001100010010010110 U -b11001011010111001100010010010110 f -b11001011010111001100010010010110 u -b11001011010111001100010010010110 (" -b11001011010111001100010010010110 9" -0( -0) -0+ -0, -b1 0 -0' -#5635 -1!" -1N -b0 J -b10 4 -b10 #" -b11001011010111001100010010010110 @" -b101101 <" -b1 D" -1C" -b11001011010111001100010010010110 /" -b1 3" -b10 P -b11001011010111001100010010010110 m -b0 i -b1 q -1p -1k -b11001011010111001100010010010110 \ -b1010101 X -b1 ` -0Z -1' -#5636 -b1000101111 / -b10 2 -#5640 -b10110110 5" -0d -0g -b10110110 b -1S -b0 Q -b1 G -b110110110 s -b110110110 B -b11 A -1V -b10 O -0:" -b10 "" -b110110110110110110 8 -0= -b110110110 $ -b10011100100111001 " -b11 . -1& -b1011010001010100101111110110100 % -b1011010001010100101111110110100 < -b1011010001010100101111110110100 D -b1011010001010100101111110110100 U -b1011010001010100101111110110100 f -b1011010001010100101111110110100 u -b1011010001010100101111110110100 (" -b1011010001010100101111110110100 9" -0( -0) -0+ -0, -b10 0 -0' -#5643 -b0 A" -b11000010111101110011110 ] -#5645 -b11000010111101110011110 # -0N -b1 J -0!" -b11 . -b11000010111101110011110 ! -b11000010111101110011110 ? -b11 A -b11000010111101110011110 L -b0 } -b1011010001010100101111110110100 \ -b0 X -1Z -b1011010001010100101111110110100 m -b10110110 i -0p -0k -b11000010111101110011110 H -b10 P -b1011010001010100101111110110100 /" -b1011010001010100101111110110100 @" -b10110110 <" -0C" -b0 y -b10 #" -b100 7 -1' -#5646 -b1000110000 / -b10 2 -#5650 -17" -b0 5" -0&" -b1110001 $" -b0 x -1d -b0 b -0S -b1111 Q -b0 G -b1110001 s -b1111 B -b11 A -1g -b10 O -1:" -b10 "" -b1110001000001111 8 -1= -b11010000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1110001000001111 " -b11 . -0& -b1001000011110111100011110010000 % -b1001000011110111100011110010000 < -b1001000011110111100011110010000 D -b1001000011110111100011110010000 U -b1001000011110111100011110010000 f -b1001000011110111100011110010000 u -b1001000011110111100011110010000 (" -b1001000011110111100011110010000 9" -0( -0) -0+ -0, -b1 0 -0' -#5655 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1001000011110111100011110010000 @" -b0 <" -b111 D" -1C" -1>" -b1001000011110111100011110010000 /" -b1110001 +" -b111 3" -0-" -b10 P -b1001000011110111100011110010000 m -b0 i -b111 q -1p -1k -b1001000011110111100011110010000 \ -b1111 X -b111 ` -0Z -1' -#5656 -b1000110001 / -b10 2 -#5660 -b11111100 $" -b10 "" -0d -b1010011 b -1S -b0 Q -b10 O -b1 G -b11111100 s -b101010011 B -b11 A -b11111100101010011 8 -b100011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11111100101010011 " -b11 . -b1100001101101111110101111000011 % -b1100001101101111110101111000011 < -b1100001101101111110101111000011 D -b1100001101101111110101111000011 U -b1100001101101111110101111000011 f -b1100001101101111110101111000011 u -b1100001101101111110101111000011 (" -b1100001101101111110101111000011 9" -0( -0) -0+ -0, -b10 0 -0' -#5663 -b11000001010000000000000110000 0" -b0 ] -#5665 -b1100000101000000000000011000000000000000000000000000000000000 # -b1 J -b11 . -b1100000101000000000000011000000000000000000000000000000000000 ! -b1100000101000000000000011000000000000000000000000000000000000 ? -b11 A -b0 L -b11000001010000000000000110000 } -b1100001101101111110101111000011 \ -b0 X -b1010 ` -1Z -b1100001101101111110101111000011 m -b1010011 i -b1010 q -0k -b0 H -b10 P -b1100001101101111110101111000011 /" -b11111100 +" -b1010 3" -b1100001101101111110101111000011 @" -b1010 D" -b11000001010000000000000110000 y -b10 #" -b10 4 -1' -#5666 -b1000110010 / -b10 2 -#5670 -07" -b1011010 5" -1&" -b0 $" -b10 "" -b1 x -b10110110 b -b10 O -b101011010 s -b110110110 B -b11 A -b101011010110110110 8 -b10110010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101011010110110110 " -b11 . -b1001101100010110101100010011 % -b1001101100010110101100010011 < -b1001101100010110101100010011 D -b1001101100010110101100010011 U -b1001101100010110101100010011 f -b1001101100010110101100010011 u -b1001101100010110101100010011 (" -b1001101100010110101100010011 9" -0( -0) -0+ -0, -b1 0 -0' -#5673 -b0 0" -b0 n -#5675 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b1001101100010110101100010011 @" -b1011010 <" -b111 D" -0>" -b1001101100010110101100010011 /" -b0 +" -b111 3" -1-" -b10 P -b1001101100010110101100010011 m -b10110110 i -b111 q -b1001101100010110101100010011 \ -b111 ` -1' -#5676 -b1000110011 / -b10 2 -#5680 -b11110101 5" -b10 "" -b111110 b -b10 O -b111110101 s -b100111110 B -b11 A -b111110101100111110 8 -b10111001 $ -b111110101100111110 " -b11 . -b101100011100011011001101011000 % -b101100011100011011001101011000 < -b101100011100011011001101011000 D -b101100011100011011001101011000 U -b101100011100011011001101011000 f -b101100011100011011001101011000 u -b101100011100011011001101011000 (" -b101100011100011011001101011000 9" -0( -0) -0+ -0, -b10 0 -0' -#5683 -b1001000000000001111001 A" -b101110011011011010110100 n -#5685 -b100100000000000111100100000000101110011011011010110100 # -b11 . -b100100000000000111100100000000101110011011011010110100 ! -b100100000000000111100100000000101110011011011010110100 ? -b11 A -b101110011011011010110100 L -b1001000000000001111001 } -b101100011100011011001101011000 \ -b101100011100011011001101011000 m -b111110 i -b101110011011011010110100 H -b10 P -b101100011100011011001101011000 /" -b101100011100011011001101011000 @" -b11110101 <" -b1001000000000001111001 y -b10 #" -b10 4 -1' -#5686 -b1000110100 / -b10 2 -#5690 -17" -b0 5" -0&" -0)" -b1110010 $" -b0 x -1d -b0 b -0S -0V -b1110010 Q -b0 G -b1110010 s -b1110010 B -b11 A -1g -b10 O -1:" -b10 "" -b1110010001110010 8 -0= -b1110010 $ -b111000110000101001 " -b11 . -1& -b11100001001001110110111011000010 % -b11100001001001110110111011000010 < -b11100001001001110110111011000010 D -b11100001001001110110111011000010 U -b11100001001001110110111011000010 f -b11100001001001110110111011000010 u -b11100001001001110110111011000010 (" -b11100001001001110110111011000010 9" -0( -0) -0+ -0, -b1 0 -0' -#5693 -b11111110010001000000000 A" -b0 n -#5695 -b1111111001000100000000000000000000000000000000000000000 # -0!" -b0 { -0N -b0 J -b11 . -b1111111001000100000000000000000000000000000000000000000 ! -b1111111001000100000000000000000000000000000000000000000 ? -b11 A -b11111110010001000000000 } -b0 L -b100 7 -b11111110010001000000000 y -b10 #" -b11100001001001110110111011000010 @" -b0 <" -1>" -b11100001001001110110111011000010 /" -b1110010 +" -02" -0-" -b0 H -b10 P -b11100001001001110110111011000010 m -b0 i -1k -b11100001001001110110111011000010 \ -b1110010 X -0_ -0Z -1' -#5696 -b1000110101 / -b10 2 -#5700 -b1010011 $" -b10010110 Q -b1010011 s -b10010110 B -b11 A -1V -b10 O -1)" -b10 "" -b1010011010010110 8 -1= -b111101 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1010011010010110 " -b11 . -0& -b10010001000000000000100100100 % -b10010001000000000000100100100 < -b10010001000000000000100100100 D -b10010001000000000000100100100 U -b10010001000000000000100100100 f -b10010001000000000000100100100 u -b10010001000000000000100100100 (" -b10010001000000000000100100100 9" -0( -0) -0+ -0, -b10 0 -0' -#5705 -1N -1!" -b10010001000000000000100100100 \ -b10010110 X -b101 ` -1_ -b10010001000000000000100100100 m -b101 q -b10 P -b10010001000000000000100100100 /" -b1010011 +" -b101 3" -12" -b10010001000000000000100100100 @" -b101 D" -b10 #" -b10 4 -1' -#5706 -b1000110110 / -b10 2 -#5710 -b10101001 $" -b10101001 Q -b10101001 s -b10101001 B -b11 A -0V -b10 O -0)" -b10 "" -b10101001010101001 8 -0= -b10101001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111010111111111110 " -b11 . -1& -b1001000001001110000110110010000 % -b1001000001001110000110110010000 < -b1001000001001110000110110010000 D -b1001000001001110000110110010000 U -b1001000001001110000110110010000 f -b1001000001001110000110110010000 u -b1001000001001110000110110010000 (" -b1001000001001110000110110010000 9" -0( -0) -0+ -0, -b1 0 -0' -#5715 -b0 # -0!" -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b1001000001001110000110110010000 @" -b1100 D" -b1001000001001110000110110010000 /" -b10101001 +" -b1100 3" -02" -b10 P -b1001000001001110000110110010000 m -b1100 q -b1001000001001110000110110010000 \ -b10101001 X -b1100 ` -0_ -1' -#5716 -b1000110111 / -b10 2 -#5720 -07" -0:" -b1000010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1000010 b -1S -1V -b0 Q -b10 O -b1 G -b101000010 s -b101000010 B -b11 A -b101000010101000010 8 -b101000010 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100000100000100010 " -b11 . -1& -b1011101000000100000101110111010 % -b1011101000000100000101110111010 < -b1011101000000100000101110111010 D -b1011101000000100000101110111010 U -b1011101000000100000101110111010 f -b1011101000000100000101110111010 u -b1011101000000100000101110111010 (" -b1011101000000100000101110111010 9" -0( -0) -0+ -0, -b10 0 -0' -#5725 -b1 J -b1 { -b1011101000000100000101110111010 \ -b0 X -b110 ` -1_ -1Z -b1011101000000100000101110111010 m -b1000010 i -b110 q -0p -0k -b10 P -b1011101000000100000101110111010 /" -b0 +" -b110 3" -12" -1-" -b1011101000000100000101110111010 @" -b1000010 <" -b110 D" -0C" -0>" -b10 #" -b100 7 -1' -#5726 -b1000111000 / -b10 2 -#5730 -b1111011 5" -b10 "" -b1111011 b -b10 O -b101111011 s -b101111011 B -b11 A -b101111011101111011 8 -b101111011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101110110110111100 " -b11 . -1& -b10111101111110111001110001111011 % -b10111101111110111001110001111011 < -b10111101111110111001110001111011 D -b10111101111110111001110001111011 U -b10111101111110111001110001111011 f -b10111101111110111001110001111011 u -b10111101111110111001110001111011 (" -b10111101111110111001110001111011 9" -0( -0) -0+ -0, -b1 0 -0' -#5735 -b100 7 -b10 #" -b10111101111110111001110001111011 @" -b1111011 <" -b100 D" -b10111101111110111001110001111011 /" -b100 3" -b10 P -b10111101111110111001110001111011 m -b1111011 i -b100 q -b10111101111110111001110001111011 \ -b100 ` -1' -#5736 -b1000111001 / -b10 2 -#5740 -b10111101 5" -b1100100 b -b110111101 s -b101100100 B -b11 A -1g -b10 O -1:" -b10 "" -b110111101101100100 8 -1= -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b110111101101100100 " -b11 . -0& -b11000111111110000111100110001 % -b11000111111110000111100110001 < -b11000111111110000111100110001 D -b11000111111110000111100110001 U -b11000111111110000111100110001 f -b11000111111110000111100110001 u -b11000111111110000111100110001 (" -b11000111111110000111100110001 9" -0( -0) -0+ -0, -b10 0 -0' -#5745 -1N -1!" -b11000111111110000111100110001 \ -b1111 ` -b11000111111110000111100110001 m -b1100100 i -b1111 q -1p -b10 P -b11000111111110000111100110001 /" -b1111 3" -b11000111111110000111100110001 @" -b10111101 <" -b1111 D" -1C" -b10 #" -b10 4 -1' -#5746 -b1000111010 / -b10 2 -#5750 -17" -b0 5" -0&" -0)" -b111111 $" -b0 x -1d -b0 b -0S -0V -b111111 Q -b0 G -b111111 s -b111111 B -b11 A -1g -b10 O -1:" -b10 "" -b111111000111111 8 -0= -b111111 $ -b101011110100010111 " -b11 . -1& -b10101010001111000010111001010100 % -b10101010001111000010111001010100 < -b10101010001111000010111001010100 D -b10101010001111000010111001010100 U -b10101010001111000010111001010100 f -b10101010001111000010111001010100 u -b10101010001111000010111001010100 (" -b10101010001111000010111001010100 9" -0( -0) -0+ -0, -b1 0 -0' -#5753 -b101111101110001 A" -b110100001100101001101111 n -#5755 -b10111110111000100000000110100001100101001101111 # -0!" -b0 { -0N -b0 J -b11 . -b10111110111000100000000110100001100101001101111 ! -b10111110111000100000000110100001100101001101111 ? -b11 A -b101111101110001 } -b110100001100101001101111 L -b100 7 -b101111101110001 y -b10 #" -b10101010001111000010111001010100 @" -b0 <" -1>" -b10101010001111000010111001010100 /" -b111111 +" -02" -0-" -b110100001100101001101111 H -b10 P -b10101010001111000010111001010100 m -b0 i -1k -b10101010001111000010111001010100 \ -b111111 X -0_ -0Z -1' -#5756 -b1000111011 / -b10 2 -#5760 -b10011 $" -b10 "" -b10011 Q -b10 O -b10011 s -b10011 B -b11 A -b10011000010011 8 -b10011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101100010011011011 " -b11 . -1& -b10000111001110100111100000001110 % -b10000111001110100111100000001110 < -b10000111001110100111100000001110 D -b10000111001110100111100000001110 U -b10000111001110100111100000001110 f -b10000111001110100111100000001110 u -b10000111001110100111100000001110 (" -b10000111001110100111100000001110 9" -0( -0) -0+ -0, -b10 0 -0' -#5765 -b10000111001110100111100000001110 \ -b10011 X -b10 ` -b10000111001110100111100000001110 m -b10 q -b10 P -b10000111001110100111100000001110 /" -b10011 +" -b10 3" -b10000111001110100111100000001110 @" -b10 D" -b10 #" -b100 7 -1' -#5766 -b1000111100 / -b10 2 -#5770 -07" -0:" -b10100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10100 b -1S -1V -b0 Q -b10 O -b1 G -b100010100 s -b100010100 B -b11 A -b100010100100010100 8 -b100010100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b101111101000100100 " -b11 . -1& -b11010001111001000011001010100011 % -b11010001111001000011001010100011 < -b11010001111001000011001010100011 D -b11010001111001000011001010100011 U -b11010001111001000011001010100011 f -b11010001111001000011001010100011 u -b11010001111001000011001010100011 (" -b11010001111001000011001010100011 9" -0( -0) -0+ -0, -b1 0 -0' -#5775 -b1 { -b1 J -b100 7 -b10 #" -b11010001111001000011001010100011 @" -b10100 <" -b100 D" -0C" -0>" -b11010001111001000011001010100011 /" -b0 +" -b100 3" -12" -1-" -b10 P -b11010001111001000011001010100011 m -b10100 i -b100 q -0p -0k -b11010001111001000011001010100011 \ -b0 X -b100 ` -1_ -1Z -1' -#5776 -b1000111101 / -b10 2 -#5780 -b11100100 5" -b10 "" -b11100100 b -b10 O -b111100100 s -b111100100 B -b11 A -b111100100111100100 8 -b111100100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110001111000010010 " -b11 . -1& -b10101100000100110000001001011000 % -b10101100000100110000001001011000 < -b10101100000100110000001001011000 D -b10101100000100110000001001011000 U -b10101100000100110000001001011000 f -b10101100000100110000001001011000 u -b10101100000100110000001001011000 (" -b10101100000100110000001001011000 9" -0( -0) -0+ -0, -b10 0 -0' -#5785 -b10101100000100110000001001011000 \ -b1000 ` -b10101100000100110000001001011000 m -b11100100 i -b1000 q -b10 P -b10101100000100110000001001011000 /" -b1000 3" -b10101100000100110000001001011000 @" -b11100100 <" -b1000 D" -b10 #" -b100 7 -1' -#5786 -b1000111110 / -b10 2 -#5790 -b101111 5" -1d -b0 b -0S -b101101 Q -b0 G -b100101111 s -b101101 B -b11 A -1g -b10 O -1:" -b10 "" -b100101111000101101 8 -1= -b110001001 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100101111000101101 " -b11 . -0& -b11010011000110001010100110100 % -b11010011000110001010100110100 < -b11010011000110001010100110100 D -b11010011000110001010100110100 U -b11010011000110001010100110100 f -b11010011000110001010100110100 u -b11010011000110001010100110100 (" -b11010011000110001010100110100 9" -0( -0) -0+ -0, -b1 0 -0' -#5795 -1!" -1N -b0 J -b10 4 -b10 #" -b11010011000110001010100110100 @" -b101111 <" -b1011 D" -1C" -b11010011000110001010100110100 /" -b1011 3" -b10 P -b11010011000110001010100110100 m -b0 i -b1011 q -1p -1k -b11010011000110001010100110100 \ -b101101 X -b1011 ` -0Z -1' -#5796 -b1000111111 / -b10 2 -#5800 -17" -b0 5" -0&" -0)" -b1011001 $" -b0 x -b1011001 Q -b1011001 s -b1011001 B -b11 A -0V -b10 O -1:" -b10 "" -b1011001001011001 8 -0= -b1011001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110110011001110 " -b11 . -1& -b11100000010101001101000011000000 % -b11100000010101001101000011000000 < -b11100000010101001101000011000000 D -b11100000010101001101000011000000 U -b11100000010101001101000011000000 f -b11100000010101001101000011000000 u -b11100000010101001101000011000000 (" -b11100000010101001101000011000000 9" -0( -0) -0+ -0, -b10 0 -0' -#5803 -b11011111000000000000000000000000 A" -b10011100000010000110101000000000 ] -#5805 -b1101111100000000000000000000000010011100000010000110101000000000 # -0N -0!" -b0 { -b11 . -b1101111100000000000000000000000010011100000010000110101000000000 ! -b1101111100000000000000000000000010011100000010000110101000000000 ? -b11 A -b10011100000010000110101000000000 L -b11011111000000000000000000000000 } -b11100000010101001101000011000000 \ -b1011001 X -b110 ` -0_ -b11100000010101001101000011000000 m -b110 q -b10011100000010000110101000000000 H -b10 P -b11100000010101001101000011000000 /" -b1011001 +" -b110 3" -02" -0-" -b11100000010101001101000011000000 @" -b0 <" -b110 D" -1>" -b11011111000000000000000000000000 y -b10 #" -b100 7 -1' -#5806 -b1001000000 / -b10 2 -#5810 -b101000 $" -0d -b101000 b -1S -b0 Q -b1 G -b101000 s -b100101000 B -b11 A -1V -b10 O -1)" -b10 "" -b101000100101000 8 -1= -b101011010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101000100101000 " -b11 . -0& -b1011100010101101011100010111 % -b1011100010101101011100010111 < -b1011100010101101011100010111 D -b1011100010101101011100010111 U -b1011100010101101011100010111 f -b1011100010101101011100010111 u -b1011100010101101011100010111 (" -b1011100010101101011100010111 9" -0( -0) -0+ -0, -b1 0 -0' -#5815 -1!" -1N -b1 J -b10 4 -b10 #" -b1011100010101101011100010111 @" -b101 D" -b1011100010101101011100010111 /" -b101000 +" -b101 3" -12" -b10 P -b1011100010101101011100010111 m -b101000 i -b101 q -0k -b1011100010101101011100010111 \ -b0 X -b101 ` -1_ -1Z -1' -#5816 -b1001000001 / -b10 2 -#5820 -07" -b10111001 5" -1&" -b0 $" -b10 "" -b1 x -b10111011 b -b10 O -b110111001 s -b110111011 B -b11 A -b110111001110111011 8 -b100001100 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b110111001110111011 " -b11 . -b110011001001101001010101100110 % -b110011001001101001010101100110 < -b110011001001101001010101100110 D -b110011001001101001010101100110 U -b110011001001101001010101100110 f -b110011001001101001010101100110 u -b110011001001101001010101100110 (" -b110011001001101001010101100110 9" -0( -0) -0+ -0, -b10 0 -0' -#5823 -b1000111011001110000000000000000 0" -b11111010000000000100111000000000 n -#5825 -b100011101100111000000000000000011111010000000000100111000000000 # -b1 { -b11 . -b100011101100111000000000000000011111010000000000100111000000000 ! -b100011101100111000000000000000011111010000000000100111000000000 ? -b11 A -b11111010000000000100111000000000 L -b1000111011001110000000000000000 } -b110011001001101001010101100110 \ -b1100 ` -b110011001001101001010101100110 m -b10111011 i -b1100 q -b11111010000000000100111000000000 H -b10 P -b110011001001101001010101100110 /" -b0 +" -b1100 3" -1-" -b110011001001101001010101100110 @" -b10111001 <" -b1100 D" -0>" -b1000111011001110000000000000000 y -b10 #" -b10 4 -1' -#5826 -b1001000010 / -b10 2 -#5830 -17" -b0 5" -0&" -0)" -b1100100 $" -b0 x -1d -b0 b -0S -0V -b1100100 Q -b0 G -b1100100 s -b1100100 B -b11 A -1g -b10 O -1:" -b10 "" -b1100100001100100 8 -0= -b1100100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101100100000000110 " -b11 . -1& -b10110001000001011100000001100010 % -b10110001000001011100000001100010 < -b10110001000001011100000001100010 D -b10110001000001011100000001100010 U -b10110001000001011100000001100010 f -b10110001000001011100000001100010 u -b10110001000001011100000001100010 (" -b10110001000001011100000001100010 9" -0( -0) -0+ -0, -b1 0 -0' -#5833 -b0 A" -b11011110000000000000000000000000 n -#5835 -b11011110000000000000000000000000 # -0!" -b0 { -0N -b0 J -b11 . -b11011110000000000000000000000000 ! -b11011110000000000000000000000000 ? -b11 A -b0 } -b11011110000000000000000000000000 L -b100 7 -b0 y -b10 #" -b10110001000001011100000001100010 @" -b0 <" -b1 D" -1>" -b10110001000001011100000001100010 /" -b1100100 +" -b1 3" -02" -0-" -b11011110000000000000000000000000 H -b10 P -b10110001000001011100000001100010 m -b0 i -b1 q -1k -b10110001000001011100000001100010 \ -b1100100 X -b1 ` -0_ -0Z -1' -#5836 -b1001000011 / -b10 2 -#5840 -07" -b1100101 5" -1&" -b0 $" -b1 x -b11010101 Q -b101100101 s -b11010101 B -b11 A -1V -b10 O -1)" -b10 "" -b101100101011010101 8 -1= -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101100101011010101 " -b11 . -0& -b11110000111110011010100011100001 % -b11110000111110011010100011100001 < -b11110000111110011010100011100001 D -b11110000111110011010100011100001 U -b11110000111110011010100011100001 f -b11110000111110011010100011100001 u -b11110000111110011010100011100001 (" -b11110000111110011010100011100001 9" -0( -0) -0+ -0, -b10 0 -0' -#5845 -1N -1!" -b1 { -b11110000111110011010100011100001 \ -b11010101 X -b1101 ` -1_ -b11110000111110011010100011100001 m -b1101 q -b10 P -b11110000111110011010100011100001 /" -b0 +" -b1101 3" -12" -1-" -b11110000111110011010100011100001 @" -b1100101 <" -b1101 D" -0>" -b10 #" -b10 4 -1' -#5846 -b1001000100 / -b10 2 -#5850 -b111100 5" -0d -0g -b111100 b -1S -b0 Q -b1 G -b100111100 s -b100111100 B -b11 A -1V -b10 O -0:" -b10 "" -b100111100100111100 8 -0= -b100111100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1011000011001001 " -b11 . -1& -b10101101110101110111100101011 % -b10101101110101110111100101011 < -b10101101110101110111100101011 D -b10101101110101110111100101011 U -b10101101110101110111100101011 f -b10101101110101110111100101011 u -b10101101110101110111100101011 (" -b10101101110101110111100101011 9" -0( -0) -0+ -0, -b1 0 -0' -#5853 -b11101000000000000000000011010001 A" -b0 ] -#5855 -b1110100000000000000000001101000100000000000000000000000000000000 # -0!" -0N -b1 J -b11 . -b1110100000000000000000001101000100000000000000000000000000000000 ! -b1110100000000000000000001101000100000000000000000000000000000000 ? -b11 A -b11101000000000000000000011010001 } -b0 L -b100 7 -b11101000000000000000000011010001 y -b10 #" -b10101101110101110111100101011 @" -b111100 <" -b1 D" -0C" -b10101101110101110111100101011 /" -b1 3" -b0 H -b10 P -b10101101110101110111100101011 m -b111100 i -b1 q -0p -0k -b10101101110101110111100101011 \ -b0 X -b1 ` -1Z -1' -#5856 -b1001000101 / -b10 2 -#5860 -b11101000 5" -b10 "" -b11101000 b -b10 O -b111101000 s -b111101000 B -b11 A -b111101000111101000 8 -b111101000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101111011000111001 " -b11 . -1& -b1111100100001010011011111111001 % -b1111100100001010011011111111001 < -b1111100100001010011011111111001 D -b1111100100001010011011111111001 U -b1111100100001010011011111111001 f -b1111100100001010011011111111001 u -b1111100100001010011011111111001 (" -b1111100100001010011011111111001 9" -0( -0) -0+ -0, -b10 0 -0' -#5865 -b1111100100001010011011111111001 \ -b1000 ` -b1111100100001010011011111111001 m -b11101000 i -b1000 q -b10 P -b1111100100001010011011111111001 /" -b1000 3" -b1111100100001010011011111111001 @" -b11101000 <" -b1000 D" -b10 #" -b100 7 -1' -#5866 -b1001000110 / -b10 2 -#5870 -17" -1:" -b0 5" -0&" -0)" -b110010 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b110010 Q -b10 O -b0 G -b110010 s -b110010 B -b11 A -b110010000110010 8 -b110010 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b1001000010001000 " -b11 . -1& -b111010010011111100100001110 % -b111010010011111100100001110 < -b111010010011111100100001110 D -b111010010011111100100001110 U -b111010010011111100100001110 f -b111010010011111100100001110 u -b111010010011111100100001110 (" -b111010010011111100100001110 9" -0( -0) -0+ -0, -b1 0 -0' -#5875 -b0 { -b0 J -b100 7 -b10 #" -b111010010011111100100001110 @" -b0 <" -b1011 D" -1C" -1>" -b111010010011111100100001110 /" -b110010 +" -b1011 3" -02" -0-" -b10 P -b111010010011111100100001110 m -b0 i -b1011 q -1p -1k -b111010010011111100100001110 \ -b110010 X -b1011 ` -0_ -0Z -1' -#5876 -b1001000111 / -b10 2 -#5880 -b10100110 $" -0d -b10000 b -1S -b0 Q -b1 G -b10100110 s -b100010000 B -b11 A -1V -b10 O -1)" -b10 "" -b10100110100010000 8 -1= -b11010001 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b10100110100010000 " -b11 . -0& -b1100101000101001100000011 % -b1100101000101001100000011 < -b1100101000101001100000011 D -b1100101000101001100000011 U -b1100101000101001100000011 f -b1100101000101001100000011 u -b1100101000101001100000011 (" -b1100101000101001100000011 9" -0( -0) -0+ -0, -b10 0 -0' -#5885 -1N -b1 J -1!" -b1100101000101001100000011 \ -b0 X -b1101 ` -1_ -1Z -b1100101000101001100000011 m -b10000 i -b1101 q -0k -b10 P -b1100101000101001100000011 /" -b10100110 +" -b1101 3" -12" -b1100101000101001100000011 @" -b1101 D" -b10 #" -b10 4 -1' -#5886 -b1001001000 / -b10 2 -#5890 -b11000011 $" -b10 "" -1d -b0 b -0S -b11111000 Q -b10 O -b0 G -b11000011 s -b11111000 B -b11 A -b11000011011111000 8 -b10011100 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11000011011111000 " -b11 . -b1101100001011001101100011011 % -b1101100001011001101100011011 < -b1101100001011001101100011011 D -b1101100001011001101100011011 U -b1101100001011001101100011011 f -b1101100001011001101100011011 u -b1101100001011001101100011011 (" -b1101100001011001101100011011 9" -0( -0) -0+ -0, -b1 0 -0' -#5893 -b1111101110010000000000011111 0" -b0 n -#5895 -b111110111001000000000001111100000000000000000000000000000000 # -b0 J -b11 . -b111110111001000000000001111100000000000000000000000000000000 ! -b111110111001000000000001111100000000000000000000000000000000 ? -b11 A -b1111101110010000000000011111 } -b10 4 -b1111101110010000000000011111 y -b10 #" -b1101100001011001101100011011 @" -b11 D" -b1101100001011001101100011011 /" -b11000011 +" -b11 3" -b10 P -b1101100001011001101100011011 m -b0 i -b11 q -1k -b1101100001011001101100011011 \ -b11111000 X -b11 ` -0Z -1' -#5896 -b1001001001 / -b10 2 -#5900 -07" -b1000001 5" -1&" -b0 $" -b10 "" -b1 x -0d -b10011101 b -1S -b0 Q -b10 O -b1 G -b101000001 s -b110011101 B -b11 A -b101000001110011101 8 -b1010111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101000001110011101 " -b11 . -b10110001011110001111100101100 % -b10110001011110001111100101100 < -b10110001011110001111100101100 D -b10110001011110001111100101100 U -b10110001011110001111100101100 f -b10110001011110001111100101100 u -b10110001011110001111100101100 (" -b10110001011110001111100101100 9" -0( -0) -0+ -0, -b10 0 -0' -#5903 -b1101 0" -#5905 -b110100000000000000000000000000000000 # -b1 J -b1 { -b11 . -b110100000000000000000000000000000000 ! -b110100000000000000000000000000000000 ? -b11 A -b1101 } -b10110001011110001111100101100 \ -b0 X -b111 ` -1Z -b10110001011110001111100101100 m -b10011101 i -b111 q -0k -b10 P -b10110001011110001111100101100 /" -b0 +" -b111 3" -1-" -b10110001011110001111100101100 @" -b1000001 <" -b111 D" -0>" -b1101 y -b10 #" -b10 4 -1' -#5906 -b1001001010 / -b10 2 -#5910 -17" -b0 5" -0&" -0)" -b1011111 $" -b0 x -1d -b0 b -0S -0V -b1011111 Q -b0 G -b1011111 s -b1011111 B -b11 A -1g -b10 O -1:" -b10 "" -b1011111001011111 8 -0= -b1011111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10000100111100000 " -b11 . -1& -b11111001100101010100001011110011 % -b11111001100101010100001011110011 < -b11111001100101010100001011110011 D -b11111001100101010100001011110011 U -b11111001100101010100001011110011 f -b11111001100101010100001011110011 u -b11111001100101010100001011110011 (" -b11111001100101010100001011110011 9" -0( -0) -0+ -0, -b1 0 -0' -#5913 -b0 A" -#5915 -b0 # -0!" -b0 { -0N -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b11111001100101010100001011110011 @" -b0 <" -b1011 D" -1>" -b11111001100101010100001011110011 /" -b1011111 +" -b1011 3" -02" -0-" -b10 P -b11111001100101010100001011110011 m -b0 i -b1011 q -1k -b11111001100101010100001011110011 \ -b1011111 X -b1011 ` -0_ -0Z -1' -#5916 -b1001001011 / -b10 2 -#5920 -b1110011 $" -0d -b110000 b -1S -b0 Q -b1 G -b1110011 s -b100110000 B -b11 A -1V -b10 O -1)" -b10 "" -b1110011100110000 8 -1= -b10001110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b1110011100110000 " -b11 . -0& -b1001101011001101110010110011010 % -b1001101011001101110010110011010 < -b1001101011001101110010110011010 D -b1001101011001101110010110011010 U -b1001101011001101110010110011010 f -b1001101011001101110010110011010 u -b1001101011001101110010110011010 (" -b1001101011001101110010110011010 9" -0( -0) -0+ -0, -b10 0 -0' -#5925 -1N -b1 J -1!" -b1001101011001101110010110011010 \ -b0 X -b1110 ` -1_ -1Z -b1001101011001101110010110011010 m -b110000 i -b1110 q -0k -b10 P -b1001101011001101110010110011010 /" -b1110011 +" -b1110 3" -12" -b1001101011001101110010110011010 @" -b1110 D" -b10 #" -b10 4 -1' -#5926 -b1001001100 / -b10 2 -#5930 -b11000001 $" -b10 "" -1d -b0 b -0S -b10010001 Q -b10 O -b0 G -b11000001 s -b10010001 B -b11 A -b11000001010010001 8 -b100100001 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11000001010010001 " -b11 . -b10010001001011100000100100100 % -b10010001001011100000100100100 < -b10010001001011100000100100100 D -b10010001001011100000100100100 U -b10010001001011100000100100100 f -b10010001001011100000100100100 u -b10010001001011100000100100100 (" -b10010001001011100000100100100 9" -0( -0) -0+ -0, -b1 0 -0' -#5933 -b0 0" -#5935 -b0 J -b10 4 -b10 #" -b10010001001011100000100100100 @" -b0 D" -b10010001001011100000100100100 /" -b11000001 +" -b0 3" -b10 P -b10010001001011100000100100100 m -b0 i -b0 q -1k -b10010001001011100000100100100 \ -b10010001 X -b0 ` -0Z -1' -#5936 -b1001001101 / -b10 2 -#5940 -b1010000 $" -b10 "" -b1110000 Q -b10 O -b1010000 s -b1110000 B -b11 A -b1010000001110000 8 -b101100010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1010000001110000 " -b11 . -b10111111110011010011111001111111 % -b10111111110011010011111001111111 < -b10111111110011010011111001111111 D -b10111111110011010011111001111111 U -b10111111110011010011111001111111 f -b10111111110011010011111001111111 u -b10111111110011010011111001111111 (" -b10111111110011010011111001111111 9" -0( -0) -0+ -0, -b10 0 -0' -#5945 -b10111111110011010011111001111111 \ -b1110000 X -b11 ` -b10111111110011010011111001111111 m -b11 q -b10 P -b10111111110011010011111001111111 /" -b1010000 +" -b11 3" -b10111111110011010011111001111111 @" -b11 D" -b10 #" -b10 4 -1' -#5946 -b1001001110 / -b10 2 -#5950 -07" -b1101011 5" -1&" -b0 $" -b10 "" -b1 x -0d -b1011001 b -1S -b0 Q -b10 O -b1 G -b101101011 s -b101011001 B -b11 A -b101101011101011001 8 -b111010001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101101011101011001 " -b11 . -b11101110100001101111100111011 % -b11101110100001101111100111011 < -b11101110100001101111100111011 D -b11101110100001101111100111011 U -b11101110100001101111100111011 f -b11101110100001101111100111011 u -b11101110100001101111100111011 (" -b11101110100001101111100111011 9" -0( -0) -0+ -0, -b1 0 -0' -#5955 -b1 { -b1 J -b10 4 -b10 #" -b11101110100001101111100111011 @" -b1101011 <" -b1010 D" -0>" -b11101110100001101111100111011 /" -b0 +" -b1010 3" -1-" -b10 P -b11101110100001101111100111011 m -b1011001 i -b1010 q -0k -b11101110100001101111100111011 \ -b0 X -b1010 ` -1Z -1' -#5956 -b1001001111 / -b10 2 -#5960 -b1101100 5" -b1101100 b -b101101100 s -b101101100 B -b11 A -0g -b10 O -0:" -b10 "" -b101101100101101100 8 -0= -b101101100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100101001010111 " -b11 . -1& -b11010000010111100011000010100000 % -b11010000010111100011000010100000 < -b11010000010111100011000010100000 D -b11010000010111100011000010100000 U -b11010000010111100011000010100000 f -b11010000010111100011000010100000 u -b11010000010111100011000010100000 (" -b11010000010111100011000010100000 9" -0( -0) -0+ -0, -b10 0 -0' -#5965 -0N -0!" -b11010000010111100011000010100000 \ -b110 ` -b11010000010111100011000010100000 m -b1101100 i -b110 q -0p -b10 P -b11010000010111100011000010100000 /" -b110 3" -b11010000010111100011000010100000 @" -b1101100 <" -b110 D" -0C" -b10 #" -b100 7 -1' -#5966 -b1001010000 / -b10 2 -#5970 -b10010000 5" -b10 "" -b10010000 b -b10 O -b110010000 s -b110010000 B -b11 A -b110010000110010000 8 -b110010000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10100111001010101 " -b11 . -1& -b1010010101001000000001110100101 % -b1010010101001000000001110100101 < -b1010010101001000000001110100101 D -b1010010101001000000001110100101 U -b1010010101001000000001110100101 f -b1010010101001000000001110100101 u -b1010010101001000000001110100101 (" -b1010010101001000000001110100101 9" -0( -0) -0+ -0, -b1 0 -0' -#5975 -b100 7 -b10 #" -b1010010101001000000001110100101 @" -b10010000 <" -b1010 D" -b1010010101001000000001110100101 /" -b1010 3" -b10 P -b1010010101001000000001110100101 m -b10010000 i -b1010 q -b1010010101001000000001110100101 \ -b1010 ` -1' -#5976 -b1001010001 / -b10 2 -#5980 -b1111011 5" -b11000110 b -b101111011 s -b111000110 B -b11 A -1g -b10 O -1:" -b10 "" -b101111011111000110 8 -1= -b11010001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101111011111000110 " -b11 . -0& -b10101001011001010100101001010010 % -b10101001011001010100101001010010 < -b10101001011001010100101001010010 D -b10101001011001010100101001010010 U -b10101001011001010100101001010010 f -b10101001011001010100101001010010 u -b10101001011001010100101001010010 (" -b10101001011001010100101001010010 9" -0( -0) -0+ -0, -b10 0 -0' -#5985 -1N -1!" -b10101001011001010100101001010010 \ -b10 ` -b10101001011001010100101001010010 m -b11000110 i -b10 q -1p -b10 P -b10101001011001010100101001010010 /" -b10 3" -b10101001011001010100101001010010 @" -b1111011 <" -b10 D" -1C" -b10 #" -b10 4 -1' -#5986 -b1001010010 / -b10 2 -#5990 -17" -b0 5" -0&" -0)" -b11101011 $" -b0 x -1d -b0 b -0S -0V -b11101011 Q -b0 G -b11101011 s -b11101011 B -b11 A -1g -b10 O -1:" -b10 "" -b11101011011101011 8 -0= -b11101011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100101101110001 " -b11 . -1& -b11110001011011011101001011100010 % -b11110001011011011101001011100010 < -b11110001011011011101001011100010 D -b11110001011011011101001011100010 U -b11110001011011011101001011100010 f -b11110001011011011101001011100010 u -b11110001011011011101001011100010 (" -b11110001011011011101001011100010 9" -0( -0) -0+ -0, -b1 0 -0' -#5993 -b11001111111110110000000010011111 A" -#5995 -b1100111111111011000000001001111100000000000000000000000000000000 # -0!" -b0 { -0N -b0 J -b11 . -b1100111111111011000000001001111100000000000000000000000000000000 ! -b1100111111111011000000001001111100000000000000000000000000000000 ? -b11 A -b11001111111110110000000010011111 } -b100 7 -b11001111111110110000000010011111 y -b10 #" -b11110001011011011101001011100010 @" -b0 <" -b110 D" -1>" -b11110001011011011101001011100010 /" -b11101011 +" -b110 3" -02" -0-" -b10 P -b11110001011011011101001011100010 m -b0 i -b110 q -1k -b11110001011011011101001011100010 \ -b11101011 X -b110 ` -0_ -0Z -1' -#5996 -b1001010011 / -b10 2 -#6000 -b111110 $" -0d -b1000111 b -1S -b0 Q -b1 G -b111110 s -b101000111 B -b11 A -1V -b10 O -1)" -b10 "" -b111110101000111 8 -1= -b10001000 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111110101000111 " -b11 . -0& -b1000011101001011100101110000111 % -b1000011101001011100101110000111 < -b1000011101001011100101110000111 D -b1000011101001011100101110000111 U -b1000011101001011100101110000111 f -b1000011101001011100101110000111 u -b1000011101001011100101110000111 (" -b1000011101001011100101110000111 9" -0( -0) -0+ -0, -b10 0 -0' -#6005 -1N -b1 J -1!" -b1000011101001011100101110000111 \ -b0 X -b0 ` -1_ -1Z -b1000011101001011100101110000111 m -b1000111 i -b0 q -0k -b10 P -b1000011101001011100101110000111 /" -b111110 +" -b0 3" -12" -b1000011101001011100101110000111 @" -b0 D" -b10 #" -b10 4 -1' -#6006 -b1001010100 / -b10 2 -#6010 -07" -0:" -b100101 5" -1&" -b0 $" -b1 x -b100101 b -b100100101 s -b100100101 B -b11 A -0g -b10 O -1)" -b10 "" -b100100101100100101 8 -0= -b100100101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100110011000101111 " -b11 . -1& -b11111101001110101100100011111010 % -b11111101001110101100100011111010 < -b11111101001110101100100011111010 D -b11111101001110101100100011111010 U -b11111101001110101100100011111010 f -b11111101001110101100100011111010 u -b11111101001110101100100011111010 (" -b11111101001110101100100011111010 9" -0( -0) -0+ -0, -b1 0 -0' -#6015 -b0 # -0!" -b1 { -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b11111101001110101100100011111010 @" -b100101 <" -b1010 D" -0C" -0>" -b11111101001110101100100011111010 /" -b0 +" -b1010 3" -1-" -b10 P -b11111101001110101100100011111010 m -b100101 i -b1010 q -0p -b11111101001110101100100011111010 \ -b1010 ` -1' -#6016 -b1001010101 / -b10 2 -#6020 -17" -1:" -b0 5" -0&" -0)" -b1000 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1000 Q -b10 O -b0 G -b1000 s -b1000 B -b11 A -b1000000001000 8 -b1000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101110010101101010 " -b11 . -1& -b11110010110011011011100011100101 % -b11110010110011011011100011100101 < -b11110010110011011011100011100101 D -b11110010110011011011100011100101 U -b11110010110011011011100011100101 f -b11110010110011011011100011100101 u -b11110010110011011011100011100101 (" -b11110010110011011011100011100101 9" -0( -0) -0+ -0, -b10 0 -0' -#6025 -b0 J -b0 { -b11110010110011011011100011100101 \ -b1000 X -b111 ` -0_ -0Z -b11110010110011011011100011100101 m -b0 i -b111 q -1p -1k -b10 P -b11110010110011011011100011100101 /" -b1000 +" -b111 3" -02" -0-" -b11110010110011011011100011100101 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b100 7 -1' -#6026 -b1001010110 / -b10 2 -#6030 -07" -0:" -b1010011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1010011 b -1S -1V -b0 Q -b10 O -b1 G -b101010011 s -b101010011 B -b11 A -b101010011101010011 8 -b101010011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1001000011111 " -b11 . -1& -b10000011001010001110001000000110 % -b10000011001010001110001000000110 < -b10000011001010001110001000000110 D -b10000011001010001110001000000110 U -b10000011001010001110001000000110 f -b10000011001010001110001000000110 u -b10000011001010001110001000000110 (" -b10000011001010001110001000000110 9" -0( -0) -0+ -0, -b1 0 -0' -#6035 -b1 { -b1 J -b100 7 -b10 #" -b10000011001010001110001000000110 @" -b1010011 <" -b1100 D" -0C" -0>" -b10000011001010001110001000000110 /" -b0 +" -b1100 3" -12" -1-" -b10 P -b10000011001010001110001000000110 m -b1010011 i -b1100 q -0p -0k -b10000011001010001110001000000110 \ -b0 X -b1100 ` -1_ -1Z -1' -#6036 -b1001010111 / -b10 2 -#6040 -b1011111 5" -b10 "" -b1011111 b -b10 O -b101011111 s -b101011111 B -b11 A -b101011111101011111 8 -b101011111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100110100011111001 " -b11 . -1& -b10011100111111000000100000111001 % -b10011100111111000000100000111001 < -b10011100111111000000100000111001 D -b10011100111111000000100000111001 U -b10011100111111000000100000111001 f -b10011100111111000000100000111001 u -b10011100111111000000100000111001 (" -b10011100111111000000100000111001 9" -0( -0) -0+ -0, -b10 0 -0' -#6045 -b10011100111111000000100000111001 \ -b1001 ` -b10011100111111000000100000111001 m -b1011111 i -b1001 q -b10 P -b10011100111111000000100000111001 /" -b1001 3" -b10011100111111000000100000111001 @" -b1011111 <" -b1001 D" -b10 #" -b100 7 -1' -#6046 -b1001011000 / -b10 2 -#6050 -b100101 5" -1d -b0 b -0S -b10010000 Q -b0 G -b100100101 s -b10010000 B -b11 A -1g -b10 O -1:" -b10 "" -b100100101010010000 8 -1= -b111001101 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100100101010010000 " -b11 . -0& -b110100011110100011010101101000 % -b110100011110100011010101101000 < -b110100011110100011010101101000 D -b110100011110100011010101101000 U -b110100011110100011010101101000 f -b110100011110100011010101101000 u -b110100011110100011010101101000 (" -b110100011110100011010101101000 9" -0( -0) -0+ -0, -b1 0 -0' -#6055 -1!" -1N -b0 J -b10 4 -b10 #" -b110100011110100011010101101000 @" -b100101 <" -b1 D" -1C" -b110100011110100011010101101000 /" -b1 3" -b10 P -b110100011110100011010101101000 m -b0 i -b1 q -1p -1k -b110100011110100011010101101000 \ -b10010000 X -b1 ` -0Z -1' -#6056 -b1001011001 / -b10 2 -#6060 -17" -b0 5" -0&" -b11101000 $" -b10 "" -b0 x -b101011 Q -b10 O -b11101000 s -b101011 B -b11 A -b11101000000101011 8 -b110111010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11101000000101011 " -b11 . -b10011111111000011011101000111111 % -b10011111111000011011101000111111 < -b10011111111000011011101000111111 D -b10011111111000011011101000111111 U -b10011111111000011011101000111111 f -b10011111111000011011101000111111 u -b10011111111000011011101000111111 (" -b10011111111000011011101000111111 9" -0( -0) -0+ -0, -b10 0 -0' -#6063 -b11111101000011001100100000000000 A" -#6065 -b1111110100001100110010000000000000000000000000000000000000000000 # -b0 { -b11 . -b1111110100001100110010000000000000000000000000000000000000000000 ! -b1111110100001100110010000000000000000000000000000000000000000000 ? -b11 A -b11111101000011001100100000000000 } -b10011111111000011011101000111111 \ -b101011 X -b10 ` -b10011111111000011011101000111111 m -b10 q -b10 P -b10011111111000011011101000111111 /" -b11101000 +" -b10 3" -0-" -b10011111111000011011101000111111 @" -b0 <" -b10 D" -1>" -b11111101000011001100100000000000 y -b10 #" -b10 4 -1' -#6066 -b1001011010 / -b10 2 -#6070 -b11001 $" -b11001 Q -b11001 s -b11001 B -b11 A -0V -b10 O -0)" -b10 "" -b11001000011001 8 -0= -b11001 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b111100110111110001 " -b11 . -1& -b11100100011101001001100111001 % -b11100100011101001001100111001 < -b11100100011101001001100111001 D -b11100100011101001001100111001 U -b11100100011101001001100111001 f -b11100100011101001001100111001 u -b11100100011101001001100111001 (" -b11100100011101001001100111001 9" -0( -0) -0+ -0, -b1 0 -0' -#6073 -b1110000010000010110100000000 ] -#6075 -b1110000010000010110100000000 # -0!" -0N -b11 . -b1110000010000010110100000000 ! -b1110000010000010110100000000 ? -b11 A -b0 } -b1110000010000010110100000000 L -b100 7 -b0 y -b10 #" -b11100100011101001001100111001 @" -b101 D" -b11100100011101001001100111001 /" -b11001 +" -b101 3" -02" -b1110000010000010110100000000 H -b10 P -b11100100011101001001100111001 m -b101 q -b11100100011101001001100111001 \ -b11001 X -b101 ` -0_ -1' -#6076 -b1001011011 / -b10 2 -#6080 -b10110100 $" -0d -b1001001 b -1S -b0 Q -b1 G -b10110100 s -b101001001 B -b11 A -1V -b10 O -1)" -b10 "" -b10110100101001001 8 -1= -b111001011 $ -b10110100101001001 " -b11 . -0& -b100100110001011111110101001001 % -b100100110001011111110101001001 < -b100100110001011111110101001001 D -b100100110001011111110101001001 U -b100100110001011111110101001001 f -b100100110001011111110101001001 u -b100100110001011111110101001001 (" -b100100110001011111110101001001 9" -0( -0) -0+ -0, -b10 0 -0' -#6085 -1N -b1 J -1!" -b100100110001011111110101001001 \ -b0 X -1_ -1Z -b100100110001011111110101001001 m -b1001001 i -0k -b10 P -b100100110001011111110101001001 /" -b10110100 +" -12" -b100100110001011111110101001001 @" -b10 #" -b10 4 -1' -#6086 -b1001011100 / -b10 2 -#6090 -07" -b1110000 5" -1&" -b0 $" -b10 "" -b1 x -b100001 b -b10 O -b101110000 s -b100100001 B -b11 A -b101110000100100001 8 -b110100110 $ -b101110000100100001 " -b11 . -b11101110001011000010100011011100 % -b11101110001011000010100011011100 < -b11101110001011000010100011011100 D -b11101110001011000010100011011100 U -b11101110001011000010100011011100 f -b11101110001011000010100011011100 u -b11101110001011000010100011011100 (" -b11101110001011000010100011011100 9" -0( -0) -0+ -0, -b1 0 -0' -#6093 -b1101101000110111010100011011 0" -b1100011100000000 n -#6095 -b110110100011011101010001101100000000000000001100011100000000 # -b1 { -b11 . -b110110100011011101010001101100000000000000001100011100000000 ! -b110110100011011101010001101100000000000000001100011100000000 ? -b11 A -b1101101000110111010100011011 } -b1100011100000000 L -b10 4 -b1101101000110111010100011011 y -b10 #" -b11101110001011000010100011011100 @" -b1110000 <" -0>" -b11101110001011000010100011011100 /" -b0 +" -1-" -b1100011100000000 H -b10 P -b11101110001011000010100011011100 m -b100001 i -b11101110001011000010100011011100 \ -1' -#6096 -b1001011101 / -b10 2 -#6100 -b10000000 5" -b10000000 b -b110000000 s -b110000000 B -b11 A -0g -b10 O -0:" -b10 "" -b110000000110000000 8 -0= -b110000000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101011110011000 " -b11 . -1& -b11110101011101010100010011101010 % -b11110101011101010100010011101010 < -b11110101011101010100010011101010 D -b11110101011101010100010011101010 U -b11110101011101010100010011101010 f -b11110101011101010100010011101010 u -b11110101011101010100010011101010 (" -b11110101011101010100010011101010 9" -0( -0) -0+ -0, -b10 0 -0' -#6103 -b110100100000000 A" -b0 n -#6105 -b11010010000000000000000000000000000000000000000 # -0N -0!" -b11 . -b11010010000000000000000000000000000000000000000 ! -b11010010000000000000000000000000000000000000000 ? -b11 A -b0 L -b110100100000000 } -b11110101011101010100010011101010 \ -b1010 ` -b11110101011101010100010011101010 m -b10000000 i -b1010 q -0p -b0 H -b10 P -b11110101011101010100010011101010 /" -b1010 3" -b11110101011101010100010011101010 @" -b10000000 <" -b1010 D" -0C" -b110100100000000 y -b10 #" -b100 7 -1' -#6106 -b1001011110 / -b10 2 -#6110 -b10001101 5" -b11101111 b -b110001101 s -b111101111 B -b11 A -1g -b10 O -1:" -b10 "" -b110001101111101111 8 -1= -b1101110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110001101111101111 " -b11 . -0& -b101111001111110010010101011110 % -b101111001111110010010101011110 < -b101111001111110010010101011110 D -b101111001111110010010101011110 U -b101111001111110010010101011110 f -b101111001111110010010101011110 u -b101111001111110010010101011110 (" -b101111001111110010010101011110 9" -0( -0) -0+ -0, -b1 0 -0' -#6115 -1!" -1N -b10 4 -b10 #" -b101111001111110010010101011110 @" -b10001101 <" -b100 D" -1C" -b101111001111110010010101011110 /" -b100 3" -b10 P -b101111001111110010010101011110 m -b11101111 i -b100 q -1p -b101111001111110010010101011110 \ -b100 ` -1' -#6116 -b1001011111 / -b10 2 -#6120 -17" -b0 5" -0&" -0)" -b10101110 $" -b0 x -1d -b0 b -0S -0V -b10101110 Q -b0 G -b10101110 s -b10101110 B -b11 A -1g -b10 O -1:" -b10 "" -b10101110010101110 8 -0= -b10101110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111011011100010 " -b11 . -1& -b11110110111000110111101011101101 % -b11110110111000110111101011101101 < -b11110110111000110111101011101101 D -b11110110111000110111101011101101 U -b11110110111000110111101011101101 f -b11110110111000110111101011101101 u -b11110110111000110111101011101101 (" -b11110110111000110111101011101101 9" -0( -0) -0+ -0, -b10 0 -0' -#6123 -b0 A" -#6125 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b11110110111000110111101011101101 \ -b10101110 X -b101 ` -0_ -0Z -b11110110111000110111101011101101 m -b0 i -b101 q -1k -b10 P -b11110110111000110111101011101101 /" -b10101110 +" -b101 3" -02" -0-" -b11110110111000110111101011101101 @" -b0 <" -b101 D" -1>" -b0 y -b10 #" -b100 7 -1' -#6126 -b1001100000 / -b10 2 -#6130 -07" -0:" -b10110110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10110110 b -1S -1V -b0 Q -b10 O -b1 G -b110110110 s -b110110110 B -b11 A -b110110110110110110 8 -b110110110 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b100110110100000 " -b11 . -1& -b1011111111110000100110110111111 % -b1011111111110000100110110111111 < -b1011111111110000100110110111111 D -b1011111111110000100110110111111 U -b1011111111110000100110110111111 f -b1011111111110000100110110111111 u -b1011111111110000100110110111111 (" -b1011111111110000100110110111111 9" -0( -0) -0+ -0, -b1 0 -0' -#6135 -b1 { -b1 J -b100 7 -b10 #" -b1011111111110000100110110111111 @" -b10110110 <" -b1111 D" -0C" -0>" -b1011111111110000100110110111111 /" -b0 +" -b1111 3" -12" -1-" -b10 P -b1011111111110000100110110111111 m -b10110110 i -b1111 q -0p -0k -b1011111111110000100110110111111 \ -b0 X -b1111 ` -1_ -1Z -1' -#6136 -b1001100001 / -b10 2 -#6140 -b1010111 5" -1d -b0 b -0S -b100001 Q -b0 G -b101010111 s -b100001 B -b11 A -1g -b10 O -1:" -b10 "" -b101010111000100001 8 -1= -b111010100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101010111000100001 " -b11 . -0& -b11110011000010010000110011100110 % -b11110011000010010000110011100110 < -b11110011000010010000110011100110 D -b11110011000010010000110011100110 U -b11110011000010010000110011100110 f -b11110011000010010000110011100110 u -b11110011000010010000110011100110 (" -b11110011000010010000110011100110 9" -0( -0) -0+ -0, -b10 0 -0' -#6145 -1N -b0 J -1!" -b11110011000010010000110011100110 \ -b100001 X -b1000 ` -0Z -b11110011000010010000110011100110 m -b0 i -b1000 q -1p -1k -b10 P -b11110011000010010000110011100110 /" -b1000 3" -b11110011000010010000110011100110 @" -b1010111 <" -b1000 D" -1C" -b10 #" -b10 4 -1' -#6146 -b1001100010 / -b10 2 -#6150 -17" -b0 5" -0&" -b1011001 $" -b10 "" -b0 x -0d -b11011000 b -1S -b0 Q -b10 O -b1 G -b1011001 s -b111011000 B -b11 A -b1011001111011000 8 -b10010000 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b1011001111011000 " -b11 . -b10001001111100101010000000010011 % -b10001001111100101010000000010011 < -b10001001111100101010000000010011 D -b10001001111100101010000000010011 U -b10001001111100101010000000010011 f -b10001001111100101010000000010011 u -b10001001111100101010000000010011 (" -b10001001111100101010000000010011 9" -0( -0) -0+ -0, -b1 0 -0' -#6153 -b11010000000000010101101101111111 A" -b0 ] -#6155 -b1101000000000001010110110111111100000000000000000000000000000000 # -b0 { -b1 J -b11 . -b1101000000000001010110110111111100000000000000000000000000000000 ! -b1101000000000001010110110111111100000000000000000000000000000000 ? -b11 A -b11010000000000010101101101111111 } -b10 4 -b11010000000000010101101101111111 y -b10 #" -b10001001111100101010000000010011 @" -b0 <" -b1111 D" -1>" -b10001001111100101010000000010011 /" -b1011001 +" -b1111 3" -0-" -b10 P -b10001001111100101010000000010011 m -b11011000 i -b1111 q -0k -b10001001111100101010000000010011 \ -b0 X -b1111 ` -1Z -1' -#6156 -b1001100011 / -b10 2 -#6160 -b10100011 $" -1d -b0 b -0S -0V -b10100011 Q -b0 G -b10100011 s -b10100011 B -b11 A -1g -b10 O -0)" -b10 "" -b10100011010100011 8 -0= -b10100011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101101110100010001 " -b11 . -1& -b10000010010000110001100000000100 % -b10000010010000110001100000000100 < -b10000010010000110001100000000100 D -b10000010010000110001100000000100 U -b10000010010000110001100000000100 f -b10000010010000110001100000000100 u -b10000010010000110001100000000100 (" -b10000010010000110001100000000100 9" -0( -0) -0+ -0, -b10 0 -0' -#6163 -b10010110010101001101000000101101 0" -b100000000 n -#6165 -b1001011001010100110100000010110100000000000000000000000100000000 # -0N -b0 J -0!" -b11 . -b1001011001010100110100000010110100000000000000000000000100000000 ! -b1001011001010100110100000010110100000000000000000000000100000000 ? -b11 A -b100000000 L -b10010110010101001101000000101101 } -b10000010010000110001100000000100 \ -b10100011 X -b1000 ` -0_ -0Z -b10000010010000110001100000000100 m -b0 i -b1000 q -1k -b100000000 H -b10 P -b10000010010000110001100000000100 /" -b10100011 +" -b1000 3" -02" -b10000010010000110001100000000100 @" -b1000 D" -b10010110010101001101000000101101 y -b10 #" -b100 7 -1' -#6166 -b1001100100 / -b10 2 -#6170 -07" -b10011000 5" -1&" -b0 $" -b1 x -0d -b100000 b -1S -b0 Q -b1 G -b110011000 s -b100100000 B -b11 A -1V -b10 O -1)" -b10 "" -b110011000100100000 8 -1= -b100110110 $ -b110011000100100000 " -b11 . -0& -b1011101110010000000000110111011 % -b1011101110010000000000110111011 < -b1011101110010000000000110111011 D -b1011101110010000000000110111011 U -b1011101110010000000000110111011 f -b1011101110010000000000110111011 u -b1011101110010000000000110111011 (" -b1011101110010000000000110111011 9" -0( -0) -0+ -0, -b1 0 -0' -#6175 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b1011101110010000000000110111011 @" -b10011000 <" -0>" -b1011101110010000000000110111011 /" -b0 +" -12" -1-" -b10 P -b1011101110010000000000110111011 m -b100000 i -0k -b1011101110010000000000110111011 \ -b0 X -1_ -1Z -1' -#6176 -b1001100101 / -b10 2 -#6180 -b11001111 5" -b10 "" -1d -b0 b -0S -b10 Q -b10 O -b0 G -b111001111 s -b10 B -b11 A -b111001111000000010 8 -b1111111 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111001111000000010 " -b11 . -b1011101001111101000010110111010 % -b1011101001111101000010110111010 < -b1011101001111101000010110111010 D -b1011101001111101000010110111010 U -b1011101001111101000010110111010 f -b1011101001111101000010110111010 u -b1011101001111101000010110111010 (" -b1011101001111101000010110111010 9" -0( -0) -0+ -0, -b10 0 -0' -#6183 -b0 A" -b0 n -#6185 -b0 # -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b1011101001111101000010110111010 \ -b10 X -b110 ` -0Z -b1011101001111101000010110111010 m -b0 i -b110 q -1k -b0 H -b10 P -b1011101001111101000010110111010 /" -b110 3" -b1011101001111101000010110111010 @" -b11001111 <" -b110 D" -b0 y -b10 #" -b10 4 -1' -#6186 -b1001100110 / -b10 2 -#6190 -17" -b0 5" -0&" -0)" -b1111 $" -b0 x -b1111 Q -b1111 s -b1111 B -b11 A -0V -b10 O -1:" -b10 "" -b1111000001111 8 -0= -b1111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100001001111000011 " -b11 . -1& -b10011001001111001100011000110010 % -b10011001001111001100011000110010 < -b10011001001111001100011000110010 D -b10011001001111001100011000110010 U -b10011001001111001100011000110010 f -b10011001001111001100011000110010 u -b10011001001111001100011000110010 (" -b10011001001111001100011000110010 9" -0( -0) -0+ -0, -b1 0 -0' -#6193 -b100000100011010000000000000000 A" -#6195 -b10000010001101000000000000000000000000000000000000000000000000 # -0!" -b0 { -0N -b11 . -b10000010001101000000000000000000000000000000000000000000000000 ! -b10000010001101000000000000000000000000000000000000000000000000 ? -b11 A -b100000100011010000000000000000 } -b100 7 -b100000100011010000000000000000 y -b10 #" -b10011001001111001100011000110010 @" -b0 <" -b1 D" -1>" -b10011001001111001100011000110010 /" -b1111 +" -b1 3" -02" -0-" -b10 P -b10011001001111001100011000110010 m -b1 q -b10011001001111001100011000110010 \ -b1111 X -b1 ` -0_ -1' -#6196 -b1001100111 / -b10 2 -#6200 -07" -0:" -b1101100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1101100 b -1S -1V -b0 Q -b10 O -b1 G -b101101100 s -b101101100 B -b11 A -b101101100101101100 8 -b101101100 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11111110011111 " -b11 . -1& -b1011011001101100010100110110110 % -b1011011001101100010100110110110 < -b1011011001101100010100110110110 D -b1011011001101100010100110110110 U -b1011011001101100010100110110110 f -b1011011001101100010100110110110 u -b1011011001101100010100110110110 (" -b1011011001101100010100110110110 9" -0( -0) -0+ -0, -b10 0 -0' -#6205 -b1 J -b1 { -b1011011001101100010100110110110 \ -b0 X -b11 ` -1_ -1Z -b1011011001101100010100110110110 m -b1101100 i -b11 q -0p -0k -b10 P -b1011011001101100010100110110110 /" -b0 +" -b11 3" -12" -1-" -b1011011001101100010100110110110 @" -b1101100 <" -b11 D" -0C" -0>" -b10 #" -b100 7 -1' -#6206 -b1001101000 / -b10 2 -#6210 -17" -b0 5" -0&" -b10110011 $" -b0 x -b10000101 b -b10110011 s -b110000101 B -b11 A -1g -b10 O -1:" -b10 "" -b10110011110000101 8 -1= -b1100001 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10110011110000101 " -b11 . -0& -b11001101111010100110101010011011 % -b11001101111010100110101010011011 < -b11001101111010100110101010011011 D -b11001101111010100110101010011011 U -b11001101111010100110101010011011 f -b11001101111010100110101010011011 u -b11001101111010100110101010011011 (" -b11001101111010100110101010011011 9" -0( -0) -0+ -0, -b1 0 -0' -#6215 -1!" -b0 { -1N -b10 4 -b10 #" -b11001101111010100110101010011011 @" -b0 <" -b101 D" -1C" -1>" -b11001101111010100110101010011011 /" -b10110011 +" -b101 3" -0-" -b10 P -b11001101111010100110101010011011 m -b10000101 i -b101 q -1p -b11001101111010100110101010011011 \ -b101 ` -1' -#6216 -b1001101001 / -b10 2 -#6220 -07" -b101100 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b11011111 Q -b10 O -b0 G -b100101100 s -b11011111 B -b11 A -b100101100011011111 8 -b11111101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100101100011011111 " -b11 . -b10001101000010111110001000011010 % -b10001101000010111110001000011010 < -b10001101000010111110001000011010 D -b10001101000010111110001000011010 U -b10001101000010111110001000011010 f -b10001101000010111110001000011010 u -b10001101000010111110001000011010 (" -b10001101000010111110001000011010 9" -0( -0) -0+ -0, -b10 0 -0' -#6223 -b1001011110011110000000000000000 0" -#6225 -b100101111001111000000000000000000000000000000000000000000000000 # -b0 J -b1 { -b11 . -b100101111001111000000000000000000000000000000000000000000000000 ! -b100101111001111000000000000000000000000000000000000000000000000 ? -b11 A -b1001011110011110000000000000000 } -b10001101000010111110001000011010 \ -b11011111 X -b1100 ` -0Z -b10001101000010111110001000011010 m -b0 i -b1100 q -1k -b10 P -b10001101000010111110001000011010 /" -b0 +" -b1100 3" -1-" -b10001101000010111110001000011010 @" -b101100 <" -b1100 D" -0>" -b1001011110011110000000000000000 y -b10 #" -b10 4 -1' -#6226 -b1001101010 / -b10 2 -#6230 -17" -b0 5" -0&" -0)" -b100101 $" -b0 x -b100101 Q -b100101 s -b100101 B -b11 A -0V -b10 O -1:" -b10 "" -b100101000100101 8 -0= -b100101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10100110110011101 " -b11 . -1& -b111000000100010001110101110000 % -b111000000100010001110101110000 < -b111000000100010001110101110000 D -b111000000100010001110101110000 U -b111000000100010001110101110000 f -b111000000100010001110101110000 u -b111000000100010001110101110000 (" -b111000000100010001110101110000 9" -0( -0) -0+ -0, -b1 0 -0' -#6233 -b0 A" -#6235 -b0 # -0!" -b0 { -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b111000000100010001110101110000 @" -b0 <" -b111 D" -1>" -b111000000100010001110101110000 /" -b100101 +" -b111 3" -02" -0-" -b10 P -b111000000100010001110101110000 m -b111 q -b111000000100010001110101110000 \ -b100101 X -b111 ` -0_ -1' -#6236 -b1001101011 / -b10 2 -#6240 -b1100110 $" -b10 "" -b1100110 Q -b10 O -b1100110 s -b1100110 B -b11 A -b1100110001100110 8 -b1100110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101101001001101000 " -b11 . -1& -b1110100100001001100000111101001 % -b1110100100001001100000111101001 < -b1110100100001001100000111101001 D -b1110100100001001100000111101001 U -b1110100100001001100000111101001 f -b1110100100001001100000111101001 u -b1110100100001001100000111101001 (" -b1110100100001001100000111101001 9" -0( -0) -0+ -0, -b10 0 -0' -#6245 -b1110100100001001100000111101001 \ -b1100110 X -b1000 ` -b1110100100001001100000111101001 m -b1000 q -b10 P -b1110100100001001100000111101001 /" -b1100110 +" -b1000 3" -b1110100100001001100000111101001 @" -b1000 D" -b10 #" -b100 7 -1' -#6246 -b1001101100 / -b10 2 -#6250 -07" -b100111 5" -1&" -b0 $" -b1 x -b1110011 Q -b100100111 s -b1110011 B -b11 A -1V -b10 O -1)" -b10 "" -b100100111001110011 8 -1= -b100101101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100100111001110011 " -b11 . -0& -b10110111110000110111100101101 % -b10110111110000110111100101101 < -b10110111110000110111100101101 D -b10110111110000110111100101101 U -b10110111110000110111100101101 f -b10110111110000110111100101101 u -b10110111110000110111100101101 (" -b10110111110000110111100101101 9" -0( -0) -0+ -0, -b1 0 -0' -#6255 -1!" -b1 { -1N -b10 4 -b10 #" -b10110111110000110111100101101 @" -b100111 <" -b1010 D" -0>" -b10110111110000110111100101101 /" -b0 +" -b1010 3" -12" -1-" -b10 P -b10110111110000110111100101101 m -b1010 q -b10110111110000110111100101101 \ -b1110011 X -b1010 ` -1_ -1' -#6256 -b1001101101 / -b10 2 -#6260 -b110001 5" -b10 "" -0d -b1111010 b -1S -b0 Q -b10 O -b1 G -b100110001 s -b101111010 B -b11 A -b100110001101111010 8 -b111011100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100110001101111010 " -b11 . -b11110111101100000001100011101111 % -b11110111101100000001100011101111 < -b11110111101100000001100011101111 D -b11110111101100000001100011101111 U -b11110111101100000001100011101111 f -b11110111101100000001100011101111 u -b11110111101100000001100011101111 (" -b11110111101100000001100011101111 9" -0( -0) -0+ -0, -b10 0 -0' -#6263 -b111100000000 A" -#6265 -b11110000000000000000000000000000000000000000 # -b1 J -b11 . -b11110000000000000000000000000000000000000000 ! -b11110000000000000000000000000000000000000000 ? -b11 A -b111100000000 } -b11110111101100000001100011101111 \ -b0 X -b1110 ` -1Z -b11110111101100000001100011101111 m -b1111010 i -b1110 q -0k -b10 P -b11110111101100000001100011101111 /" -b1110 3" -b11110111101100000001100011101111 @" -b110001 <" -b1110 D" -b111100000000 y -b10 #" -b10 4 -1' -#6266 -b1001101110 / -b10 2 -#6270 -17" -b0 5" -0&" -0)" -b100111 $" -b0 x -1d -b0 b -0S -0V -b100111 Q -b0 G -b100111 s -b100111 B -b11 A -1g -b10 O -1:" -b10 "" -b100111000100111 8 -0= -b100111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111001100010100001 " -b11 . -1& -b1010100000001101110011110101000 % -b1010100000001101110011110101000 < -b1010100000001101110011110101000 D -b1010100000001101110011110101000 U -b1010100000001101110011110101000 f -b1010100000001101110011110101000 u -b1010100000001101110011110101000 (" -b1010100000001101110011110101000 9" -0( -0) -0+ -0, -b1 0 -0' -#6273 -b111001111000010100110010 A" -b100110111110110000000001001101 n -#6275 -b11100111100001010011001000100110111110110000000001001101 # -0!" -b0 { -0N -b0 J -b11 . -b11100111100001010011001000100110111110110000000001001101 ! -b11100111100001010011001000100110111110110000000001001101 ? -b11 A -b111001111000010100110010 } -b100110111110110000000001001101 L -b100 7 -b111001111000010100110010 y -b10 #" -b1010100000001101110011110101000 @" -b0 <" -b1001 D" -1>" -b1010100000001101110011110101000 /" -b100111 +" -b1001 3" -02" -0-" -b100110111110110000000001001101 H -b10 P -b1010100000001101110011110101000 m -b0 i -b1001 q -1k -b1010100000001101110011110101000 \ -b100111 X -b1001 ` -0_ -0Z -1' -#6276 -b1001101111 / -b10 2 -#6280 -07" -0:" -b11100000 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11100000 b -1S -1V -b0 Q -b10 O -b1 G -b111100000 s -b111100000 B -b11 A -b111100000111100000 8 -b111100000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110110101111001011 " -b11 . -1& -b10010011010000011011000000100110 % -b10010011010000011011000000100110 < -b10010011010000011011000000100110 D -b10010011010000011011000000100110 U -b10010011010000011011000000100110 f -b10010011010000011011000000100110 u -b10010011010000011011000000100110 (" -b10010011010000011011000000100110 9" -0( -0) -0+ -0, -b10 0 -0' -#6285 -b1 J -b1 { -b10010011010000011011000000100110 \ -b0 X -b100 ` -1_ -1Z -b10010011010000011011000000100110 m -b11100000 i -b100 q -0p -0k -b10 P -b10010011010000011011000000100110 /" -b0 +" -b100 3" -12" -1-" -b10010011010000011011000000100110 @" -b11100000 <" -b100 D" -0C" -0>" -b10 #" -b100 7 -1' -#6286 -b1001110000 / -b10 2 -#6290 -b11010110 5" -b10 "" -b11010110 b -b10 O -b111010110 s -b111010110 B -b11 A -b111010110111010110 8 -b111010110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101011111010001000 " -b11 . -1& -b101011011110001011000101010110 % -b101011011110001011000101010110 < -b101011011110001011000101010110 D -b101011011110001011000101010110 U -b101011011110001011000101010110 f -b101011011110001011000101010110 u -b101011011110001011000101010110 (" -b101011011110001011000101010110 9" -0( -0) -0+ -0, -b1 0 -0' -#6295 -b100 7 -b10 #" -b101011011110001011000101010110 @" -b11010110 <" -b1001 D" -b101011011110001011000101010110 /" -b1001 3" -b10 P -b101011011110001011000101010110 m -b11010110 i -b1001 q -b101011011110001011000101010110 \ -b1001 ` -1' -#6296 -b1001110001 / -b10 2 -#6300 -17" -b0 5" -0&" -b10000 $" -b0 x -1d -b0 b -0S -b1101000 Q -b0 G -b10000 s -b1101000 B -b11 A -1g -b10 O -1:" -b10 "" -b10000001101000 8 -1= -b110101010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10000001101000 " -b11 . -0& -b100011011001101101101101000110 % -b100011011001101101101101000110 < -b100011011001101101101101000110 D -b100011011001101101101101000110 U -b100011011001101101101101000110 f -b100011011001101101101101000110 u -b100011011001101101101101000110 (" -b100011011001101101101101000110 9" -0( -0) -0+ -0, -b10 0 -0' -#6305 -1N -b0 J -1!" -b0 { -b100011011001101101101101000110 \ -b1101000 X -b0 ` -0Z -b100011011001101101101101000110 m -b0 i -b0 q -1p -1k -b10 P -b100011011001101101101101000110 /" -b10000 +" -b0 3" -0-" -b100011011001101101101101000110 @" -b0 <" -b0 D" -1C" -1>" -b10 #" -b10 4 -1' -#6306 -b1001110010 / -b10 2 -#6310 -07" -b1110 5" -1&" -b0 $" -b10 "" -b1 x -b1000110 Q -b10 O -b100001110 s -b1000110 B -b11 A -b100001110001000110 8 -b111011111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100001110001000110 " -b11 . -b1101001010111010010100111010010 % -b1101001010111010010100111010010 < -b1101001010111010010100111010010 D -b1101001010111010010100111010010 U -b1101001010111010010100111010010 f -b1101001010111010010100111010010 u -b1101001010111010010100111010010 (" -b1101001010111010010100111010010 9" -0( -0) -0+ -0, -b1 0 -0' -#6313 -b11011000010010110000000010110000 0" -b10010010101001100000000 ] -#6315 -b1101100001001011000000001011000000000000010010010101001100000000 # -b1 { -b11 . -b1101100001001011000000001011000000000000010010010101001100000000 ! -b1101100001001011000000001011000000000000010010010101001100000000 ? -b11 A -b11011000010010110000000010110000 } -b10010010101001100000000 L -b10 4 -b11011000010010110000000010110000 y -b10 #" -b1101001010111010010100111010010 @" -b1110 <" -b1000 D" -0>" -b1101001010111010010100111010010 /" -b0 +" -b1000 3" -1-" -b10010010101001100000000 H -b10 P -b1101001010111010010100111010010 m -b1000 q -b1101001010111010010100111010010 \ -b1000110 X -b1000 ` -1' -#6316 -b1001110011 / -b10 2 -#6320 -17" -b0 5" -0&" -0)" -b1111101 $" -b0 x -b1111101 Q -b1111101 s -b1111101 B -b11 A -0V -b10 O -1:" -b10 "" -b1111101001111101 8 -0= -b1111101 $ -b100110100010100001 " -b11 . -1& -b10010001010111101001001000100010 % -b10010001010111101001001000100010 < -b10010001010111101001001000100010 D -b10010001010111101001001000100010 U -b10010001010111101001001000100010 f -b10010001010111101001001000100010 u -b10010001010111101001001000100010 (" -b10010001010111101001001000100010 9" -0( -0) -0+ -0, -b10 0 -0' -#6323 -b0 A" -b101100000011010110000001 ] -#6325 -b101100000011010110000001 # -0N -0!" -b0 { -b11 . -b101100000011010110000001 ! -b101100000011010110000001 ? -b11 A -b101100000011010110000001 L -b0 } -b10010001010111101001001000100010 \ -b1111101 X -0_ -b10010001010111101001001000100010 m -b101100000011010110000001 H -b10 P -b10010001010111101001001000100010 /" -b1111101 +" -02" -0-" -b10010001010111101001001000100010 @" -b0 <" -1>" -b0 y -b10 #" -b100 7 -1' -#6326 -b1001110100 / -b10 2 -#6330 -07" -b11001011 5" -1&" -b0 $" -b1 x -0d -b11101 b -1S -b0 Q -b1 G -b111001011 s -b100011101 B -b11 A -1V -b10 O -1)" -b10 "" -b111001011100011101 8 -1= -b10100000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111001011100011101 " -b11 . -0& -b10010111010000111001001000101110 % -b10010111010000111001001000101110 < -b10010111010000111001001000101110 D -b10010111010000111001001000101110 U -b10010111010000111001001000101110 f -b10010111010000111001001000101110 u -b10010111010000111001001000101110 (" -b10010111010000111001001000101110 9" -0( -0) -0+ -0, -b1 0 -0' -#6335 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b10010111010000111001001000101110 @" -b11001011 <" -b1100 D" -0>" -b10010111010000111001001000101110 /" -b0 +" -b1100 3" -12" -1-" -b10 P -b10010111010000111001001000101110 m -b11101 i -b1100 q -0k -b10010111010000111001001000101110 \ -b0 X -b1100 ` -1_ -1Z -1' -#6336 -b1001110101 / -b10 2 -#6340 -b1101111 5" -b1101111 b -b101101111 s -b101101111 B -b11 A -0g -b10 O -0:" -b10 "" -b101101111101101111 8 -0= -b101101111 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110000100000110011 " -b11 . -1& -b1111100110111001001111111111001 % -b1111100110111001001111111111001 < -b1111100110111001001111111111001 D -b1111100110111001001111111111001 U -b1111100110111001001111111111001 f -b1111100110111001001111111111001 u -b1111100110111001001111111111001 (" -b1111100110111001001111111111001 9" -0( -0) -0+ -0, -b10 0 -0' -#6343 -b11001111001110000000000010011110 A" -b11101000 n -#6345 -b1100111100111000000000001001111000000000000000000000000011101000 # -0N -0!" -b11 . -b1100111100111000000000001001111000000000000000000000000011101000 ! -b1100111100111000000000001001111000000000000000000000000011101000 ? -b11 A -b11101000 L -b11001111001110000000000010011110 } -b1111100110111001001111111111001 \ -b100 ` -b1111100110111001001111111111001 m -b1101111 i -b100 q -0p -b11101000 H -b10 P -b1111100110111001001111111111001 /" -b100 3" -b1111100110111001001111111111001 @" -b1101111 <" -b100 D" -0C" -b11001111001110000000000010011110 y -b10 #" -b100 7 -1' -#6346 -b1001110110 / -b10 2 -#6350 -17" -b0 5" -0&" -b11010000 $" -b0 x -b10100101 b -b11010000 s -b110100101 B -b11 A -1g -b10 O -1:" -b10 "" -b11010000110100101 8 -1= -b11010110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11010000110100101 " -b11 . -0& -b10011010101111101010011000110101 % -b10011010101111101010011000110101 < -b10011010101111101010011000110101 D -b10011010101111101010011000110101 U -b10011010101111101010011000110101 f -b10011010101111101010011000110101 u -b10011010101111101010011000110101 (" -b10011010101111101010011000110101 9" -0( -0) -0+ -0, -b1 0 -0' -#6355 -1!" -b0 { -1N -b10 4 -b10 #" -b10011010101111101010011000110101 @" -b0 <" -b1 D" -1C" -1>" -b10011010101111101010011000110101 /" -b11010000 +" -b1 3" -0-" -b10 P -b10011010101111101010011000110101 m -b10100101 i -b1 q -1p -b10011010101111101010011000110101 \ -b1 ` -1' -#6356 -b1001110111 / -b10 2 -#6360 -07" -0:" -b10000101 5" -1&" -b0 $" -b1 x -b10000101 b -b110000101 s -b110000101 B -b11 A -0g -b10 O -1)" -b10 "" -b110000101110000101 8 -0= -b110000101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b110010110111100000 " -b11 . -1& -b11000010111111111011010010000101 % -b11000010111111111011010010000101 < -b11000010111111111011010010000101 D -b11000010111111111011010010000101 U -b11000010111111111011010010000101 f -b11000010111111111011010010000101 u -b11000010111111111011010010000101 (" -b11000010111111111011010010000101 9" -0( -0) -0+ -0, -b10 0 -0' -#6363 -b0 0" -b0 n -#6365 -b0 # -0N -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b11000010111111111011010010000101 \ -b111 ` -b11000010111111111011010010000101 m -b10000101 i -b111 q -0p -b0 H -b10 P -b11000010111111111011010010000101 /" -b0 +" -b111 3" -1-" -b11000010111111111011010010000101 @" -b10000101 <" -b111 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#6366 -b1001111000 / -b10 2 -#6370 -b10111100 5" -b10 "" -b10111100 b -b10 O -b110111100 s -b110111100 B -b11 A -b110111100110111100 8 -b110111100 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10010001001011011 " -b11 . -1& -b10110010101001110011110001100101 % -b10110010101001110011110001100101 < -b10110010101001110011110001100101 D -b10110010101001110011110001100101 U -b10110010101001110011110001100101 f -b10110010101001110011110001100101 u -b10110010101001110011110001100101 (" -b10110010101001110011110001100101 9" -0( -0) -0+ -0, -b1 0 -0' -#6375 -b100 7 -b10 #" -b10110010101001110011110001100101 @" -b10111100 <" -b101 D" -b10110010101001110011110001100101 /" -b101 3" -b10 P -b10110010101001110011110001100101 m -b10111100 i -b101 q -b10110010101001110011110001100101 \ -b101 ` -1' -#6376 -b1001111001 / -b10 2 -#6380 -17" -1:" -b0 5" -0&" -0)" -b111110 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b111110 Q -b10 O -b0 G -b111110 s -b111110 B -b11 A -b111110000111110 8 -b111110 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b100000000011001011 " -b11 . -1& -b1000001011000101001011110000010 % -b1000001011000101001011110000010 < -b1000001011000101001011110000010 D -b1000001011000101001011110000010 U -b1000001011000101001011110000010 f -b1000001011000101001011110000010 u -b1000001011000101001011110000010 (" -b1000001011000101001011110000010 9" -0( -0) -0+ -0, -b10 0 -0' -#6385 -b0 J -b0 { -b1000001011000101001011110000010 \ -b111110 X -b1010 ` -0_ -0Z -b1000001011000101001011110000010 m -b0 i -b1010 q -1p -1k -b10 P -b1000001011000101001011110000010 /" -b111110 +" -b1010 3" -02" -0-" -b1000001011000101001011110000010 @" -b0 <" -b1010 D" -1C" -1>" -b10 #" -b100 7 -1' -#6386 -b1001111010 / -b10 2 -#6390 -b1001001 $" -0d -b11101100 b -1S -b0 Q -b1 G -b1001001 s -b111101100 B -b11 A -1V -b10 O -1)" -b10 "" -b1001001111101100 8 -1= -b101001110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1001001111101100 " -b11 . -0& -b11101000110001011110010011010001 % -b11101000110001011110010011010001 < -b11101000110001011110010011010001 D -b11101000110001011110010011010001 U -b11101000110001011110010011010001 f -b11101000110001011110010011010001 u -b11101000110001011110010011010001 (" -b11101000110001011110010011010001 9" -0( -0) -0+ -0, -b1 0 -0' -#6395 -1!" -1N -b1 J -b10 4 -b10 #" -b11101000110001011110010011010001 @" -b11 D" -b11101000110001011110010011010001 /" -b1001001 +" -b11 3" -12" -b10 P -b11101000110001011110010011010001 m -b11101100 i -b11 q -0k -b11101000110001011110010011010001 \ -b0 X -b11 ` -1_ -1Z -1' -#6396 -b1001111011 / -b10 2 -#6400 -b1011011 $" -1d -b0 b -0S -0V -b1011011 Q -b0 G -b1011011 s -b1011011 B -b11 A -1g -b10 O -0)" -b10 "" -b1011011001011011 8 -0= -b1011011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101110100110010101 " -b11 . -1& -b10010010100100000010111000100101 % -b10010010100100000010111000100101 < -b10010010100100000010111000100101 D -b10010010100100000010111000100101 U -b10010010100100000010111000100101 f -b10010010100100000010111000100101 u -b10010010100100000010111000100101 (" -b10010010100100000010111000100101 9" -0( -0) -0+ -0, -b10 0 -0' -#6405 -0N -b0 J -0!" -b10010010100100000010111000100101 \ -b1011011 X -b1011 ` -0_ -0Z -b10010010100100000010111000100101 m -b0 i -b1011 q -1k -b10 P -b10010010100100000010111000100101 /" -b1011011 +" -b1011 3" -02" -b10010010100100000010111000100101 @" -b1011 D" -b10 #" -b100 7 -1' -#6406 -b1001111100 / -b10 2 -#6410 -b11110 $" -b11110000 Q -b11110 s -b11110000 B -b11 A -1V -b10 O -1)" -b10 "" -b11110011110000 8 -1= -b110110111 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11110011110000 " -b11 . -0& -b11011111010010111000111010111110 % -b11011111010010111000111010111110 < -b11011111010010111000111010111110 D -b11011111010010111000111010111110 U -b11011111010010111000111010111110 f -b11011111010010111000111010111110 u -b11011111010010111000111010111110 (" -b11011111010010111000111010111110 9" -0( -0) -0+ -0, -b1 0 -0' -#6415 -1!" -1N -b10 4 -b10 #" -b11011111010010111000111010111110 @" -b1111 D" -b11011111010010111000111010111110 /" -b11110 +" -b1111 3" -12" -b10 P -b11011111010010111000111010111110 m -b1111 q -b11011111010010111000111010111110 \ -b11110000 X -b1111 ` -1_ -1' -#6416 -b1001111101 / -b10 2 -#6420 -b10010111 $" -b10 "" -0d -b10110011 b -1S -b0 Q -b10 O -b1 G -b10010111 s -b110110011 B -b11 A -b10010111110110011 8 -b11100100 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10010111110110011 " -b11 . -b1110001111000101011100111100011 % -b1110001111000101011100111100011 < -b1110001111000101011100111100011 D -b1110001111000101011100111100011 U -b1110001111000101011100111100011 f -b1110001111000101011100111100011 u -b1110001111000101011100111100011 (" -b1110001111000101011100111100011 9" -0( -0) -0+ -0, -b10 0 -0' -#6423 -b0 ] -#6425 -b1 J -b1110001111000101011100111100011 \ -b0 X -b0 ` -1Z -b1110001111000101011100111100011 m -b10110011 i -b0 q -0k -b10 P -b1110001111000101011100111100011 /" -b10010111 +" -b0 3" -b1110001111000101011100111100011 @" -b0 D" -b10 #" -b10 4 -1' -#6426 -b1001111110 / -b10 2 -#6430 -b11111101 $" -1d -b0 b -0S -0V -b11111101 Q -b0 G -b11111101 s -b11111101 B -b11 A -1g -b10 O -0)" -b10 "" -b11111101011111101 8 -0= -b11111101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100001011111100110 " -b11 . -1& -b11001101010000010010011010011010 % -b11001101010000010010011010011010 < -b11001101010000010010011010011010 D -b11001101010000010010011010011010 U -b11001101010000010010011010011010 f -b11001101010000010010011010011010 u -b11001101010000010010011010011010 (" -b11001101010000010010011010011010 9" -0( -0) -0+ -0, -b1 0 -0' -#6433 -b10100100000000001110100000000000 n -#6435 -b10100100000000001110100000000000 # -0!" -0N -b0 J -b11 . -b10100100000000001110100000000000 ! -b10100100000000001110100000000000 ? -b11 A -b10100100000000001110100000000000 L -b100 7 -b10 #" -b11001101010000010010011010011010 @" -b1001 D" -b11001101010000010010011010011010 /" -b11111101 +" -b1001 3" -02" -b10100100000000001110100000000000 H -b10 P -b11001101010000010010011010011010 m -b0 i -b1001 q -1k -b11001101010000010010011010011010 \ -b11111101 X -b1001 ` -0_ -0Z -1' -#6436 -b1001111111 / -b10 2 -#6440 -b11011000 $" -b1011101 Q -b11011000 s -b1011101 B -b11 A -1V -b10 O -1)" -b10 "" -b11011000001011101 8 -1= -b11101001 $ -b11011000001011101 " -b11 . -0& -b100111100101011101010101001111 % -b100111100101011101010101001111 < -b100111100101011101010101001111 D -b100111100101011101010101001111 U -b100111100101011101010101001111 f -b100111100101011101010101001111 u -b100111100101011101010101001111 (" -b100111100101011101010101001111 9" -0( -0) -0+ -0, -b10 0 -0' -#6445 -1N -1!" -b100111100101011101010101001111 \ -b1011101 X -1_ -b100111100101011101010101001111 m -b10 P -b100111100101011101010101001111 /" -b11011000 +" -12" -b100111100101011101010101001111 @" -b10 #" -b10 4 -1' -#6446 -b1010000000 / -b10 2 -#6450 -b10101011 $" -b10 "" -b11111 Q -b10 O -b10101011 s -b11111 B -b11 A -b10101011000011111 8 -b1011000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b10101011000011111 " -b11 . -b1110010110101100011000111100101 % -b1110010110101100011000111100101 < -b1110010110101100011000111100101 D -b1110010110101100011000111100101 U -b1110010110101100011000111100101 f -b1110010110101100011000111100101 u -b1110010110101100011000111100101 (" -b1110010110101100011000111100101 9" -0( -0) -0+ -0, -b1 0 -0' -#6455 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1110010110101100011000111100101 @" -b1110 D" -b1110010110101100011000111100101 /" -b10101011 +" -b1110 3" -b0 H -b10 P -b1110010110101100011000111100101 m -b1110 q -b1110010110101100011000111100101 \ -b11111 X -b1110 ` -1' -#6456 -b1010000001 / -b10 2 -#6460 -b1000011 $" -b1000011 Q -b1000011 s -b1000011 B -b11 A -0V -b10 O -0)" -b10 "" -b1000011001000011 8 -0= -b1000011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110110110111001011 " -b11 . -1& -b10000010100100111011010000000101 % -b10000010100100111011010000000101 < -b10000010100100111011010000000101 D -b10000010100100111011010000000101 U -b10000010100100111011010000000101 f -b10000010100100111011010000000101 u -b10000010100100111011010000000101 (" -b10000010100100111011010000000101 9" -0( -0) -0+ -0, -b10 0 -0' -#6463 -b10010 ] -#6465 -b10010 # -0N -0!" -b11 . -b10010 ! -b10010 ? -b11 A -b10010 L -b10000010100100111011010000000101 \ -b1000011 X -b101 ` -0_ -b10000010100100111011010000000101 m -b101 q -b10010 H -b10 P -b10000010100100111011010000000101 /" -b1000011 +" -b101 3" -02" -b10000010100100111011010000000101 @" -b101 D" -b10 #" -b100 7 -1' -#6466 -b1010000010 / -b10 2 -#6470 -07" -b11001000 5" -1&" -b0 $" -b1 x -b1100 Q -b111001000 s -b1100 B -b11 A -1V -b10 O -1)" -b10 "" -b111001000000001100 8 -1= -b101001011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111001000000001100 " -b11 . -0& -b111110001101100110111101111100 % -b111110001101100110111101111100 < -b111110001101100110111101111100 D -b111110001101100110111101111100 U -b111110001101100110111101111100 f -b111110001101100110111101111100 u -b111110001101100110111101111100 (" -b111110001101100110111101111100 9" -0( -0) -0+ -0, -b1 0 -0' -#6475 -1!" -b1 { -1N -b10 4 -b10 #" -b111110001101100110111101111100 @" -b11001000 <" -b10 D" -0>" -b111110001101100110111101111100 /" -b0 +" -b10 3" -12" -1-" -b10 P -b111110001101100110111101111100 m -b10 q -b111110001101100110111101111100 \ -b1100 X -b10 ` -1_ -1' -#6476 -b1010000011 / -b10 2 -#6480 -17" -b0 5" -0&" -0)" -b1001010 $" -b0 x -b1001010 Q -b1001010 s -b1001010 B -b11 A -0V -b10 O -1:" -b10 "" -b1001010001001010 8 -0= -b1001010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111000011111111111 " -b11 . -1& -b10101100010001010011100001011000 % -b10101100010001010011100001011000 < -b10101100010001010011100001011000 D -b10101100010001010011100001011000 U -b10101100010001010011100001011000 f -b10101100010001010011100001011000 u -b10101100010001010011100001011000 (" -b10101100010001010011100001011000 9" -0( -0) -0+ -0, -b10 0 -0' -#6483 -b101101001100 A" -b100111110101101100000000 ] -#6485 -b10110100110000000000100111110101101100000000 # -0N -0!" -b0 { -b11 . -b10110100110000000000100111110101101100000000 ! -b10110100110000000000100111110101101100000000 ? -b11 A -b100111110101101100000000 L -b101101001100 } -b10101100010001010011100001011000 \ -b1001010 X -b11 ` -0_ -b10101100010001010011100001011000 m -b11 q -b100111110101101100000000 H -b10 P -b10101100010001010011100001011000 /" -b1001010 +" -b11 3" -02" -0-" -b10101100010001010011100001011000 @" -b0 <" -b11 D" -1>" -b101101001100 y -b10 #" -b100 7 -1' -#6486 -b1010000100 / -b10 2 -#6490 -b111011 $" -b10000001 Q -b111011 s -b10000001 B -b11 A -1V -b10 O -1)" -b10 "" -b111011010000001 8 -1= -b101011110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111011010000001 " -b11 . -0& -b10110011010011101000001001100110 % -b10110011010011101000001001100110 < -b10110011010011101000001001100110 D -b10110011010011101000001001100110 U -b10110011010011101000001001100110 f -b10110011010011101000001001100110 u -b10110011010011101000001001100110 (" -b10110011010011101000001001100110 9" -0( -0) -0+ -0, -b1 0 -0' -#6495 -1!" -1N -b10 4 -b10 #" -b10110011010011101000001001100110 @" -b10 D" -b10110011010011101000001001100110 /" -b111011 +" -b10 3" -12" -b10 P -b10110011010011101000001001100110 m -b10 q -b10110011010011101000001001100110 \ -b10000001 X -b10 ` -1_ -1' -#6496 -b1010000101 / -b10 2 -#6500 -b1110011 $" -b10 "" -0d -b101001 b -1S -b0 Q -b10 O -b1 G -b1110011 s -b100101001 B -b11 A -b1110011100101001 8 -b1011010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b1110011100101001 " -b11 . -b111011011011010000010101110110 % -b111011011011010000010101110110 < -b111011011011010000010101110110 D -b111011011011010000010101110110 U -b111011011011010000010101110110 f -b111011011011010000010101110110 u -b111011011011010000010101110110 (" -b111011011011010000010101110110 9" -0( -0) -0+ -0, -b10 0 -0' -#6503 -b0 ] -#6505 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b111011011011010000010101110110 \ -b0 X -b1000 ` -1Z -b111011011011010000010101110110 m -b101001 i -b1000 q -0k -b0 H -b10 P -b111011011011010000010101110110 /" -b1110011 +" -b1000 3" -b111011011011010000010101110110 @" -b1000 D" -b0 y -b10 #" -b10 4 -1' -#6506 -b1010000110 / -b10 2 -#6510 -b100101 $" -1d -b0 b -0S -0V -b100101 Q -b0 G -b100101 s -b100101 B -b11 A -1g -b10 O -0)" -b10 "" -b100101000100101 8 -0= -b100101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b10100011001000100 " -b11 . -1& -b11011100101001111000010010111001 % -b11011100101001111000010010111001 < -b11011100101001111000010010111001 D -b11011100101001111000010010111001 U -b11011100101001111000010010111001 f -b11011100101001111000010010111001 u -b11011100101001111000010010111001 (" -b11011100101001111000010010111001 9" -0( -0) -0+ -0, -b1 0 -0' -#6513 -b1010011100111001000100 n -#6515 -b1010011100111001000100 # -0!" -0N -b0 J -b11 . -b1010011100111001000100 ! -b1010011100111001000100 ? -b11 A -b1010011100111001000100 L -b100 7 -b10 #" -b11011100101001111000010010111001 @" -b1101 D" -b11011100101001111000010010111001 /" -b100101 +" -b1101 3" -02" -b1010011100111001000100 H -b10 P -b11011100101001111000010010111001 m -b0 i -b1101 q -1k -b11011100101001111000010010111001 \ -b100101 X -b1101 ` -0_ -0Z -1' -#6516 -b1010000111 / -b10 2 -#6520 -b1110000 $" -b10 "" -b1110000 Q -b10 O -b1110000 s -b1110000 B -b11 A -b1110000001110000 8 -b1110000 $ -b100011110101011001 " -b11 . -1& -b10000101110101011010111000001011 % -b10000101110101011010111000001011 < -b10000101110101011010111000001011 D -b10000101110101011010111000001011 U -b10000101110101011010111000001011 f -b10000101110101011010111000001011 u -b10000101110101011010111000001011 (" -b10000101110101011010111000001011 9" -0( -0) -0+ -0, -b10 0 -0' -#6525 -b10000101110101011010111000001011 \ -b1110000 X -b10000101110101011010111000001011 m -b10 P -b10000101110101011010111000001011 /" -b1110000 +" -b10000101110101011010111000001011 @" -b10 #" -b100 7 -1' -#6526 -b1010001000 / -b10 2 -#6530 -b10100 $" -0d -b111100 b -1S -b0 Q -b1 G -b10100 s -b100111100 B -b11 A -1V -b10 O -1)" -b10 "" -b10100100111100 8 -1= -b111110101 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10100100111100 " -b11 . -0& -b1001010000011010101100010010 % -b1001010000011010101100010010 < -b1001010000011010101100010010 D -b1001010000011010101100010010 U -b1001010000011010101100010010 f -b1001010000011010101100010010 u -b1001010000011010101100010010 (" -b1001010000011010101100010010 9" -0( -0) -0+ -0, -b1 0 -0' -#6535 -1!" -1N -b1 J -b10 4 -b10 #" -b1001010000011010101100010010 @" -b10 D" -b1001010000011010101100010010 /" -b10100 +" -b10 3" -12" -b10 P -b1001010000011010101100010010 m -b111100 i -b10 q -0k -b1001010000011010101100010010 \ -b0 X -b10 ` -1_ -1Z -1' -#6536 -b1010001001 / -b10 2 -#6540 -07" -b1111001 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b11100010 Q -b10 O -b0 G -b101111001 s -b11100010 B -b11 A -b101111001011100010 8 -b110000100 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101111001011100010 " -b11 . -b11111101010110101101011011111010 % -b11111101010110101101011011111010 < -b11111101010110101101011011111010 D -b11111101010110101101011011111010 U -b11111101010110101101011011111010 f -b11111101010110101101011011111010 u -b11111101010110101101011011111010 (" -b11111101010110101101011011111010 9" -0( -0) -0+ -0, -b10 0 -0' -#6543 -b110110101101000000000 0" -b1111010010110100000000000101011 n -#6545 -b11011010110100000000001111010010110100000000000101011 # -b0 J -b1 { -b11 . -b11011010110100000000001111010010110100000000000101011 ! -b11011010110100000000001111010010110100000000000101011 ? -b11 A -b1111010010110100000000000101011 L -b110110101101000000000 } -b11111101010110101101011011111010 \ -b11100010 X -b1001 ` -0Z -b11111101010110101101011011111010 m -b0 i -b1001 q -1k -b1111010010110100000000000101011 H -b10 P -b11111101010110101101011011111010 /" -b0 +" -b1001 3" -1-" -b11111101010110101101011011111010 @" -b1111001 <" -b1001 D" -0>" -b110110101101000000000 y -b10 #" -b10 4 -1' -#6546 -b1010001010 / -b10 2 -#6550 -17" -b0 5" -0&" -b11010111 $" -b10 "" -b0 x -0d -b11000001 b -1S -b0 Q -b10 O -b1 G -b11010111 s -b111000001 B -b11 A -b11010111111000001 8 -b10110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11010111111000001 " -b11 . -b11010011000101011110100010100110 % -b11010011000101011110100010100110 < -b11010011000101011110100010100110 D -b11010011000101011110100010100110 U -b11010011000101011110100010100110 f -b11010011000101011110100010100110 u -b11010011000101011110100010100110 (" -b11010011000101011110100010100110 9" -0( -0) -0+ -0, -b1 0 -0' -#6553 -b0 A" -#6555 -b0 # -b0 { -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b11010011000101011110100010100110 @" -b0 <" -b1110 D" -1>" -b11010011000101011110100010100110 /" -b11010111 +" -b1110 3" -0-" -b0 H -b10 P -b11010011000101011110100010100110 m -b11000001 i -b1110 q -0k -b11010011000101011110100010100110 \ -b0 X -b1110 ` -1Z -1' -#6556 -b1010001011 / -b10 2 -#6560 -07" -b11111100 5" -1&" -b0 $" -b10 "" -b1 x -b111100 b -b10 O -b111111100 s -b100111100 B -b11 A -b111111100100111100 8 -b100011111 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111111100100111100 " -b11 . -b10010011100101010100101000100111 % -b10010011100101010100101000100111 < -b10010011100101010100101000100111 D -b10010011100101010100101000100111 U -b10010011100101010100101000100111 f -b10010011100101010100101000100111 u -b10010011100101010100101000100111 (" -b10010011100101010100101000100111 9" -0( -0) -0+ -0, -b10 0 -0' -#6563 -b1100111111011101 0" -b100001100001100110011101 n -#6565 -b110011111101110100000000100001100001100110011101 # -b1 { -b11 . -b110011111101110100000000100001100001100110011101 ! -b110011111101110100000000100001100001100110011101 ? -b11 A -b100001100001100110011101 L -b1100111111011101 } -b10010011100101010100101000100111 \ -b100 ` -b10010011100101010100101000100111 m -b111100 i -b100 q -b100001100001100110011101 H -b10 P -b10010011100101010100101000100111 /" -b0 +" -b100 3" -1-" -b10010011100101010100101000100111 @" -b11111100 <" -b100 D" -0>" -b1100111111011101 y -b10 #" -b10 4 -1' -#6566 -b1010001100 / -b10 2 -#6570 -b1011111 5" -b1011111 b -b101011111 s -b101011111 B -b11 A -0g -b10 O -0:" -b10 "" -b101011111101011111 8 -0= -b101011111 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b1000000011110000 " -b11 . -1& -b1001011101001101000110110010111 % -b1001011101001101000110110010111 < -b1001011101001101000110110010111 D -b1001011101001101000110110010111 U -b1001011101001101000110110010111 f -b1001011101001101000110110010111 u -b1001011101001101000110110010111 (" -b1001011101001101000110110010111 9" -0( -0) -0+ -0, -b1 0 -0' -#6573 -b1111010010110100000000000101011 n -#6575 -b1111010010110100000000000101011 # -0!" -0N -b11 . -b1111010010110100000000000101011 ! -b1111010010110100000000000101011 ? -b11 A -b0 } -b1111010010110100000000000101011 L -b100 7 -b0 y -b10 #" -b1001011101001101000110110010111 @" -b1011111 <" -b1111 D" -0C" -b1001011101001101000110110010111 /" -b1111 3" -b1111010010110100000000000101011 H -b10 P -b1001011101001101000110110010111 m -b1011111 i -b1111 q -0p -b1001011101001101000110110010111 \ -b1111 ` -1' -#6576 -b1010001101 / -b10 2 -#6580 -17" -1:" -b0 5" -0&" -0)" -b11110101 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11110101 Q -b10 O -b0 G -b11110101 s -b11110101 B -b11 A -b11110101011110101 8 -b11110101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1010111000100110 " -b11 . -1& -b1100000001100100010001111000000 % -b1100000001100100010001111000000 < -b1100000001100100010001111000000 D -b1100000001100100010001111000000 U -b1100000001100100010001111000000 f -b1100000001100100010001111000000 u -b1100000001100100010001111000000 (" -b1100000001100100010001111000000 9" -0( -0) -0+ -0, -b10 0 -0' -#6585 -b0 J -b0 { -b1100000001100100010001111000000 \ -b11110101 X -b1001 ` -0_ -0Z -b1100000001100100010001111000000 m -b0 i -b1001 q -1p -1k -b10 P -b1100000001100100010001111000000 /" -b11110101 +" -b1001 3" -02" -0-" -b1100000001100100010001111000000 @" -b0 <" -b1001 D" -1C" -1>" -b10 #" -b100 7 -1' -#6586 -b1010001110 / -b10 2 -#6590 -b11111001 $" -0d -b1111 b -1S -b0 Q -b1 G -b11111001 s -b100001111 B -b11 A -1V -b10 O -1)" -b10 "" -b11111001100001111 8 -1= -b111010000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11111001100001111 " -b11 . -0& -b10100111110001101110000001001111 % -b10100111110001101110000001001111 < -b10100111110001101110000001001111 D -b10100111110001101110000001001111 U -b10100111110001101110000001001111 f -b10100111110001101110000001001111 u -b10100111110001101110000001001111 (" -b10100111110001101110000001001111 9" -0( -0) -0+ -0, -b1 0 -0' -#6595 -1!" -1N -b1 J -b10 4 -b10 #" -b10100111110001101110000001001111 @" -b110 D" -b10100111110001101110000001001111 /" -b11111001 +" -b110 3" -12" -b10 P -b10100111110001101110000001001111 m -b1111 i -b110 q -0k -b10100111110001101110000001001111 \ -b0 X -b110 ` -1_ -1Z -1' -#6596 -b1010001111 / -b10 2 -#6600 -07" -0:" -b11110011 5" -1&" -b0 $" -b1 x -b11110011 b -b111110011 s -b111110011 B -b11 A -0g -b10 O -1)" -b10 "" -b111110011111110011 8 -0= -b111110011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10010011101101101 " -b11 . -1& -b1001000101111001110001110010001 % -b1001000101111001110001110010001 < -b1001000101111001110001110010001 D -b1001000101111001110001110010001 U -b1001000101111001110001110010001 f -b1001000101111001110001110010001 u -b1001000101111001110001110010001 (" -b1001000101111001110001110010001 9" -0( -0) -0+ -0, -b10 0 -0' -#6603 -b0 0" -b0 n -#6605 -b0 # -0N -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b1001000101111001110001110010001 \ -b111 ` -b1001000101111001110001110010001 m -b11110011 i -b111 q -0p -b0 H -b10 P -b1001000101111001110001110010001 /" -b0 +" -b111 3" -1-" -b1001000101111001110001110010001 @" -b11110011 <" -b111 D" -0C" -0>" -b10 #" -b100 7 -1' -#6606 -b1010010000 / -b10 2 -#6610 -17" -1:" -b0 5" -0&" -0)" -b10100111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10100111 Q -b10 O -b0 G -b10100111 s -b10100111 B -b11 A -b10100111010100111 8 -b10100111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100100001100101011 " -b11 . -1& -b11001001100000011100110010010011 % -b11001001100000011100110010010011 < -b11001001100000011100110010010011 D -b11001001100000011100110010010011 U -b11001001100000011100110010010011 f -b11001001100000011100110010010011 u -b11001001100000011100110010010011 (" -b11001001100000011100110010010011 9" -0( -0) -0+ -0, -b1 0 -0' -#6615 -b0 { -b0 J -b100 7 -b10 #" -b11001001100000011100110010010011 @" -b0 <" -b1000 D" -1C" -1>" -b11001001100000011100110010010011 /" -b10100111 +" -b1000 3" -02" -0-" -b10 P -b11001001100000011100110010010011 m -b0 i -b1000 q -1p -1k -b11001001100000011100110010010011 \ -b10100111 X -b1000 ` -0_ -0Z -1' -#6616 -b1010010001 / -b10 2 -#6620 -07" -0:" -b101 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b101 b -1S -1V -b0 Q -b10 O -b1 G -b100000101 s -b100000101 B -b11 A -b100000101100000101 8 -b100000101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101000111110101001 " -b11 . -1& -b11011101011001001001110010111010 % -b11011101011001001001110010111010 < -b11011101011001001001110010111010 D -b11011101011001001001110010111010 U -b11011101011001001001110010111010 f -b11011101011001001001110010111010 u -b11011101011001001001110010111010 (" -b11011101011001001001110010111010 9" -0( -0) -0+ -0, -b10 0 -0' -#6625 -b1 J -b1 { -b11011101011001001001110010111010 \ -b0 X -b1001 ` -1_ -1Z -b11011101011001001001110010111010 m -b101 i -b1001 q -0p -0k -b10 P -b11011101011001001001110010111010 /" -b0 +" -b1001 3" -12" -1-" -b11011101011001001001110010111010 @" -b101 <" -b1001 D" -0C" -0>" -b10 #" -b100 7 -1' -#6626 -b1010010010 / -b10 2 -#6630 -17" -1:" -b0 5" -0&" -0)" -b11001110 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11001110 Q -b10 O -b0 G -b11001110 s -b11001110 B -b11 A -b11001110011001110 8 -b11001110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10011100111100001 " -b11 . -1& -b110110001110111000100001101 % -b110110001110111000100001101 < -b110110001110111000100001101 D -b110110001110111000100001101 U -b110110001110111000100001101 f -b110110001110111000100001101 u -b110110001110111000100001101 (" -b110110001110111000100001101 9" -0( -0) -0+ -0, -b1 0 -0' -#6635 -b0 { -b0 J -b100 7 -b10 #" -b110110001110111000100001101 @" -b0 <" -b111 D" -1C" -1>" -b110110001110111000100001101 /" -b11001110 +" -b111 3" -02" -0-" -b10 P -b110110001110111000100001101 m -b0 i -b111 q -1p -1k -b110110001110111000100001101 \ -b11001110 X -b111 ` -0_ -0Z -1' -#6636 -b1010010011 / -b10 2 -#6640 -b11001001 $" -b10 "" -b11001001 Q -b10 O -b11001001 s -b11001001 B -b11 A -b11001001011001001 8 -b11001001 $ -b111011100001100101 " -b11 . -1& -b110101000001000000101101101010 % -b110101000001000000101101101010 < -b110101000001000000101101101010 D -b110101000001000000101101101010 U -b110101000001000000101101101010 f -b110101000001000000101101101010 u -b110101000001000000101101101010 (" -b110101000001000000101101101010 9" -0( -0) -0+ -0, -b10 0 -0' -#6645 -b110101000001000000101101101010 \ -b11001001 X -b110101000001000000101101101010 m -b10 P -b110101000001000000101101101010 /" -b11001001 +" -b110101000001000000101101101010 @" -b10 #" -b100 7 -1' -#6646 -b1010010100 / -b10 2 -#6650 -b10011100 $" -b10100100 Q -b10011100 s -b10100100 B -b11 A -1V -b10 O -1)" -b10 "" -b10011100010100100 8 -1= -b11010011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b10011100010100100 " -b11 . -0& -b1110101010010011100110111101010 % -b1110101010010011100110111101010 < -b1110101010010011100110111101010 D -b1110101010010011100110111101010 U -b1110101010010011100110111101010 f -b1110101010010011100110111101010 u -b1110101010010011100110111101010 (" -b1110101010010011100110111101010 9" -0( -0) -0+ -0, -b1 0 -0' -#6655 -1!" -1N -b10 4 -b10 #" -b1110101010010011100110111101010 @" -b1110 D" -b1110101010010011100110111101010 /" -b10011100 +" -b1110 3" -12" -b10 P -b1110101010010011100110111101010 m -b1110 q -b1110101010010011100110111101010 \ -b10100100 X -b1110 ` -1_ -1' -#6656 -b1010010101 / -b10 2 -#6660 -07" -0:" -b1000001 5" -1&" -b0 $" -b1 x -0d -0g -b1000001 b -1S -b0 Q -b1 G -b101000001 s -b101000001 B -b11 A -1V -b10 O -1)" -b10 "" -b101000001101000001 8 -0= -b101000001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100010111110101010 " -b11 . -1& -b11111011011101001011010011110110 % -b11111011011101001011010011110110 < -b11111011011101001011010011110110 D -b11111011011101001011010011110110 U -b11111011011101001011010011110110 f -b11111011011101001011010011110110 u -b11111011011101001011010011110110 (" -b11111011011101001011010011110110 9" -0( -0) -0+ -0, -b10 0 -0' -#6663 -b11001010110111000000000010010101 0" -#6665 -b1100101011011100000000001001010100000000000000000000000000000000 # -0N -b1 J -0!" -b1 { -b11 . -b1100101011011100000000001001010100000000000000000000000000000000 ! -b1100101011011100000000001001010100000000000000000000000000000000 ? -b11 A -b11001010110111000000000010010101 } -b11111011011101001011010011110110 \ -b0 X -b110 ` -1Z -b11111011011101001011010011110110 m -b1000001 i -b110 q -0p -0k -b10 P -b11111011011101001011010011110110 /" -b0 +" -b110 3" -1-" -b11111011011101001011010011110110 @" -b1000001 <" -b110 D" -0C" -0>" -b11001010110111000000000010010101 y -b10 #" -b100 7 -1' -#6666 -b1010010110 / -b10 2 -#6670 -17" -1:" -b0 5" -0&" -0)" -b100110 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b100110 Q -b10 O -b0 G -b100110 s -b100110 B -b11 A -b100110000100110 8 -b100110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110100001110010000 " -b11 . -1& -b1000111101100000101110110001111 % -b1000111101100000101110110001111 < -b1000111101100000101110110001111 D -b1000111101100000101110110001111 U -b1000111101100000101110110001111 f -b1000111101100000101110110001111 u -b1000111101100000101110110001111 (" -b1000111101100000101110110001111 9" -0( -0) -0+ -0, -b1 0 -0' -#6675 -b0 { -b0 J -b100 7 -b10 #" -b1000111101100000101110110001111 @" -b0 <" -b10 D" -1C" -1>" -b1000111101100000101110110001111 /" -b100110 +" -b10 3" -02" -0-" -b10 P -b1000111101100000101110110001111 m -b0 i -b10 q -1p -1k -b1000111101100000101110110001111 \ -b100110 X -b10 ` -0_ -0Z -1' -#6676 -b1010010111 / -b10 2 -#6680 -07" -0:" -b1000100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1000100 b -1S -1V -b0 Q -b10 O -b1 G -b101000100 s -b101000100 B -b11 A -b101000100101000100 8 -b101000100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111000000000011 " -b11 . -1& -b1001111111101010001001110011111 % -b1001111111101010001001110011111 < -b1001111111101010001001110011111 D -b1001111111101010001001110011111 U -b1001111111101010001001110011111 f -b1001111111101010001001110011111 u -b1001111111101010001001110011111 (" -b1001111111101010001001110011111 9" -0( -0) -0+ -0, -b10 0 -0' -#6685 -b1 J -b1 { -b1001111111101010001001110011111 \ -b0 X -b1101 ` -1_ -1Z -b1001111111101010001001110011111 m -b1000100 i -b1101 q -0p -0k -b10 P -b1001111111101010001001110011111 /" -b0 +" -b1101 3" -12" -1-" -b1001111111101010001001110011111 @" -b1000100 <" -b1101 D" -0C" -0>" -b10 #" -b100 7 -1' -#6686 -b1010011000 / -b10 2 -#6690 -b11011111 5" -1d -b0 b -0S -b10001 Q -b0 G -b111011111 s -b10001 B -b11 A -1g -b10 O -1:" -b10 "" -b111011111000010001 8 -1= -b1110011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111011111000010001 " -b11 . -0& -b1010110000010101011010110101100 % -b1010110000010101011010110101100 < -b1010110000010101011010110101100 D -b1010110000010101011010110101100 U -b1010110000010101011010110101100 f -b1010110000010101011010110101100 u -b1010110000010101011010110101100 (" -b1010110000010101011010110101100 9" -0( -0) -0+ -0, -b1 0 -0' -#6695 -1!" -1N -b0 J -b10 4 -b10 #" -b1010110000010101011010110101100 @" -b11011111 <" -b110 D" -1C" -b1010110000010101011010110101100 /" -b110 3" -b10 P -b1010110000010101011010110101100 m -b0 i -b110 q -1p -1k -b1010110000010101011010110101100 \ -b10001 X -b110 ` -0Z -1' -#6696 -b1010011001 / -b10 2 -#6700 -b11011101 5" -0d -0g -b11011101 b -1S -b0 Q -b1 G -b111011101 s -b111011101 B -b11 A -1V -b10 O -0:" -b10 "" -b111011101111011101 8 -0= -b111011101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101100110010011000 " -b11 . -1& -b101110001010011010001101011100 % -b101110001010011010001101011100 < -b101110001010011010001101011100 D -b101110001010011010001101011100 U -b101110001010011010001101011100 f -b101110001010011010001101011100 u -b101110001010011010001101011100 (" -b101110001010011010001101011100 9" -0( -0) -0+ -0, -b10 0 -0' -#6703 -b10010110000000000000000000101101 ] -#6705 -b10010110000000000000000000101101 # -0N -b1 J -0!" -b11 . -b10010110000000000000000000101101 ! -b10010110000000000000000000101101 ? -b11 A -b10010110000000000000000000101101 L -b0 } -b101110001010011010001101011100 \ -b0 X -b1101 ` -1Z -b101110001010011010001101011100 m -b11011101 i -b1101 q -0p -0k -b10010110000000000000000000101101 H -b10 P -b101110001010011010001101011100 /" -b1101 3" -b101110001010011010001101011100 @" -b11011101 <" -b1101 D" -0C" -b0 y -b10 #" -b100 7 -1' -#6706 -b1010011010 / -b10 2 -#6710 -17" -b0 5" -0&" -b11111100 $" -b0 x -1d -b0 b -0S -b11110010 Q -b0 G -b11111100 s -b11110010 B -b11 A -1g -b10 O -1:" -b10 "" -b11111100011110010 8 -1= -b1010011 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11111100011110010 " -b11 . -0& -b110011001010100010100101100110 % -b110011001010100010100101100110 < -b110011001010100010100101100110 D -b110011001010100010100101100110 U -b110011001010100010100101100110 f -b110011001010100010100101100110 u -b110011001010100010100101100110 (" -b110011001010100010100101100110 9" -0( -0) -0+ -0, -b1 0 -0' -#6715 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b110011001010100010100101100110 @" -b0 <" -b1111 D" -1C" -1>" -b110011001010100010100101100110 /" -b11111100 +" -b1111 3" -0-" -b10 P -b110011001010100010100101100110 m -b0 i -b1111 q -1p -1k -b110011001010100010100101100110 \ -b11110010 X -b1111 ` -0Z -1' -#6716 -b1010011011 / -b10 2 -#6720 -07" -0:" -b11000011 5" -1&" -b0 $" -b1 x -0d -0g -b11000011 b -1S -b0 Q -b1 G -b111000011 s -b111000011 B -b11 A -1V -b10 O -1)" -b10 "" -b111000011111000011 8 -0= -b111000011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100001000011001111 " -b11 . -1& -b11011000000010001001100110110 % -b11011000000010001001100110110 < -b11011000000010001001100110110 D -b11011000000010001001100110110 U -b11011000000010001001100110110 f -b11011000000010001001100110110 u -b11011000000010001001100110110 (" -b11011000000010001001100110110 9" -0( -0) -0+ -0, -b10 0 -0' -#6723 -b0 0" -b0 ] -#6725 -b0 # -0N -b1 J -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b11011000000010001001100110110 \ -b0 X -b1110 ` -1Z -b11011000000010001001100110110 m -b11000011 i -b1110 q -0p -0k -b0 H -b10 P -b11011000000010001001100110110 /" -b0 +" -b1110 3" -1-" -b11011000000010001001100110110 @" -b11000011 <" -b1110 D" -0C" -0>" -b10 #" -b100 7 -1' -#6726 -b1010011100 / -b10 2 -#6730 -17" -1:" -b0 5" -0&" -0)" -b11111011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11111011 Q -b10 O -b0 G -b11111011 s -b11111011 B -b11 A -b11111011011111011 8 -b11111011 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1010010011010011 " -b11 . -1& -b100010010010100110010101000100 % -b100010010010100110010101000100 < -b100010010010100110010101000100 D -b100010010010100110010101000100 U -b100010010010100110010101000100 f -b100010010010100110010101000100 u -b100010010010100110010101000100 (" -b100010010010100110010101000100 9" -0( -0) -0+ -0, -b1 0 -0' -#6735 -b0 { -b0 J -b100 7 -b10 #" -b100010010010100110010101000100 @" -b0 <" -b1001 D" -1C" -1>" -b100010010010100110010101000100 /" -b11111011 +" -b1001 3" -02" -0-" -b10 P -b100010010010100110010101000100 m -b0 i -b1001 q -1p -1k -b100010010010100110010101000100 \ -b11111011 X -b1001 ` -0_ -0Z -1' -#6736 -b1010011101 / -b10 2 -#6740 -07" -0:" -b1111101 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1111101 b -1S -1V -b0 Q -b10 O -b1 G -b101111101 s -b101111101 B -b11 A -b101111101101111101 8 -b101111101 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11010100110100010 " -b11 . -1& -b1011111100000110101101110111111 % -b1011111100000110101101110111111 < -b1011111100000110101101110111111 D -b1011111100000110101101110111111 U -b1011111100000110101101110111111 f -b1011111100000110101101110111111 u -b1011111100000110101101110111111 (" -b1011111100000110101101110111111 9" -0( -0) -0+ -0, -b10 0 -0' -#6745 -b1 J -b1 { -b1011111100000110101101110111111 \ -b0 X -b0 ` -1_ -1Z -b1011111100000110101101110111111 m -b1111101 i -b0 q -0p -0k -b10 P -b1011111100000110101101110111111 /" -b0 +" -b0 3" -12" -1-" -b1011111100000110101101110111111 @" -b1111101 <" -b0 D" -0C" -0>" -b10 #" -b100 7 -1' -#6746 -b1010011110 / -b10 2 -#6750 -b11111110 5" -b10 "" -b11111110 b -b10 O -b111111110 s -b111111110 B -b11 A -b111111110111111110 8 -b111111110 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101111101110001 " -b11 . -1& -b1001100001100010001011110011000 % -b1001100001100010001011110011000 < -b1001100001100010001011110011000 D -b1001100001100010001011110011000 U -b1001100001100010001011110011000 f -b1001100001100010001011110011000 u -b1001100001100010001011110011000 (" -b1001100001100010001011110011000 9" -0( -0) -0+ -0, -b1 0 -0' -#6755 -b100 7 -b10 #" -b1001100001100010001011110011000 @" -b11111110 <" -b1100 D" -b1001100001100010001011110011000 /" -b1100 3" -b10 P -b1001100001100010001011110011000 m -b11111110 i -b1100 q -b1001100001100010001011110011000 \ -b1100 ` -1' -#6756 -b1010011111 / -b10 2 -#6760 -17" -b0 5" -0&" -b10011111 $" -b0 x -b1 b -b10011111 s -b100000001 B -b11 A -1g -b10 O -1:" -b10 "" -b10011111100000001 8 -1= -b110001011 $ -b10011111100000001 " -b11 . -0& -b1101110010100111101111111011100 % -b1101110010100111101111111011100 < -b1101110010100111101111111011100 D -b1101110010100111101111111011100 U -b1101110010100111101111111011100 f -b1101110010100111101111111011100 u -b1101110010100111101111111011100 (" -b1101110010100111101111111011100 9" -0( -0) -0+ -0, -b10 0 -0' -#6765 -1N -1!" -b0 { -b1101110010100111101111111011100 \ -b1101110010100111101111111011100 m -b1 i -1p -b10 P -b1101110010100111101111111011100 /" -b10011111 +" -0-" -b1101110010100111101111111011100 @" -b0 <" -1C" -1>" -b10 #" -b10 4 -1' -#6766 -b1010100000 / -b10 2 -#6770 -07" -b10111010 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b1000101 Q -b10 O -b0 G -b110111010 s -b1000101 B -b11 A -b110111010001000101 8 -b111010000 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b110111010001000101 " -b11 . -b10101000101011001000010001010001 % -b10101000101011001000010001010001 < -b10101000101011001000010001010001 D -b10101000101011001000010001010001 U -b10101000101011001000010001010001 f -b10101000101011001000010001010001 u -b10101000101011001000010001010001 (" -b10101000101011001000010001010001 9" -0( -0) -0+ -0, -b1 0 -0' -#6773 -b100000000000000000000001001 0" -#6775 -b10000000000000000000000100100000000000000000000000000000000 # -b1 { -b0 J -b11 . -b10000000000000000000000100100000000000000000000000000000000 ! -b10000000000000000000000100100000000000000000000000000000000 ? -b11 A -b100000000000000000000001001 } -b10 4 -b100000000000000000000001001 y -b10 #" -b10101000101011001000010001010001 @" -b10111010 <" -b0 D" -0>" -b10101000101011001000010001010001 /" -b0 +" -b0 3" -1-" -b10 P -b10101000101011001000010001010001 m -b0 i -b0 q -1k -b10101000101011001000010001010001 \ -b1000101 X -b0 ` -0Z -1' -#6776 -b1010100001 / -b10 2 -#6780 -17" -b0 5" -0&" -b1001110 $" -b10 "" -b0 x -b110011 Q -b10 O -b1001110 s -b110011 B -b11 A -b1001110000110011 8 -b111101101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b1001110000110011 " -b11 . -b11010101011011101000111010101010 % -b11010101011011101000111010101010 < -b11010101011011101000111010101010 D -b11010101011011101000111010101010 U -b11010101011011101000111010101010 f -b11010101011011101000111010101010 u -b11010101011011101000111010101010 (" -b11010101011011101000111010101010 9" -0( -0) -0+ -0, -b10 0 -0' -#6785 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b11010101011011101000111010101010 \ -b110011 X -b1011 ` -b11010101011011101000111010101010 m -b1011 q -b10 P -b11010101011011101000111010101010 /" -b1001110 +" -b1011 3" -0-" -b11010101011011101000111010101010 @" -b0 <" -b1011 D" -1>" -b0 y -b10 #" -b10 4 -1' -#6786 -b1010100010 / -b10 2 -#6790 -b1010101 $" -b10 "" -0d -b110 b -1S -b0 Q -b10 O -b1 G -b1010101 s -b100000110 B -b11 A -b1010101100000110 8 -b110000011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1010101100000110 " -b11 . -b10100001000110010010111001000010 % -b10100001000110010010111001000010 < -b10100001000110010010111001000010 D -b10100001000110010010111001000010 U -b10100001000110010010111001000010 f -b10100001000110010010111001000010 u -b10100001000110010010111001000010 (" -b10100001000110010010111001000010 9" -0( -0) -0+ -0, -b1 0 -0' -#6793 -b11000111010010000000000 0" -#6795 -b1100011101001000000000000000000000000000000000000000000 # -b1 J -b11 . -b1100011101001000000000000000000000000000000000000000000 ! -b1100011101001000000000000000000000000000000000000000000 ? -b11 A -b11000111010010000000000 } -b10 4 -b11000111010010000000000 y -b10 #" -b10100001000110010010111001000010 @" -b110 D" -b10100001000110010010111001000010 /" -b1010101 +" -b110 3" -b10 P -b10100001000110010010111001000010 m -b110 i -b110 q -0k -b10100001000110010010111001000010 \ -b0 X -b110 ` -1Z -1' -#6796 -b1010100011 / -b10 2 -#6800 -07" -b1110011 5" -1&" -b0 $" -b10 "" -b1 x -b11100101 b -b10 O -b101110011 s -b111100101 B -b11 A -b101110011111100101 8 -b101100101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101110011111100101 " -b11 . -b10000100011010000000100000001000 % -b10000100011010000000100000001000 < -b10000100011010000000100000001000 D -b10000100011010000000100000001000 U -b10000100011010000000100000001000 f -b10000100011010000000100000001000 u -b10000100011010000000100000001000 (" -b10000100011010000000100000001000 9" -0( -0) -0+ -0, -b10 0 -0' -#6803 -b11000010111101110011110 0" -#6805 -b1100001011110111001111000000000000000000000000000000000 # -b1 { -b11 . -b1100001011110111001111000000000000000000000000000000000 ! -b1100001011110111001111000000000000000000000000000000000 ? -b11 A -b11000010111101110011110 } -b10000100011010000000100000001000 \ -b1001 ` -b10000100011010000000100000001000 m -b11100101 i -b1001 q -b10 P -b10000100011010000000100000001000 /" -b0 +" -b1001 3" -1-" -b10000100011010000000100000001000 @" -b1110011 <" -b1001 D" -0>" -b11000010111101110011110 y -b10 #" -b10 4 -1' -#6806 -b1010100100 / -b10 2 -#6810 -17" -b0 5" -0&" -0)" -b1101110 $" -b0 x -1d -b0 b -0S -0V -b1101110 Q -b0 G -b1101110 s -b1101110 B -b11 A -1g -b10 O -1:" -b10 "" -b1101110001101110 8 -0= -b1101110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b100001011111111010 " -b11 . -1& -b1101010010101100111010111010100 % -b1101010010101100111010111010100 < -b1101010010101100111010111010100 D -b1101010010101100111010111010100 U -b1101010010101100111010111010100 f -b1101010010101100111010111010100 u -b1101010010101100111010111010100 (" -b1101010010101100111010111010100 9" -0( -0) -0+ -0, -b1 0 -0' -#6815 -b0 # -0!" -b0 { -0N -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b1101010010101100111010111010100 @" -b0 <" -b110 D" -1>" -b1101010010101100111010111010100 /" -b1101110 +" -b110 3" -02" -0-" -b10 P -b1101010010101100111010111010100 m -b0 i -b110 q -1k -b1101010010101100111010111010100 \ -b1101110 X -b110 ` -0_ -0Z -1' -#6816 -b1010100101 / -b10 2 -#6820 -07" -0:" -b11000100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11000100 b -1S -1V -b0 Q -b10 O -b1 G -b111000100 s -b111000100 B -b11 A -b111000100111000100 8 -b111000100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11111010110101 " -b11 . -1& -b11101000001110001011001011010000 % -b11101000001110001011001011010000 < -b11101000001110001011001011010000 D -b11101000001110001011001011010000 U -b11101000001110001011001011010000 f -b11101000001110001011001011010000 u -b11101000001110001011001011010000 (" -b11101000001110001011001011010000 9" -0( -0) -0+ -0, -b10 0 -0' -#6825 -b1 J -b1 { -b11101000001110001011001011010000 \ -b0 X -b1110 ` -1_ -1Z -b11101000001110001011001011010000 m -b11000100 i -b1110 q -0p -0k -b10 P -b11101000001110001011001011010000 /" -b0 +" -b1110 3" -12" -1-" -b11101000001110001011001011010000 @" -b11000100 <" -b1110 D" -0C" -0>" -b10 #" -b100 7 -1' -#6826 -b1010100110 / -b10 2 -#6830 -17" -b0 5" -0&" -b11101000 $" -b0 x -1d -b0 b -0S -b1000 Q -b0 G -b11101000 s -b1000 B -b11 A -1g -b10 O -1:" -b10 "" -b11101000000001000 8 -1= -b1010001 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11101000000001000 " -b11 . -0& -b11101000010100100011000011010000 % -b11101000010100100011000011010000 < -b11101000010100100011000011010000 D -b11101000010100100011000011010000 U -b11101000010100100011000011010000 f -b11101000010100100011000011010000 u -b11101000010100100011000011010000 (" -b11101000010100100011000011010000 9" -0( -0) -0+ -0, -b1 0 -0' -#6835 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b11101000010100100011000011010000 @" -b0 <" -b11 D" -1C" -1>" -b11101000010100100011000011010000 /" -b11101000 +" -b11 3" -0-" -b10 P -b11101000010100100011000011010000 m -b0 i -b11 q -1p -1k -b11101000010100100011000011010000 \ -b1000 X -b11 ` -0Z -1' -#6836 -b1010100111 / -b10 2 -#6840 -07" -0:" -b10001010 5" -1&" -b0 $" -b1 x -0d -0g -b10001010 b -1S -b0 Q -b1 G -b110001010 s -b110001010 B -b11 A -1V -b10 O -1)" -b10 "" -b110001010110001010 8 -0= -b110001010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11111100111010111 " -b11 . -1& -b10011000010110101110010000110000 % -b10011000010110101110010000110000 < -b10011000010110101110010000110000 D -b10011000010110101110010000110000 U -b10011000010110101110010000110000 f -b10011000010110101110010000110000 u -b10011000010110101110010000110000 (" -b10011000010110101110010000110000 9" -0( -0) -0+ -0, -b10 0 -0' -#6843 -b0 0" -b110011011011100011100101 ] -#6845 -b110011011011100011100101 # -0N -b1 J -0!" -b1 { -b11 . -b110011011011100011100101 ! -b110011011011100011100101 ? -b11 A -b110011011011100011100101 L -b10011000010110101110010000110000 \ -b0 X -b1101 ` -1Z -b10011000010110101110010000110000 m -b10001010 i -b1101 q -0p -0k -b110011011011100011100101 H -b10 P -b10011000010110101110010000110000 /" -b0 +" -b1101 3" -1-" -b10011000010110101110010000110000 @" -b10001010 <" -b1101 D" -0C" -0>" -b10 #" -b100 7 -1' -#6846 -b1010101000 / -b10 2 -#6850 -17" -1:" -b0 5" -0&" -0)" -b10001111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10001111 Q -b10 O -b0 G -b10001111 s -b10001111 B -b11 A -b10001111010001111 8 -b10001111 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b100000110010101011 " -b11 . -1& -b10001011000100110101101000010110 % -b10001011000100110101101000010110 < -b10001011000100110101101000010110 D -b10001011000100110101101000010110 U -b10001011000100110101101000010110 f -b10001011000100110101101000010110 u -b10001011000100110101101000010110 (" -b10001011000100110101101000010110 9" -0( -0) -0+ -0, -b1 0 -0' -#6855 -b0 { -b0 J -b100 7 -b10 #" -b10001011000100110101101000010110 @" -b0 <" -b1111 D" -1C" -1>" -b10001011000100110101101000010110 /" -b10001111 +" -b1111 3" -02" -0-" -b10 P -b10001011000100110101101000010110 m -b0 i -b1111 q -1p -1k -b10001011000100110101101000010110 \ -b10001111 X -b1111 ` -0_ -0Z -1' -#6856 -b1010101001 / -b10 2 -#6860 -b1111101 $" -b10 "" -b1111101 Q -b10 O -b1111101 s -b1111101 B -b11 A -b1111101001111101 8 -b1111101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11110101010000101 " -b11 . -1& -b10111101110000111111110001111011 % -b10111101110000111111110001111011 < -b10111101110000111111110001111011 D -b10111101110000111111110001111011 U -b10111101110000111111110001111011 f -b10111101110000111111110001111011 u -b10111101110000111111110001111011 (" -b10111101110000111111110001111011 9" -0( -0) -0+ -0, -b10 0 -0' -#6865 -b10111101110000111111110001111011 \ -b1111101 X -b1010 ` -b10111101110000111111110001111011 m -b1010 q -b10 P -b10111101110000111111110001111011 /" -b1111101 +" -b1010 3" -b10111101110000111111110001111011 @" -b1010 D" -b10 #" -b100 7 -1' -#6866 -b1010101010 / -b10 2 -#6870 -b11010011 $" -b10 "" -b11010011 Q -b10 O -b11010011 s -b11010011 B -b11 A -b11010011011010011 8 -b11010011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100111101110000 " -b11 . -1& -b1101100111010111010001111011001 % -b1101100111010111010001111011001 < -b1101100111010111010001111011001 D -b1101100111010111010001111011001 U -b1101100111010111010001111011001 f -b1101100111010111010001111011001 u -b1101100111010111010001111011001 (" -b1101100111010111010001111011001 9" -0( -0) -0+ -0, -b1 0 -0' -#6875 -b100 7 -b10 #" -b1101100111010111010001111011001 @" -b1101 D" -b1101100111010111010001111011001 /" -b11010011 +" -b1101 3" -b10 P -b1101100111010111010001111011001 m -b1101 q -b1101100111010111010001111011001 \ -b11010011 X -b1101 ` -1' -#6876 -b1010101011 / -b10 2 -#6880 -07" -0:" -b10100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10100 b -1S -1V -b0 Q -b10 O -b1 G -b100010100 s -b100010100 B -b11 A -b100010100100010100 8 -b100010100 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b100001001100111 " -b11 . -1& -b101011000000001000011101010110 % -b101011000000001000011101010110 < -b101011000000001000011101010110 D -b101011000000001000011101010110 U -b101011000000001000011101010110 f -b101011000000001000011101010110 u -b101011000000001000011101010110 (" -b101011000000001000011101010110 9" -0( -0) -0+ -0, -b10 0 -0' -#6885 -b1 J -b1 { -b101011000000001000011101010110 \ -b0 X -b11 ` -1_ -1Z -b101011000000001000011101010110 m -b10100 i -b11 q -0p -0k -b10 P -b101011000000001000011101010110 /" -b0 +" -b11 3" -12" -1-" -b101011000000001000011101010110 @" -b10100 <" -b11 D" -0C" -0>" -b10 #" -b100 7 -1' -#6886 -b1010101100 / -b10 2 -#6890 -b10010 5" -b100111 b -b100010010 s -b100100111 B -b11 A -1g -b10 O -1:" -b10 "" -b100010010100100111 8 -1= -b10111000 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100010010100100111 " -b11 . -0& -b11111011001110000001101011110110 % -b11111011001110000001101011110110 < -b11111011001110000001101011110110 D -b11111011001110000001101011110110 U -b11111011001110000001101011110110 f -b11111011001110000001101011110110 u -b11111011001110000001101011110110 (" -b11111011001110000001101011110110 9" -0( -0) -0+ -0, -b1 0 -0' -#6895 -1!" -1N -b10 4 -b10 #" -b11111011001110000001101011110110 @" -b10010 <" -b0 D" -1C" -b11111011001110000001101011110110 /" -b0 3" -b10 P -b11111011001110000001101011110110 m -b100111 i -b0 q -1p -b11111011001110000001101011110110 \ -b0 ` -1' -#6896 -b1010101101 / -b10 2 -#6900 -17" -b0 5" -0&" -0)" -b10111 $" -b0 x -1d -b0 b -0S -0V -b10111 Q -b0 G -b10111 s -b10111 B -b11 A -1g -b10 O -1:" -b10 "" -b10111000010111 8 -0= -b10111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1110011001111111 " -b11 . -1& -b11111101011110110101111011111010 % -b11111101011110110101111011111010 < -b11111101011110110101111011111010 D -b11111101011110110101111011111010 U -b11111101011110110101111011111010 f -b11111101011110110101111011111010 u -b11111101011110110101111011111010 (" -b11111101011110110101111011111010 9" -0( -0) -0+ -0, -b10 0 -0' -#6903 -b111100000101111111100000000 A" -b111100000000 n -#6905 -b11110000010111111110000000000000000000000000000111100000000 # -0N -b0 J -0!" -b0 { -b11 . -b11110000010111111110000000000000000000000000000111100000000 ! -b11110000010111111110000000000000000000000000000111100000000 ? -b11 A -b111100000000 L -b111100000101111111100000000 } -b11111101011110110101111011111010 \ -b10111 X -b101 ` -0_ -0Z -b11111101011110110101111011111010 m -b0 i -b101 q -1k -b111100000000 H -b10 P -b11111101011110110101111011111010 /" -b10111 +" -b101 3" -02" -0-" -b11111101011110110101111011111010 @" -b0 <" -b101 D" -1>" -b111100000101111111100000000 y -b10 #" -b100 7 -1' -#6906 -b1010101110 / -b10 2 -#6910 -07" -0:" -b10 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10 b -1S -1V -b0 Q -b10 O -b1 G -b100000010 s -b100000010 B -b11 A -b100000010100000010 8 -b100000010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b1010011101111110 " -b11 . -1& -b1110110110001100101100011101 % -b1110110110001100101100011101 < -b1110110110001100101100011101 D -b1110110110001100101100011101 U -b1110110110001100101100011101 f -b1110110110001100101100011101 u -b1110110110001100101100011101 (" -b1110110110001100101100011101 9" -0( -0) -0+ -0, -b1 0 -0' -#6915 -b1 { -b1 J -b100 7 -b10 #" -b1110110110001100101100011101 @" -b10 <" -b11 D" -0C" -0>" -b1110110110001100101100011101 /" -b0 +" -b11 3" -12" -1-" -b10 P -b1110110110001100101100011101 m -b10 i -b11 q -0p -0k -b1110110110001100101100011101 \ -b0 X -b11 ` -1_ -1Z -1' -#6916 -b1010101111 / -b10 2 -#6920 -17" -b0 5" -0&" -b10011110 $" -b0 x -b11101011 b -b10011110 s -b111101011 B -b11 A -1g -b10 O -1:" -b10 "" -b10011110111101011 8 -1= -b11000000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10011110111101011 " -b11 . -0& -b11000010101101111100010010000101 % -b11000010101101111100010010000101 < -b11000010101101111100010010000101 D -b11000010101101111100010010000101 U -b11000010101101111100010010000101 f -b11000010101101111100010010000101 u -b11000010101101111100010010000101 (" -b11000010101101111100010010000101 9" -0( -0) -0+ -0, -b10 0 -0' -#6925 -1N -1!" -b0 { -b11000010101101111100010010000101 \ -b100 ` -b11000010101101111100010010000101 m -b11101011 i -b100 q -1p -b10 P -b11000010101101111100010010000101 /" -b10011110 +" -b100 3" -0-" -b11000010101101111100010010000101 @" -b0 <" -b100 D" -1C" -1>" -b10 #" -b10 4 -1' -#6926 -b1010110000 / -b10 2 -#6930 -07" -0:" -b100000 5" -1&" -b0 $" -b1 x -b100000 b -b100100000 s -b100100000 B -b11 A -0g -b10 O -1)" -b10 "" -b100100000100100000 8 -0= -b100100000 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b1101011111111011 " -b11 . -1& -b1111111010001110101100111111110 % -b1111111010001110101100111111110 < -b1111111010001110101100111111110 D -b1111111010001110101100111111110 U -b1111111010001110101100111111110 f -b1111111010001110101100111111110 u -b1111111010001110101100111111110 (" -b1111111010001110101100111111110 9" -0( -0) -0+ -0, -b1 0 -0' -#6933 -b11101000010111100000000000000000 0" -b100110000000000000000000011101 n -#6935 -b1110100001011110000000000000000000100110000000000000000000011101 # -0!" -b1 { -0N -b11 . -b1110100001011110000000000000000000100110000000000000000000011101 ! -b1110100001011110000000000000000000100110000000000000000000011101 ? -b11 A -b11101000010111100000000000000000 } -b100110000000000000000000011101 L -b100 7 -b11101000010111100000000000000000 y -b10 #" -b1111111010001110101100111111110 @" -b100000 <" -b1011 D" -0C" -0>" -b1111111010001110101100111111110 /" -b0 +" -b1011 3" -1-" -b100110000000000000000000011101 H -b10 P -b1111111010001110101100111111110 m -b100000 i -b1011 q -0p -b1111111010001110101100111111110 \ -b1011 ` -1' -#6936 -b1010110001 / -b10 2 -#6940 -17" -b0 5" -0&" -b10000010 $" -b0 x -b1101 b -b10000010 s -b100001101 B -b11 A -1g -b10 O -1:" -b10 "" -b10000010100001101 8 -1= -b10110001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10000010100001101 " -b11 . -0& -b110001000001101000110101100010 % -b110001000001101000110101100010 < -b110001000001101000110101100010 D -b110001000001101000110101100010 U -b110001000001101000110101100010 f -b110001000001101000110101100010 u -b110001000001101000110101100010 (" -b110001000001101000110101100010 9" -0( -0) -0+ -0, -b10 0 -0' -#6945 -1N -1!" -b0 { -b110001000001101000110101100010 \ -b10 ` -b110001000001101000110101100010 m -b1101 i -b10 q -1p -b10 P -b110001000001101000110101100010 /" -b10000010 +" -b10 3" -0-" -b110001000001101000110101100010 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b10 4 -1' -#6946 -b1010110010 / -b10 2 -#6950 -07" -0:" -b1001111 5" -1&" -b0 $" -b1 x -b1001111 b -b101001111 s -b101001111 B -b11 A -0g -b10 O -1)" -b10 "" -b101001111101001111 8 -0= -b101001111 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b10001111001100010 " -b11 . -1& -b1011010111101001010100110110101 % -b1011010111101001010100110110101 < -b1011010111101001010100110110101 D -b1011010111101001010100110110101 U -b1011010111101001010100110110101 f -b1011010111101001010100110110101 u -b1011010111101001010100110110101 (" -b1011010111101001010100110110101 9" -0( -0) -0+ -0, -b1 0 -0' -#6953 -b10110101110001100101010010000001 0" -b0 n -#6955 -b1011010111000110010101001000000100000000000000000000000000000000 # -0!" -b1 { -0N -b11 . -b1011010111000110010101001000000100000000000000000000000000000000 ! -b1011010111000110010101001000000100000000000000000000000000000000 ? -b11 A -b10110101110001100101010010000001 } -b0 L -b100 7 -b10110101110001100101010010000001 y -b10 #" -b1011010111101001010100110110101 @" -b1001111 <" -b1101 D" -0C" -0>" -b1011010111101001010100110110101 /" -b0 +" -b1101 3" -1-" -b0 H -b10 P -b1011010111101001010100110110101 m -b1001111 i -b1101 q -0p -b1011010111101001010100110110101 \ -b1101 ` -1' -#6956 -b1010110011 / -b10 2 -#6960 -17" -b0 5" -0&" -b1001110 $" -b0 x -b101 b -b1001110 s -b100000101 B -b11 A -1g -b10 O -1:" -b10 "" -b1001110100000101 8 -1= -b1010100 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1001110100000101 " -b11 . -0& -b10111001111111100011000001110011 % -b10111001111111100011000001110011 < -b10111001111111100011000001110011 D -b10111001111111100011000001110011 U -b10111001111111100011000001110011 f -b10111001111111100011000001110011 u -b10111001111111100011000001110011 (" -b10111001111111100011000001110011 9" -0( -0) -0+ -0, -b10 0 -0' -#6965 -1N -1!" -b0 { -b10111001111111100011000001110011 \ -b101 ` -b10111001111111100011000001110011 m -b101 i -b101 q -1p -b10 P -b10111001111111100011000001110011 /" -b1001110 +" -b101 3" -0-" -b10111001111111100011000001110011 @" -b0 <" -b101 D" -1C" -1>" -b10 #" -b10 4 -1' -#6966 -b1010110100 / -b10 2 -#6970 -07" -b101011 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b110000 Q -b10 O -b0 G -b100101011 s -b110000 B -b11 A -b100101011000110000 8 -b1000110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b100101011000110000 " -b11 . -b11111001010101010111011011110010 % -b11111001010101010111011011110010 < -b11111001010101010111011011110010 D -b11111001010101010111011011110010 U -b11111001010101010111011011110010 f -b11111001010101010111011011110010 u -b11111001010101010111011011110010 (" -b11111001010101010111011011110010 9" -0( -0) -0+ -0, -b1 0 -0' -#6973 -b11000111010010000000000 0" -b11011101000000000000000010111010 n -#6975 -b1100011101001000000000011011101000000000000000010111010 # -b1 { -b0 J -b11 . -b1100011101001000000000011011101000000000000000010111010 ! -b1100011101001000000000011011101000000000000000010111010 ? -b11 A -b11000111010010000000000 } -b11011101000000000000000010111010 L -b10 4 -b11000111010010000000000 y -b10 #" -b11111001010101010111011011110010 @" -b101011 <" -b100 D" -0>" -b11111001010101010111011011110010 /" -b0 +" -b100 3" -1-" -b11011101000000000000000010111010 H -b10 P -b11111001010101010111011011110010 m -b0 i -b100 q -1k -b11111001010101010111011011110010 \ -b110000 X -b100 ` -0Z -1' -#6976 -b1010110101 / -b10 2 -#6980 -17" -b0 5" -0&" -b10001 $" -b10 "" -b0 x -b100010 Q -b10 O -b10001 s -b100010 B -b11 A -b10001000100010 8 -b1000100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b10001000100010 " -b11 . -b1000101101111011111110110001011 % -b1000101101111011111110110001011 < -b1000101101111011111110110001011 D -b1000101101111011111110110001011 U -b1000101101111011111110110001011 f -b1000101101111011111110110001011 u -b1000101101111011111110110001011 (" -b1000101101111011111110110001011 9" -0( -0) -0+ -0, -b10 0 -0' -#6983 -b0 A" -b100000100000000000000000 ] -#6985 -b100000100000000000000000 # -b0 { -b11 . -b100000100000000000000000 ! -b100000100000000000000000 ? -b11 A -b100000100000000000000000 L -b0 } -b1000101101111011111110110001011 \ -b100010 X -b1110 ` -b1000101101111011111110110001011 m -b1110 q -b100000100000000000000000 H -b10 P -b1000101101111011111110110001011 /" -b10001 +" -b1110 3" -0-" -b1000101101111011111110110001011 @" -b0 <" -b1110 D" -1>" -b0 y -b10 #" -b10 4 -1' -#6986 -b1010110110 / -b10 2 -#6990 -07" -0:" -b1101 5" -1&" -b0 $" -b1 x -0d -0g -b1101 b -1S -b0 Q -b1 G -b100001101 s -b100001101 B -b11 A -1V -b10 O -1)" -b10 "" -b100001101100001101 8 -0= -b100001101 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b110101101111011010 " -b11 . -1& -b1111110110001100000000111111101 % -b1111110110001100000000111111101 < -b1111110110001100000000111111101 D -b1111110110001100000000111111101 U -b1111110110001100000000111111101 f -b1111110110001100000000111111101 u -b1111110110001100000000111111101 (" -b1111110110001100000000111111101 9" -0( -0) -0+ -0, -b1 0 -0' -#6993 -b10010110000000000000000000101101 0" -b0 ] -#6995 -b1001011000000000000000000010110100000000000000000000000000000000 # -0!" -b1 { -0N -b1 J -b11 . -b1001011000000000000000000010110100000000000000000000000000000000 ! -b1001011000000000000000000010110100000000000000000000000000000000 ? -b11 A -b10010110000000000000000000101101 } -b0 L -b100 7 -b10010110000000000000000000101101 y -b10 #" -b1111110110001100000000111111101 @" -b1101 <" -b1010 D" -0C" -0>" -b1111110110001100000000111111101 /" -b0 +" -b1010 3" -1-" -b0 H -b10 P -b1111110110001100000000111111101 m -b1101 i -b1010 q -0p -0k -b1111110110001100000000111111101 \ -b0 X -b1010 ` -1Z -1' -#6996 -b1010110111 / -b10 2 -#7000 -17" -b0 5" -0&" -b10111110 $" -b0 x -1d -b0 b -0S -b1101000 Q -b0 G -b10111110 s -b1101000 B -b11 A -1g -b10 O -1:" -b10 "" -b10111110001101000 8 -1= -b101100011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b10111110001101000 " -b11 . -0& -b1110000110001000010000111100001 % -b1110000110001000010000111100001 < -b1110000110001000010000111100001 D -b1110000110001000010000111100001 U -b1110000110001000010000111100001 f -b1110000110001000010000111100001 u -b1110000110001000010000111100001 (" -b1110000110001000010000111100001 9" -0( -0) -0+ -0, -b10 0 -0' -#7005 -1N -b0 J -1!" -b0 { -b1110000110001000010000111100001 \ -b1101000 X -b110 ` -0Z -b1110000110001000010000111100001 m -b0 i -b110 q -1p -1k -b10 P -b1110000110001000010000111100001 /" -b10111110 +" -b110 3" -0-" -b1110000110001000010000111100001 @" -b0 <" -b110 D" -1C" -1>" -b10 #" -b10 4 -1' -#7006 -b1010111000 / -b10 2 -#7010 -b101011 $" -b10 "" -b11011100 Q -b10 O -b101011 s -b11011100 B -b11 A -b101011011011100 8 -b110100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101011011011100 " -b11 . -b11000001011001001110100110000 % -b11000001011001001110100110000 < -b11000001011001001110100110000 D -b11000001011001001110100110000 U -b11000001011001001110100110000 f -b11000001011001001110100110000 u -b11000001011001001110100110000 (" -b11000001011001001110100110000 9" -0( -0) -0+ -0, -b1 0 -0' -#7013 -b0 0" -b10010010101001100000000 ] -#7015 -b10010010101001100000000 # -b11 . -b10010010101001100000000 ! -b10010010101001100000000 ? -b11 A -b0 } -b10010010101001100000000 L -b10 4 -b0 y -b10 #" -b11000001011001001110100110000 @" -b1110 D" -b11000001011001001110100110000 /" -b101011 +" -b1110 3" -b10010010101001100000000 H -b10 P -b11000001011001001110100110000 m -b1110 q -b11000001011001001110100110000 \ -b11011100 X -b1110 ` -1' -#7016 -b1010111001 / -b10 2 -#7020 -07" -b1010011 5" -1&" -b0 $" -b10 "" -b1 x -b11111111 Q -b10 O -b101010011 s -b11111111 B -b11 A -b101010011011111111 8 -b111100011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101010011011111111 " -b11 . -b1100010110111101110000111000101 % -b1100010110111101110000111000101 < -b1100010110111101110000111000101 D -b1100010110111101110000111000101 U -b1100010110111101110000111000101 f -b1100010110111101110000111000101 u -b1100010110111101110000111000101 (" -b1100010110111101110000111000101 9" -0( -0) -0+ -0, -b10 0 -0' -#7023 -b1110000010000010110100000000 0" -b10100000000000000000000 ] -#7025 -b111000001000001011010000000000000000010100000000000000000000 # -b1 { -b11 . -b111000001000001011010000000000000000010100000000000000000000 ! -b111000001000001011010000000000000000010100000000000000000000 ? -b11 A -b10100000000000000000000 L -b1110000010000010110100000000 } -b1100010110111101110000111000101 \ -b11111111 X -b1010 ` -b1100010110111101110000111000101 m -b1010 q -b10100000000000000000000 H -b10 P -b1100010110111101110000111000101 /" -b0 +" -b1010 3" -1-" -b1100010110111101110000111000101 @" -b1010011 <" -b1010 D" -0>" -b1110000010000010110100000000 y -b10 #" -b10 4 -1' -#7026 -b1010111010 / -b10 2 -#7030 -17" -b0 5" -0&" -b10101100 $" -b10 "" -b0 x -b1100001 Q -b10 O -b10101100 s -b1100001 B -b11 A -b10101100001100001 8 -b11110111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10101100001100001 " -b11 . -b10011100000000110101101000111000 % -b10011100000000110101101000111000 < -b10011100000000110101101000111000 D -b10011100000000110101101000111000 U -b10011100000000110101101000111000 f -b10011100000000110101101000111000 u -b10011100000000110101101000111000 (" -b10011100000000110101101000111000 9" -0( -0) -0+ -0, -b1 0 -0' -#7033 -b10000011001010000000000000000000 A" -b0 ] -#7035 -b1000001100101000000000000000000000000000000000000000000000000000 # -b0 { -b11 . -b1000001100101000000000000000000000000000000000000000000000000000 ! -b1000001100101000000000000000000000000000000000000000000000000000 ? -b11 A -b10000011001010000000000000000000 } -b0 L -b10 4 -b10000011001010000000000000000000 y -b10 #" -b10011100000000110101101000111000 @" -b0 <" -b1000 D" -1>" -b10011100000000110101101000111000 /" -b10101100 +" -b1000 3" -0-" -b0 H -b10 P -b10011100000000110101101000111000 m -b1000 q -b10011100000000110101101000111000 \ -b1100001 X -b1000 ` -1' -#7036 -b1010111011 / -b10 2 -#7040 -07" -0:" -b10111010 5" -1&" -b0 $" -b1 x -0d -0g -b10111010 b -1S -b0 Q -b1 G -b110111010 s -b110111010 B -b11 A -1V -b10 O -1)" -b10 "" -b110111010110111010 8 -0= -b110111010 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11110001001100000 " -b11 . -1& -b11110100100000001010011011101001 % -b11110100100000001010011011101001 < -b11110100100000001010011011101001 D -b11110100100000001010011011101001 U -b11110100100000001010011011101001 f -b11110100100000001010011011101001 u -b11110100100000001010011011101001 (" -b11110100100000001010011011101001 9" -0( -0) -0+ -0, -b10 0 -0' -#7043 -b0 0" -#7045 -b0 # -0N -b1 J -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b11110100100000001010011011101001 \ -b0 X -b1010 ` -1Z -b11110100100000001010011011101001 m -b10111010 i -b1010 q -0p -0k -b10 P -b11110100100000001010011011101001 /" -b0 +" -b1010 3" -1-" -b11110100100000001010011011101001 @" -b10111010 <" -b1010 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#7046 -b1010111100 / -b10 2 -#7050 -17" -b0 5" -0&" -b1010001 $" -b0 x -1d -b0 b -0S -b11000011 Q -b0 G -b1010001 s -b11000011 B -b11 A -1g -b10 O -1:" -b10 "" -b1010001011000011 8 -1= -b11000000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1010001011000011 " -b11 . -0& -b1010000001100001010101110100000 % -b1010000001100001010101110100000 < -b1010000001100001010101110100000 D -b1010000001100001010101110100000 U -b1010000001100001010101110100000 f -b1010000001100001010101110100000 u -b1010000001100001010101110100000 (" -b1010000001100001010101110100000 9" -0( -0) -0+ -0, -b1 0 -0' -#7055 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1010000001100001010101110100000 @" -b0 <" -b101 D" -1C" -1>" -b1010000001100001010101110100000 /" -b1010001 +" -b101 3" -0-" -b10 P -b1010000001100001010101110100000 m -b0 i -b101 q -1p -1k -b1010000001100001010101110100000 \ -b11000011 X -b101 ` -0Z -1' -#7056 -b1010111101 / -b10 2 -#7060 -07" -b111111 5" -1&" -b0 $" -b10 "" -b1 x -0d -b111101 b -1S -b0 Q -b10 O -b1 G -b100111111 s -b100111101 B -b11 A -b100111111100111101 8 -b110101111 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100111111100111101 " -b11 . -b1000011111110010110100010000 % -b1000011111110010110100010000 < -b1000011111110010110100010000 D -b1000011111110010110100010000 U -b1000011111110010110100010000 f -b1000011111110010110100010000 u -b1000011111110010110100010000 (" -b1000011111110010110100010000 9" -0( -0) -0+ -0, -b10 0 -0' -#7063 -b1101 ] -#7065 -b1101 # -b1 J -b1 { -b11 . -b1101 ! -b1101 ? -b11 A -b1101 L -b1000011111110010110100010000 \ -b0 X -b1101 ` -1Z -b1000011111110010110100010000 m -b111101 i -b1101 q -0k -b1101 H -b10 P -b1000011111110010110100010000 /" -b0 +" -b1101 3" -1-" -b1000011111110010110100010000 @" -b111111 <" -b1101 D" -0>" -b10 #" -b10 4 -1' -#7066 -b1010111110 / -b10 2 -#7070 -17" -b0 5" -0&" -0)" -b10011 $" -b0 x -1d -b0 b -0S -0V -b10011 Q -b0 G -b10011 s -b10011 B -b11 A -1g -b10 O -1:" -b10 "" -b10011000010011 8 -0= -b10011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b110110111101000 " -b11 . -1& -b10111111110101101111100001111111 % -b10111111110101101111100001111111 < -b10111111110101101111100001111111 D -b10111111110101101111100001111111 U -b10111111110101101111100001111111 f -b10111111110101101111100001111111 u -b10111111110101101111100001111111 (" -b10111111110101101111100001111111 9" -0( -0) -0+ -0, -b1 0 -0' -#7073 -b0 A" -b0 n -#7075 -b0 # -0!" -b0 { -0N -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b10111111110101101111100001111111 @" -b0 <" -b111 D" -1>" -b10111111110101101111100001111111 /" -b10011 +" -b111 3" -02" -0-" -b0 H -b10 P -b10111111110101101111100001111111 m -b0 i -b111 q -1k -b10111111110101101111100001111111 \ -b10011 X -b111 ` -0_ -0Z -1' -#7076 -b1010111111 / -b10 2 -#7080 -b10111011 $" -0d -b1101010 b -1S -b0 Q -b1 G -b10111011 s -b101101010 B -b11 A -1V -b10 O -1)" -b10 "" -b10111011101101010 8 -1= -b101000111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111011101101010 " -b11 . -0& -b11110011000001011001100011100110 % -b11110011000001011001100011100110 < -b11110011000001011001100011100110 D -b11110011000001011001100011100110 U -b11110011000001011001100011100110 f -b11110011000001011001100011100110 u -b11110011000001011001100011100110 (" -b11110011000001011001100011100110 9" -0( -0) -0+ -0, -b10 0 -0' -#7085 -1N -b1 J -1!" -b11110011000001011001100011100110 \ -b0 X -b101 ` -1_ -1Z -b11110011000001011001100011100110 m -b1101010 i -b101 q -0k -b10 P -b11110011000001011001100011100110 /" -b10111011 +" -b101 3" -12" -b11110011000001011001100011100110 @" -b101 D" -b10 #" -b10 4 -1' -#7086 -b1011000000 / -b10 2 -#7090 -b11000110 $" -1d -b0 b -0S -0V -b11000110 Q -b0 G -b11000110 s -b11000110 B -b11 A -1g -b10 O -0)" -b10 "" -b11000110011000110 8 -0= -b11000110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101001101011101011 " -b11 . -1& -b11000010000000110100100010000100 % -b11000010000000110100100010000100 < -b11000010000000110100100010000100 D -b11000010000000110100100010000100 U -b11000010000000110100100010000100 f -b11000010000000110100100010000100 u -b11000010000000110100100010000100 (" -b11000010000000110100100010000100 9" -0( -0) -0+ -0, -b1 0 -0' -#7095 -0!" -0N -b0 J -b100 7 -b10 #" -b11000010000000110100100010000100 @" -b110 D" -b11000010000000110100100010000100 /" -b11000110 +" -b110 3" -02" -b10 P -b11000010000000110100100010000100 m -b0 i -b110 q -1k -b11000010000000110100100010000100 \ -b11000110 X -b110 ` -0_ -0Z -1' -#7096 -b1011000001 / -b10 2 -#7100 -07" -0:" -b11011110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11011110 b -1S -1V -b0 Q -b10 O -b1 G -b111011110 s -b111011110 B -b11 A -b111011110111011110 8 -b111011110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101101100111101011 " -b11 . -1& -b101011010000011001011101010110 % -b101011010000011001011101010110 < -b101011010000011001011101010110 D -b101011010000011001011101010110 U -b101011010000011001011101010110 f -b101011010000011001011101010110 u -b101011010000011001011101010110 (" -b101011010000011001011101010110 9" -0( -0) -0+ -0, -b10 0 -0' -#7105 -b1 J -b1 { -b101011010000011001011101010110 \ -b0 X -b11 ` -1_ -1Z -b101011010000011001011101010110 m -b11011110 i -b11 q -0p -0k -b10 P -b101011010000011001011101010110 /" -b0 +" -b11 3" -12" -1-" -b101011010000011001011101010110 @" -b11011110 <" -b11 D" -0C" -0>" -b10 #" -b100 7 -1' -#7106 -b1011000010 / -b10 2 -#7110 -b11011100 5" -b10100100 b -b111011100 s -b110100100 B -b11 A -1g -b10 O -1:" -b10 "" -b111011100110100100 8 -1= -b1111011 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111011100110100100 " -b11 . -0& -b10000001111000101101110000000011 % -b10000001111000101101110000000011 < -b10000001111000101101110000000011 D -b10000001111000101101110000000011 U -b10000001111000101101110000000011 f -b10000001111000101101110000000011 u -b10000001111000101101110000000011 (" -b10000001111000101101110000000011 9" -0( -0) -0+ -0, -b1 0 -0' -#7115 -1!" -1N -b10 4 -b10 #" -b10000001111000101101110000000011 @" -b11011100 <" -b1001 D" -1C" -b10000001111000101101110000000011 /" -b1001 3" -b10 P -b10000001111000101101110000000011 m -b10100100 i -b1001 q -1p -b10000001111000101101110000000011 \ -b1001 ` -1' -#7116 -b1011000011 / -b10 2 -#7120 -17" -b0 5" -0&" -0)" -b10111001 $" -b0 x -1d -b0 b -0S -0V -b10111001 Q -b0 G -b10111001 s -b10111001 B -b11 A -1g -b10 O -1:" -b10 "" -b10111001010111001 8 -0= -b10111001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10100100001100010 " -b11 . -1& -b10001100000100111000011000011000 % -b10001100000100111000011000011000 < -b10001100000100111000011000011000 D -b10001100000100111000011000011000 U -b10001100000100111000011000011000 f -b10001100000100111000011000011000 u -b10001100000100111000011000011000 (" -b10001100000100111000011000011000 9" -0( -0) -0+ -0, -b10 0 -0' -#7123 -b1001001000000001111101110010011 n -#7125 -b1001001000000001111101110010011 # -0N -b0 J -0!" -b0 { -b11 . -b1001001000000001111101110010011 ! -b1001001000000001111101110010011 ? -b11 A -b1001001000000001111101110010011 L -b10001100000100111000011000011000 \ -b10111001 X -b10 ` -0_ -0Z -b10001100000100111000011000011000 m -b0 i -b10 q -1k -b1001001000000001111101110010011 H -b10 P -b10001100000100111000011000011000 /" -b10111001 +" -b10 3" -02" -0-" -b10001100000100111000011000011000 @" -b0 <" -b10 D" -1>" -b10 #" -b100 7 -1' -#7126 -b1011000100 / -b10 2 -#7130 -07" -0:" -b10111011 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10111011 b -1S -1V -b0 Q -b10 O -b1 G -b110111011 s -b110111011 B -b11 A -b110111011110111011 8 -b110111011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101001001001010010 " -b11 . -1& -b1110010111001111101011111100101 % -b1110010111001111101011111100101 < -b1110010111001111101011111100101 D -b1110010111001111101011111100101 U -b1110010111001111101011111100101 f -b1110010111001111101011111100101 u -b1110010111001111101011111100101 (" -b1110010111001111101011111100101 9" -0( -0) -0+ -0, -b1 0 -0' -#7135 -b1 { -b1 J -b100 7 -b10 #" -b1110010111001111101011111100101 @" -b10111011 <" -b1110 D" -0C" -0>" -b1110010111001111101011111100101 /" -b0 +" -b1110 3" -12" -1-" -b10 P -b1110010111001111101011111100101 m -b10111011 i -b1110 q -0p -0k -b1110010111001111101011111100101 \ -b0 X -b1110 ` -1_ -1Z -1' -#7136 -b1011000101 / -b10 2 -#7140 -17" -b0 5" -0&" -b11100110 $" -b0 x -b1000010 b -b11100110 s -b101000010 B -b11 A -1g -b10 O -1:" -b10 "" -b11100110101000010 8 -1= -b11111111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11100110101000010 " -b11 . -0& -b11000000110010011001000010000001 % -b11000000110010011001000010000001 < -b11000000110010011001000010000001 D -b11000000110010011001000010000001 U -b11000000110010011001000010000001 f -b11000000110010011001000010000001 u -b11000000110010011001000010000001 (" -b11000000110010011001000010000001 9" -0( -0) -0+ -0, -b10 0 -0' -#7145 -1N -1!" -b0 { -b11000000110010011001000010000001 \ -b10 ` -b11000000110010011001000010000001 m -b1000010 i -b10 q -1p -b10 P -b11000000110010011001000010000001 /" -b11100110 +" -b10 3" -0-" -b11000000110010011001000010000001 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b10 4 -1' -#7146 -b1011000110 / -b10 2 -#7150 -07" -b1100100 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b11 Q -b10 O -b0 G -b101100100 s -b11 B -b11 A -b101100100000000011 8 -b101001011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101100100000000011 " -b11 . -b1111000001001100111100011110 % -b1111000001001100111100011110 < -b1111000001001100111100011110 D -b1111000001001100111100011110 U -b1111000001001100111100011110 f -b1111000001001100111100011110 u -b1111000001001100111100011110 (" -b1111000001001100111100011110 9" -0( -0) -0+ -0, -b1 0 -0' -#7153 -b100000101100000000 n -#7155 -b100000101100000000 # -b1 { -b0 J -b11 . -b100000101100000000 ! -b100000101100000000 ? -b11 A -b100000101100000000 L -b10 4 -b10 #" -b1111000001001100111100011110 @" -b1100100 <" -b1101 D" -0>" -b1111000001001100111100011110 /" -b0 +" -b1101 3" -1-" -b100000101100000000 H -b10 P -b1111000001001100111100011110 m -b0 i -b1101 q -1k -b1111000001001100111100011110 \ -b11 X -b1101 ` -0Z -1' -#7156 -b1011000111 / -b10 2 -#7160 -17" -b0 5" -0&" -b10101010 $" -b10 "" -b0 x -b10001001 Q -b10 O -b10101010 s -b10001001 B -b11 A -b10101010010001001 8 -b110011110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10101010010001001 " -b11 . -b1010101101011011100100110101011 % -b1010101101011011100100110101011 < -b1010101101011011100100110101011 D -b1010101101011011100100110101011 U -b1010101101011011100100110101011 f -b1010101101011011100100110101011 u -b1010101101011011100100110101011 (" -b1010101101011011100100110101011 9" -0( -0) -0+ -0, -b10 0 -0' -#7163 -b110100001100101001101111 A" -b0 ] -#7165 -b11010000110010100110111100000000000000000000000000000000 # -b0 { -b11 . -b11010000110010100110111100000000000000000000000000000000 ! -b11010000110010100110111100000000000000000000000000000000 ? -b11 A -b0 L -b110100001100101001101111 } -b1010101101011011100100110101011 \ -b10001001 X -b1 ` -b1010101101011011100100110101011 m -b1 q -b0 H -b10 P -b1010101101011011100100110101011 /" -b10101010 +" -b1 3" -0-" -b1010101101011011100100110101011 @" -b0 <" -b1 D" -1>" -b110100001100101001101111 y -b10 #" -b10 4 -1' -#7166 -b1011001000 / -b10 2 -#7170 -b10100010 $" -b10 "" -b10011001 Q -b10 O -b10100010 s -b10011001 B -b11 A -b10100010010011001 8 -b1111101 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b10100010010011001 " -b11 . -b11111010111001110111101011110101 % -b11111010111001110111101011110101 < -b11111010111001110111101011110101 D -b11111010111001110111101011110101 U -b11111010111001110111101011110101 f -b11111010111001110111101011110101 u -b11111010111001110111101011110101 (" -b11111010111001110111101011110101 9" -0( -0) -0+ -0, -b1 0 -0' -#7173 -b1110010000000001111101100000000 0" -b101111000000000010010100000000 ] -#7175 -b111001000000000111110110000000000101111000000000010010100000000 # -b11 . -b111001000000000111110110000000000101111000000000010010100000000 ! -b111001000000000111110110000000000101111000000000010010100000000 ? -b11 A -b1110010000000001111101100000000 } -b101111000000000010010100000000 L -b10 4 -b1110010000000001111101100000000 y -b10 #" -b11111010111001110111101011110101 @" -b110 D" -b11111010111001110111101011110101 /" -b10100010 +" -b110 3" -b101111000000000010010100000000 H -b10 P -b11111010111001110111101011110101 m -b110 q -b11111010111001110111101011110101 \ -b10011001 X -b110 ` -1' -#7176 -b1011001001 / -b10 2 -#7180 -b1000110 $" -b10 "" -b11000001 Q -b10 O -b1000110 s -b11000001 B -b11 A -b1000110011000001 8 -b11110011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1000110011000001 " -b11 . -b11110000111011110101000011100001 % -b11110000111011110101000011100001 < -b11110000111011110101000011100001 D -b11110000111011110101000011100001 U -b11110000111011110101000011100001 f -b11110000111011110101000011100001 u -b11110000111011110101000011100001 (" -b11110000111011110101000011100001 9" -0( -0) -0+ -0, -b10 0 -0' -#7183 -b0 0" -b0 ] -#7185 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b11110000111011110101000011100001 \ -b11000001 X -b111 ` -b11110000111011110101000011100001 m -b111 q -b0 H -b10 P -b11110000111011110101000011100001 /" -b1000110 +" -b111 3" -b11110000111011110101000011100001 @" -b111 D" -b0 y -b10 #" -b10 4 -1' -#7186 -b1011001010 / -b10 2 -#7190 -07" -b11100010 5" -1&" -b0 $" -b10 "" -b1 x -0d -b1000101 b -1S -b0 Q -b10 O -b1 G -b111100010 s -b101000101 B -b11 A -b111100010101000101 8 -b1010111 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111100010101000101 " -b11 . -b100011110110100100111101000111 % -b100011110110100100111101000111 < -b100011110110100100111101000111 D -b100011110110100100111101000111 U -b100011110110100100111101000111 f -b100011110110100100111101000111 u -b100011110110100100111101000111 (" -b100011110110100100111101000111 9" -0( -0) -0+ -0, -b1 0 -0' -#7193 -b101100000011010110000001 0" -#7195 -b10110000001101011000000100000000000000000000000000000000 # -b1 { -b1 J -b11 . -b10110000001101011000000100000000000000000000000000000000 ! -b10110000001101011000000100000000000000000000000000000000 ? -b11 A -b101100000011010110000001 } -b10 4 -b101100000011010110000001 y -b10 #" -b100011110110100100111101000111 @" -b11100010 <" -b1100 D" -0>" -b100011110110100100111101000111 /" -b0 +" -b1100 3" -1-" -b10 P -b100011110110100100111101000111 m -b1000101 i -b1100 q -0k -b100011110110100100111101000111 \ -b0 X -b1100 ` -1Z -1' -#7196 -b1011001011 / -b10 2 -#7200 -17" -b0 5" -0&" -0)" -b1011000 $" -b0 x -1d -b0 b -0S -0V -b1011000 Q -b0 G -b1011000 s -b1011000 B -b11 A -1g -b10 O -1:" -b10 "" -b1011000001011000 8 -0= -b1011000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111100100011111101 " -b11 . -1& -b10100111001011100111001001001110 % -b10100111001011100111001001001110 < -b10100111001011100111001001001110 D -b10100111001011100111001001001110 U -b10100111001011100111001001001110 f -b10100111001011100111001001001110 u -b10100111001011100111001001001110 (" -b10100111001011100111001001001110 9" -0( -0) -0+ -0, -b10 0 -0' -#7203 -b0 A" -b0 n -#7205 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10100111001011100111001001001110 \ -b1011000 X -b1000 ` -0_ -0Z -b10100111001011100111001001001110 m -b0 i -b1000 q -1k -b10 P -b10100111001011100111001001001110 /" -b1011000 +" -b1000 3" -02" -0-" -b10100111001011100111001001001110 @" -b0 <" -b1000 D" -1>" -b0 y -b10 #" -b100 7 -1' -#7206 -b1011001100 / -b10 2 -#7210 -07" -0:" -b11010010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11010010 b -1S -1V -b0 Q -b10 O -b1 G -b111010010 s -b111010010 B -b11 A -b111010010111010010 8 -b111010010 $ -b11101011101011 " -b11 . -1& -b10001100101101010001100000011001 % -b10001100101101010001100000011001 < -b10001100101101010001100000011001 D -b10001100101101010001100000011001 U -b10001100101101010001100000011001 f -b10001100101101010001100000011001 u -b10001100101101010001100000011001 (" -b10001100101101010001100000011001 9" -0( -0) -0+ -0, -b1 0 -0' -#7215 -b1 { -b1 J -b100 7 -b10 #" -b10001100101101010001100000011001 @" -b11010010 <" -0C" -0>" -b10001100101101010001100000011001 /" -b0 +" -12" -1-" -b10 P -b10001100101101010001100000011001 m -b11010010 i -0p -0k -b10001100101101010001100000011001 \ -b0 X -1_ -1Z -1' -#7216 -b1011001101 / -b10 2 -#7220 -17" -b0 5" -0&" -b10001011 $" -b0 x -b101000 b -b10001011 s -b100101000 B -b11 A -1g -b10 O -1:" -b10 "" -b10001011100101000 8 -1= -b110100001 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10001011100101000 " -b11 . -0& -b11011111101100111100100010111111 % -b11011111101100111100100010111111 < -b11011111101100111100100010111111 D -b11011111101100111100100010111111 U -b11011111101100111100100010111111 f -b11011111101100111100100010111111 u -b11011111101100111100100010111111 (" -b11011111101100111100100010111111 9" -0( -0) -0+ -0, -b10 0 -0' -#7225 -1N -1!" -b0 { -b11011111101100111100100010111111 \ -b11 ` -b11011111101100111100100010111111 m -b101000 i -b11 q -1p -b10 P -b11011111101100111100100010111111 /" -b10001011 +" -b11 3" -0-" -b11011111101100111100100010111111 @" -b0 <" -b11 D" -1C" -1>" -b10 #" -b10 4 -1' -#7226 -b1011001110 / -b10 2 -#7230 -07" -b11110100 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b11000000 Q -b10 O -b0 G -b111110100 s -b11000000 B -b11 A -b111110100011000000 8 -b111001000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111110100011000000 " -b11 . -b111011000001001010001101110110 % -b111011000001001010001101110110 < -b111011000001001010001101110110 D -b111011000001001010001101110110 U -b111011000001001010001101110110 f -b111011000001001010001101110110 u -b111011000001001010001101110110 (" -b111011000001001010001101110110 9" -0( -0) -0+ -0, -b1 0 -0' -#7233 -b0 0" -b11111010000000000100111000000000 n -#7235 -b11111010000000000100111000000000 # -b1 { -b0 J -b11 . -b11111010000000000100111000000000 ! -b11111010000000000100111000000000 ? -b11 A -b11111010000000000100111000000000 L -b10 4 -b10 #" -b111011000001001010001101110110 @" -b11110100 <" -b1110 D" -0>" -b111011000001001010001101110110 /" -b0 +" -b1110 3" -1-" -b11111010000000000100111000000000 H -b10 P -b111011000001001010001101110110 m -b0 i -b1110 q -1k -b111011000001001010001101110110 \ -b11000000 X -b1110 ` -0Z -1' -#7236 -b1011001111 / -b10 2 -#7240 -b10011000 5" -0d -0g -b10011000 b -1S -b0 Q -b1 G -b110011000 s -b110011000 B -b11 A -1V -b10 O -0:" -b10 "" -b110011000110011000 8 -0= -b110011000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1001101011001011 " -b11 . -1& -b11111111000110100101011011111110 % -b11111111000110100101011011111110 < -b11111111000110100101011011111110 D -b11111111000110100101011011111110 U -b11111111000110100101011011111110 f -b11111111000110100101011011111110 u -b11111111000110100101011011111110 (" -b11111111000110100101011011111110 9" -0( -0) -0+ -0, -b10 0 -0' -#7243 -b11010100 A" -#7245 -b1101010000000000000000000000000000000000 # -0N -b1 J -0!" -b11 . -b1101010000000000000000000000000000000000 ! -b1101010000000000000000000000000000000000 ? -b11 A -b0 L -b11010100 } -b11111111000110100101011011111110 \ -b0 X -b110 ` -1Z -b11111111000110100101011011111110 m -b10011000 i -b110 q -0p -0k -b0 H -b10 P -b11111111000110100101011011111110 /" -b110 3" -b11111111000110100101011011111110 @" -b10011000 <" -b110 D" -0C" -b11010100 y -b10 #" -b100 7 -1' -#7246 -b1011010000 / -b10 2 -#7250 -17" -1:" -b0 5" -0&" -0)" -b1110011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1110011 Q -b10 O -b0 G -b1110011 s -b1110011 B -b11 A -b1110011001110011 8 -b1110011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110110100111101011 " -b11 . -1& -b11111011010100010101010011110110 % -b11111011010100010101010011110110 < -b11111011010100010101010011110110 D -b11111011010100010101010011110110 U -b11111011010100010101010011110110 f -b11111011010100010101010011110110 u -b11111011010100010101010011110110 (" -b11111011010100010101010011110110 9" -0( -0) -0+ -0, -b1 0 -0' -#7255 -b0 { -b0 J -b100 7 -b10 #" -b11111011010100010101010011110110 @" -b0 <" -b100 D" -1C" -1>" -b11111011010100010101010011110110 /" -b1110011 +" -b100 3" -02" -0-" -b10 P -b11111011010100010101010011110110 m -b0 i -b100 q -1p -1k -b11111011010100010101010011110110 \ -b1110011 X -b100 ` -0_ -0Z -1' -#7256 -b1011010001 / -b10 2 -#7260 -07" -b11111101 5" -1&" -b0 $" -b1 x -0d -b110100 b -1S -b0 Q -b1 G -b111111101 s -b100110100 B -b11 A -1V -b10 O -1)" -b10 "" -b111111101100110100 8 -1= -b111110111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111111101100110100 " -b11 . -0& -b11000011111101001010110010000111 % -b11000011111101001010110010000111 < -b11000011111101001010110010000111 D -b11000011111101001010110010000111 U -b11000011111101001010110010000111 f -b11000011111101001010110010000111 u -b11000011111101001010110010000111 (" -b11000011111101001010110010000111 9" -0( -0) -0+ -0, -b10 0 -0' -#7265 -1N -b1 J -1!" -b1 { -b11000011111101001010110010000111 \ -b0 X -b0 ` -1_ -1Z -b11000011111101001010110010000111 m -b110100 i -b0 q -0k -b10 P -b11000011111101001010110010000111 /" -b0 +" -b0 3" -12" -1-" -b11000011111101001010110010000111 @" -b11111101 <" -b0 D" -0>" -b10 #" -b10 4 -1' -#7266 -b1011010010 / -b10 2 -#7270 -b1010100 5" -b1010100 b -b101010100 s -b101010100 B -b11 A -0g -b10 O -0:" -b10 "" -b101010100101010100 8 -0= -b101010100 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111100000001100010 " -b11 . -1& -b11110011001011001100111011100110 % -b11110011001011001100111011100110 < -b11110011001011001100111011100110 D -b11110011001011001100111011100110 U -b11110011001011001100111011100110 f -b11110011001011001100111011100110 u -b11110011001011001100111011100110 (" -b11110011001011001100111011100110 9" -0( -0) -0+ -0, -b1 0 -0' -#7273 -b0 A" -b1110101100000000 n -#7275 -b1110101100000000 # -0!" -0N -b11 . -b1110101100000000 ! -b1110101100000000 ? -b11 A -b0 } -b1110101100000000 L -b100 7 -b0 y -b10 #" -b11110011001011001100111011100110 @" -b1010100 <" -b11 D" -0C" -b11110011001011001100111011100110 /" -b11 3" -b1110101100000000 H -b10 P -b11110011001011001100111011100110 m -b1010100 i -b11 q -0p -b11110011001011001100111011100110 \ -b11 ` -1' -#7276 -b1011010011 / -b10 2 -#7280 -b10111101 5" -1d -b0 b -0S -b1001011 Q -b0 G -b110111101 s -b1001011 B -b11 A -1g -b10 O -1:" -b10 "" -b110111101001001011 8 -1= -b11000000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110111101001001011 " -b11 . -0& -b10111101101010000100100101111 % -b10111101101010000100100101111 < -b10111101101010000100100101111 D -b10111101101010000100100101111 U -b10111101101010000100100101111 f -b10111101101010000100100101111 u -b10111101101010000100100101111 (" -b10111101101010000100100101111 9" -0( -0) -0+ -0, -b10 0 -0' -#7285 -1N -b0 J -1!" -b10111101101010000100100101111 \ -b1001011 X -b10 ` -0Z -b10111101101010000100100101111 m -b0 i -b10 q -1p -1k -b10 P -b10111101101010000100100101111 /" -b10 3" -b10111101101010000100100101111 @" -b10111101 <" -b10 D" -1C" -b10 #" -b10 4 -1' -#7286 -b1011010100 / -b10 2 -#7290 -17" -b0 5" -0&" -0)" -b10111 $" -b0 x -b10111 Q -b10111 s -b10111 B -b11 A -0V -b10 O -1:" -b10 "" -b10111000010111 8 -0= -b10111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101110110011100101 " -b11 . -1& -b100001011011101001000101000010 % -b100001011011101001000101000010 < -b100001011011101001000101000010 D -b100001011011101001000101000010 U -b100001011011101001000101000010 f -b100001011011101001000101000010 u -b100001011011101001000101000010 (" -b100001011011101001000101000010 9" -0( -0) -0+ -0, -b1 0 -0' -#7293 -b101111101110001 A" -#7295 -b10111110111000100000000000000000000000000000000 # -0!" -b0 { -0N -b11 . -b10111110111000100000000000000000000000000000000 ! -b10111110111000100000000000000000000000000000000 ? -b11 A -b101111101110001 } -b0 L -b100 7 -b101111101110001 y -b10 #" -b100001011011101001000101000010 @" -b0 <" -b111 D" -1>" -b100001011011101001000101000010 /" -b10111 +" -b111 3" -02" -0-" -b0 H -b10 P -b100001011011101001000101000010 m -b111 q -b100001011011101001000101000010 \ -b10111 X -b111 ` -0_ -1' -#7296 -b1011010101 / -b10 2 -#7300 -07" -0:" -b110110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b110110 b -1S -1V -b0 Q -b10 O -b1 G -b100110110 s -b100110110 B -b11 A -b100110110100110110 8 -b100110110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110101111110000010 " -b11 . -1& -b10111110111000000111001001111101 % -b10111110111000000111001001111101 < -b10111110111000000111001001111101 D -b10111110111000000111001001111101 U -b10111110111000000111001001111101 f -b10111110111000000111001001111101 u -b10111110111000000111001001111101 (" -b10111110111000000111001001111101 9" -0( -0) -0+ -0, -b10 0 -0' -#7305 -b1 J -b1 { -b10111110111000000111001001111101 \ -b0 X -b101 ` -1_ -1Z -b10111110111000000111001001111101 m -b110110 i -b101 q -0p -0k -b10 P -b10111110111000000111001001111101 /" -b0 +" -b101 3" -12" -1-" -b10111110111000000111001001111101 @" -b110110 <" -b101 D" -0C" -0>" -b10 #" -b100 7 -1' -#7306 -b1011010110 / -b10 2 -#7310 -b11011010 5" -b1110010 b -b111011010 s -b101110010 B -b11 A -1g -b10 O -1:" -b10 "" -b111011010101110010 8 -1= -b101101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b111011010101110010 " -b11 . -0& -b1110000110001111001011111100001 % -b1110000110001111001011111100001 < -b1110000110001111001011111100001 D -b1110000110001111001011111100001 U -b1110000110001111001011111100001 f -b1110000110001111001011111100001 u -b1110000110001111001011111100001 (" -b1110000110001111001011111100001 9" -0( -0) -0+ -0, -b1 0 -0' -#7315 -1!" -1N -b10 4 -b10 #" -b1110000110001111001011111100001 @" -b11011010 <" -b111 D" -1C" -b1110000110001111001011111100001 /" -b111 3" -b10 P -b1110000110001111001011111100001 m -b1110010 i -b111 q -1p -b1110000110001111001011111100001 \ -b111 ` -1' -#7316 -b1011010111 / -b10 2 -#7320 -b11100011 5" -b11100011 b -b111100011 s -b111100011 B -b11 A -0g -b10 O -0:" -b10 "" -b111100011111100011 8 -0= -b111100011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1100111111101011 " -b11 . -1& -b11111110010101001101111011111100 % -b11111110010101001101111011111100 < -b11111110010101001101111011111100 D -b11111110010101001101111011111100 U -b11111110010101001101111011111100 f -b11111110010101001101111011111100 u -b11111110010101001101111011111100 (" -b11111110010101001101111011111100 9" -0( -0) -0+ -0, -b10 0 -0' -#7323 -b1101001101011000010111010010001 A" -b101110 n -#7325 -b110100110101100001011101001000100000000000000000000000000101110 # -0N -0!" -b11 . -b110100110101100001011101001000100000000000000000000000000101110 ! -b110100110101100001011101001000100000000000000000000000000101110 ? -b11 A -b101110 L -b1101001101011000010111010010001 } -b11111110010101001101111011111100 \ -b1100 ` -b11111110010101001101111011111100 m -b11100011 i -b1100 q -0p -b101110 H -b10 P -b11111110010101001101111011111100 /" -b1100 3" -b11111110010101001101111011111100 @" -b11100011 <" -b1100 D" -0C" -b1101001101011000010111010010001 y -b10 #" -b100 7 -1' -#7326 -b1011011000 / -b10 2 -#7330 -17" -1:" -b0 5" -0&" -0)" -b1011001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1011001 Q -b10 O -b0 G -b1011001 s -b1011001 B -b11 A -b1011001001011001 8 -b1011001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110001011000011101 " -b11 . -1& -b11001110100101001111010010011101 % -b11001110100101001111010010011101 < -b11001110100101001111010010011101 D -b11001110100101001111010010011101 U -b11001110100101001111010010011101 f -b11001110100101001111010010011101 u -b11001110100101001111010010011101 (" -b11001110100101001111010010011101 9" -0( -0) -0+ -0, -b1 0 -0' -#7335 -b0 { -b0 J -b100 7 -b10 #" -b11001110100101001111010010011101 @" -b0 <" -b10 D" -1C" -1>" -b11001110100101001111010010011101 /" -b1011001 +" -b10 3" -02" -0-" -b10 P -b11001110100101001111010010011101 m -b0 i -b10 q -1p -1k -b11001110100101001111010010011101 \ -b1011001 X -b10 ` -0_ -0Z -1' -#7336 -b1011011001 / -b10 2 -#7340 -07" -b11010111 5" -1&" -b0 $" -b1 x -0d -b10000100 b -1S -b0 Q -b1 G -b111010111 s -b110000100 B -b11 A -1V -b10 O -1)" -b10 "" -b111010111110000100 8 -1= -b11000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b111010111110000100 " -b11 . -0& -b10101000001010100100110001010000 % -b10101000001010100100110001010000 < -b10101000001010100100110001010000 D -b10101000001010100100110001010000 U -b10101000001010100100110001010000 f -b10101000001010100100110001010000 u -b10101000001010100100110001010000 (" -b10101000001010100100110001010000 9" -0( -0) -0+ -0, -b10 0 -0' -#7345 -1N -b1 J -1!" -b1 { -b10101000001010100100110001010000 \ -b0 X -b111 ` -1_ -1Z -b10101000001010100100110001010000 m -b10000100 i -b111 q -0k -b10 P -b10101000001010100100110001010000 /" -b0 +" -b111 3" -12" -1-" -b10101000001010100100110001010000 @" -b11010111 <" -b111 D" -0>" -b10 #" -b10 4 -1' -#7346 -b1011011010 / -b10 2 -#7350 -17" -b0 5" -0&" -b1000001 $" -b10 "" -b0 x -b10001 b -b10 O -b1000001 s -b100010001 B -b11 A -b1000001100010001 8 -b1100000 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1000001100010001 " -b11 . -b111111100110010111111101111111 % -b111111100110010111111101111111 < -b111111100110010111111101111111 D -b111111100110010111111101111111 U -b111111100110010111111101111111 f -b111111100110010111111101111111 u -b111111100110010111111101111111 (" -b111111100110010111111101111111 9" -0( -0) -0+ -0, -b1 0 -0' -#7353 -b0 A" -b0 n -#7355 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b111111100110010111111101111111 @" -b0 <" -b110 D" -1>" -b111111100110010111111101111111 /" -b1000001 +" -b110 3" -0-" -b0 H -b10 P -b111111100110010111111101111111 m -b10001 i -b110 q -b111111100110010111111101111111 \ -b110 ` -1' -#7356 -b1011011011 / -b10 2 -#7360 -b11001000 $" -b10 "" -1d -b0 b -0S -b111 Q -b10 O -b0 G -b11001000 s -b111 B -b11 A -b11001000000000111 8 -b110101110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11001000000000111 " -b11 . -b1000001011101101110101110000010 % -b1000001011101101110101110000010 < -b1000001011101101110101110000010 D -b1000001011101101110101110000010 U -b1000001011101101110101110000010 f -b1000001011101101110101110000010 u -b1000001011101101110101110000010 (" -b1000001011101101110101110000010 9" -0( -0) -0+ -0, -b10 0 -0' -#7363 -b110110101001001111100000000000 0" -#7365 -b11011010100100111110000000000000000000000000000000000000000000 # -b0 J -b11 . -b11011010100100111110000000000000000000000000000000000000000000 ! -b11011010100100111110000000000000000000000000000000000000000000 ? -b11 A -b110110101001001111100000000000 } -b1000001011101101110101110000010 \ -b111 X -b1 ` -0Z -b1000001011101101110101110000010 m -b0 i -b1 q -1k -b10 P -b1000001011101101110101110000010 /" -b11001000 +" -b1 3" -b1000001011101101110101110000010 @" -b1 D" -b110110101001001111100000000000 y -b10 #" -b10 4 -1' -#7366 -b1011011100 / -b10 2 -#7370 -07" -0:" -b11101011 5" -1&" -b0 $" -b1 x -0d -0g -b11101011 b -1S -b0 Q -b1 G -b111101011 s -b111101011 B -b11 A -1V -b10 O -1)" -b10 "" -b111101011111101011 8 -0= -b111101011 $ -b111010110101110000 " -b11 . -1& -b11110000001100110000100111100 % -b11110000001100110000100111100 < -b11110000001100110000100111100 D -b11110000001100110000100111100 U -b11110000001100110000100111100 f -b11110000001100110000100111100 u -b11110000001100110000100111100 (" -b11110000001100110000100111100 9" -0( -0) -0+ -0, -b1 0 -0' -#7373 -b1000101000000001111001011100010 0" -b11100001000000001111001011000011 ] -#7375 -b100010100000000111100101110001011100001000000001111001011000011 # -0!" -b1 { -0N -b1 J -b11 . -b100010100000000111100101110001011100001000000001111001011000011 ! -b100010100000000111100101110001011100001000000001111001011000011 ? -b11 A -b1000101000000001111001011100010 } -b11100001000000001111001011000011 L -b100 7 -b1000101000000001111001011100010 y -b10 #" -b11110000001100110000100111100 @" -b11101011 <" -0C" -0>" -b11110000001100110000100111100 /" -b0 +" -1-" -b11100001000000001111001011000011 H -b10 P -b11110000001100110000100111100 m -b11101011 i -0p -0k -b11110000001100110000100111100 \ -b0 X -1Z -1' -#7376 -b1011011101 / -b10 2 -#7380 -17" -b0 5" -0&" -b10001101 $" -b0 x -1d -b0 b -0S -b11110011 Q -b0 G -b10001101 s -b11110011 B -b11 A -1g -b10 O -1:" -b10 "" -b10001101011110011 8 -1= -b11011000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b10001101011110011 " -b11 . -0& -b11000010111111100011000010000101 % -b11000010111111100011000010000101 < -b11000010111111100011000010000101 D -b11000010111111100011000010000101 U -b11000010111111100011000010000101 f -b11000010111111100011000010000101 u -b11000010111111100011000010000101 (" -b11000010111111100011000010000101 9" -0( -0) -0+ -0, -b10 0 -0' -#7385 -1N -b0 J -1!" -b0 { -b11000010111111100011000010000101 \ -b11110011 X -b1001 ` -0Z -b11000010111111100011000010000101 m -b0 i -b1001 q -1p -1k -b10 P -b11000010111111100011000010000101 /" -b10001101 +" -b1001 3" -0-" -b11000010111111100011000010000101 @" -b0 <" -b1001 D" -1C" -1>" -b10 #" -b10 4 -1' -#7386 -b1011011110 / -b10 2 -#7390 -07" -b10101 5" -1&" -b0 $" -b10 "" -b1 x -b10010111 Q -b10 O -b100010101 s -b10010111 B -b11 A -b100010101010010111 8 -b110110100 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b100010101010010111 " -b11 . -b11110111111110101100100011101111 % -b11110111111110101100100011101111 < -b11110111111110101100100011101111 D -b11110111111110101100100011101111 U -b11110111111110101100100011101111 f -b11110111111110101100100011101111 u -b11110111111110101100100011101111 (" -b11110111111110101100100011101111 9" -0( -0) -0+ -0, -b1 0 -0' -#7393 -b101111000000000110001100000000 0" -b0 ] -#7395 -b10111100000000011000110000000000000000000000000000000000000000 # -b1 { -b11 . -b10111100000000011000110000000000000000000000000000000000000000 ! -b10111100000000011000110000000000000000000000000000000000000000 ? -b11 A -b101111000000000110001100000000 } -b0 L -b10 4 -b101111000000000110001100000000 y -b10 #" -b11110111111110101100100011101111 @" -b10101 <" -b111 D" -0>" -b11110111111110101100100011101111 /" -b0 +" -b111 3" -1-" -b0 H -b10 P -b11110111111110101100100011101111 m -b111 q -b11110111111110101100100011101111 \ -b10010111 X -b111 ` -1' -#7396 -b1011011111 / -b10 2 -#7400 -17" -b0 5" -0&" -b1110001 $" -b10 "" -b0 x -0d -b1001 b -1S -b0 Q -b10 O -b1 G -b1110001 s -b100001001 B -b11 A -b1110001100001001 8 -b100001101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1110001100001001 " -b11 . -b1001100100110000000100010011 % -b1001100100110000000100010011 < -b1001100100110000000100010011 D -b1001100100110000000100010011 U -b1001100100110000000100010011 f -b1001100100110000000100010011 u -b1001100100110000000100010011 (" -b1001100100110000000100010011 9" -0( -0) -0+ -0, -b10 0 -0' -#7405 -b0 # -b1 J -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b1001100100110000000100010011 \ -b0 X -b1101 ` -1Z -b1001100100110000000100010011 m -b1001 i -b1101 q -0k -b10 P -b1001100100110000000100010011 /" -b1110001 +" -b1101 3" -0-" -b1001100100110000000100010011 @" -b0 <" -b1101 D" -1>" -b0 y -b10 #" -b10 4 -1' -#7406 -b1011100000 / -b10 2 -#7410 -07" -b1010110 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b100001 Q -b10 O -b0 G -b101010110 s -b100001 B -b11 A -b101010110000100001 8 -b111111011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101010110000100001 " -b11 . -b11011011011000100111110010110110 % -b11011011011000100111110010110110 < -b11011011011000100111110010110110 D -b11011011011000100111110010110110 U -b11011011011000100111110010110110 f -b11011011011000100111110010110110 u -b11011011011000100111110010110110 (" -b11011011011000100111110010110110 9" -0( -0) -0+ -0, -b1 0 -0' -#7413 -b11000001010000000000000110000 0" -b1000111111000011000110110001111 n -#7415 -b1100000101000000000000011000001000111111000011000110110001111 # -b1 { -b0 J -b11 . -b1100000101000000000000011000001000111111000011000110110001111 ! -b1100000101000000000000011000001000111111000011000110110001111 ? -b11 A -b11000001010000000000000110000 } -b1000111111000011000110110001111 L -b10 4 -b11000001010000000000000110000 y -b10 #" -b11011011011000100111110010110110 @" -b1010110 <" -b1100 D" -0>" -b11011011011000100111110010110110 /" -b0 +" -b1100 3" -1-" -b1000111111000011000110110001111 H -b10 P -b11011011011000100111110010110110 m -b0 i -b1100 q -1k -b11011011011000100111110010110110 \ -b100001 X -b1100 ` -0Z -1' -#7416 -b1011100001 / -b10 2 -#7420 -17" -b0 5" -0&" -0)" -b10011000 $" -b0 x -b10011000 Q -b10011000 s -b10011000 B -b11 A -0V -b10 O -1:" -b10 "" -b10011000010011000 8 -0= -b10011000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b110111010011110 " -b11 . -1& -b1111101101001100111100011111 % -b1111101101001100111100011111 < -b1111101101001100111100011111 D -b1111101101001100111100011111 U -b1111101101001100111100011111 f -b1111101101001100111100011111 u -b1111101101001100111100011111 (" -b1111101101001100111100011111 9" -0( -0) -0+ -0, -b10 0 -0' -#7423 -b1010110111111010100101101001011 A" -#7425 -b101011011111101010010110100101100000000000000000000000000000000 # -0N -0!" -b0 { -b11 . -b101011011111101010010110100101100000000000000000000000000000000 ! -b101011011111101010010110100101100000000000000000000000000000000 ? -b11 A -b0 L -b1010110111111010100101101001011 } -b1111101101001100111100011111 \ -b10011000 X -b1001 ` -0_ -b1111101101001100111100011111 m -b1001 q -b0 H -b10 P -b1111101101001100111100011111 /" -b10011000 +" -b1001 3" -02" -0-" -b1111101101001100111100011111 @" -b0 <" -b1001 D" -1>" -b1010110111111010100101101001011 y -b10 #" -b100 7 -1' -#7426 -b1011100010 / -b10 2 -#7430 -07" -b1110010 5" -1&" -b0 $" -b1 x -0d -b111011 b -1S -b0 Q -b1 G -b101110010 s -b100111011 B -b11 A -1V -b10 O -1)" -b10 "" -b101110010100111011 8 -1= -b111001110 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101110010100111011 " -b11 . -0& -b10101011110110110111110001010111 % -b10101011110110110111110001010111 < -b10101011110110110111110001010111 D -b10101011110110110111110001010111 U -b10101011110110110111110001010111 f -b10101011110110110111110001010111 u -b10101011110110110111110001010111 (" -b10101011110110110111110001010111 9" -0( -0) -0+ -0, -b1 0 -0' -#7435 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b10101011110110110111110001010111 @" -b1110010 <" -b1010 D" -0>" -b10101011110110110111110001010111 /" -b0 +" -b1010 3" -12" -1-" -b10 P -b10101011110110110111110001010111 m -b111011 i -b1010 q -0k -b10101011110110110111110001010111 \ -b0 X -b1010 ` -1_ -1Z -1' -#7436 -b1011100011 / -b10 2 -#7440 -17" -b0 5" -0&" -b10010100 $" -b10 "" -b0 x -1d -b0 b -0S -b1101010 Q -b10 O -b0 G -b10010100 s -b1101010 B -b11 A -b10010100001101010 8 -b111000011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b10010100001101010 " -b11 . -b10110000101011111011011001100001 % -b10110000101011111011011001100001 < -b10110000101011111011011001100001 D -b10110000101011111011011001100001 U -b10110000101011111011011001100001 f -b10110000101011111011011001100001 u -b10110000101011111011011001100001 (" -b10110000101011111011011001100001 9" -0( -0) -0+ -0, -b10 0 -0' -#7443 -b101110 A" -b0 n -#7445 -b10111000000000000000000000000000000000 # -b0 J -b0 { -b11 . -b10111000000000000000000000000000000000 ! -b10111000000000000000000000000000000000 ? -b11 A -b101110 } -b10110000101011111011011001100001 \ -b1101010 X -b1 ` -0Z -b10110000101011111011011001100001 m -b0 i -b1 q -1k -b10 P -b10110000101011111011011001100001 /" -b10010100 +" -b1 3" -0-" -b10110000101011111011011001100001 @" -b0 <" -b1 D" -1>" -b101110 y -b10 #" -b10 4 -1' -#7446 -b1011100100 / -b10 2 -#7450 -b10101110 $" -b10 "" -b1010 Q -b10 O -b10101110 s -b1010 B -b11 A -b10101110000001010 8 -b100101111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10101110000001010 " -b11 . -b1011001000010101010100110110010 % -b1011001000010101010100110110010 < -b1011001000010101010100110110010 D -b1011001000010101010100110110010 U -b1011001000010101010100110110010 f -b1011001000010101010100110110010 u -b1011001000010101010100110110010 (" -b1011001000010101010100110110010 9" -0( -0) -0+ -0, -b1 0 -0' -#7453 -b0 0" -#7455 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b1011001000010101010100110110010 @" -b111 D" -b1011001000010101010100110110010 /" -b10101110 +" -b111 3" -b10 P -b1011001000010101010100110110010 m -b111 q -b1011001000010101010100110110010 \ -b1010 X -b111 ` -1' -#7456 -b1011100101 / -b10 2 -#7460 -b1000110 $" -b1000110 Q -b1000110 s -b1000110 B -b11 A -0V -b10 O -0)" -b10 "" -b1000110001000110 8 -0= -b1000110 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b110010100000101 " -b11 . -1& -b10101110010001111010000001011100 % -b10101110010001111010000001011100 < -b10101110010001111010000001011100 D -b10101110010001111010000001011100 U -b10101110010001111010000001011100 f -b10101110010001111010000001011100 u -b10101110010001111010000001011100 (" -b10101110010001111010000001011100 9" -0( -0) -0+ -0, -b10 0 -0' -#7463 -b10000001111000110000000011101101 0" -#7465 -b1000000111100011000000001110110100000000000000000000000000000000 # -0N -0!" -b11 . -b1000000111100011000000001110110100000000000000000000000000000000 ! -b1000000111100011000000001110110100000000000000000000000000000000 ? -b11 A -b10000001111000110000000011101101 } -b10101110010001111010000001011100 \ -b1000110 X -b11 ` -0_ -b10101110010001111010000001011100 m -b11 q -b10 P -b10101110010001111010000001011100 /" -b1000110 +" -b11 3" -02" -b10101110010001111010000001011100 @" -b11 D" -b10000001111000110000000011101101 y -b10 #" -b100 7 -1' -#7466 -b1011100110 / -b10 2 -#7470 -07" -b1011010 5" -1&" -b0 $" -b1 x -b100010 Q -b101011010 s -b100010 B -b11 A -1V -b10 O -1)" -b10 "" -b101011010000100010 8 -1= -b10100001 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101011010000100010 " -b11 . -0& -b11011111100001110101101010111111 % -b11011111100001110101101010111111 < -b11011111100001110101101010111111 D -b11011111100001110101101010111111 U -b11011111100001110101101010111111 f -b11011111100001110101101010111111 u -b11011111100001110101101010111111 (" -b11011111100001110101101010111111 9" -0( -0) -0+ -0, -b1 0 -0' -#7475 -1!" -b1 { -1N -b10 4 -b10 #" -b11011111100001110101101010111111 @" -b1011010 <" -b1001 D" -0>" -b11011111100001110101101010111111 /" -b0 +" -b1001 3" -12" -1-" -b10 P -b11011111100001110101101010111111 m -b1001 q -b11011111100001110101101010111111 \ -b100010 X -b1001 ` -1_ -1' -#7476 -b1011100111 / -b10 2 -#7480 -17" -b0 5" -0&" -b10110010 $" -b10 "" -b0 x -b10111010 Q -b10 O -b10110010 s -b10111010 B -b11 A -b10110010010111010 8 -b11001000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10110010010111010 " -b11 . -b101100101101100101111101011001 % -b101100101101100101111101011001 < -b101100101101100101111101011001 D -b101100101101100101111101011001 U -b101100101101100101111101011001 f -b101100101101100101111101011001 u -b101100101101100101111101011001 (" -b101100101101100101111101011001 9" -0( -0) -0+ -0, -b10 0 -0' -#7483 -b1001000000000001111001 A" -#7485 -b100100000000000111100100000000000000000000000000000000 # -b0 { -b11 . -b100100000000000111100100000000000000000000000000000000 ! -b100100000000000111100100000000000000000000000000000000 ? -b11 A -b1001000000000001111001 } -b101100101101100101111101011001 \ -b10111010 X -b111 ` -b101100101101100101111101011001 m -b111 q -b10 P -b101100101101100101111101011001 /" -b10110010 +" -b111 3" -0-" -b101100101101100101111101011001 @" -b0 <" -b111 D" -1>" -b1001000000000001111001 y -b10 #" -b10 4 -1' -#7486 -b1011101000 / -b10 2 -#7490 -07" -0:" -b100110 5" -1&" -b0 $" -b1 x -0d -0g -b100110 b -1S -b0 Q -b1 G -b100100110 s -b100100110 B -b11 A -1V -b10 O -1)" -b10 "" -b100100110100100110 8 -0= -b100100110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b11111000000000011 " -b11 . -1& -b11011100010001100000101010111000 % -b11011100010001100000101010111000 < -b11011100010001100000101010111000 D -b11011100010001100000101010111000 U -b11011100010001100000101010111000 f -b11011100010001100000101010111000 u -b11011100010001100000101010111000 (" -b11011100010001100000101010111000 9" -0( -0) -0+ -0, -b1 0 -0' -#7493 -b101011010010000000000000000 0" -#7495 -b10101101001000000000000000000000000000000000000000000000000 # -0!" -b1 { -0N -b1 J -b11 . -b10101101001000000000000000000000000000000000000000000000000 ! -b10101101001000000000000000000000000000000000000000000000000 ? -b11 A -b101011010010000000000000000 } -b100 7 -b101011010010000000000000000 y -b10 #" -b11011100010001100000101010111000 @" -b100110 <" -b1001 D" -0C" -0>" -b11011100010001100000101010111000 /" -b0 +" -b1001 3" -1-" -b10 P -b11011100010001100000101010111000 m -b100110 i -b1001 q -0p -0k -b11011100010001100000101010111000 \ -b0 X -b1001 ` -1Z -1' -#7496 -b1011101001 / -b10 2 -#7500 -b11101000 5" -1d -b0 b -0S -b10100101 Q -b0 G -b111101000 s -b10100101 B -b11 A -1g -b10 O -1:" -b10 "" -b111101000010100101 8 -1= -b1100110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111101000010100101 " -b11 . -0& -b10000101100001001101010000001011 % -b10000101100001001101010000001011 < -b10000101100001001101010000001011 D -b10000101100001001101010000001011 U -b10000101100001001101010000001011 f -b10000101100001001101010000001011 u -b10000101100001001101010000001011 (" -b10000101100001001101010000001011 9" -0( -0) -0+ -0, -b10 0 -0' -#7505 -1N -b0 J -1!" -b10000101100001001101010000001011 \ -b10100101 X -b1 ` -0Z -b10000101100001001101010000001011 m -b0 i -b1 q -1p -1k -b10 P -b10000101100001001101010000001011 /" -b1 3" -b10000101100001001101010000001011 @" -b11101000 <" -b1 D" -1C" -b10 #" -b10 4 -1' -#7506 -b1011101010 / -b10 2 -#7510 -b10001000 5" -b10 "" -0d -b1010100 b -1S -b0 Q -b10 O -b1 G -b110001000 s -b101010100 B -b11 A -b110001000101010100 8 -b111110011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b110001000101010100 " -b11 . -b10010010001010011110101000100100 % -b10010010001010011110101000100100 < -b10010010001010011110101000100100 D -b10010010001010011110101000100100 U -b10010010001010011110101000100100 f -b10010010001010011110101000100100 u -b10010010001010011110101000100100 (" -b10010010001010011110101000100100 9" -0( -0) -0+ -0, -b1 0 -0' -#7513 -b1111100010000111011110010100010 A" -b110000110000000010010011 ] -#7515 -b111110001000011101111001010001000000000110000110000000010010011 # -b1 J -b11 . -b111110001000011101111001010001000000000110000110000000010010011 ! -b111110001000011101111001010001000000000110000110000000010010011 ? -b11 A -b1111100010000111011110010100010 } -b110000110000000010010011 L -b10 4 -b1111100010000111011110010100010 y -b10 #" -b10010010001010011110101000100100 @" -b10001000 <" -b1011 D" -b10010010001010011110101000100100 /" -b1011 3" -b110000110000000010010011 H -b10 P -b10010010001010011110101000100100 m -b1010100 i -b1011 q -0k -b10010010001010011110101000100100 \ -b0 X -b1011 ` -1Z -1' -#7516 -b1011101011 / -b10 2 -#7520 -b1101010 5" -b10 "" -1d -b0 b -0S -b1101010 Q -b10 O -b0 G -b101101010 s -b1101010 B -b11 A -b101101010001101010 8 -b10110111 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101101010001101010 " -b11 . -b1100000100001110000111111000001 % -b1100000100001110000111111000001 < -b1100000100001110000111111000001 D -b1100000100001110000111111000001 U -b1100000100001110000111111000001 f -b1100000100001110000111111000001 u -b1100000100001110000111111000001 (" -b1100000100001110000111111000001 9" -0( -0) -0+ -0, -b10 0 -0' -#7523 -b111010000000000 A" -b1100111011100110 n -#7525 -b11101000000000000000000000000001100111011100110 # -b0 J -b11 . -b11101000000000000000000000000001100111011100110 ! -b11101000000000000000000000000001100111011100110 ? -b11 A -b1100111011100110 L -b111010000000000 } -b1100000100001110000111111000001 \ -b1101010 X -b1010 ` -0Z -b1100000100001110000111111000001 m -b0 i -b1010 q -1k -b1100111011100110 H -b10 P -b1100000100001110000111111000001 /" -b1010 3" -b1100000100001110000111111000001 @" -b1101010 <" -b1010 D" -b111010000000000 y -b10 #" -b10 4 -1' -#7526 -b1011101100 / -b10 2 -#7530 -b1011001 5" -b10 "" -b11001011 Q -b10 O -b101011001 s -b11001011 B -b11 A -b101011001011001011 8 -b11011110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b101011001011001011 " -b11 . -b10000011001001011000011000000110 % -b10000011001001011000011000000110 < -b10000011001001011000011000000110 D -b10000011001001011000011000000110 U -b10000011001001011000011000000110 f -b10000011001001011000011000000110 u -b10000011001001011000011000000110 (" -b10000011001001011000011000000110 9" -0( -0) -0+ -0, -b1 0 -0' -#7533 -b0 A" -b0 ] -#7535 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b10000011001001011000011000000110 @" -b1011001 <" -b1110 D" -b10000011001001011000011000000110 /" -b1110 3" -b0 H -b10 P -b10000011001001011000011000000110 m -b1110 q -b10000011001001011000011000000110 \ -b11001011 X -b1110 ` -1' -#7536 -b1011101101 / -b10 2 -#7540 -17" -b0 5" -0&" -0)" -b11101101 $" -b0 x -b11101101 Q -b11101101 s -b11101101 B -b11 A -0V -b10 O -1:" -b10 "" -b11101101011101101 8 -0= -b11101101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101011101 " -b11 . -1& -b100011000000110110001101000110 % -b100011000000110110001101000110 < -b100011000000110110001101000110 D -b100011000000110110001101000110 U -b100011000000110110001101000110 f -b100011000000110110001101000110 u -b100011000000110110001101000110 (" -b100011000000110110001101000110 9" -0( -0) -0+ -0, -b10 0 -0' -#7543 -b1100000000000000000001000110 ] -#7545 -b1100000000000000000001000110 # -0N -0!" -b0 { -b11 . -b1100000000000000000001000110 ! -b1100000000000000000001000110 ? -b11 A -b1100000000000000000001000110 L -b100011000000110110001101000110 \ -b11101101 X -b1101 ` -0_ -b100011000000110110001101000110 m -b1101 q -b1100000000000000000001000110 H -b10 P -b100011000000110110001101000110 /" -b11101101 +" -b1101 3" -02" -0-" -b100011000000110110001101000110 @" -b0 <" -b1101 D" -1>" -b10 #" -b100 7 -1' -#7546 -b1011101110 / -b10 2 -#7550 -b1000 $" -b10 "" -b1000 Q -b10 O -b1000 s -b1000 B -b11 A -b1000000001000 8 -b1000 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10101100110011111 " -b11 . -1& -b10011010000100100110110000110100 % -b10011010000100100110110000110100 < -b10011010000100100110110000110100 D -b10011010000100100110110000110100 U -b10011010000100100110110000110100 f -b10011010000100100110110000110100 u -b10011010000100100110110000110100 (" -b10011010000100100110110000110100 9" -0( -0) -0+ -0, -b1 0 -0' -#7555 -b100 7 -b10 #" -b10011010000100100110110000110100 @" -b101 D" -b10011010000100100110110000110100 /" -b1000 +" -b101 3" -b10 P -b10011010000100100110110000110100 m -b101 q -b10011010000100100110110000110100 \ -b1000 X -b101 ` -1' -#7556 -b1011101111 / -b10 2 -#7560 -b110 $" -b10 "" -b110 Q -b10 O -b110 s -b110 B -b11 A -b110000000110 8 -b110 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10110000001101101 " -b11 . -1& -b100111110011001001100101001111 % -b100111110011001001100101001111 < -b100111110011001001100101001111 D -b100111110011001001100101001111 U -b100111110011001001100101001111 f -b100111110011001001100101001111 u -b100111110011001001100101001111 (" -b100111110011001001100101001111 9" -0( -0) -0+ -0, -b10 0 -0' -#7565 -b100111110011001001100101001111 \ -b110 X -b10 ` -b100111110011001001100101001111 m -b10 q -b10 P -b100111110011001001100101001111 /" -b110 +" -b10 3" -b100111110011001001100101001111 @" -b10 D" -b10 #" -b100 7 -1' -#7566 -b1011110000 / -b10 2 -#7570 -07" -0:" -b11101111 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11101111 b -1S -1V -b0 Q -b10 O -b1 G -b111101111 s -b111101111 B -b11 A -b111101111111101111 8 -b111101111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101101010100101000 " -b11 . -1& -b1001000001001111100000110010000 % -b1001000001001111100000110010000 < -b1001000001001111100000110010000 D -b1001000001001111100000110010000 U -b1001000001001111100000110010000 f -b1001000001001111100000110010000 u -b1001000001001111100000110010000 (" -b1001000001001111100000110010000 9" -0( -0) -0+ -0, -b1 0 -0' -#7575 -b1 { -b1 J -b100 7 -b10 #" -b1001000001001111100000110010000 @" -b11101111 <" -b11 D" -0C" -0>" -b1001000001001111100000110010000 /" -b0 +" -b11 3" -12" -1-" -b10 P -b1001000001001111100000110010000 m -b11101111 i -b11 q -0p -0k -b1001000001001111100000110010000 \ -b0 X -b11 ` -1_ -1Z -1' -#7576 -b1011110001 / -b10 2 -#7580 -b10010101 5" -b10 "" -b10010101 b -b10 O -b110010101 s -b110010101 B -b11 A -b110010101110010101 8 -b110010101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11001001111010100 " -b11 . -1& -b10000111110101101111111000001111 % -b10000111110101101111111000001111 < -b10000111110101101111111000001111 D -b10000111110101101111111000001111 U -b10000111110101101111111000001111 f -b10000111110101101111111000001111 u -b10000111110101101111111000001111 (" -b10000111110101101111111000001111 9" -0( -0) -0+ -0, -b10 0 -0' -#7585 -b10000111110101101111111000001111 \ -b1101 ` -b10000111110101101111111000001111 m -b10010101 i -b1101 q -b10 P -b10000111110101101111111000001111 /" -b1101 3" -b10000111110101101111111000001111 @" -b10010101 <" -b1101 D" -b10 #" -b100 7 -1' -#7586 -b1011110010 / -b10 2 -#7590 -17" -b0 5" -0&" -b10111110 $" -b0 x -1d -b0 b -0S -b11110100 Q -b0 G -b10111110 s -b11110100 B -b11 A -1g -b10 O -1:" -b10 "" -b10111110011110100 8 -1= -b100100010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111110011110100 " -b11 . -0& -b1011000101101111110011110110001 % -b1011000101101111110011110110001 < -b1011000101101111110011110110001 D -b1011000101101111110011110110001 U -b1011000101101111110011110110001 f -b1011000101101111110011110110001 u -b1011000101101111110011110110001 (" -b1011000101101111110011110110001 9" -0( -0) -0+ -0, -b1 0 -0' -#7595 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1011000101101111110011110110001 @" -b0 <" -b101 D" -1C" -1>" -b1011000101101111110011110110001 /" -b10111110 +" -b101 3" -0-" -b10 P -b1011000101101111110011110110001 m -b0 i -b101 q -1p -1k -b1011000101101111110011110110001 \ -b11110100 X -b101 ` -0Z -1' -#7596 -b1011110011 / -b10 2 -#7600 -b1110100 $" -b10 "" -0d -b1011001 b -1S -b0 Q -b10 O -b1 G -b1110100 s -b101011001 B -b11 A -b1110100101011001 8 -b1100110 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b1110100101011001 " -b11 . -b10110001100100001001000001100011 % -b10110001100100001001000001100011 < -b10110001100100001001000001100011 D -b10110001100100001001000001100011 U -b10110001100100001001000001100011 f -b10110001100100001001000001100011 u -b10110001100100001001000001100011 (" -b10110001100100001001000001100011 9" -0( -0) -0+ -0, -b10 0 -0' -#7603 -b0 0" -b101111010000000000000000 ] -#7605 -b101111010000000000000000 # -b1 J -b11 . -b101111010000000000000000 ! -b101111010000000000000000 ? -b11 A -b101111010000000000000000 L -b10110001100100001001000001100011 \ -b0 X -b1011 ` -1Z -b10110001100100001001000001100011 m -b1011001 i -b1011 q -0k -b101111010000000000000000 H -b10 P -b10110001100100001001000001100011 /" -b1110100 +" -b1011 3" -b10110001100100001001000001100011 @" -b1011 D" -b10 #" -b10 4 -1' -#7606 -b1011110100 / -b10 2 -#7610 -07" -0:" -b11111111 5" -1&" -b0 $" -b1 x -b11111111 b -b111111111 s -b111111111 B -b11 A -0g -b10 O -1)" -b10 "" -b111111111111111111 8 -0= -b111111111 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111110011110011101 " -b11 . -1& -b10000111100111010001110000001111 % -b10000111100111010001110000001111 < -b10000111100111010001110000001111 D -b10000111100111010001110000001111 U -b10000111100111010001110000001111 f -b10000111100111010001110000001111 u -b10000111100111010001110000001111 (" -b10000111100111010001110000001111 9" -0( -0) -0+ -0, -b1 0 -0' -#7613 -b10110100001010000000000001101000 0" -b0 n -#7615 -b1011010000101000000000000110100000000000000000000000000000000000 # -0!" -b1 { -0N -b11 . -b1011010000101000000000000110100000000000000000000000000000000000 ! -b1011010000101000000000000110100000000000000000000000000000000000 ? -b11 A -b10110100001010000000000001101000 } -b0 L -b100 7 -b10110100001010000000000001101000 y -b10 #" -b10000111100111010001110000001111 @" -b11111111 <" -b1110 D" -0C" -0>" -b10000111100111010001110000001111 /" -b0 +" -b1110 3" -1-" -b0 H -b10 P -b10000111100111010001110000001111 m -b11111111 i -b1110 q -0p -b10000111100111010001110000001111 \ -b1110 ` -1' -#7616 -b1011110101 / -b10 2 -#7620 -17" -b0 5" -0&" -b10001001 $" -b0 x -b1001100 b -b10001001 s -b101001100 B -b11 A -1g -b10 O -1:" -b10 "" -b10001001101001100 8 -1= -b11001110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10001001101001100 " -b11 . -0& -b1010110000001000001100110101100 % -b1010110000001000001100110101100 < -b1010110000001000001100110101100 D -b1010110000001000001100110101100 U -b1010110000001000001100110101100 f -b1010110000001000001100110101100 u -b1010110000001000001100110101100 (" -b1010110000001000001100110101100 9" -0( -0) -0+ -0, -b10 0 -0' -#7625 -1N -1!" -b0 { -b1010110000001000001100110101100 \ -b111 ` -b1010110000001000001100110101100 m -b1001100 i -b111 q -1p -b10 P -b1010110000001000001100110101100 /" -b10001001 +" -b111 3" -0-" -b1010110000001000001100110101100 @" -b0 <" -b111 D" -1C" -1>" -b10 #" -b10 4 -1' -#7626 -b1011110110 / -b10 2 -#7630 -b11001000 $" -b10 "" -1d -b0 b -0S -b1000001 Q -b10 O -b0 G -b11001000 s -b1000001 B -b11 A -b11001000001000001 8 -b100000010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b11001000001000001 " -b11 . -b10001010011111010001110000010100 % -b10001010011111010001110000010100 < -b10001010011111010001110000010100 D -b10001010011111010001110000010100 U -b10001010011111010001110000010100 f -b10001010011111010001110000010100 u -b10001010011111010001110000010100 (" -b10001010011111010001110000010100 9" -0( -0) -0+ -0, -b1 0 -0' -#7633 -b101111000000000010010100000000 0" -#7635 -b10111100000000001001010000000000000000000000000000000000000000 # -b0 J -b11 . -b10111100000000001001010000000000000000000000000000000000000000 ! -b10111100000000001001010000000000000000000000000000000000000000 ? -b11 A -b101111000000000010010100000000 } -b10 4 -b101111000000000010010100000000 y -b10 #" -b10001010011111010001110000010100 @" -b1111 D" -b10001010011111010001110000010100 /" -b11001000 +" -b1111 3" -b10 P -b10001010011111010001110000010100 m -b0 i -b1111 q -1k -b10001010011111010001110000010100 \ -b1000001 X -b1111 ` -0Z -1' -#7636 -b1011110111 / -b10 2 -#7640 -b111 $" -b10 "" -0d -b1000001 b -1S -b0 Q -b10 O -b1 G -b111 s -b101000001 B -b11 A -b111101000001 8 -b111111100 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111101000001 " -b11 . -b1111101100011110100110111111011 % -b1111101100011110100110111111011 < -b1111101100011110100110111111011 D -b1111101100011110100110111111011 U -b1111101100011110100110111111011 f -b1111101100011110100110111111011 u -b1111101100011110100110111111011 (" -b1111101100011110100110111111011 9" -0( -0) -0+ -0, -b10 0 -0' -#7643 -b1000101000000001111001011100010 0" -b110110101001001111100000000000 ] -#7645 -b100010100000000111100101110001000110110101001001111100000000000 # -b1 J -b11 . -b100010100000000111100101110001000110110101001001111100000000000 ! -b100010100000000111100101110001000110110101001001111100000000000 ? -b11 A -b110110101001001111100000000000 L -b1000101000000001111001011100010 } -b1111101100011110100110111111011 \ -b0 X -b1011 ` -1Z -b1111101100011110100110111111011 m -b1000001 i -b1011 q -0k -b110110101001001111100000000000 H -b10 P -b1111101100011110100110111111011 /" -b111 +" -b1011 3" -b1111101100011110100110111111011 @" -b1011 D" -b1000101000000001111001011100010 y -b10 #" -b10 4 -1' -#7646 -b1011111000 / -b10 2 -#7650 -07" -b1010 5" -1&" -b0 $" -b10 "" -b1 x -b1101110 b -b10 O -b100001010 s -b101101110 B -b11 A -b100001010101101110 8 -b101010101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100001010101101110 " -b11 . -b101010110010111011110101010101 % -b101010110010111011110101010101 < -b101010110010111011110101010101 D -b101010110010111011110101010101 U -b101010110010111011110101010101 f -b101010110010111011110101010101 u -b101010110010111011110101010101 (" -b101010110010111011110101010101 9" -0( -0) -0+ -0, -b1 0 -0' -#7653 -b11100001000000001111001011000011 0" -b11101001011010000000000 n -#7655 -b1110000100000000111100101100001100000000011101001011010000000000 # -b1 { -b11 . -b1110000100000000111100101100001100000000011101001011010000000000 ! -b1110000100000000111100101100001100000000011101001011010000000000 ? -b11 A -b11100001000000001111001011000011 } -b11101001011010000000000 L -b10 4 -b11100001000000001111001011000011 y -b10 #" -b101010110010111011110101010101 @" -b1010 <" -b1001 D" -0>" -b101010110010111011110101010101 /" -b0 +" -b1001 3" -1-" -b11101001011010000000000 H -b10 P -b101010110010111011110101010101 m -b1101110 i -b1001 q -b101010110010111011110101010101 \ -b1001 ` -1' -#7656 -b1011111001 / -b10 2 -#7660 -17" -b0 5" -0&" -0)" -b10111000 $" -b0 x -1d -b0 b -0S -0V -b10111000 Q -b0 G -b10111000 s -b10111000 B -b11 A -1g -b10 O -1:" -b10 "" -b10111000010111000 8 -0= -b10111000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111011011111000011 " -b11 . -1& -b10010010101100111110100000100101 % -b10010010101100111110100000100101 < -b10010010101100111110100000100101 D -b10010010101100111110100000100101 U -b10010010101100111110100000100101 f -b10010010101100111110100000100101 u -b10010010101100111110100000100101 (" -b10010010101100111110100000100101 9" -0( -0) -0+ -0, -b10 0 -0' -#7663 -b0 n -#7665 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b10010010101100111110100000100101 \ -b10111000 X -b1000 ` -0_ -0Z -b10010010101100111110100000100101 m -b0 i -b1000 q -1k -b0 H -b10 P -b10010010101100111110100000100101 /" -b10111000 +" -b1000 3" -02" -0-" -b10010010101100111110100000100101 @" -b0 <" -b1000 D" -1>" -b0 y -b10 #" -b100 7 -1' -#7666 -b1011111010 / -b10 2 -#7670 -b11011000 $" -0d -b1010010 b -1S -b0 Q -b1 G -b11011000 s -b101010010 B -b11 A -1V -b10 O -1)" -b10 "" -b11011000101010010 8 -1= -b100001010 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b11011000101010010 " -b11 . -0& -b10110110001101001001000001101100 % -b10110110001101001001000001101100 < -b10110110001101001001000001101100 D -b10110110001101001001000001101100 U -b10110110001101001001000001101100 f -b10110110001101001001000001101100 u -b10110110001101001001000001101100 (" -b10110110001101001001000001101100 9" -0( -0) -0+ -0, -b1 0 -0' -#7675 -1!" -1N -b1 J -b10 4 -b10 #" -b10110110001101001001000001101100 @" -b1001 D" -b10110110001101001001000001101100 /" -b11011000 +" -b1001 3" -12" -b10 P -b10110110001101001001000001101100 m -b1010010 i -b1001 q -0k -b10110110001101001001000001101100 \ -b0 X -b1001 ` -1_ -1Z -1' -#7676 -b1011111011 / -b10 2 -#7680 -b11000111 $" -1d -b0 b -0S -0V -b11000111 Q -b0 G -b11000111 s -b11000111 B -b11 A -1g -b10 O -0)" -b10 "" -b11000111011000111 8 -0= -b11000111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111100111011011 " -b11 . -1& -b10000010010111101111100100000 % -b10000010010111101111100100000 < -b10000010010111101111100100000 D -b10000010010111101111100100000 U -b10000010010111101111100100000 f -b10000010010111101111100100000 u -b10000010010111101111100100000 (" -b10000010010111101111100100000 9" -0( -0) -0+ -0, -b10 0 -0' -#7683 -b0 0" -#7685 -0N -b0 J -0!" -b10000010010111101111100100000 \ -b11000111 X -b1000 ` -0_ -0Z -b10000010010111101111100100000 m -b0 i -b1000 q -1k -b10 P -b10000010010111101111100100000 /" -b11000111 +" -b1000 3" -02" -b10000010010111101111100100000 @" -b1000 D" -b10 #" -b100 7 -1' -#7686 -b1011111100 / -b10 2 -#7690 -b11111010 $" -b10 "" -b11111010 Q -b10 O -b11111010 s -b11111010 B -b11 A -b11111010011111010 8 -b11111010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10101001000100 " -b11 . -1& -b1011100110100111000100110111001 % -b1011100110100111000100110111001 < -b1011100110100111000100110111001 D -b1011100110100111000100110111001 U -b1011100110100111000100110111001 f -b1011100110100111000100110111001 u -b1011100110100111000100110111001 (" -b1011100110100111000100110111001 9" -0( -0) -0+ -0, -b1 0 -0' -#7695 -b100 7 -b10 #" -b1011100110100111000100110111001 @" -b11 D" -b1011100110100111000100110111001 /" -b11111010 +" -b11 3" -b10 P -b1011100110100111000100110111001 m -b11 q -b1011100110100111000100110111001 \ -b11111010 X -b11 ` -1' -#7696 -b1011111101 / -b10 2 -#7700 -07" -0:" -b1001010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1001010 b -1S -1V -b0 Q -b10 O -b1 G -b101001010 s -b101001010 B -b11 A -b101001010101001010 8 -b101001010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111001000111001100 " -b11 . -1& -b11110001001010000110001011100010 % -b11110001001010000110001011100010 < -b11110001001010000110001011100010 D -b11110001001010000110001011100010 U -b11110001001010000110001011100010 f -b11110001001010000110001011100010 u -b11110001001010000110001011100010 (" -b11110001001010000110001011100010 9" -0( -0) -0+ -0, -b10 0 -0' -#7705 -b1 J -b1 { -b11110001001010000110001011100010 \ -b0 X -b100 ` -1_ -1Z -b11110001001010000110001011100010 m -b1001010 i -b100 q -0p -0k -b10 P -b11110001001010000110001011100010 /" -b0 +" -b100 3" -12" -1-" -b11110001001010000110001011100010 @" -b1001010 <" -b100 D" -0C" -0>" -b10 #" -b100 7 -1' -#7706 -b1011111110 / -b10 2 -#7710 -b1111000 5" -1d -b0 b -0S -b11000111 Q -b0 G -b101111000 s -b11000111 B -b11 A -1g -b10 O -1:" -b10 "" -b101111000011000111 8 -1= -b100110011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b101111000011000111 " -b11 . -0& -b10000000011001001000101000000000 % -b10000000011001001000101000000000 < -b10000000011001001000101000000000 D -b10000000011001001000101000000000 U -b10000000011001001000101000000000 f -b10000000011001001000101000000000 u -b10000000011001001000101000000000 (" -b10000000011001001000101000000000 9" -0( -0) -0+ -0, -b1 0 -0' -#7715 -1!" -1N -b0 J -b10 4 -b10 #" -b10000000011001001000101000000000 @" -b1111000 <" -b1 D" -1C" -b10000000011001001000101000000000 /" -b1 3" -b10 P -b10000000011001001000101000000000 m -b0 i -b1 q -1p -1k -b10000000011001001000101000000000 \ -b11000111 X -b1 ` -0Z -1' -#7716 -b1011111111 / -b10 2 -#7720 -17" -b0 5" -0&" -0)" -b11 $" -b0 x -b11 Q -b11 s -b11 B -b11 A -0V -b10 O -1:" -b10 "" -b11000000011 8 -0= -b11 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b110011100000101011 " -b11 . -1& -b110001111001000001101101100011 % -b110001111001000001101101100011 < -b110001111001000001101101100011 D -b110001111001000001101101100011 U -b110001111001000001101101100011 f -b110001111001000001101101100011 u -b110001111001000001101101100011 (" -b110001111001000001101101100011 9" -0( -0) -0+ -0, -b10 0 -0' -#7723 -b10000000000000000000000000000 ] -#7725 -b10000000000000000000000000000 # -0N -0!" -b0 { -b11 . -b10000000000000000000000000000 ! -b10000000000000000000000000000 ? -b11 A -b10000000000000000000000000000 L -b110001111001000001101101100011 \ -b11 X -b1011 ` -0_ -b110001111001000001101101100011 m -b1011 q -b10000000000000000000000000000 H -b10 P -b110001111001000001101101100011 /" -b11 +" -b1011 3" -02" -0-" -b110001111001000001101101100011 @" -b0 <" -b1011 D" -1>" -b10 #" -b100 7 -1' -#7726 -b1100000000 / -b10 2 -#7730 -b1000110 $" -b10 "" -b1000110 Q -b10 O -b1000110 s -b1000110 B -b11 A -b1000110001000110 8 -b1000110 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111000010100101111 " -b11 . -1& -b1101101010100100010000111011010 % -b1101101010100100010000111011010 < -b1101101010100100010000111011010 D -b1101101010100100010000111011010 U -b1101101010100100010000111011010 f -b1101101010100100010000111011010 u -b1101101010100100010000111011010 (" -b1101101010100100010000111011010 9" -0( -0) -0+ -0, -b1 0 -0' -#7735 -b100 7 -b10 #" -b1101101010100100010000111011010 @" -b1110 D" -b1101101010100100010000111011010 /" -b1000110 +" -b1110 3" -b10 P -b1101101010100100010000111011010 m -b1110 q -b1101101010100100010000111011010 \ -b1000110 X -b1110 ` -1' -#7736 -b1100000001 / -b10 2 -#7740 -b10101111 $" -0d -b1110 b -1S -b0 Q -b1 G -b10101111 s -b100001110 B -b11 A -1V -b10 O -1)" -b10 "" -b10101111100001110 8 -1= -b11000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10101111100001110 " -b11 . -0& -b1011010011100000011100110110100 % -b1011010011100000011100110110100 < -b1011010011100000011100110110100 D -b1011010011100000011100110110100 U -b1011010011100000011100110110100 f -b1011010011100000011100110110100 u -b1011010011100000011100110110100 (" -b1011010011100000011100110110100 9" -0( -0) -0+ -0, -b10 0 -0' -#7745 -1N -b1 J -1!" -b1011010011100000011100110110100 \ -b0 X -b1010 ` -1_ -1Z -b1011010011100000011100110110100 m -b1110 i -b1010 q -0k -b10 P -b1011010011100000011100110110100 /" -b10101111 +" -b1010 3" -12" -b1011010011100000011100110110100 @" -b1010 D" -b10 #" -b10 4 -1' -#7746 -b1100000010 / -b10 2 -#7750 -07" -b1100011 5" -1&" -b0 $" -b10 "" -b1 x -b10011010 b -b10 O -b101100011 s -b110011010 B -b11 A -b101100011110011010 8 -b101110000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101100011110011010 " -b11 . -b11100110010010110000101011001100 % -b11100110010010110000101011001100 < -b11100110010010110000101011001100 D -b11100110010010110000101011001100 U -b11100110010010110000101011001100 f -b11100110010010110000101011001100 u -b11100110010010110000101011001100 (" -b11100110010010110000101011001100 9" -0( -0) -0+ -0, -b1 0 -0' -#7753 -b1101110001101110000000011011100 0" -#7755 -b110111000110111000000001101110000000000000000000000000000000000 # -b1 { -b11 . -b110111000110111000000001101110000000000000000000000000000000000 ! -b110111000110111000000001101110000000000000000000000000000000000 ? -b11 A -b1101110001101110000000011011100 } -b0 L -b10 4 -b1101110001101110000000011011100 y -b10 #" -b11100110010010110000101011001100 @" -b1100011 <" -b1001 D" -0>" -b11100110010010110000101011001100 /" -b0 +" -b1001 3" -1-" -b0 H -b10 P -b11100110010010110000101011001100 m -b10011010 i -b1001 q -b11100110010010110000101011001100 \ -b1001 ` -1' -#7756 -b1100000011 / -b10 2 -#7760 -17" -b0 5" -0&" -0)" -b10111001 $" -b0 x -1d -b0 b -0S -0V -b10111001 Q -b0 G -b10111001 s -b10111001 B -b11 A -1g -b10 O -1:" -b10 "" -b10111001010111001 8 -0= -b10111001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110011001001001011 " -b11 . -1& -b1001011101001001001011110010111 % -b1001011101001001001011110010111 < -b1001011101001001001011110010111 D -b1001011101001001001011110010111 U -b1001011101001001001011110010111 f -b1001011101001001001011110010111 u -b1001011101001001001011110010111 (" -b1001011101001001001011110010111 9" -0( -0) -0+ -0, -b10 0 -0' -#7765 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b1001011101001001001011110010111 \ -b10111001 X -b110 ` -0_ -0Z -b1001011101001001001011110010111 m -b0 i -b110 q -1k -b10 P -b1001011101001001001011110010111 /" -b10111001 +" -b110 3" -02" -0-" -b1001011101001001001011110010111 @" -b0 <" -b110 D" -1>" -b0 y -b10 #" -b100 7 -1' -#7766 -b1100000100 / -b10 2 -#7770 -07" -b1101101 5" -1&" -b0 $" -b1 x -0d -b1010111 b -1S -b0 Q -b1 G -b101101101 s -b101010111 B -b11 A -1V -b10 O -1)" -b10 "" -b101101101101010111 8 -1= -b101001101 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101101101101010111 " -b11 . -0& -b1000100110001101110101110001001 % -b1000100110001101110101110001001 < -b1000100110001101110101110001001 D -b1000100110001101110101110001001 U -b1000100110001101110101110001001 f -b1000100110001101110101110001001 u -b1000100110001101110101110001001 (" -b1000100110001101110101110001001 9" -0( -0) -0+ -0, -b1 0 -0' -#7775 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b1000100110001101110101110001001 @" -b1101101 <" -b1111 D" -0>" -b1000100110001101110101110001001 /" -b0 +" -b1111 3" -12" -1-" -b10 P -b1000100110001101110101110001001 m -b1010111 i -b1111 q -0k -b1000100110001101110101110001001 \ -b0 X -b1111 ` -1_ -1Z -1' -#7776 -b1100000101 / -b10 2 -#7780 -17" -b0 5" -0&" -b11000100 $" -b10 "" -b0 x -b11001101 b -b10 O -b11000100 s -b111001101 B -b11 A -b11000100111001101 8 -b111001011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11000100111001101 " -b11 . -b100101110110101101111101001011 % -b100101110110101101111101001011 < -b100101110110101101111101001011 D -b100101110110101101111101001011 U -b100101110110101101111101001011 f -b100101110110101101111101001011 u -b100101110110101101111101001011 (" -b100101110110101101111101001011 9" -0( -0) -0+ -0, -b10 0 -0' -#7783 -b11110011000000000000000011101111 A" -b11010000000000010101101101111111 n -#7785 -b1111001100000000000000001110111111010000000000010101101101111111 # -b0 { -b11 . -b1111001100000000000000001110111111010000000000010101101101111111 ! -b1111001100000000000000001110111111010000000000010101101101111111 ? -b11 A -b11010000000000010101101101111111 L -b11110011000000000000000011101111 } -b100101110110101101111101001011 \ -b10 ` -b100101110110101101111101001011 m -b11001101 i -b10 q -b11010000000000010101101101111111 H -b10 P -b100101110110101101111101001011 /" -b11000100 +" -b10 3" -0-" -b100101110110101101111101001011 @" -b0 <" -b10 D" -1>" -b11110011000000000000000011101111 y -b10 #" -b10 4 -1' -#7786 -b1100000110 / -b10 2 -#7790 -07" -b11000101 5" -1&" -b0 $" -b10 "" -b1 x -b1001001 b -b10 O -b111000101 s -b101001001 B -b11 A -b111000101101001001 8 -b10111010 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111000101101001001 " -b11 . -b100100101000011101100101001001 % -b100100101000011101100101001001 < -b100100101000011101100101001001 D -b100100101000011101100101001001 U -b100100101000011101100101001001 f -b100100101000011101100101001001 u -b100100101000011101100101001001 (" -b100100101000011101100101001001 9" -0( -0) -0+ -0, -b1 0 -0' -#7793 -b0 0" -b101001010000000000000000 n -#7795 -b101001010000000000000000 # -b1 { -b11 . -b101001010000000000000000 ! -b101001010000000000000000 ? -b11 A -b0 } -b101001010000000000000000 L -b10 4 -b0 y -b10 #" -b100100101000011101100101001001 @" -b11000101 <" -b1001 D" -0>" -b100100101000011101100101001001 /" -b0 +" -b1001 3" -1-" -b101001010000000000000000 H -b10 P -b100100101000011101100101001001 m -b1001001 i -b1001 q -b100100101000011101100101001001 \ -b1001 ` -1' -#7796 -b1100000111 / -b10 2 -#7800 -b110110 5" -b10 "" -b10001000 b -b10 O -b100110110 s -b110001000 B -b11 A -b100110110110001000 8 -b1011100 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100110110110001000 " -b11 . -b111000010111001010010101110000 % -b111000010111001010010101110000 < -b111000010111001010010101110000 D -b111000010111001010010101110000 U -b111000010111001010010101110000 f -b111000010111001010010101110000 u -b111000010111001010010101110000 (" -b111000010111001010010101110000 9" -0( -0) -0+ -0, -b10 0 -0' -#7803 -b11011011110011100000000 A" -b1100011100000000 n -#7805 -b1101101111001110000000000000000000000001100011100000000 # -b11 . -b1101101111001110000000000000000000000001100011100000000 ! -b1101101111001110000000000000000000000001100011100000000 ? -b11 A -b1100011100000000 L -b11011011110011100000000 } -b111000010111001010010101110000 \ -b0 ` -b111000010111001010010101110000 m -b10001000 i -b0 q -b1100011100000000 H -b10 P -b111000010111001010010101110000 /" -b0 3" -b111000010111001010010101110000 @" -b110110 <" -b0 D" -b11011011110011100000000 y -b10 #" -b10 4 -1' -#7806 -b1100001000 / -b10 2 -#7810 -b111 5" -b111 b -b100000111 s -b100000111 B -b11 A -0g -b10 O -0:" -b10 "" -b100000111100000111 8 -0= -b100000111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100010001000100000 " -b11 . -1& -b10001110101101110000101000011101 % -b10001110101101110000101000011101 < -b10001110101101110000101000011101 D -b10001110101101110000101000011101 U -b10001110101101110000101000011101 f -b10001110101101110000101000011101 u -b10001110101101110000101000011101 (" -b10001110101101110000101000011101 9" -0( -0) -0+ -0, -b1 0 -0' -#7813 -b111000000000000001111101 A" -b111010000000000 n -#7815 -b11100000000000000111110100000000000000000111010000000000 # -0!" -0N -b11 . -b11100000000000000111110100000000000000000111010000000000 ! -b11100000000000000111110100000000000000000111010000000000 ? -b11 A -b111000000000000001111101 } -b111010000000000 L -b100 7 -b111000000000000001111101 y -b10 #" -b10001110101101110000101000011101 @" -b111 <" -b10 D" -0C" -b10001110101101110000101000011101 /" -b10 3" -b111010000000000 H -b10 P -b10001110101101110000101000011101 m -b111 i -b10 q -0p -b10001110101101110000101000011101 \ -b10 ` -1' -#7816 -b1100001001 / -b10 2 -#7820 -17" -b0 5" -0&" -b110000 $" -b0 x -b1011011 b -b110000 s -b101011011 B -b11 A -1g -b10 O -1:" -b10 "" -b110000101011011 8 -1= -b11010000 $ -b110000101011011 " -b11 . -0& -b110110001011001000101101101100 % -b110110001011001000101101101100 < -b110110001011001000101101101100 D -b110110001011001000101101101100 U -b110110001011001000101101101100 f -b110110001011001000101101101100 u -b110110001011001000101101101100 (" -b110110001011001000101101101100 9" -0( -0) -0+ -0, -b10 0 -0' -#7825 -1N -1!" -b0 { -b110110001011001000101101101100 \ -b110110001011001000101101101100 m -b1011011 i -1p -b10 P -b110110001011001000101101101100 /" -b110000 +" -0-" -b110110001011001000101101101100 @" -b0 <" -1C" -1>" -b10 #" -b10 4 -1' -#7826 -b1100001010 / -b10 2 -#7830 -b11010101 $" -b10 "" -b101000 b -b10 O -b11010101 s -b100101000 B -b11 A -b11010101100101000 8 -b1010001 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11010101100101000 " -b11 . -b11001110001000100111010010011100 % -b11001110001000100111010010011100 < -b11001110001000100111010010011100 D -b11001110001000100111010010011100 U -b11001110001000100111010010011100 f -b11001110001000100111010010011100 u -b11001110001000100111010010011100 (" -b11001110001000100111010010011100 9" -0( -0) -0+ -0, -b1 0 -0' -#7833 -b100000100000000000000000 0" -b0 n -#7835 -b10000010000000000000000000000000000000000000000000000000 # -b11 . -b10000010000000000000000000000000000000000000000000000000 ! -b10000010000000000000000000000000000000000000000000000000 ? -b11 A -b100000100000000000000000 } -b0 L -b10 4 -b100000100000000000000000 y -b10 #" -b11001110001000100111010010011100 @" -b1 D" -b11001110001000100111010010011100 /" -b11010101 +" -b1 3" -b0 H -b10 P -b11001110001000100111010010011100 m -b101000 i -b1 q -b11001110001000100111010010011100 \ -b1 ` -1' -#7836 -b1100001011 / -b10 2 -#7840 -07" -0:" -b10110010 5" -1&" -b0 $" -b1 x -b10110010 b -b110110010 s -b110110010 B -b11 A -0g -b10 O -1)" -b10 "" -b110110010110110010 8 -0= -b110110010 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11101111001110010 " -b11 . -1& -b10011011011100100101101000110110 % -b10011011011100100101101000110110 < -b10011011011100100101101000110110 D -b10011011011100100101101000110110 U -b10011011011100100101101000110110 f -b10011011011100100101101000110110 u -b10011011011100100101101000110110 (" -b10011011011100100101101000110110 9" -0( -0) -0+ -0, -b10 0 -0' -#7843 -b0 0" -b11111010000000000100111000000000 n -#7845 -b11111010000000000100111000000000 # -0N -0!" -b1 { -b11 . -b11111010000000000100111000000000 ! -b11111010000000000100111000000000 ? -b11 A -b11111010000000000100111000000000 L -b0 } -b10011011011100100101101000110110 \ -b100 ` -b10011011011100100101101000110110 m -b10110010 i -b100 q -0p -b11111010000000000100111000000000 H -b10 P -b10011011011100100101101000110110 /" -b0 +" -b100 3" -1-" -b10011011011100100101101000110110 @" -b10110010 <" -b100 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#7846 -b1100001100 / -b10 2 -#7850 -17" -b0 5" -0&" -b110101 $" -b0 x -1d -b0 b -0S -b1011 Q -b0 G -b110101 s -b1011 B -b11 A -1g -b10 O -1:" -b10 "" -b110101000001011 8 -1= -b110100101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b110101000001011 " -b11 . -0& -b1111101100100010110010111111011 % -b1111101100100010110010111111011 < -b1111101100100010110010111111011 D -b1111101100100010110010111111011 U -b1111101100100010110010111111011 f -b1111101100100010110010111111011 u -b1111101100100010110010111111011 (" -b1111101100100010110010111111011 9" -0( -0) -0+ -0, -b1 0 -0' -#7855 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b1111101100100010110010111111011 @" -b0 <" -b11 D" -1C" -1>" -b1111101100100010110010111111011 /" -b110101 +" -b11 3" -0-" -b10 P -b1111101100100010110010111111011 m -b0 i -b11 q -1p -1k -b1111101100100010110010111111011 \ -b1011 X -b11 ` -0Z -1' -#7856 -b1100001101 / -b10 2 -#7860 -b10001010 $" -b10 "" -b11110001 Q -b10 O -b10001010 s -b11110001 B -b11 A -b10001010011110001 8 -b1001010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b10001010011110001 " -b11 . -b11101111100100100010111011011111 % -b11101111100100100010111011011111 < -b11101111100100100010111011011111 D -b11101111100100100010111011011111 U -b11101111100100100010111011011111 f -b11101111100100100010111011011111 u -b11101111100100100010111011011111 (" -b11101111100100100010111011011111 9" -0( -0) -0+ -0, -b10 0 -0' -#7863 -b11101011011110000000000000000000 ] -#7865 -b11101011011110000000000000000000 # -b11 . -b11101011011110000000000000000000 ! -b11101011011110000000000000000000 ? -b11 A -b11101011011110000000000000000000 L -b11101111100100100010111011011111 \ -b11110001 X -b1111 ` -b11101111100100100010111011011111 m -b1111 q -b11101011011110000000000000000000 H -b10 P -b11101111100100100010111011011111 /" -b10001010 +" -b1111 3" -b11101111100100100010111011011111 @" -b1111 D" -b10 #" -b10 4 -1' -#7866 -b1100001110 / -b10 2 -#7870 -b100 $" -b10 "" -b11011111 Q -b10 O -b100 s -b11011111 B -b11 A -b100011011111 8 -b101111111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100011011111 " -b11 . -b1010101110010100010010110101011 % -b1010101110010100010010110101011 < -b1010101110010100010010110101011 D -b1010101110010100010010110101011 U -b1010101110010100010010110101011 f -b1010101110010100010010110101011 u -b1010101110010100010010110101011 (" -b1010101110010100010010110101011 9" -0( -0) -0+ -0, -b1 0 -0' -#7873 -b1110001001111111010101100000000 0" -b11100001100110010000000011000011 ] -#7875 -b111000100111111101010110000000011100001100110010000000011000011 # -b11 . -b111000100111111101010110000000011100001100110010000000011000011 ! -b111000100111111101010110000000011100001100110010000000011000011 ? -b11 A -b1110001001111111010101100000000 } -b11100001100110010000000011000011 L -b10 4 -b1110001001111111010101100000000 y -b10 #" -b1010101110010100010010110101011 @" -b0 D" -b1010101110010100010010110101011 /" -b100 +" -b0 3" -b11100001100110010000000011000011 H -b10 P -b1010101110010100010010110101011 m -b0 q -b1010101110010100010010110101011 \ -b11011111 X -b0 ` -1' -#7876 -b1100001111 / -b10 2 -#7880 -07" -b1101111 5" -1&" -b0 $" -b10 "" -b1 x -b111 Q -b10 O -b101101111 s -b111 B -b11 A -b101101111000000111 8 -b111001011 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101101111000000111 " -b11 . -b10010010101101101000101000100101 % -b10010010101101101000101000100101 < -b10010010101101101000101000100101 D -b10010010101101101000101000100101 U -b10010010101101101000101000100101 f -b10010010101101101000101000100101 u -b10010010101101101000101000100101 (" -b10010010101101101000101000100101 9" -0( -0) -0+ -0, -b10 0 -0' -#7883 -b0 0" -b0 ] -#7885 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b10010010101101101000101000100101 \ -b111 X -b11 ` -b10010010101101101000101000100101 m -b11 q -b0 H -b10 P -b10010010101101101000101000100101 /" -b0 +" -b11 3" -1-" -b10010010101101101000101000100101 @" -b1101111 <" -b11 D" -0>" -b0 y -b10 #" -b10 4 -1' -#7886 -b1100010000 / -b10 2 -#7890 -b11110011 5" -b10 "" -0d -b10110 b -1S -b0 Q -b10 O -b1 G -b111110011 s -b100010110 B -b11 A -b111110011100010110 8 -b11110111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b111110011100010110 " -b11 . -b11001100010100101001110010011000 % -b11001100010100101001110010011000 < -b11001100010100101001110010011000 D -b11001100010100101001110010011000 U -b11001100010100101001110010011000 f -b11001100010100101001110010011000 u -b11001100010100101001110010011000 (" -b11001100010100101001110010011000 9" -0( -0) -0+ -0, -b1 0 -0' -#7893 -b110111000000000000000000 A" -b11100001000000001111001011000011 ] -#7895 -b11011100000000000000000011100001000000001111001011000011 # -b1 J -b11 . -b11011100000000000000000011100001000000001111001011000011 ! -b11011100000000000000000011100001000000001111001011000011 ? -b11 A -b110111000000000000000000 } -b11100001000000001111001011000011 L -b10 4 -b110111000000000000000000 y -b10 #" -b11001100010100101001110010011000 @" -b11110011 <" -b1000 D" -b11001100010100101001110010011000 /" -b1000 3" -b11100001000000001111001011000011 H -b10 P -b11001100010100101001110010011000 m -b10110 i -b1000 q -0k -b11001100010100101001110010011000 \ -b0 X -b1000 ` -1Z -1' -#7896 -b1100010001 / -b10 2 -#7900 -17" -b0 5" -0&" -b11010010 $" -b10 "" -b0 x -b10111011 b -b10 O -b11010010 s -b110111011 B -b11 A -b11010010110111011 8 -b111000100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11010010110111011 " -b11 . -b10111010010101010111111001110100 % -b10111010010101010111111001110100 < -b10111010010101010111111001110100 D -b10111010010101010111111001110100 U -b10111010010101010111111001110100 f -b10111010010101010111111001110100 u -b10111010010101010111111001110100 (" -b10111010010101010111111001110100 9" -0( -0) -0+ -0, -b10 0 -0' -#7903 -b101111001110001110010001 A" -b10100010000000000000000000000000 n -#7905 -b10111100111000111001000110100010000000000000000000000000 # -b0 { -b11 . -b10111100111000111001000110100010000000000000000000000000 ! -b10111100111000111001000110100010000000000000000000000000 ? -b11 A -b10100010000000000000000000000000 L -b101111001110001110010001 } -b10111010010101010111111001110100 \ -b10 ` -b10111010010101010111111001110100 m -b10111011 i -b10 q -b10100010000000000000000000000000 H -b10 P -b10111010010101010111111001110100 /" -b11010010 +" -b10 3" -0-" -b10111010010101010111111001110100 @" -b0 <" -b10 D" -1>" -b101111001110001110010001 y -b10 #" -b10 4 -1' -#7906 -b1100010010 / -b10 2 -#7910 -07" -0:" -b1011100 5" -1&" -b0 $" -b1 x -b1011100 b -b101011100 s -b101011100 B -b11 A -0g -b10 O -1)" -b10 "" -b101011100101011100 8 -0= -b101011100 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b10010010110100001 " -b11 . -1& -b10000110111011110110100100001 % -b10000110111011110110100100001 < -b10000110111011110110100100001 D -b10000110111011110110100100001 U -b10000110111011110110100100001 f -b10000110111011110110100100001 u -b10000110111011110110100100001 (" -b10000110111011110110100100001 9" -0( -0) -0+ -0, -b1 0 -0' -#7913 -b1110010111001111101011100000000 n -#7915 -b1110010111001111101011100000000 # -0!" -b1 { -0N -b11 . -b1110010111001111101011100000000 ! -b1110010111001111101011100000000 ? -b11 A -b0 } -b1110010111001111101011100000000 L -b100 7 -b0 y -b10 #" -b10000110111011110110100100001 @" -b1011100 <" -b1110 D" -0C" -0>" -b10000110111011110110100100001 /" -b0 +" -b1110 3" -1-" -b1110010111001111101011100000000 H -b10 P -b10000110111011110110100100001 m -b1011100 i -b1110 q -0p -b10000110111011110110100100001 \ -b1110 ` -1' -#7916 -b1100010011 / -b10 2 -#7920 -b11010100 5" -1d -b0 b -0S -b10101000 Q -b0 G -b111010100 s -b10101000 B -b11 A -1g -b10 O -1:" -b10 "" -b111010100010101000 8 -1= -b1010111 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b111010100010101000 " -b11 . -0& -b1010110111110001100100110101101 % -b1010110111110001100100110101101 < -b1010110111110001100100110101101 D -b1010110111110001100100110101101 U -b1010110111110001100100110101101 f -b1010110111110001100100110101101 u -b1010110111110001100100110101101 (" -b1010110111110001100100110101101 9" -0( -0) -0+ -0, -b10 0 -0' -#7925 -1N -b0 J -1!" -b1010110111110001100100110101101 \ -b10101000 X -b1010 ` -0Z -b1010110111110001100100110101101 m -b0 i -b1010 q -1p -1k -b10 P -b1010110111110001100100110101101 /" -b1010 3" -b1010110111110001100100110101101 @" -b11010100 <" -b1010 D" -1C" -b10 #" -b10 4 -1' -#7926 -b1100010100 / -b10 2 -#7930 -b10001110 5" -b10 "" -b11101011 Q -b10 O -b110001110 s -b11101011 B -b11 A -b110001110011101011 8 -b1001011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110001110011101011 " -b11 . -b1100001111010010001011111000011 % -b1100001111010010001011111000011 < -b1100001111010010001011111000011 D -b1100001111010010001011111000011 U -b1100001111010010001011111000011 f -b1100001111010010001011111000011 u -b1100001111010010001011111000011 (" -b1100001111010010001011111000011 9" -0( -0) -0+ -0, -b1 0 -0' -#7933 -b0 A" -b100000010000110111000100000000 ] -#7935 -b100000010000110111000100000000 # -b11 . -b100000010000110111000100000000 ! -b100000010000110111000100000000 ? -b11 A -b100000010000110111000100000000 L -b10 4 -b10 #" -b1100001111010010001011111000011 @" -b10001110 <" -b1000 D" -b1100001111010010001011111000011 /" -b1000 3" -b100000010000110111000100000000 H -b10 P -b1100001111010010001011111000011 m -b1000 q -b1100001111010010001011111000011 \ -b11101011 X -b1000 ` -1' -#7936 -b1100010101 / -b10 2 -#7940 -b10111011 5" -0d -0g -b10111011 b -1S -b0 Q -b1 G -b110111011 s -b110111011 B -b11 A -1V -b10 O -0:" -b10 "" -b110111011110111011 8 -0= -b110111011 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10001010010011010 " -b11 . -1& -b10000110010100001111000000001100 % -b10000110010100001111000000001100 < -b10000110010100001111000000001100 D -b10000110010100001111000000001100 U -b10000110010100001111000000001100 f -b10000110010100001111000000001100 u -b10000110010100001111000000001100 (" -b10000110010100001111000000001100 9" -0( -0) -0+ -0, -b10 0 -0' -#7943 -b101110101001011000000000 A" -b11011011101001000000000 ] -#7945 -b10111010100101100000000000000000011011011101001000000000 # -0N -b1 J -0!" -b11 . -b10111010100101100000000000000000011011011101001000000000 ! -b10111010100101100000000000000000011011011101001000000000 ? -b11 A -b11011011101001000000000 L -b101110101001011000000000 } -b10000110010100001111000000001100 \ -b0 X -b111 ` -1Z -b10000110010100001111000000001100 m -b10111011 i -b111 q -0p -0k -b11011011101001000000000 H -b10 P -b10000110010100001111000000001100 /" -b111 3" -b10000110010100001111000000001100 @" -b10111011 <" -b111 D" -0C" -b101110101001011000000000 y -b10 #" -b100 7 -1' -#7946 -b1100010110 / -b10 2 -#7950 -b11011110 5" -b10 "" -b11011110 b -b10 O -b111011110 s -b111011110 B -b11 A -b111011110111011110 8 -b111011110 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b11001101100101000 " -b11 . -1& -b1110100101011101001000111101001 % -b1110100101011101001000111101001 < -b1110100101011101001000111101001 D -b1110100101011101001000111101001 U -b1110100101011101001000111101001 f -b1110100101011101001000111101001 u -b1110100101011101001000111101001 (" -b1110100101011101001000111101001 9" -0( -0) -0+ -0, -b1 0 -0' -#7955 -b100 7 -b10 #" -b1110100101011101001000111101001 @" -b11011110 <" -b1011 D" -b1110100101011101001000111101001 /" -b1011 3" -b10 P -b1110100101011101001000111101001 m -b11011110 i -b1011 q -b1110100101011101001000111101001 \ -b1011 ` -1' -#7956 -b1100010111 / -b10 2 -#7960 -17" -b0 5" -0&" -b1011 $" -b0 x -1d -b0 b -0S -b11110111 Q -b0 G -b1011 s -b11110111 B -b11 A -1g -b10 O -1:" -b10 "" -b1011011110111 8 -1= -b11101 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1011011110111 " -b11 . -0& -b11111010110110110101100111110 % -b11111010110110110101100111110 < -b11111010110110110101100111110 D -b11111010110110110101100111110 U -b11111010110110110101100111110 f -b11111010110110110101100111110 u -b11111010110110110101100111110 (" -b11111010110110110101100111110 9" -0( -0) -0+ -0, -b10 0 -0' -#7965 -1N -b0 J -1!" -b0 { -b11111010110110110101100111110 \ -b11110111 X -b1101 ` -0Z -b11111010110110110101100111110 m -b0 i -b1101 q -1p -1k -b10 P -b11111010110110110101100111110 /" -b1011 +" -b1101 3" -0-" -b11111010110110110101100111110 @" -b0 <" -b1101 D" -1C" -1>" -b10 #" -b10 4 -1' -#7966 -b1100011000 / -b10 2 -#7970 -b10110001 $" -b10110001 Q -b10110001 s -b10110001 B -b11 A -0V -b10 O -0)" -b10 "" -b10110001010110001 8 -0= -b10110001 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10101101010100010 " -b11 . -1& -b10111010010110001111010001110100 % -b10111010010110001111010001110100 < -b10111010010110001111010001110100 D -b10111010010110001111010001110100 U -b10111010010110001111010001110100 f -b10111010010110001111010001110100 u -b10111010010110001111010001110100 (" -b10111010010110001111010001110100 9" -0( -0) -0+ -0, -b1 0 -0' -#7973 -b11101011011110000000000000000000 0" -b1010010010 ] -#7975 -b1110101101111000000000000000000000000000000000000000001010010010 # -0!" -0N -b11 . -b1110101101111000000000000000000000000000000000000000001010010010 ! -b1110101101111000000000000000000000000000000000000000001010010010 ? -b11 A -b11101011011110000000000000000000 } -b1010010010 L -b100 7 -b11101011011110000000000000000000 y -b10 #" -b10111010010110001111010001110100 @" -b101 D" -b10111010010110001111010001110100 /" -b10110001 +" -b101 3" -02" -b1010010010 H -b10 P -b10111010010110001111010001110100 m -b101 q -b10111010010110001111010001110100 \ -b10110001 X -b101 ` -0_ -1' -#7976 -b1100011001 / -b10 2 -#7980 -b1111001 $" -b10 "" -b1111001 Q -b10 O -b1111001 s -b1111001 B -b11 A -b1111001001111001 8 -b1111001 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b100001101110000 " -b11 . -1& -b10000011001000111011011000000110 % -b10000011001000111011011000000110 < -b10000011001000111011011000000110 D -b10000011001000111011011000000110 U -b10000011001000111011011000000110 f -b10000011001000111011011000000110 u -b10000011001000111011011000000110 (" -b10000011001000111011011000000110 9" -0( -0) -0+ -0, -b10 0 -0' -#7985 -b10000011001000111011011000000110 \ -b1111001 X -b111 ` -b10000011001000111011011000000110 m -b111 q -b10 P -b10000011001000111011011000000110 /" -b1111001 +" -b111 3" -b10000011001000111011011000000110 @" -b111 D" -b10 #" -b100 7 -1' -#7986 -b1100011010 / -b10 2 -#7990 -07" -b11000111 5" -1&" -b0 $" -b1 x -b11101011 Q -b111000111 s -b11101011 B -b11 A -1V -b10 O -1)" -b10 "" -b111000111011101011 8 -1= -b11001100 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111000111011101011 " -b11 . -0& -b10100000111001001010100101000 % -b10100000111001001010100101000 < -b10100000111001001010100101000 D -b10100000111001001010100101000 U -b10100000111001001010100101000 f -b10100000111001001010100101000 u -b10100000111001001010100101000 (" -b10100000111001001010100101000 9" -0( -0) -0+ -0, -b1 0 -0' -#7995 -1!" -b1 { -1N -b10 4 -b10 #" -b10100000111001001010100101000 @" -b11000111 <" -b1001 D" -0>" -b10100000111001001010100101000 /" -b0 +" -b1001 3" -12" -1-" -b10 P -b10100000111001001010100101000 m -b1001 q -b10100000111001001010100101000 \ -b11101011 X -b1001 ` -1_ -1' -#7996 -b1100011011 / -b10 2 -#8000 -b11100101 5" -0d -0g -b11100101 b -1S -b0 Q -b1 G -b111100101 s -b111100101 B -b11 A -1V -b10 O -0:" -b10 "" -b111100101111100101 8 -0= -b111100101 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100010111001001101 " -b11 . -1& -b1011011011001111000001110110110 % -b1011011011001111000001110110110 < -b1011011011001111000001110110110 D -b1011011011001111000001110110110 U -b1011011011001111000001110110110 f -b1011011011001111000001110110110 u -b1011011011001111000001110110110 (" -b1011011011001111000001110110110 9" -0( -0) -0+ -0, -b10 0 -0' -#8003 -b0 A" -b11011011101001000000000 ] -#8005 -b11011011101001000000000 # -0N -b1 J -0!" -b11 . -b11011011101001000000000 ! -b11011011101001000000000 ? -b11 A -b11011011101001000000000 L -b0 } -b1011011011001111000001110110110 \ -b0 X -b1000 ` -1Z -b1011011011001111000001110110110 m -b11100101 i -b1000 q -0p -0k -b11011011101001000000000 H -b10 P -b1011011011001111000001110110110 /" -b1000 3" -b1011011011001111000001110110110 @" -b11100101 <" -b1000 D" -0C" -b0 y -b10 #" -b100 7 -1' -#8006 -b1100011100 / -b10 2 -#8010 -b10111001 5" -b1011111 b -b110111001 s -b101011111 B -b11 A -1g -b10 O -1:" -b10 "" -b110111001101011111 8 -1= -b1 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b110111001101011111 " -b11 . -0& -b11111001101000000001111011110011 % -b11111001101000000001111011110011 < -b11111001101000000001111011110011 D -b11111001101000000001111011110011 U -b11111001101000000001111011110011 f -b11111001101000000001111011110011 u -b11111001101000000001111011110011 (" -b11111001101000000001111011110011 9" -0( -0) -0+ -0, -b1 0 -0' -#8015 -1!" -1N -b10 4 -b10 #" -b11111001101000000001111011110011 @" -b10111001 <" -b1111 D" -1C" -b11111001101000000001111011110011 /" -b1111 3" -b10 P -b11111001101000000001111011110011 m -b1011111 i -b1111 q -1p -b11111001101000000001111011110011 \ -b1111 ` -1' -#8016 -b1100011101 / -b10 2 -#8020 -17" -b0 5" -0&" -0)" -b1010100 $" -b0 x -1d -b0 b -0S -0V -b1010100 Q -b0 G -b1010100 s -b1010100 B -b11 A -1g -b10 O -1:" -b10 "" -b1010100001010100 8 -0= -b1010100 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b1010100101100110 " -b11 . -1& -b1001001011100010100000010 % -b1001001011100010100000010 < -b1001001011100010100000010 D -b1001001011100010100000010 U -b1001001011100010100000010 f -b1001001011100010100000010 u -b1001001011100010100000010 (" -b1001001011100010100000010 9" -0( -0) -0+ -0, -b10 0 -0' -#8023 -b1001011101001101000110110010111 n -#8025 -b1001011101001101000110110010111 # -0N -b0 J -0!" -b0 { -b11 . -b1001011101001101000110110010111 ! -b1001011101001101000110110010111 ? -b11 A -b1001011101001101000110110010111 L -b1001001011100010100000010 \ -b1010100 X -b1010 ` -0_ -0Z -b1001001011100010100000010 m -b0 i -b1010 q -1k -b1001011101001101000110110010111 H -b10 P -b1001001011100010100000010 /" -b1010100 +" -b1010 3" -02" -0-" -b1001001011100010100000010 @" -b0 <" -b1010 D" -1>" -b10 #" -b100 7 -1' -#8026 -b1100011110 / -b10 2 -#8030 -b11000110 $" -0d -b10110101 b -1S -b0 Q -b1 G -b11000110 s -b110110101 B -b11 A -1V -b10 O -1)" -b10 "" -b11000110110110101 8 -1= -b10110111 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b11000110110110101 " -b11 . -0& -b10100000110111000011110001000001 % -b10100000110111000011110001000001 < -b10100000110111000011110001000001 D -b10100000110111000011110001000001 U -b10100000110111000011110001000001 f -b10100000110111000011110001000001 u -b10100000110111000011110001000001 (" -b10100000110111000011110001000001 9" -0( -0) -0+ -0, -b1 0 -0' -#8035 -1!" -1N -b1 J -b10 4 -b10 #" -b10100000110111000011110001000001 @" -b111 D" -b10100000110111000011110001000001 /" -b11000110 +" -b111 3" -12" -b10 P -b10100000110111000011110001000001 m -b10110101 i -b111 q -0k -b10100000110111000011110001000001 \ -b0 X -b111 ` -1_ -1Z -1' -#8036 -b1100011111 / -b10 2 -#8040 -b10101110 $" -b10 "" -b11110010 b -b10 O -b10101110 s -b111110010 B -b11 A -b10101110111110010 8 -b110000111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10101110111110010 " -b11 . -b10111111000001110010100101111 % -b10111111000001110010100101111 < -b10111111000001110010100101111 D -b10111111000001110010100101111 U -b10111111000001110010100101111 f -b10111111000001110010100101111 u -b10111111000001110010100101111 (" -b10111111000001110010100101111 9" -0( -0) -0+ -0, -b10 0 -0' -#8043 -b1100011000000110100100011000110 0" -b1010110000011100000000000000000 n -#8045 -b110001100000011010010001100011001010110000011100000000000000000 # -b11 . -b110001100000011010010001100011001010110000011100000000000000000 ! -b110001100000011010010001100011001010110000011100000000000000000 ? -b11 A -b1010110000011100000000000000000 L -b1100011000000110100100011000110 } -b10111111000001110010100101111 \ -b1000 ` -b10111111000001110010100101111 m -b11110010 i -b1000 q -b1010110000011100000000000000000 H -b10 P -b10111111000001110010100101111 /" -b10101110 +" -b1000 3" -b10111111000001110010100101111 @" -b1000 D" -b1100011000000110100100011000110 y -b10 #" -b10 4 -1' -#8046 -b1100100000 / -b10 2 -#8050 -b10011001 $" -1d -b0 b -0S -0V -b10011001 Q -b0 G -b10011001 s -b10011001 B -b11 A -1g -b10 O -0)" -b10 "" -b10011001010011001 8 -0= -b10011001 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b1110001010010100 " -b11 . -1& -b1001100010110100011010110011000 % -b1001100010110100011010110011000 < -b1001100010110100011010110011000 D -b1001100010110100011010110011000 U -b1001100010110100011010110011000 f -b1001100010110100011010110011000 u -b1001100010110100011010110011000 (" -b1001100010110100011010110011000 9" -0( -0) -0+ -0, -b1 0 -0' -#8053 -b10000001111000110000000011101101 0" -b0 n -#8055 -b1000000111100011000000001110110100000000000000000000000000000000 # -0!" -0N -b0 J -b11 . -b1000000111100011000000001110110100000000000000000000000000000000 ! -b1000000111100011000000001110110100000000000000000000000000000000 ? -b11 A -b10000001111000110000000011101101 } -b0 L -b100 7 -b10000001111000110000000011101101 y -b10 #" -b1001100010110100011010110011000 @" -b111 D" -b1001100010110100011010110011000 /" -b10011001 +" -b111 3" -02" -b0 H -b10 P -b1001100010110100011010110011000 m -b0 i -b111 q -1k -b1001100010110100011010110011000 \ -b10011001 X -b111 ` -0_ -0Z -1' -#8056 -b1100100001 / -b10 2 -#8060 -07" -0:" -b11010010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11010010 b -1S -1V -b0 Q -b10 O -b1 G -b111010010 s -b111010010 B -b11 A -b111010010111010010 8 -b111010010 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110101010100010110 " -b11 . -1& -b101111000110111101000101011110 % -b101111000110111101000101011110 < -b101111000110111101000101011110 D -b101111000110111101000101011110 U -b101111000110111101000101011110 f -b101111000110111101000101011110 u -b101111000110111101000101011110 (" -b101111000110111101000101011110 9" -0( -0) -0+ -0, -b10 0 -0' -#8065 -b1 J -b1 { -b101111000110111101000101011110 \ -b0 X -b110 ` -1_ -1Z -b101111000110111101000101011110 m -b11010010 i -b110 q -0p -0k -b10 P -b101111000110111101000101011110 /" -b0 +" -b110 3" -12" -1-" -b101111000110111101000101011110 @" -b11010010 <" -b110 D" -0C" -0>" -b10 #" -b100 7 -1' -#8066 -b1100100010 / -b10 2 -#8070 -b110010 5" -b110 b -b100110010 s -b100000110 B -b11 A -1g -b10 O -1:" -b10 "" -b100110010100000110 8 -1= -b110101110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b100110010100000110 " -b11 . -0& -b11110100011110011000101011101000 % -b11110100011110011000101011101000 < -b11110100011110011000101011101000 D -b11110100011110011000101011101000 U -b11110100011110011000101011101000 f -b11110100011110011000101011101000 u -b11110100011110011000101011101000 (" -b11110100011110011000101011101000 9" -0( -0) -0+ -0, -b1 0 -0' -#8075 -1!" -1N -b10 4 -b10 #" -b11110100011110011000101011101000 @" -b110010 <" -b101 D" -1C" -b11110100011110011000101011101000 /" -b101 3" -b10 P -b11110100011110011000101011101000 m -b110 i -b101 q -1p -b11110100011110011000101011101000 \ -b101 ` -1' -#8076 -b1100100011 / -b10 2 -#8080 -b100011 5" -b10 "" -b10101100 b -b10 O -b100100011 s -b110101100 B -b11 A -b100100011110101100 8 -b10000111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100100011110101100 " -b11 . -b100010010110100010011101000100 % -b100010010110100010011101000100 < -b100010010110100010011101000100 D -b100010010110100010011101000100 U -b100010010110100010011101000100 f -b100010010110100010011101000100 u -b100010010110100010011101000100 (" -b100010010110100010011101000100 9" -0( -0) -0+ -0, -b10 0 -0' -#8083 -b10000101000101011000001100000000 A" -#8085 -b1000010100010101100000110000000000000000000000000000000000000000 # -b11 . -b1000010100010101100000110000000000000000000000000000000000000000 ! -b1000010100010101100000110000000000000000000000000000000000000000 ? -b11 A -b10000101000101011000001100000000 } -b100010010110100010011101000100 \ -b1011 ` -b100010010110100010011101000100 m -b10101100 i -b1011 q -b10 P -b100010010110100010011101000100 /" -b1011 3" -b100010010110100010011101000100 @" -b100011 <" -b1011 D" -b10000101000101011000001100000000 y -b10 #" -b10 4 -1' -#8086 -b1100100100 / -b10 2 -#8090 -b110010 5" -b110010 b -b100110010 s -b100110010 B -b11 A -0g -b10 O -0:" -b10 "" -b100110010100110010 8 -0= -b100110010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101111000101000 " -b11 . -1& -b11111010001001001001110011110100 % -b11111010001001001001110011110100 < -b11111010001001001001110011110100 D -b11111010001001001001110011110100 U -b11111010001001001001110011110100 f -b11111010001001001001110011110100 u -b11111010001001001001110011110100 (" -b11111010001001001001110011110100 9" -0( -0) -0+ -0, -b1 0 -0' -#8093 -b0 A" -#8095 -b0 # -0!" -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b11111010001001001001110011110100 @" -b110010 <" -b1000 D" -0C" -b11111010001001001001110011110100 /" -b1000 3" -b10 P -b11111010001001001001110011110100 m -b110010 i -b1000 q -0p -b11111010001001001001110011110100 \ -b1000 ` -1' -#8096 -b1100100101 / -b10 2 -#8100 -b10111001 5" -b10 "" -b10111001 b -b10 O -b110111001 s -b110111001 B -b11 A -b110111001110111001 8 -b110111001 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10110110011111110 " -b11 . -1& -b101000101010110100110101010001 % -b101000101010110100110101010001 < -b101000101010110100110101010001 D -b101000101010110100110101010001 U -b101000101010110100110101010001 f -b101000101010110100110101010001 u -b101000101010110100110101010001 (" -b101000101010110100110101010001 9" -0( -0) -0+ -0, -b10 0 -0' -#8105 -b101000101010110100110101010001 \ -b1011 ` -b101000101010110100110101010001 m -b10111001 i -b1011 q -b10 P -b101000101010110100110101010001 /" -b1011 3" -b101000101010110100110101010001 @" -b10111001 <" -b1011 D" -b10 #" -b100 7 -1' -#8106 -b1100100110 / -b10 2 -#8110 -b1011000 5" -b1010110 b -b101011000 s -b101010110 B -b11 A -1g -b10 O -1:" -b10 "" -b101011000101010110 8 -1= -b11010100 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101011000101010110 " -b11 . -0& -b11100101000111000100010011001010 % -b11100101000111000100010011001010 < -b11100101000111000100010011001010 D -b11100101000111000100010011001010 U -b11100101000111000100010011001010 f -b11100101000111000100010011001010 u -b11100101000111000100010011001010 (" -b11100101000111000100010011001010 9" -0( -0) -0+ -0, -b1 0 -0' -#8115 -1!" -1N -b10 4 -b10 #" -b11100101000111000100010011001010 @" -b1011000 <" -b110 D" -1C" -b11100101000111000100010011001010 /" -b110 3" -b10 P -b11100101000111000100010011001010 m -b1010110 i -b110 q -1p -b11100101000111000100010011001010 \ -b110 ` -1' -#8116 -b1100100111 / -b10 2 -#8120 -b11101101 5" -b10 "" -b11101110 b -b10 O -b111101101 s -b111101110 B -b11 A -b111101101111101110 8 -b11100110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111101101111101110 " -b11 . -b111111100010001001101101111111 % -b111111100010001001101101111111 < -b111111100010001001101101111111 D -b111111100010001001101101111111 U -b111111100010001001101101111111 f -b111111100010001001101101111111 u -b111111100010001001101101111111 (" -b111111100010001001101101111111 9" -0( -0) -0+ -0, -b10 0 -0' -#8123 -b111011100000000000101011 A" -b1010110111111010100101101001011 n -#8125 -b11101110000000000010101101010110111111010100101101001011 # -b11 . -b11101110000000000010101101010110111111010100101101001011 ! -b11101110000000000010101101010110111111010100101101001011 ? -b11 A -b1010110111111010100101101001011 L -b111011100000000000101011 } -b111111100010001001101101111111 \ -b1001 ` -b111111100010001001101101111111 m -b11101110 i -b1001 q -b1010110111111010100101101001011 H -b10 P -b111111100010001001101101111111 /" -b1001 3" -b111111100010001001101101111111 @" -b11101101 <" -b1001 D" -b111011100000000000101011 y -b10 #" -b10 4 -1' -#8126 -b1100101000 / -b10 2 -#8130 -b10111000 5" -b10111000 b -b110111000 s -b110111000 B -b11 A -0g -b10 O -0:" -b10 "" -b110111000110111000 8 -0= -b110111000 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11101101001011110 " -b11 . -1& -b1001101110000100111101110011011 % -b1001101110000100111101110011011 < -b1001101110000100111101110011011 D -b1001101110000100111101110011011 U -b1001101110000100111101110011011 f -b1001101110000100111101110011011 u -b1001101110000100111101110011011 (" -b1001101110000100111101110011011 9" -0( -0) -0+ -0, -b1 0 -0' -#8133 -b0 A" -b11000011010011011100000101100 n -#8135 -b11000011010011011100000101100 # -0!" -0N -b11 . -b11000011010011011100000101100 ! -b11000011010011011100000101100 ? -b11 A -b0 } -b11000011010011011100000101100 L -b100 7 -b0 y -b10 #" -b1001101110000100111101110011011 @" -b10111000 <" -b0 D" -0C" -b1001101110000100111101110011011 /" -b0 3" -b11000011010011011100000101100 H -b10 P -b1001101110000100111101110011011 m -b10111000 i -b0 q -0p -b1001101110000100111101110011011 \ -b0 ` -1' -#8136 -b1100101001 / -b10 2 -#8140 -17" -1:" -b0 5" -0&" -0)" -b10100011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10100011 Q -b10 O -b0 G -b10100011 s -b10100011 B -b11 A -b10100011010100011 8 -b10100011 $ -b101001010000100011 " -b11 . -1& -b10001001100011100110111000010011 % -b10001001100011100110111000010011 < -b10001001100011100110111000010011 D -b10001001100011100110111000010011 U -b10001001100011100110111000010011 f -b10001001100011100110111000010011 u -b10001001100011100110111000010011 (" -b10001001100011100110111000010011 9" -0( -0) -0+ -0, -b10 0 -0' -#8145 -b0 J -b0 { -b10001001100011100110111000010011 \ -b10100011 X -0_ -0Z -b10001001100011100110111000010011 m -b0 i -1p -1k -b10 P -b10001001100011100110111000010011 /" -b10100011 +" -02" -0-" -b10001001100011100110111000010011 @" -b0 <" -1C" -1>" -b10 #" -b100 7 -1' -#8146 -b1100101010 / -b10 2 -#8150 -07" -b10111010 5" -1&" -b0 $" -b1 x -0d -b11000110 b -1S -b0 Q -b1 G -b110111010 s -b111000110 B -b11 A -1V -b10 O -1)" -b10 "" -b110111010111000110 8 -1= -b101110100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110111010111000110 " -b11 . -0& -b1101010000010111111000111010100 % -b1101010000010111111000111010100 < -b1101010000010111111000111010100 D -b1101010000010111111000111010100 U -b1101010000010111111000111010100 f -b1101010000010111111000111010100 u -b1101010000010111111000111010100 (" -b1101010000010111111000111010100 9" -0( -0) -0+ -0, -b1 0 -0' -#8155 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b1101010000010111111000111010100 @" -b10111010 <" -b1 D" -0>" -b1101010000010111111000111010100 /" -b0 +" -b1 3" -12" -1-" -b10 P -b1101010000010111111000111010100 m -b11000110 i -b1 q -0k -b1101010000010111111000111010100 \ -b0 X -b1 ` -1_ -1Z -1' -#8156 -b1100101011 / -b10 2 -#8160 -17" -b0 5" -0&" -0)" -b10000111 $" -b0 x -1d -b0 b -0S -0V -b10000111 Q -b0 G -b10000111 s -b10000111 B -b11 A -1g -b10 O -1:" -b10 "" -b10000111010000111 8 -0= -b10000111 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b11000111100110001 " -b11 . -1& -b10001000010110000101010000010000 % -b10001000010110000101010000010000 < -b10001000010110000101010000010000 D -b10001000010110000101010000010000 U -b10001000010110000101010000010000 f -b10001000010110000101010000010000 u -b10001000010110000101010000010000 (" -b10001000010110000101010000010000 9" -0( -0) -0+ -0, -b10 0 -0' -#8163 -b11110100000000001010011000000000 A" -b0 n -#8165 -b1111010000000000101001100000000000000000000000000000000000000000 # -0N -b0 J -0!" -b0 { -b11 . -b1111010000000000101001100000000000000000000000000000000000000000 ! -b1111010000000000101001100000000000000000000000000000000000000000 ? -b11 A -b0 L -b11110100000000001010011000000000 } -b10001000010110000101010000010000 \ -b10000111 X -b110 ` -0_ -0Z -b10001000010110000101010000010000 m -b0 i -b110 q -1k -b0 H -b10 P -b10001000010110000101010000010000 /" -b10000111 +" -b110 3" -02" -0-" -b10001000010110000101010000010000 @" -b0 <" -b110 D" -1>" -b11110100000000001010011000000000 y -b10 #" -b100 7 -1' -#8166 -b1100101100 / -b10 2 -#8170 -07" -0:" -b10001001 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10001001 b -1S -1V -b0 Q -b10 O -b1 G -b110001001 s -b110001001 B -b11 A -b110001001110001001 8 -b110001001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110011001010101001 " -b11 . -1& -b110111000000001011001101101110 % -b110111000000001011001101101110 < -b110111000000001011001101101110 D -b110111000000001011001101101110 U -b110111000000001011001101101110 f -b110111000000001011001101101110 u -b110111000000001011001101101110 (" -b110111000000001011001101101110 9" -0( -0) -0+ -0, -b1 0 -0' -#8175 -b1 { -b1 J -b100 7 -b10 #" -b110111000000001011001101101110 @" -b10001001 <" -b10 D" -0C" -0>" -b110111000000001011001101101110 /" -b0 +" -b10 3" -12" -1-" -b10 P -b110111000000001011001101101110 m -b10001001 i -b10 q -0p -0k -b110111000000001011001101101110 \ -b0 X -b10 ` -1_ -1Z -1' -#8176 -b1100101101 / -b10 2 -#8180 -17" -b0 5" -0&" -b111000 $" -b0 x -1d -b0 b -0S -b1001111 Q -b0 G -b111000 s -b1001111 B -b11 A -1g -b10 O -1:" -b10 "" -b111000001001111 8 -1= -b100000010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111000001001111 " -b11 . -0& -b1111001100010000010100111110011 % -b1111001100010000010100111110011 < -b1111001100010000010100111110011 D -b1111001100010000010100111110011 U -b1111001100010000010100111110011 f -b1111001100010000010100111110011 u -b1111001100010000010100111110011 (" -b1111001100010000010100111110011 9" -0( -0) -0+ -0, -b10 0 -0' -#8185 -1N -b0 J -1!" -b0 { -b1111001100010000010100111110011 \ -b1001111 X -b1111 ` -0Z -b1111001100010000010100111110011 m -b0 i -b1111 q -1p -1k -b10 P -b1111001100010000010100111110011 /" -b111000 +" -b1111 3" -0-" -b1111001100010000010100111110011 @" -b0 <" -b1111 D" -1C" -1>" -b10 #" -b10 4 -1' -#8186 -b1100101110 / -b10 2 -#8190 -b111110 $" -b10 "" -0d -b111001 b -1S -b0 Q -b10 O -b1 G -b111110 s -b100111001 B -b11 A -b111110100111001 8 -b111000001 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111110100111001 " -b11 . -b1010011111100111100111110100111 % -b1010011111100111100111110100111 < -b1010011111100111100111110100111 D -b1010011111100111100111110100111 U -b1010011111100111100111110100111 f -b1010011111100111100111110100111 u -b1010011111100111100111110100111 (" -b1010011111100111100111110100111 9" -0( -0) -0+ -0, -b1 0 -0' -#8193 -b0 0" -b0 ] -#8195 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b1010011111100111100111110100111 @" -b100 D" -b1010011111100111100111110100111 /" -b111110 +" -b100 3" -b10 P -b1010011111100111100111110100111 m -b111001 i -b100 q -0k -b1010011111100111100111110100111 \ -b0 X -b100 ` -1Z -1' -#8196 -b1100101111 / -b10 2 -#8200 -b11001000 $" -b10 "" -b10101001 b -b10 O -b11001000 s -b110101001 B -b11 A -b11001000110101001 8 -b11100011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11001000110101001 " -b11 . -b11000001110000000010101010000011 % -b11000001110000000010101010000011 < -b11000001110000000010101010000011 D -b11000001110000000010101010000011 U -b11000001110000000010101010000011 f -b11000001110000000010101010000011 u -b11000001110000000010101010000011 (" -b11000001110000000010101010000011 9" -0( -0) -0+ -0, -b10 0 -0' -#8203 -b1000001000000001001011100000000 0" -#8205 -b100000100000000100101110000000000000000000000000000000000000000 # -b11 . -b100000100000000100101110000000000000000000000000000000000000000 ! -b100000100000000100101110000000000000000000000000000000000000000 ? -b11 A -b1000001000000001001011100000000 } -b11000001110000000010101010000011 \ -b1101 ` -b11000001110000000010101010000011 m -b10101001 i -b1101 q -b10 P -b11000001110000000010101010000011 /" -b11001000 +" -b1101 3" -b11000001110000000010101010000011 @" -b1101 D" -b1000001000000001001011100000000 y -b10 #" -b10 4 -1' -#8206 -b1100110000 / -b10 2 -#8210 -07" -b10101111 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b1010001 Q -b10 O -b0 G -b110101111 s -b1010001 B -b11 A -b110101111001010001 8 -b100000111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b110101111001010001 " -b11 . -b1001010010110011110100110010100 % -b1001010010110011110100110010100 < -b1001010010110011110100110010100 D -b1001010010110011110100110010100 U -b1001010010110011110100110010100 f -b1001010010110011110100110010100 u -b1001010010110011110100110010100 (" -b1001010010110011110100110010100 9" -0( -0) -0+ -0, -b1 0 -0' -#8213 -b1000101000000001111001011100010 0" -#8215 -b100010100000000111100101110001000000000000000000000000000000000 # -b1 { -b0 J -b11 . -b100010100000000111100101110001000000000000000000000000000000000 ! -b100010100000000111100101110001000000000000000000000000000000000 ? -b11 A -b1000101000000001111001011100010 } -b10 4 -b1000101000000001111001011100010 y -b10 #" -b1001010010110011110100110010100 @" -b10101111 <" -b10 D" -0>" -b1001010010110011110100110010100 /" -b0 +" -b10 3" -1-" -b10 P -b1001010010110011110100110010100 m -b0 i -b10 q -1k -b1001010010110011110100110010100 \ -b1010001 X -b10 ` -0Z -1' -#8216 -b1100110001 / -b10 2 -#8220 -17" -b0 5" -0&" -0)" -b110010 $" -b0 x -b110010 Q -b110010 s -b110010 B -b11 A -0V -b10 O -1:" -b10 "" -b110010000110010 8 -0= -b110010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11011011011001111 " -b11 . -1& -b11100101000110000010111011001010 % -b11100101000110000010111011001010 < -b11100101000110000010111011001010 D -b11100101000110000010111011001010 U -b11100101000110000010111011001010 f -b11100101000110000010111011001010 u -b11100101000110000010111011001010 (" -b11100101000110000010111011001010 9" -0( -0) -0+ -0, -b10 0 -0' -#8223 -b0 A" -#8225 -b0 # -0N -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b11100101000110000010111011001010 \ -b110010 X -b1100 ` -0_ -b11100101000110000010111011001010 m -b1100 q -b10 P -b11100101000110000010111011001010 /" -b110010 +" -b1100 3" -02" -0-" -b11100101000110000010111011001010 @" -b0 <" -b1100 D" -1>" -b0 y -b10 #" -b100 7 -1' -#8226 -b1100110010 / -b10 2 -#8230 -07" -b11111011 5" -1&" -b0 $" -b1 x -b1101011 Q -b111111011 s -b1101011 B -b11 A -1V -b10 O -1)" -b10 "" -b111111011001101011 8 -1= -b11110111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b111111011001101011 " -b11 . -0& -b10011100111001101110010000111001 % -b10011100111001101110010000111001 < -b10011100111001101110010000111001 D -b10011100111001101110010000111001 U -b10011100111001101110010000111001 f -b10011100111001101110010000111001 u -b10011100111001101110010000111001 (" -b10011100111001101110010000111001 9" -0( -0) -0+ -0, -b1 0 -0' -#8235 -1!" -b1 { -1N -b10 4 -b10 #" -b10011100111001101110010000111001 @" -b11111011 <" -b1011 D" -0>" -b10011100111001101110010000111001 /" -b0 +" -b1011 3" -12" -1-" -b10 P -b10011100111001101110010000111001 m -b1011 q -b10011100111001101110010000111001 \ -b1101011 X -b1011 ` -1_ -1' -#8236 -b1100110011 / -b10 2 -#8240 -17" -b0 5" -0&" -0)" -b1011100 $" -b0 x -b1011100 Q -b1011100 s -b1011100 B -b11 A -0V -b10 O -1:" -b10 "" -b1011100001011100 8 -0= -b1011100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1011000000001010 " -b11 . -1& -b1000011010101011011000110000110 % -b1000011010101011011000110000110 < -b1000011010101011011000110000110 D -b1000011010101011011000110000110 U -b1000011010101011011000110000110 f -b1000011010101011011000110000110 u -b1000011010101011011000110000110 (" -b1000011010101011011000110000110 9" -0( -0) -0+ -0, -b10 0 -0' -#8245 -0N -0!" -b0 { -b1000011010101011011000110000110 \ -b1011100 X -b10 ` -0_ -b1000011010101011011000110000110 m -b10 q -b10 P -b1000011010101011011000110000110 /" -b1011100 +" -b10 3" -02" -0-" -b1000011010101011011000110000110 @" -b0 <" -b10 D" -1>" -b10 #" -b100 7 -1' -#8246 -b1100110100 / -b10 2 -#8250 -07" -b10101110 5" -1&" -b0 $" -b1 x -0d -b11010 b -1S -b0 Q -b1 G -b110101110 s -b100011010 B -b11 A -1V -b10 O -1)" -b10 "" -b110101110100011010 8 -1= -b111100101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110101110100011010 " -b11 . -0& -b10000010010110101000000000000100 % -b10000010010110101000000000000100 < -b10000010010110101000000000000100 D -b10000010010110101000000000000100 U -b10000010010110101000000000000100 f -b10000010010110101000000000000100 u -b10000010010110101000000000000100 (" -b10000010010110101000000000000100 9" -0( -0) -0+ -0, -b1 0 -0' -#8255 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b10000010010110101000000000000100 @" -b10101110 <" -b100 D" -0>" -b10000010010110101000000000000100 /" -b0 +" -b100 3" -12" -1-" -b10 P -b10000010010110101000000000000100 m -b11010 i -b100 q -0k -b10000010010110101000000000000100 \ -b0 X -b100 ` -1_ -1Z -1' -#8256 -b1100110101 / -b10 2 -#8260 -17" -b0 5" -0&" -0)" -b10100011 $" -b0 x -1d -b0 b -0S -0V -b10100011 Q -b0 G -b10100011 s -b10100011 B -b11 A -1g -b10 O -1:" -b10 "" -b10100011010100011 8 -0= -b10100011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11111010000011101 " -b11 . -1& -b1010110111011101111011110101101 % -b1010110111011101111011110101101 < -b1010110111011101111011110101101 D -b1010110111011101111011110101101 U -b1010110111011101111011110101101 f -b1010110111011101111011110101101 u -b1010110111011101111011110101101 (" -b1010110111011101111011110101101 9" -0( -0) -0+ -0, -b10 0 -0' -#8265 -0N -b0 J -0!" -b0 { -b1010110111011101111011110101101 \ -b10100011 X -b1101 ` -0_ -0Z -b1010110111011101111011110101101 m -b0 i -b1101 q -1k -b10 P -b1010110111011101111011110101101 /" -b10100011 +" -b1101 3" -02" -0-" -b1010110111011101111011110101101 @" -b0 <" -b1101 D" -1>" -b10 #" -b100 7 -1' -#8266 -b1100110110 / -b10 2 -#8270 -07" -0:" -b11101101 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b11101101 b -1S -1V -b0 Q -b10 O -b1 G -b111101101 s -b111101101 B -b11 A -b111101101111101101 8 -b111101101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b111111000111111111 " -b11 . -1& -b10100001000111111011100101000 % -b10100001000111111011100101000 < -b10100001000111111011100101000 D -b10100001000111111011100101000 U -b10100001000111111011100101000 f -b10100001000111111011100101000 u -b10100001000111111011100101000 (" -b10100001000111111011100101000 9" -0( -0) -0+ -0, -b1 0 -0' -#8275 -b1 { -b1 J -b100 7 -b10 #" -b10100001000111111011100101000 @" -b11101101 <" -b1001 D" -0C" -0>" -b10100001000111111011100101000 /" -b0 +" -b1001 3" -12" -1-" -b10 P -b10100001000111111011100101000 m -b11101101 i -b1001 q -0p -0k -b10100001000111111011100101000 \ -b0 X -b1001 ` -1_ -1Z -1' -#8276 -b1100110111 / -b10 2 -#8280 -b11110000 5" -b10 "" -b11110000 b -b10 O -b111110000 s -b111110000 B -b11 A -b111110000111110000 8 -b111110000 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b1111010101110001 " -b11 . -1& -b11000000101000010011011010000001 % -b11000000101000010011011010000001 < -b11000000101000010011011010000001 D -b11000000101000010011011010000001 U -b11000000101000010011011010000001 f -b11000000101000010011011010000001 u -b11000000101000010011011010000001 (" -b11000000101000010011011010000001 9" -0( -0) -0+ -0, -b10 0 -0' -#8285 -b11000000101000010011011010000001 \ -b1100 ` -b11000000101000010011011010000001 m -b11110000 i -b1100 q -b10 P -b11000000101000010011011010000001 /" -b1100 3" -b11000000101000010011011010000001 @" -b11110000 <" -b1100 D" -b10 #" -b100 7 -1' -#8286 -b1100111000 / -b10 2 -#8290 -b1110001 5" -b11000010 b -b101110001 s -b111000010 B -b11 A -1g -b10 O -1:" -b10 "" -b101110001111000010 8 -1= -b100010001 $ -b101110001111000010 " -b11 . -0& -b11100110110001001001110011001101 % -b11100110110001001001110011001101 < -b11100110110001001001110011001101 D -b11100110110001001001110011001101 U -b11100110110001001001110011001101 f -b11100110110001001001110011001101 u -b11100110110001001001110011001101 (" -b11100110110001001001110011001101 9" -0( -0) -0+ -0, -b1 0 -0' -#8295 -1!" -1N -b10 4 -b10 #" -b11100110110001001001110011001101 @" -b1110001 <" -1C" -b11100110110001001001110011001101 /" -b10 P -b11100110110001001001110011001101 m -b11000010 i -1p -b11100110110001001001110011001101 \ -1' -#8296 -b1100111001 / -b10 2 -#8300 -b1000001 5" -b10 "" -1d -b0 b -0S -b1011000 Q -b10 O -b0 G -b101000001 s -b1011000 B -b11 A -b101000001001011000 8 -b10001001 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101000001001011000 " -b11 . -b10100110001000011011001001001100 % -b10100110001000011011001001001100 < -b10100110001000011011001001001100 D -b10100110001000011011001001001100 U -b10100110001000011011001001001100 f -b10100110001000011011001001001100 u -b10100110001000011011001001001100 (" -b10100110001000011011001001001100 9" -0( -0) -0+ -0, -b10 0 -0' -#8303 -b10011000000000000001100000000 n -#8305 -b10011000000000000001100000000 # -b0 J -b11 . -b10011000000000000001100000000 ! -b10011000000000000001100000000 ? -b11 A -b10011000000000000001100000000 L -b10100110001000011011001001001100 \ -b1011000 X -b1011 ` -0Z -b10100110001000011011001001001100 m -b0 i -b1011 q -1k -b10011000000000000001100000000 H -b10 P -b10100110001000011011001001001100 /" -b1011 3" -b10100110001000011011001001001100 @" -b1000001 <" -b1011 D" -b10 #" -b10 4 -1' -#8306 -b1100111010 / -b10 2 -#8310 -17" -b0 5" -0&" -b10011101 $" -b10 "" -b0 x -0d -b11100 b -1S -b0 Q -b10 O -b1 G -b10011101 s -b100011100 B -b11 A -b10011101100011100 8 -b11010101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b10011101100011100 " -b11 . -b11101001100110011000011011010011 % -b11101001100110011000011011010011 < -b11101001100110011000011011010011 D -b11101001100110011000011011010011 U -b11101001100110011000011011010011 f -b11101001100110011000011011010011 u -b11101001100110011000011011010011 (" -b11101001100110011000011011010011 9" -0( -0) -0+ -0, -b1 0 -0' -#8313 -b11101001011010000000000 A" -b10100111011111000111000001100100 ] -#8315 -b1110100101101000000000010100111011111000111000001100100 # -b0 { -b1 J -b11 . -b1110100101101000000000010100111011111000111000001100100 ! -b1110100101101000000000010100111011111000111000001100100 ? -b11 A -b11101001011010000000000 } -b10100111011111000111000001100100 L -b10 4 -b11101001011010000000000 y -b10 #" -b11101001100110011000011011010011 @" -b0 <" -b1001 D" -1>" -b11101001100110011000011011010011 /" -b10011101 +" -b1001 3" -0-" -b10100111011111000111000001100100 H -b10 P -b11101001100110011000011011010011 m -b11100 i -b1001 q -0k -b11101001100110011000011011010011 \ -b0 X -b1001 ` -1Z -1' -#8316 -b1100111011 / -b10 2 -#8320 -07" -0:" -b10011101 5" -1&" -b0 $" -b1 x -b10011101 b -b110011101 s -b110011101 B -b11 A -0g -b10 O -1)" -b10 "" -b110011101110011101 8 -0= -b110011101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100110111000100101 " -b11 . -1& -b1001001100011101010100010010 % -b1001001100011101010100010010 < -b1001001100011101010100010010 D -b1001001100011101010100010010 U -b1001001100011101010100010010 f -b1001001100011101010100010010 u -b1001001100011101010100010010 (" -b1001001100011101010100010010 9" -0( -0) -0+ -0, -b10 0 -0' -#8323 -b0 0" -b0 n -#8325 -b0 # -0N -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b1001001100011101010100010010 \ -b1110 ` -b1001001100011101010100010010 m -b10011101 i -b1110 q -0p -b0 H -b10 P -b1001001100011101010100010010 /" -b0 +" -b1110 3" -1-" -b1001001100011101010100010010 @" -b10011101 <" -b1110 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#8326 -b1100111100 / -b10 2 -#8330 -17" -1:" -b0 5" -0&" -0)" -b10101111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10101111 Q -b10 O -b0 G -b10101111 s -b10101111 B -b11 A -b10101111010101111 8 -b10101111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b11100110110011100 " -b11 . -1& -b11111101011101000010010011111010 % -b11111101011101000010010011111010 < -b11111101011101000010010011111010 D -b11111101011101000010010011111010 U -b11111101011101000010010011111010 f -b11111101011101000010010011111010 u -b11111101011101000010010011111010 (" -b11111101011101000010010011111010 9" -0( -0) -0+ -0, -b1 0 -0' -#8335 -b0 { -b0 J -b100 7 -b10 #" -b11111101011101000010010011111010 @" -b0 <" -b0 D" -1C" -1>" -b11111101011101000010010011111010 /" -b10101111 +" -b0 3" -02" -0-" -b10 P -b11111101011101000010010011111010 m -b0 i -b0 q -1p -1k -b11111101011101000010010011111010 \ -b10101111 X -b0 ` -0_ -0Z -1' -#8336 -b1100111101 / -b10 2 -#8340 -07" -b11101110 5" -1&" -b0 $" -b1 x -0d -b11111001 b -1S -b0 Q -b1 G -b111101110 s -b111111001 B -b11 A -1V -b10 O -1)" -b10 "" -b111101110111111001 8 -1= -b111010 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b111101110111111001 " -b11 . -0& -b1101101000111100101100111011010 % -b1101101000111100101100111011010 < -b1101101000111100101100111011010 D -b1101101000111100101100111011010 U -b1101101000111100101100111011010 f -b1101101000111100101100111011010 u -b1101101000111100101100111011010 (" -b1101101000111100101100111011010 9" -0( -0) -0+ -0, -b10 0 -0' -#8345 -1N -b1 J -1!" -b1 { -b1101101000111100101100111011010 \ -b0 X -b110 ` -1_ -1Z -b1101101000111100101100111011010 m -b11111001 i -b110 q -0k -b10 P -b1101101000111100101100111011010 /" -b0 +" -b110 3" -12" -1-" -b1101101000111100101100111011010 @" -b11101110 <" -b110 D" -0>" -b10 #" -b10 4 -1' -#8346 -b1100111110 / -b10 2 -#8350 -17" -b0 5" -0&" -0)" -b1000001 $" -b0 x -1d -b0 b -0S -0V -b1000001 Q -b0 G -b1000001 s -b1000001 B -b11 A -1g -b10 O -1:" -b10 "" -b1000001001000001 8 -0= -b1000001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100011010010011001 " -b11 . -1& -b1011101001010011101110110111010 % -b1011101001010011101110110111010 < -b1011101001010011101110110111010 D -b1011101001010011101110110111010 U -b1011101001010011101110110111010 f -b1011101001010011101110110111010 u -b1011101001010011101110110111010 (" -b1011101001010011101110110111010 9" -0( -0) -0+ -0, -b1 0 -0' -#8353 -b11000011010011011100000101100 A" -b10101100000000001111111000000000 n -#8355 -b1100001101001101110000010110010101100000000001111111000000000 # -0!" -b0 { -0N -b0 J -b11 . -b1100001101001101110000010110010101100000000001111111000000000 ! -b1100001101001101110000010110010101100000000001111111000000000 ? -b11 A -b11000011010011011100000101100 } -b10101100000000001111111000000000 L -b100 7 -b11000011010011011100000101100 y -b10 #" -b1011101001010011101110110111010 @" -b0 <" -b1100 D" -1>" -b1011101001010011101110110111010 /" -b1000001 +" -b1100 3" -02" -0-" -b10101100000000001111111000000000 H -b10 P -b1011101001010011101110110111010 m -b0 i -b1100 q -1k -b1011101001010011101110110111010 \ -b1000001 X -b1100 ` -0_ -0Z -1' -#8356 -b1100111111 / -b10 2 -#8360 -b10110011 $" -b1011000 Q -b10110011 s -b1011000 B -b11 A -1V -b10 O -1)" -b10 "" -b10110011001011000 8 -1= -b100101110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10110011001011000 " -b11 . -0& -b10010011011100010101111000100110 % -b10010011011100010101111000100110 < -b10010011011100010101111000100110 D -b10010011011100010101111000100110 U -b10010011011100010101111000100110 f -b10010011011100010101111000100110 u -b10010011011100010101111000100110 (" -b10010011011100010101111000100110 9" -0( -0) -0+ -0, -b10 0 -0' -#8365 -1N -1!" -b10010011011100010101111000100110 \ -b1011000 X -b1000 ` -1_ -b10010011011100010101111000100110 m -b1000 q -b10 P -b10010011011100010101111000100110 /" -b10110011 +" -b1000 3" -12" -b10010011011100010101111000100110 @" -b1000 D" -b10 #" -b10 4 -1' -#8366 -b1101000000 / -b10 2 -#8370 -07" -b111111 5" -1&" -b0 $" -b10 "" -b1 x -b1001 Q -b10 O -b100111111 s -b1001 B -b11 A -b100111111000001001 8 -b111111011 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b100111111000001001 " -b11 . -b10101001000000101011100001010010 % -b10101001000000101011100001010010 < -b10101001000000101011100001010010 D -b10101001000000101011100001010010 U -b10101001000000101011100001010010 f -b10101001000000101011100001010010 u -b10101001000000101011100001010010 (" -b10101001000000101011100001010010 9" -0( -0) -0+ -0, -b1 0 -0' -#8373 -b1001011110011110000000000000000 0" -#8375 -b100101111001111000000000000000010100111011111000111000001100100 # -b1 { -b11 . -b100101111001111000000000000000010100111011111000111000001100100 ! -b100101111001111000000000000000010100111011111000111000001100100 ? -b11 A -b1001011110011110000000000000000 } -b10100111011111000111000001100100 L -b10 4 -b1001011110011110000000000000000 y -b10 #" -b10101001000000101011100001010010 @" -b111111 <" -b1 D" -0>" -b10101001000000101011100001010010 /" -b0 +" -b1 3" -1-" -b10100111011111000111000001100100 H -b10 P -b10101001000000101011100001010010 m -b1 q -b10101001000000101011100001010010 \ -b1001 X -b1 ` -1' -#8376 -b1101000001 / -b10 2 -#8380 -17" -b0 5" -0&" -b11010111 $" -b10 "" -b0 x -0d -b10100111 b -1S -b0 Q -b10 O -b1 G -b11010111 s -b110100111 B -b11 A -b11010111110100111 8 -b10101111 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11010111110100111 " -b11 . -b11111101010111111001100011111010 % -b11111101010111111001100011111010 < -b11111101010111111001100011111010 D -b11111101010111111001100011111010 U -b11111101010111111001100011111010 f -b11111101010111111001100011111010 u -b11111101010111111001100011111010 (" -b11111101010111111001100011111010 9" -0( -0) -0+ -0, -b10 0 -0' -#8383 -b0 A" -b0 ] -#8385 -b0 # -b1 J -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b11111101010111111001100011111010 \ -b0 X -b1110 ` -1Z -b11111101010111111001100011111010 m -b10100111 i -b1110 q -0k -b0 H -b10 P -b11111101010111111001100011111010 /" -b11010111 +" -b1110 3" -0-" -b11111101010111111001100011111010 @" -b0 <" -b1110 D" -1>" -b0 y -b10 #" -b10 4 -1' -#8386 -b1101000010 / -b10 2 -#8390 -07" -0:" -b101011 5" -1&" -b0 $" -b1 x -b101011 b -b100101011 s -b100101011 B -b11 A -0g -b10 O -1)" -b10 "" -b100101011100101011 8 -0= -b100101011 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b110011011000111100 " -b11 . -1& -b10010101101011101111101000101011 % -b10010101101011101111101000101011 < -b10010101101011101111101000101011 D -b10010101101011101111101000101011 U -b10010101101011101111101000101011 f -b10010101101011101111101000101011 u -b10010101101011101111101000101011 (" -b10010101101011101111101000101011 9" -0( -0) -0+ -0, -b1 0 -0' -#8393 -b1100111111011101 0" -b0 n -#8395 -b110011111101110100000000000000000000000000000000 # -0!" -b1 { -0N -b11 . -b110011111101110100000000000000000000000000000000 ! -b110011111101110100000000000000000000000000000000 ? -b11 A -b1100111111011101 } -b100 7 -b1100111111011101 y -b10 #" -b10010101101011101111101000101011 @" -b101011 <" -b0 D" -0C" -0>" -b10010101101011101111101000101011 /" -b0 +" -b0 3" -1-" -b10 P -b10010101101011101111101000101011 m -b101011 i -b0 q -0p -b10010101101011101111101000101011 \ -b0 ` -1' -#8396 -b1101000011 / -b10 2 -#8400 -b10110111 5" -b10001010 b -b110110111 s -b110001010 B -b11 A -1g -b10 O -1:" -b10 "" -b110110111110001010 8 -1= -b11010011 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110110111110001010 " -b11 . -0& -b1100110001110000110011111001100 % -b1100110001110000110011111001100 < -b1100110001110000110011111001100 D -b1100110001110000110011111001100 U -b1100110001110000110011111001100 f -b1100110001110000110011111001100 u -b1100110001110000110011111001100 (" -b1100110001110000110011111001100 9" -0( -0) -0+ -0, -b10 0 -0' -#8405 -1N -1!" -b1100110001110000110011111001100 \ -b110 ` -b1100110001110000110011111001100 m -b10001010 i -b110 q -1p -b10 P -b1100110001110000110011111001100 /" -b110 3" -b1100110001110000110011111001100 @" -b10110111 <" -b110 D" -1C" -b10 #" -b10 4 -1' -#8406 -b1101000100 / -b10 2 -#8410 -17" -b0 5" -0&" -0)" -b10010000 $" -b0 x -1d -b0 b -0S -0V -b10010000 Q -b0 G -b10010000 s -b10010000 B -b11 A -1g -b10 O -1:" -b10 "" -b10010000010010000 8 -0= -b10010000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10101000100110 " -b11 . -1& -b11011001001010111011111010110010 % -b11011001001010111011111010110010 < -b11011001001010111011111010110010 D -b11011001001010111011111010110010 U -b11011001001010111011111010110010 f -b11011001001010111011111010110010 u -b11011001001010111011111010110010 (" -b11011001001010111011111010110010 9" -0( -0) -0+ -0, -b1 0 -0' -#8413 -b10101011010101110000000000000000 A" -b10011000010110101110000100110000 n -#8415 -b1010101101010111000000000000000010011000010110101110000100110000 # -0!" -b0 { -0N -b0 J -b11 . -b1010101101010111000000000000000010011000010110101110000100110000 ! -b1010101101010111000000000000000010011000010110101110000100110000 ? -b11 A -b10101011010101110000000000000000 } -b10011000010110101110000100110000 L -b100 7 -b10101011010101110000000000000000 y -b10 #" -b11011001001010111011111010110010 @" -b0 <" -b1000 D" -1>" -b11011001001010111011111010110010 /" -b10010000 +" -b1000 3" -02" -0-" -b10011000010110101110000100110000 H -b10 P -b11011001001010111011111010110010 m -b0 i -b1000 q -1k -b11011001001010111011111010110010 \ -b10010000 X -b1000 ` -0_ -0Z -1' -#8416 -b1101000101 / -b10 2 -#8420 -b110011 $" -b10 "" -b110011 Q -b10 O -b110011 s -b110011 B -b11 A -b110011000110011 8 -b110011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b101111011110010101 " -b11 . -1& -b1000011111000001110110110000111 % -b1000011111000001110110110000111 < -b1000011111000001110110110000111 D -b1000011111000001110110110000111 U -b1000011111000001110110110000111 f -b1000011111000001110110110000111 u -b1000011111000001110110110000111 (" -b1000011111000001110110110000111 9" -0( -0) -0+ -0, -b10 0 -0' -#8425 -b1000011111000001110110110000111 \ -b110011 X -b1101 ` -b1000011111000001110110110000111 m -b1101 q -b10 P -b1000011111000001110110110000111 /" -b110011 +" -b1101 3" -b1000011111000001110110110000111 @" -b1101 D" -b10 #" -b100 7 -1' -#8426 -b1101000110 / -b10 2 -#8430 -b1111110 $" -0d -b11100 b -1S -b0 Q -b1 G -b1111110 s -b100011100 B -b11 A -1V -b10 O -1)" -b10 "" -b1111110100011100 8 -1= -b100001000 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b1111110100011100 " -b11 . -0& -b1100011101111101010001111000111 % -b1100011101111101010001111000111 < -b1100011101111101010001111000111 D -b1100011101111101010001111000111 U -b1100011101111101010001111000111 f -b1100011101111101010001111000111 u -b1100011101111101010001111000111 (" -b1100011101111101010001111000111 9" -0( -0) -0+ -0, -b1 0 -0' -#8435 -1!" -1N -b1 J -b10 4 -b10 #" -b1100011101111101010001111000111 @" -b1010 D" -b1100011101111101010001111000111 /" -b1111110 +" -b1010 3" -12" -b10 P -b1100011101111101010001111000111 m -b11100 i -b1010 q -0k -b1100011101111101010001111000111 \ -b0 X -b1010 ` -1_ -1Z -1' -#8436 -b1101000111 / -b10 2 -#8440 -b101010 $" -b10 "" -1d -b0 b -0S -b10111101 Q -b10 O -b0 G -b101010 s -b10111101 B -b11 A -b101010010111101 8 -b101010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b101010010111101 " -b11 . -b10110101001000100100000001101010 % -b10110101001000100100000001101010 < -b10110101001000100100000001101010 D -b10110101001000100100000001101010 U -b10110101001000100100000001101010 f -b10110101001000100100000001101010 u -b10110101001000100100000001101010 (" -b10110101001000100100000001101010 9" -0( -0) -0+ -0, -b10 0 -0' -#8443 -b10111101000000001011110000000000 0" -b0 n -#8445 -b1011110100000000101111000000000000000000000000000000000000000000 # -b0 J -b11 . -b1011110100000000101111000000000000000000000000000000000000000000 ! -b1011110100000000101111000000000000000000000000000000000000000000 ? -b11 A -b0 L -b10111101000000001011110000000000 } -b10110101001000100100000001101010 \ -b10111101 X -b0 ` -0Z -b10110101001000100100000001101010 m -b0 i -b0 q -1k -b0 H -b10 P -b10110101001000100100000001101010 /" -b101010 +" -b0 3" -b10110101001000100100000001101010 @" -b0 D" -b10111101000000001011110000000000 y -b10 #" -b10 4 -1' -#8446 -b1101001000 / -b10 2 -#8450 -07" -0:" -b11100110 5" -1&" -b0 $" -b1 x -0d -0g -b11100110 b -1S -b0 Q -b1 G -b111100110 s -b111100110 B -b11 A -1V -b10 O -1)" -b10 "" -b111100110111100110 8 -0= -b111100110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b110000101001100010 " -b11 . -1& -b110000111100000101101101100001 % -b110000111100000101101101100001 < -b110000111100000101101101100001 D -b110000111100000101101101100001 U -b110000111100000101101101100001 f -b110000111100000101101101100001 u -b110000111100000101101101100001 (" -b110000111100000101101101100001 9" -0( -0) -0+ -0, -b1 0 -0' -#8453 -b100111101111000010100101 0" -#8455 -b10011110111100001010010100000000000000000000000000000000 # -0!" -b1 { -0N -b1 J -b11 . -b10011110111100001010010100000000000000000000000000000000 ! -b10011110111100001010010100000000000000000000000000000000 ? -b11 A -b100111101111000010100101 } -b100 7 -b100111101111000010100101 y -b10 #" -b110000111100000101101101100001 @" -b11100110 <" -b1001 D" -0C" -0>" -b110000111100000101101101100001 /" -b0 +" -b1001 3" -1-" -b10 P -b110000111100000101101101100001 m -b11100110 i -b1001 q -0p -0k -b110000111100000101101101100001 \ -b0 X -b1001 ` -1Z -1' -#8456 -b1101001001 / -b10 2 -#8460 -b111011 5" -1d -b0 b -0S -b1010100 Q -b0 G -b100111011 s -b1010100 B -b11 A -1g -b10 O -1:" -b10 "" -b100111011001010100 8 -1= -b11001001 $ -b100111011001010100 " -b11 . -0& -b11010010010100101000001010100100 % -b11010010010100101000001010100100 < -b11010010010100101000001010100100 D -b11010010010100101000001010100100 U -b11010010010100101000001010100100 f -b11010010010100101000001010100100 u -b11010010010100101000001010100100 (" -b11010010010100101000001010100100 9" -0( -0) -0+ -0, -b10 0 -0' -#8465 -1N -b0 J -1!" -b11010010010100101000001010100100 \ -b1010100 X -0Z -b11010010010100101000001010100100 m -b0 i -1p -1k -b10 P -b11010010010100101000001010100100 /" -b11010010010100101000001010100100 @" -b111011 <" -1C" -b10 #" -b10 4 -1' -#8466 -b1101001010 / -b10 2 -#8470 -17" -b0 5" -0&" -0)" -b10110011 $" -b0 x -b10110011 Q -b10110011 s -b10110011 B -b11 A -0V -b10 O -1:" -b10 "" -b10110011010110011 8 -0= -b10110011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1100010110101000 " -b11 . -1& -b1110100001011100101101111101000 % -b1110100001011100101101111101000 < -b1110100001011100101101111101000 D -b1110100001011100101101111101000 U -b1110100001011100101101111101000 f -b1110100001011100101101111101000 u -b1110100001011100101101111101000 (" -b1110100001011100101101111101000 9" -0( -0) -0+ -0, -b1 0 -0' -#8473 -b0 A" -b1111101111100010111011011 ] -#8475 -b1111101111100010111011011 # -0!" -b0 { -0N -b11 . -b1111101111100010111011011 ! -b1111101111100010111011011 ? -b11 A -b0 } -b1111101111100010111011011 L -b100 7 -b0 y -b10 #" -b1110100001011100101101111101000 @" -b0 <" -b101 D" -1>" -b1110100001011100101101111101000 /" -b10110011 +" -b101 3" -02" -0-" -b1111101111100010111011011 H -b10 P -b1110100001011100101101111101000 m -b101 q -b1110100001011100101101111101000 \ -b10110011 X -b101 ` -0_ -1' -#8476 -b1101001011 / -b10 2 -#8480 -07" -b1011111 5" -1&" -b0 $" -b1 x -0d -b11010 b -1S -b0 Q -b1 G -b101011111 s -b100011010 B -b11 A -1V -b10 O -1)" -b10 "" -b101011111100011010 8 -1= -b100110 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b101011111100011010 " -b11 . -0& -b1000011101000010000000110000111 % -b1000011101000010000000110000111 < -b1000011101000010000000110000111 D -b1000011101000010000000110000111 U -b1000011101000010000000110000111 f -b1000011101000010000000110000111 u -b1000011101000010000000110000111 (" -b1000011101000010000000110000111 9" -0( -0) -0+ -0, -b10 0 -0' -#8485 -1N -b1 J -1!" -b1 { -b1000011101000010000000110000111 \ -b0 X -b0 ` -1_ -1Z -b1000011101000010000000110000111 m -b11010 i -b0 q -0k -b10 P -b1000011101000010000000110000111 /" -b0 +" -b0 3" -12" -1-" -b1000011101000010000000110000111 @" -b1011111 <" -b0 D" -0>" -b10 #" -b10 4 -1' -#8486 -b1101001100 / -b10 2 -#8490 -b11100101 5" -b10 "" -b1011000 b -b10 O -b111100101 s -b101011000 B -b11 A -b111100101101011000 8 -b110000010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111100101101011000 " -b11 . -b10000110011110110111000000001100 % -b10000110011110110111000000001100 < -b10000110011110110111000000001100 D -b10000110011110110111000000001100 U -b10000110011110110111000000001100 f -b10000110011110110111000000001100 u -b10000110011110110111000000001100 (" -b10000110011110110111000000001100 9" -0( -0) -0+ -0, -b1 0 -0' -#8493 -b1001011101001101000110110010111 A" -#8495 -b100101110100110100011011001011100000000000000000000000000000000 # -b11 . -b100101110100110100011011001011100000000000000000000000000000000 ! -b100101110100110100011011001011100000000000000000000000000000000 ? -b11 A -b1001011101001101000110110010111 } -b0 L -b10 4 -b1001011101001101000110110010111 y -b10 #" -b10000110011110110111000000001100 @" -b11100101 <" -b1 D" -b10000110011110110111000000001100 /" -b1 3" -b0 H -b10 P -b10000110011110110111000000001100 m -b1011000 i -b1 q -b10000110011110110111000000001100 \ -b1 ` -1' -#8496 -b1101001101 / -b10 2 -#8500 -b1010100 5" -b1010100 b -b101010100 s -b101010100 B -b11 A -0g -b10 O -0:" -b10 "" -b101010100101010100 8 -0= -b101010100 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101110011001111011 " -b11 . -1& -b1000011010101001100000010 % -b1000011010101001100000010 < -b1000011010101001100000010 D -b1000011010101001100000010 U -b1000011010101001100000010 f -b1000011010101001100000010 u -b1000011010101001100000010 (" -b1000011010101001100000010 9" -0( -0) -0+ -0, -b10 0 -0' -#8503 -b1011011000000000000000000000000 A" -b111011100000000000101011 n -#8505 -b101101100000000000000000000000000000000111011100000000000101011 # -0N -0!" -b11 . -b101101100000000000000000000000000000000111011100000000000101011 ! -b101101100000000000000000000000000000000111011100000000000101011 ? -b11 A -b111011100000000000101011 L -b1011011000000000000000000000000 } -b1000011010101001100000010 \ -b101 ` -b1000011010101001100000010 m -b1010100 i -b101 q -0p -b111011100000000000101011 H -b10 P -b1000011010101001100000010 /" -b101 3" -b1000011010101001100000010 @" -b1010100 <" -b101 D" -0C" -b1011011000000000000000000000000 y -b10 #" -b100 7 -1' -#8506 -b1101001110 / -b10 2 -#8510 -17" -b0 5" -0&" -b1010011 $" -b0 x -b1100001 b -b1010011 s -b101100001 B -b11 A -1g -b10 O -1:" -b10 "" -b1010011101100001 8 -1= -b111011 $ -b1010011101100001 " -b11 . -0& -b110110010101110110011101101100 % -b110110010101110110011101101100 < -b110110010101110110011101101100 D -b110110010101110110011101101100 U -b110110010101110110011101101100 f -b110110010101110110011101101100 u -b110110010101110110011101101100 (" -b110110010101110110011101101100 9" -0( -0) -0+ -0, -b1 0 -0' -#8515 -1!" -b0 { -1N -b10 4 -b10 #" -b110110010101110110011101101100 @" -b0 <" -1C" -1>" -b110110010101110110011101101100 /" -b1010011 +" -0-" -b10 P -b110110010101110110011101101100 m -b1100001 i -1p -b110110010101110110011101101100 \ -1' -#8516 -b1101001111 / -b10 2 -#8520 -07" -b10010010 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b111000 Q -b10 O -b0 G -b110010010 s -b111000 B -b11 A -b110010010000111000 8 -b101111110 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b110010010000111000 " -b11 . -b1100010110100010111110111000101 % -b1100010110100010111110111000101 < -b1100010110100010111110111000101 D -b1100010110100010111110111000101 U -b1100010110100010111110111000101 f -b1100010110100010111110111000101 u -b1100010110100010111110111000101 (" -b1100010110100010111110111000101 9" -0( -0) -0+ -0, -b10 0 -0' -#8523 -b0 0" -b0 n -#8525 -b0 # -b0 J -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b1100010110100010111110111000101 \ -b111000 X -b1010 ` -0Z -b1100010110100010111110111000101 m -b0 i -b1010 q -1k -b0 H -b10 P -b1100010110100010111110111000101 /" -b0 +" -b1010 3" -1-" -b1100010110100010111110111000101 @" -b10010010 <" -b1010 D" -0>" -b0 y -b10 #" -b10 4 -1' -#8526 -b1101010000 / -b10 2 -#8530 -b10110100 5" -0d -0g -b10110100 b -1S -b0 Q -b1 G -b110110100 s -b110110100 B -b11 A -1V -b10 O -0:" -b10 "" -b110110100110110100 8 -0= -b110110100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11110100010101101 " -b11 . -1& -b11100000110001011010010011000001 % -b11100000110001011010010011000001 < -b11100000110001011010010011000001 D -b11100000110001011010010011000001 U -b11100000110001011010010011000001 f -b11100000110001011010010011000001 u -b11100000110001011010010011000001 (" -b11100000110001011010010011000001 9" -0( -0) -0+ -0, -b1 0 -0' -#8533 -b0 A" -b0 ] -#8535 -0!" -0N -b1 J -b100 7 -b10 #" -b11100000110001011010010011000001 @" -b10110100 <" -b1101 D" -0C" -b11100000110001011010010011000001 /" -b1101 3" -b10 P -b11100000110001011010010011000001 m -b10110100 i -b1101 q -0p -0k -b11100000110001011010010011000001 \ -b0 X -b1101 ` -1Z -1' -#8536 -b1101010001 / -b10 2 -#8540 -17" -1:" -b0 5" -0&" -0)" -b1000 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1000 Q -b10 O -b0 G -b1000 s -b1000 B -b11 A -b1000000001000 8 -b1000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1111110000001111 " -b11 . -1& -b11011101110001110001000010111011 % -b11011101110001110001000010111011 < -b11011101110001110001000010111011 D -b11011101110001110001000010111011 U -b11011101110001110001000010111011 f -b11011101110001110001000010111011 u -b11011101110001110001000010111011 (" -b11011101110001110001000010111011 9" -0( -0) -0+ -0, -b10 0 -0' -#8545 -b0 J -b0 { -b11011101110001110001000010111011 \ -b1000 X -b1001 ` -0_ -0Z -b11011101110001110001000010111011 m -b0 i -b1001 q -1p -1k -b10 P -b11011101110001110001000010111011 /" -b1000 +" -b1001 3" -02" -0-" -b11011101110001110001000010111011 @" -b0 <" -b1001 D" -1C" -1>" -b10 #" -b100 7 -1' -#8546 -b1101010010 / -b10 2 -#8550 -07" -0:" -b1000100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1000100 b -1S -1V -b0 Q -b10 O -b1 G -b101000100 s -b101000100 B -b11 A -b101000100101000100 8 -b101000100 $ -b11010010111001011 " -b11 . -1& -b1111010000110101100101111110100 % -b1111010000110101100101111110100 < -b1111010000110101100101111110100 D -b1111010000110101100101111110100 U -b1111010000110101100101111110100 f -b1111010000110101100101111110100 u -b1111010000110101100101111110100 (" -b1111010000110101100101111110100 9" -0( -0) -0+ -0, -b1 0 -0' -#8555 -b1 { -b1 J -b100 7 -b10 #" -b1111010000110101100101111110100 @" -b1000100 <" -0C" -0>" -b1111010000110101100101111110100 /" -b0 +" -12" -1-" -b10 P -b1111010000110101100101111110100 m -b1000100 i -0p -0k -b1111010000110101100101111110100 \ -b0 X -1_ -1Z -1' -#8556 -b1101010011 / -b10 2 -#8560 -b10010011 5" -1d -b0 b -0S -b10101001 Q -b0 G -b110010011 s -b10101001 B -b11 A -1g -b10 O -1:" -b10 "" -b110010011010101001 8 -1= -b11110101 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110010011010101001 " -b11 . -0& -b11110000011110100011100111100 % -b11110000011110100011100111100 < -b11110000011110100011100111100 D -b11110000011110100011100111100 U -b11110000011110100011100111100 f -b11110000011110100011100111100 u -b11110000011110100011100111100 (" -b11110000011110100011100111100 9" -0( -0) -0+ -0, -b10 0 -0' -#8565 -1N -b0 J -1!" -b11110000011110100011100111100 \ -b10101001 X -b100 ` -0Z -b11110000011110100011100111100 m -b0 i -b100 q -1p -1k -b10 P -b11110000011110100011100111100 /" -b100 3" -b11110000011110100011100111100 @" -b10010011 <" -b100 D" -1C" -b10 #" -b10 4 -1' -#8566 -b1101010100 / -b10 2 -#8570 -17" -b0 5" -0&" -0)" -b1001010 $" -b0 x -b1001010 Q -b1001010 s -b1001010 B -b11 A -0V -b10 O -1:" -b10 "" -b1001010001001010 8 -0= -b1001010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b110000000101110 " -b11 . -1& -b1010110111110010101101110101101 % -b1010110111110010101101110101101 < -b1010110111110010101101110101101 D -b1010110111110010101101110101101 U -b1010110111110010101101110101101 f -b1010110111110010101101110101101 u -b1010110111110010101101110101101 (" -b1010110111110010101101110101101 9" -0( -0) -0+ -0, -b1 0 -0' -#8573 -b1001000001001110000000000000000 ] -#8575 -b1001000001001110000000000000000 # -0!" -b0 { -0N -b11 . -b1001000001001110000000000000000 ! -b1001000001001110000000000000000 ? -b11 A -b1001000001001110000000000000000 L -b100 7 -b10 #" -b1010110111110010101101110101101 @" -b0 <" -b11 D" -1>" -b1010110111110010101101110101101 /" -b1001010 +" -b11 3" -02" -0-" -b1001000001001110000000000000000 H -b10 P -b1010110111110010101101110101101 m -b11 q -b1010110111110010101101110101101 \ -b1001010 X -b11 ` -0_ -1' -#8576 -b1101010101 / -b10 2 -#8580 -b1110101 $" -b11110 Q -b1110101 s -b11110 B -b11 A -1V -b10 O -1)" -b10 "" -b1110101000011110 8 -1= -b100101 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b1110101000011110 " -b11 . -0& -b1011011000001100010110110110110 % -b1011011000001100010110110110110 < -b1011011000001100010110110110110 D -b1011011000001100010110110110110 U -b1011011000001100010110110110110 f -b1011011000001100010110110110110 u -b1011011000001100010110110110110 (" -b1011011000001100010110110110110 9" -0( -0) -0+ -0, -b10 0 -0' -#8585 -1N -1!" -b1011011000001100010110110110110 \ -b11110 X -b110 ` -1_ -b1011011000001100010110110110110 m -b110 q -b10 P -b1011011000001100010110110110110 /" -b1110101 +" -b110 3" -12" -b1011011000001100010110110110110 @" -b110 D" -b10 #" -b10 4 -1' -#8586 -b1101010110 / -b10 2 -#8590 -07" -0:" -b110001 5" -1&" -b0 $" -b1 x -0d -0g -b110001 b -1S -b0 Q -b1 G -b100110001 s -b100110001 B -b11 A -1V -b10 O -1)" -b10 "" -b100110001100110001 8 -0= -b100110001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10010110010110 " -b11 . -1& -b10001001101001010100101000010011 % -b10001001101001010100101000010011 < -b10001001101001010100101000010011 D -b10001001101001010100101000010011 U -b10001001101001010100101000010011 f -b10001001101001010100101000010011 u -b10001001101001010100101000010011 (" -b10001001101001010100101000010011 9" -0( -0) -0+ -0, -b1 0 -0' -#8593 -b0 ] -#8595 -b0 # -0!" -b1 { -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b10001001101001010100101000010011 @" -b110001 <" -b1010 D" -0C" -0>" -b10001001101001010100101000010011 /" -b0 +" -b1010 3" -1-" -b0 H -b10 P -b10001001101001010100101000010011 m -b110001 i -b1010 q -0p -0k -b10001001101001010100101000010011 \ -b0 X -b1010 ` -1Z -1' -#8596 -b1101010111 / -b10 2 -#8600 -17" -b0 5" -0&" -b11110000 $" -b0 x -1d -b0 b -0S -b11101101 Q -b0 G -b11110000 s -b11101101 B -b11 A -1g -b10 O -1:" -b10 "" -b11110000011101101 8 -1= -b1010100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11110000011101101 " -b11 . -0& -b11101010010010001011010011010100 % -b11101010010010001011010011010100 < -b11101010010010001011010011010100 D -b11101010010010001011010011010100 U -b11101010010010001011010011010100 f -b11101010010010001011010011010100 u -b11101010010010001011010011010100 (" -b11101010010010001011010011010100 9" -0( -0) -0+ -0, -b10 0 -0' -#8605 -1N -b0 J -1!" -b0 { -b11101010010010001011010011010100 \ -b11101101 X -b10 ` -0Z -b11101010010010001011010011010100 m -b0 i -b10 q -1p -1k -b10 P -b11101010010010001011010011010100 /" -b11110000 +" -b10 3" -0-" -b11101010010010001011010011010100 @" -b0 <" -b10 D" -1C" -1>" -b10 #" -b10 4 -1' -#8606 -b1101011000 / -b10 2 -#8610 -07" -b1001010 5" -1&" -b0 $" -b10 "" -b1 x -0d -b10001 b -1S -b0 Q -b10 O -b1 G -b101001010 s -b100010001 B -b11 A -b101001010100010001 8 -b101111 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101001010100010001 " -b11 . -b11110101100101101011010011101011 % -b11110101100101101011010011101011 < -b11110101100101101011010011101011 D -b11110101100101101011010011101011 U -b11110101100101101011010011101011 f -b11110101100101101011010011101011 u -b11110101100101101011010011101011 (" -b11110101100101101011010011101011 9" -0( -0) -0+ -0, -b1 0 -0' -#8613 -b100011000000111010010101000110 ] -#8615 -b100011000000111010010101000110 # -b1 { -b1 J -b11 . -b100011000000111010010101000110 ! -b100011000000111010010101000110 ? -b11 A -b100011000000111010010101000110 L -b10 4 -b10 #" -b11110101100101101011010011101011 @" -b1001010 <" -b1100 D" -0>" -b11110101100101101011010011101011 /" -b0 +" -b1100 3" -1-" -b100011000000111010010101000110 H -b10 P -b11110101100101101011010011101011 m -b10001 i -b1100 q -0k -b11110101100101101011010011101011 \ -b0 X -b1100 ` -1Z -1' -#8616 -b1101011001 / -b10 2 -#8620 -17" -b0 5" -0&" -0)" -b10001100 $" -b0 x -1d -b0 b -0S -0V -b10001100 Q -b0 G -b10001100 s -b10001100 B -b11 A -1g -b10 O -1:" -b10 "" -b10001100010001100 8 -0= -b10001100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110101100001011111 " -b11 . -1& -b11110100010101011101111011101000 % -b11110100010101011101111011101000 < -b11110100010101011101111011101000 D -b11110100010101011101111011101000 U -b11110100010101011101111011101000 f -b11110100010101011101111011101000 u -b11110100010101011101111011101000 (" -b11110100010101011101111011101000 9" -0( -0) -0+ -0, -b10 0 -0' -#8623 -b1010000000000000000000 A" -#8625 -b101000000000000000000000000000000000000000000000000000 # -0N -b0 J -0!" -b0 { -b11 . -b101000000000000000000000000000000000000000000000000000 ! -b101000000000000000000000000000000000000000000000000000 ? -b11 A -b0 L -b1010000000000000000000 } -b11110100010101011101111011101000 \ -b10001100 X -b1 ` -0_ -0Z -b11110100010101011101111011101000 m -b0 i -b1 q -1k -b0 H -b10 P -b11110100010101011101111011101000 /" -b10001100 +" -b1 3" -02" -0-" -b11110100010101011101111011101000 @" -b0 <" -b1 D" -1>" -b1010000000000000000000 y -b10 #" -b100 7 -1' -#8626 -b1101011010 / -b10 2 -#8630 -07" -b11111 5" -1&" -b0 $" -b1 x -b10011100 Q -b100011111 s -b10011100 B -b11 A -1V -b10 O -1)" -b10 "" -b100011111010011100 8 -1= -b110101001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100011111010011100 " -b11 . -0& -b1000010111100110110101110000101 % -b1000010111100110110101110000101 < -b1000010111100110110101110000101 D -b1000010111100110110101110000101 U -b1000010111100110110101110000101 f -b1000010111100110110101110000101 u -b1000010111100110110101110000101 (" -b1000010111100110110101110000101 9" -0( -0) -0+ -0, -b1 0 -0' -#8635 -1!" -b1 { -1N -b10 4 -b10 #" -b1000010111100110110101110000101 @" -b11111 <" -b10 D" -0>" -b1000010111100110110101110000101 /" -b0 +" -b10 3" -12" -1-" -b10 P -b1000010111100110110101110000101 m -b10 q -b1000010111100110110101110000101 \ -b10011100 X -b10 ` -1_ -1' -#8636 -b1101011011 / -b10 2 -#8640 -17" -b0 5" -0&" -0)" -b111111 $" -b0 x -b111111 Q -b111111 s -b111111 B -b11 A -0V -b10 O -1:" -b10 "" -b111111000111111 8 -0= -b111111 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10010111010000010 " -b11 . -1& -b11101100000100101101100011011000 % -b11101100000100101101100011011000 < -b11101100000100101101100011011000 D -b11101100000100101101100011011000 U -b11101100000100101101100011011000 f -b11101100000100101101100011011000 u -b11101100000100101101100011011000 (" -b11101100000100101101100011011000 9" -0( -0) -0+ -0, -b10 0 -0' -#8643 -b0 A" -b11001010110111000000000010010101 ] -#8645 -b11001010110111000000000010010101 # -0N -0!" -b0 { -b11 . -b11001010110111000000000010010101 ! -b11001010110111000000000010010101 ? -b11 A -b11001010110111000000000010010101 L -b0 } -b11101100000100101101100011011000 \ -b111111 X -b1010 ` -0_ -b11101100000100101101100011011000 m -b1010 q -b11001010110111000000000010010101 H -b10 P -b11101100000100101101100011011000 /" -b111111 +" -b1010 3" -02" -0-" -b11101100000100101101100011011000 @" -b0 <" -b1010 D" -1>" -b0 y -b10 #" -b100 7 -1' -#8646 -b1101011100 / -b10 2 -#8650 -07" -b110111 5" -1&" -b0 $" -b1 x -b10001010 Q -b100110111 s -b10001010 B -b11 A -1V -b10 O -1)" -b10 "" -b100110111010001010 8 -1= -b1001001 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b100110111010001010 " -b11 . -0& -b10001101010101111001101000011010 % -b10001101010101111001101000011010 < -b10001101010101111001101000011010 D -b10001101010101111001101000011010 U -b10001101010101111001101000011010 f -b10001101010101111001101000011010 u -b10001101010101111001101000011010 (" -b10001101010101111001101000011010 9" -0( -0) -0+ -0, -b1 0 -0' -#8655 -1!" -b1 { -1N -b10 4 -b10 #" -b10001101010101111001101000011010 @" -b110111 <" -b1111 D" -0>" -b10001101010101111001101000011010 /" -b0 +" -b1111 3" -12" -1-" -b10 P -b10001101010101111001101000011010 m -b1111 q -b10001101010101111001101000011010 \ -b10001010 X -b1111 ` -1_ -1' -#8656 -b1101011101 / -b10 2 -#8660 -17" -b0 5" -0&" -0)" -b111000 $" -b0 x -b111000 Q -b111000 s -b111000 B -b11 A -0V -b10 O -1:" -b10 "" -b111000000111000 8 -0= -b111000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10101001001010100 " -b11 . -1& -b10111011001110100001101001110110 % -b10111011001110100001101001110110 < -b10111011001110100001101001110110 D -b10111011001110100001101001110110 U -b10111011001110100001101001110110 f -b10111011001110100001101001110110 u -b10111011001110100001101001110110 (" -b10111011001110100001101001110110 9" -0( -0) -0+ -0, -b10 0 -0' -#8663 -b1110001001111111010101100000000 ] -#8665 -b1110001001111111010101100000000 # -0N -0!" -b0 { -b11 . -b1110001001111111010101100000000 ! -b1110001001111111010101100000000 ? -b11 A -b1110001001111111010101100000000 L -b10111011001110100001101001110110 \ -b111000 X -b10 ` -0_ -b10111011001110100001101001110110 m -b10 q -b1110001001111111010101100000000 H -b10 P -b10111011001110100001101001110110 /" -b111000 +" -b10 3" -02" -0-" -b10111011001110100001101001110110 @" -b0 <" -b10 D" -1>" -b10 #" -b100 7 -1' -#8666 -b1101011110 / -b10 2 -#8670 -07" -b1001011 5" -1&" -b0 $" -b1 x -b10100000 Q -b101001011 s -b10100000 B -b11 A -1V -b10 O -1)" -b10 "" -b101001011010100000 8 -1= -b110101100 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101001011010100000 " -b11 . -0& -b1110101000101010110111111101010 % -b1110101000101010110111111101010 < -b1110101000101010110111111101010 D -b1110101000101010110111111101010 U -b1110101000101010110111111101010 f -b1110101000101010110111111101010 u -b1110101000101010110111111101010 (" -b1110101000101010110111111101010 9" -0( -0) -0+ -0, -b1 0 -0' -#8675 -1!" -b1 { -1N -b10 4 -b10 #" -b1110101000101010110111111101010 @" -b1001011 <" -b1010 D" -0>" -b1110101000101010110111111101010 /" -b0 +" -b1010 3" -12" -1-" -b10 P -b1110101000101010110111111101010 m -b1010 q -b1110101000101010110111111101010 \ -b10100000 X -b1010 ` -1_ -1' -#8676 -b1101011111 / -b10 2 -#8680 -17" -b0 5" -0&" -0)" -b11001000 $" -b0 x -b11001000 Q -b11001000 s -b11001000 B -b11 A -0V -b10 O -1:" -b10 "" -b11001000011001000 8 -0= -b11001000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101001111000110001 " -b11 . -1& -b10101000011111011000100001010000 % -b10101000011111011000100001010000 < -b10101000011111011000100001010000 D -b10101000011111011000100001010000 U -b10101000011111011000100001010000 f -b10101000011111011000100001010000 u -b10101000011111011000100001010000 (" -b10101000011111011000100001010000 9" -0( -0) -0+ -0, -b10 0 -0' -#8683 -b11100011 A" -b0 ] -#8685 -b1110001100000000000000000000000000000000 # -0N -0!" -b0 { -b11 . -b1110001100000000000000000000000000000000 ! -b1110001100000000000000000000000000000000 ? -b11 A -b0 L -b11100011 } -b10101000011111011000100001010000 \ -b11001000 X -b111 ` -0_ -b10101000011111011000100001010000 m -b111 q -b0 H -b10 P -b10101000011111011000100001010000 /" -b11001000 +" -b111 3" -02" -0-" -b10101000011111011000100001010000 @" -b0 <" -b111 D" -1>" -b11100011 y -b10 #" -b100 7 -1' -#8686 -b1101100000 / -b10 2 -#8690 -07" -b11111110 5" -1&" -b0 $" -b1 x -b1111110 Q -b111111110 s -b1111110 B -b11 A -1V -b10 O -1)" -b10 "" -b111111110001111110 8 -1= -b110001110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b111111110001111110 " -b11 . -0& -b1111110100111010110100011111 % -b1111110100111010110100011111 < -b1111110100111010110100011111 D -b1111110100111010110100011111 U -b1111110100111010110100011111 f -b1111110100111010110100011111 u -b1111110100111010110100011111 (" -b1111110100111010110100011111 9" -0( -0) -0+ -0, -b1 0 -0' -#8695 -1!" -b1 { -1N -b10 4 -b10 #" -b1111110100111010110100011111 @" -b11111110 <" -b101 D" -0>" -b1111110100111010110100011111 /" -b0 +" -b101 3" -12" -1-" -b10 P -b1111110100111010110100011111 m -b101 q -b1111110100111010110100011111 \ -b1111110 X -b101 ` -1_ -1' -#8696 -b1101100001 / -b10 2 -#8700 -17" -b0 5" -0&" -b10111101 $" -b10 "" -b0 x -b11001100 Q -b10 O -b10111101 s -b11001100 B -b11 A -b10111101011001100 8 -b100010101 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10111101011001100 " -b11 . -b10000000111000111001001000000001 % -b10000000111000111001001000000001 < -b10000000111000111001001000000001 D -b10000000111000111001001000000001 U -b10000000111000111001001000000001 f -b10000000111000111001001000000001 u -b10000000111000111001001000000001 (" -b10000000111000111001001000000001 9" -0( -0) -0+ -0, -b10 0 -0' -#8703 -b1001100001100010000000000000000 A" -b10111101000000001011110000000000 ] -#8705 -b100110000110001000000000000000010111101000000001011110000000000 # -b0 { -b11 . -b100110000110001000000000000000010111101000000001011110000000000 ! -b100110000110001000000000000000010111101000000001011110000000000 ? -b11 A -b10111101000000001011110000000000 L -b1001100001100010000000000000000 } -b10000000111000111001001000000001 \ -b11001100 X -b11 ` -b10000000111000111001001000000001 m -b11 q -b10111101000000001011110000000000 H -b10 P -b10000000111000111001001000000001 /" -b10111101 +" -b11 3" -0-" -b10000000111000111001001000000001 @" -b0 <" -b11 D" -1>" -b1001100001100010000000000000000 y -b10 #" -b10 4 -1' -#8706 -b1101100010 / -b10 2 -#8710 -b11100010 $" -b11100010 Q -b11100010 s -b11100010 B -b11 A -0V -b10 O -0)" -b10 "" -b11100010011100010 8 -0= -b11100010 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10010011001110010 " -b11 . -1& -b10000101001100110101100000001010 % -b10000101001100110101100000001010 < -b10000101001100110101100000001010 D -b10000101001100110101100000001010 U -b10000101001100110101100000001010 f -b10000101001100110101100000001010 u -b10000101001100110101100000001010 (" -b10000101001100110101100000001010 9" -0( -0) -0+ -0, -b1 0 -0' -#8713 -b0 ] -#8715 -b0 # -0!" -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b100 7 -b0 y -b10 #" -b10000101001100110101100000001010 @" -b1011 D" -b10000101001100110101100000001010 /" -b11100010 +" -b1011 3" -02" -b0 H -b10 P -b10000101001100110101100000001010 m -b1011 q -b10000101001100110101100000001010 \ -b11100010 X -b1011 ` -0_ -1' -#8716 -b1101100011 / -b10 2 -#8720 -b11110011 $" -b111011 Q -b11110011 s -b111011 B -b11 A -1V -b10 O -1)" -b10 "" -b11110011000111011 8 -1= -b111111001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11110011000111011 " -b11 . -0& -b10110100101001110101010001101001 % -b10110100101001110101010001101001 < -b10110100101001110101010001101001 D -b10110100101001110101010001101001 U -b10110100101001110101010001101001 f -b10110100101001110101010001101001 u -b10110100101001110101010001101001 (" -b10110100101001110101010001101001 9" -0( -0) -0+ -0, -b10 0 -0' -#8725 -1N -1!" -b10110100101001110101010001101001 \ -b111011 X -b1010 ` -1_ -b10110100101001110101010001101001 m -b1010 q -b10 P -b10110100101001110101010001101001 /" -b11110011 +" -b1010 3" -12" -b10110100101001110101010001101001 @" -b1010 D" -b10 #" -b10 4 -1' -#8726 -b1101100100 / -b10 2 -#8730 -07" -0:" -b10110010 5" -1&" -b0 $" -b1 x -0d -0g -b10110010 b -1S -b0 Q -b1 G -b110110010 s -b110110010 B -b11 A -1V -b10 O -1)" -b10 "" -b110110010110110010 8 -0= -b110110010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b10111000010101110 " -b11 . -1& -b11011101111001000101000010111011 % -b11011101111001000101000010111011 < -b11011101111001000101000010111011 D -b11011101111001000101000010111011 U -b11011101111001000101000010111011 f -b11011101111001000101000010111011 u -b11011101111001000101000010111011 (" -b11011101111001000101000010111011 9" -0( -0) -0+ -0, -b1 0 -0' -#8735 -0!" -b1 { -0N -b1 J -b100 7 -b10 #" -b11011101111001000101000010111011 @" -b10110010 <" -b101 D" -0C" -0>" -b11011101111001000101000010111011 /" -b0 +" -b101 3" -1-" -b10 P -b11011101111001000101000010111011 m -b10110010 i -b101 q -0p -0k -b11011101111001000101000010111011 \ -b0 X -b101 ` -1Z -1' -#8736 -b1101100101 / -b10 2 -#8740 -b1010011 5" -b10 "" -b1010011 b -b10 O -b101010011 s -b101010011 B -b11 A -b101010011101010011 8 -b101010011 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111011011000101000 " -b11 . -1& -b10010000101000111011101000100001 % -b10010000101000111011101000100001 < -b10010000101000111011101000100001 D -b10010000101000111011101000100001 U -b10010000101000111011101000100001 f -b10010000101000111011101000100001 u -b10010000101000111011101000100001 (" -b10010000101000111011101000100001 9" -0( -0) -0+ -0, -b10 0 -0' -#8745 -b10010000101000111011101000100001 \ -b1100 ` -b10010000101000111011101000100001 m -b1010011 i -b1100 q -b10 P -b10010000101000111011101000100001 /" -b1100 3" -b10010000101000111011101000100001 @" -b1010011 <" -b1100 D" -b10 #" -b100 7 -1' -#8746 -b1101100110 / -b10 2 -#8750 -b1011010 5" -1d -b0 b -0S -b1100111 Q -b0 G -b101011010 s -b1100111 B -b11 A -1g -b10 O -1:" -b10 "" -b101011010001100111 8 -1= -b1000011 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101011010001100111 " -b11 . -0& -b11111010100001111000100111110 % -b11111010100001111000100111110 < -b11111010100001111000100111110 D -b11111010100001111000100111110 U -b11111010100001111000100111110 f -b11111010100001111000100111110 u -b11111010100001111000100111110 (" -b11111010100001111000100111110 9" -0( -0) -0+ -0, -b1 0 -0' -#8755 -1!" -1N -b0 J -b10 4 -b10 #" -b11111010100001111000100111110 @" -b1011010 <" -b1000 D" -1C" -b11111010100001111000100111110 /" -b1000 3" -b10 P -b11111010100001111000100111110 m -b0 i -b1000 q -1p -1k -b11111010100001111000100111110 \ -b1100111 X -b1000 ` -0Z -1' -#8756 -b1101100111 / -b10 2 -#8760 -b100100 5" -0d -0g -b100100 b -1S -b0 Q -b1 G -b100100100 s -b100100100 B -b11 A -1V -b10 O -0:" -b10 "" -b100100100100100100 8 -0= -b100100100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11010110010011100 " -b11 . -1& -b10111000000100011001011001110000 % -b10111000000100011001011001110000 < -b10111000000100011001011001110000 D -b10111000000100011001011001110000 U -b10111000000100011001011001110000 f -b10111000000100011001011001110000 u -b10111000000100011001011001110000 (" -b10111000000100011001011001110000 9" -0( -0) -0+ -0, -b10 0 -0' -#8763 -b1001000000000001111001 A" -b1001101000000000000000000000000 ] -#8765 -b100100000000000111100101001101000000000000000000000000 # -0N -b1 J -0!" -b11 . -b100100000000000111100101001101000000000000000000000000 ! -b100100000000000111100101001101000000000000000000000000 ? -b11 A -b1001101000000000000000000000000 L -b1001000000000001111001 } -b10111000000100011001011001110000 \ -b0 X -b100 ` -1Z -b10111000000100011001011001110000 m -b100100 i -b100 q -0p -0k -b1001101000000000000000000000000 H -b10 P -b10111000000100011001011001110000 /" -b100 3" -b10111000000100011001011001110000 @" -b100100 <" -b100 D" -0C" -b1001000000000001111001 y -b10 #" -b100 7 -1' -#8766 -b1101101000 / -b10 2 -#8770 -b1010111 5" -b10 "" -b1010111 b -b10 O -b101010111 s -b101010111 B -b11 A -b101010111101010111 8 -b101010111 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b11001010000001010 " -b11 . -1& -b101011110010001010101101010111 % -b101011110010001010101101010111 < -b101011110010001010101101010111 D -b101011110010001010101101010111 U -b101011110010001010101101010111 f -b101011110010001010101101010111 u -b101011110010001010101101010111 (" -b101011110010001010101101010111 9" -0( -0) -0+ -0, -b1 0 -0' -#8775 -b100 7 -b10 #" -b101011110010001010101101010111 @" -b1010111 <" -b1011 D" -b101011110010001010101101010111 /" -b1011 3" -b10 P -b101011110010001010101101010111 m -b1010111 i -b1011 q -b101011110010001010101101010111 \ -b1011 ` -1' -#8776 -b1101101001 / -b10 2 -#8780 -b11100001 5" -b1100000 b -b111100001 s -b101100000 B -b11 A -1g -b10 O -1:" -b10 "" -b111100001101100000 8 -1= -b10100010 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111100001101100000 " -b11 . -0& -b101111001000001100100101011110 % -b101111001000001100100101011110 < -b101111001000001100100101011110 D -b101111001000001100100101011110 U -b101111001000001100100101011110 f -b101111001000001100100101011110 u -b101111001000001100100101011110 (" -b101111001000001100100101011110 9" -0( -0) -0+ -0, -b10 0 -0' -#8785 -1N -1!" -b101111001000001100100101011110 \ -b11 ` -b101111001000001100100101011110 m -b1100000 i -b11 q -1p -b10 P -b101111001000001100100101011110 /" -b11 3" -b101111001000001100100101011110 @" -b11100001 <" -b11 D" -1C" -b10 #" -b10 4 -1' -#8786 -b1101101010 / -b10 2 -#8790 -17" -b0 5" -0&" -0)" -b11000011 $" -b0 x -1d -b0 b -0S -0V -b11000011 Q -b0 G -b11000011 s -b11000011 B -b11 A -1g -b10 O -1:" -b10 "" -b11000011011000011 8 -0= -b11000011 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100101110011000010 " -b11 . -1& -b1110110110100011011011111101101 % -b1110110110100011011011111101101 < -b1110110110100011011011111101101 D -b1110110110100011011011111101101 U -b1110110110100011011011111101101 f -b1110110110100011011011111101101 u -b1110110110100011011011111101101 (" -b1110110110100011011011111101101 9" -0( -0) -0+ -0, -b1 0 -0' -#8793 -b0 A" -b11100000000000000000 n -#8795 -b11100000000000000000 # -0!" -b0 { -0N -b0 J -b11 . -b11100000000000000000 ! -b11100000000000000000 ? -b11 A -b0 } -b11100000000000000000 L -b100 7 -b0 y -b10 #" -b1110110110100011011011111101101 @" -b0 <" -b1110 D" -1>" -b1110110110100011011011111101101 /" -b11000011 +" -b1110 3" -02" -0-" -b11100000000000000000 H -b10 P -b1110110110100011011011111101101 m -b0 i -b1110 q -1k -b1110110110100011011011111101101 \ -b11000011 X -b1110 ` -0_ -0Z -1' -#8796 -b1101101011 / -b10 2 -#8800 -07" -0:" -b111101 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b111101 b -1S -1V -b0 Q -b10 O -b1 G -b100111101 s -b100111101 B -b11 A -b100111101100111101 8 -b100111101 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100111010011111001 " -b11 . -1& -b11010101101101000101110010101011 % -b11010101101101000101110010101011 < -b11010101101101000101110010101011 D -b11010101101101000101110010101011 U -b11010101101101000101110010101011 f -b11010101101101000101110010101011 u -b11010101101101000101110010101011 (" -b11010101101101000101110010101011 9" -0( -0) -0+ -0, -b10 0 -0' -#8805 -b1 J -b1 { -b11010101101101000101110010101011 \ -b0 X -b1001 ` -1_ -1Z -b11010101101101000101110010101011 m -b111101 i -b1001 q -0p -0k -b10 P -b11010101101101000101110010101011 /" -b0 +" -b1001 3" -12" -1-" -b11010101101101000101110010101011 @" -b111101 <" -b1001 D" -0C" -0>" -b10 #" -b100 7 -1' -#8806 -b1101101100 / -b10 2 -#8810 -17" -b0 5" -0&" -b11110000 $" -b0 x -b10000111 b -b11110000 s -b110000111 B -b11 A -1g -b10 O -1:" -b10 "" -b11110000110000111 8 -1= -b100011 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11110000110000111 " -b11 . -0& -b1011111000010011001111110111110 % -b1011111000010011001111110111110 < -b1011111000010011001111110111110 D -b1011111000010011001111110111110 U -b1011111000010011001111110111110 f -b1011111000010011001111110111110 u -b1011111000010011001111110111110 (" -b1011111000010011001111110111110 9" -0( -0) -0+ -0, -b1 0 -0' -#8815 -1!" -b0 { -1N -b10 4 -b10 #" -b1011111000010011001111110111110 @" -b0 <" -b11 D" -1C" -1>" -b1011111000010011001111110111110 /" -b11110000 +" -b11 3" -0-" -b10 P -b1011111000010011001111110111110 m -b10000111 i -b11 q -1p -b1011111000010011001111110111110 \ -b11 ` -1' -#8816 -b1101101101 / -b10 2 -#8820 -b1111010 $" -1d -b0 b -0S -0V -b1111010 Q -b0 G -b1111010 s -b1111010 B -b11 A -1g -b10 O -0)" -b10 "" -b1111010001111010 8 -0= -b1111010 $ -b11111001100001111 " -b11 . -1& -b11010010010010011010110010100100 % -b11010010010010011010110010100100 < -b11010010010010011010110010100100 D -b11010010010010011010110010100100 U -b11010010010010011010110010100100 f -b11010010010010011010110010100100 u -b11010010010010011010110010100100 (" -b11010010010010011010110010100100 9" -0( -0) -0+ -0, -b10 0 -0' -#8823 -b0 n -#8825 -b0 # -0N -b0 J -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 L -b11010010010010011010110010100100 \ -b1111010 X -0_ -0Z -b11010010010010011010110010100100 m -b0 i -1k -b0 H -b10 P -b11010010010010011010110010100100 /" -b1111010 +" -02" -b11010010010010011010110010100100 @" -b10 #" -b100 7 -1' -#8826 -b1101101110 / -b10 2 -#8830 -07" -b11110011 5" -1&" -b0 $" -b1 x -b1 Q -b111110011 s -b1 B -b11 A -1V -b10 O -1)" -b10 "" -b111110011000000001 8 -1= -b110010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111110011000000001 " -b11 . -0& -b1011010101111001111000110110101 % -b1011010101111001111000110110101 < -b1011010101111001111000110110101 D -b1011010101111001111000110110101 U -b1011010101111001111000110110101 f -b1011010101111001111000110110101 u -b1011010101111001111000110110101 (" -b1011010101111001111000110110101 9" -0( -0) -0+ -0, -b1 0 -0' -#8835 -1!" -b1 { -1N -b10 4 -b10 #" -b1011010101111001111000110110101 @" -b11110011 <" -b1 D" -0>" -b1011010101111001111000110110101 /" -b0 +" -b1 3" -12" -1-" -b10 P -b1011010101111001111000110110101 m -b1 q -b1011010101111001111000110110101 \ -b1 X -b1 ` -1_ -1' -#8836 -b1101101111 / -b10 2 -#8840 -b111110 5" -b10 "" -0d -b1110101 b -1S -b0 Q -b10 O -b1 G -b100111110 s -b101110101 B -b11 A -b100111110101110101 8 -b111 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100111110101110101 " -b11 . -b1001111110100100111111110011111 % -b1001111110100100111111110011111 < -b1001111110100100111111110011111 D -b1001111110100100111111110011111 U -b1001111110100100111111110011111 f -b1001111110100100111111110011111 u -b1001111110100100111111110011111 (" -b1001111110100100111111110011111 9" -0( -0) -0+ -0, -b10 0 -0' -#8843 -b101111001110001110010001 A" -b0 ] -#8845 -b10111100111000111001000100000000000000000000000000000000 # -b1 J -b11 . -b10111100111000111001000100000000000000000000000000000000 ! -b10111100111000111001000100000000000000000000000000000000 ? -b11 A -b101111001110001110010001 } -b1001111110100100111111110011111 \ -b0 X -b1110 ` -1Z -b1001111110100100111111110011111 m -b1110101 i -b1110 q -0k -b10 P -b1001111110100100111111110011111 /" -b1110 3" -b1001111110100100111111110011111 @" -b111110 <" -b1110 D" -b101111001110001110010001 y -b10 #" -b10 4 -1' -#8846 -b1101110000 / -b10 2 -#8850 -17" -b0 5" -0&" -b10000 $" -b10 "" -b0 x -b110101 b -b10 O -b10000 s -b100110101 B -b11 A -b10000100110101 8 -b10101001 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10000100110101 " -b11 . -b1010000111011101000100010100 % -b1010000111011101000100010100 < -b1010000111011101000100010100 D -b1010000111011101000100010100 U -b1010000111011101000100010100 f -b1010000111011101000100010100 u -b1010000111011101000100010100 (" -b1010000111011101000100010100 9" -0( -0) -0+ -0, -b1 0 -0' -#8853 -b0 A" -#8855 -b0 # -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 } -b10 4 -b0 y -b10 #" -b1010000111011101000100010100 @" -b0 <" -b100 D" -1>" -b1010000111011101000100010100 /" -b10000 +" -b100 3" -0-" -b10 P -b1010000111011101000100010100 m -b110101 i -b100 q -b1010000111011101000100010100 \ -b100 ` -1' -#8856 -b1101110001 / -b10 2 -#8860 -b101110 $" -b10 "" -b10010001 b -b10 O -b101110 s -b110010001 B -b11 A -b101110110010001 8 -b111100101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101110110010001 " -b11 . -b11000110000010100010000010001100 % -b11000110000010100010000010001100 < -b11000110000010100010000010001100 D -b11000110000010100010000010001100 U -b11000110000010100010000010001100 f -b11000110000010100010000010001100 u -b11000110000010100010000010001100 (" -b11000110000010100010000010001100 9" -0( -0) -0+ -0, -b10 0 -0' -#8863 -b11011000010010110000000010110000 0" -#8865 -b1101100001001011000000001011000000000000000000000000000000000000 # -b11 . -b1101100001001011000000001011000000000000000000000000000000000000 ! -b1101100001001011000000001011000000000000000000000000000000000000 ? -b11 A -b11011000010010110000000010110000 } -b11000110000010100010000010001100 \ -b111 ` -b11000110000010100010000010001100 m -b10010001 i -b111 q -b10 P -b11000110000010100010000010001100 /" -b101110 +" -b111 3" -b11000110000010100010000010001100 @" -b111 D" -b11011000010010110000000010110000 y -b10 #" -b10 4 -1' -#8866 -b1101110010 / -b10 2 -#8870 -b100110 $" -b10 "" -1d -b0 b -0S -b10110011 Q -b10 O -b0 G -b100110 s -b10110011 B -b11 A -b100110010110011 8 -b111101011 $ -b100110010110011 " -b11 . -b100001110000011010001101000011 % -b100001110000011010001101000011 < -b100001110000011010001101000011 D -b100001110000011010001101000011 U -b100001110000011010001101000011 f -b100001110000011010001101000011 u -b100001110000011010001101000011 (" -b100001110000011010001101000011 9" -0( -0) -0+ -0, -b1 0 -0' -#8873 -b111101 0" -b111011110000000000000000 n -#8875 -b11110100000000111011110000000000000000 # -b0 J -b11 . -b11110100000000111011110000000000000000 ! -b11110100000000111011110000000000000000 ? -b11 A -b111101 } -b111011110000000000000000 L -b10 4 -b111101 y -b10 #" -b100001110000011010001101000011 @" -b100001110000011010001101000011 /" -b100110 +" -b111011110000000000000000 H -b10 P -b100001110000011010001101000011 m -b0 i -1k -b100001110000011010001101000011 \ -b10110011 X -0Z -1' -#8876 -b1101110011 / -b10 2 -#8880 -b101110 $" -b10 "" -0d -b1000 b -1S -b0 Q -b10 O -b1 G -b101110 s -b100001000 B -b11 A -b101110100001000 8 -b101011101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b101110100001000 " -b11 . -b11111010100011011000111011110101 % -b11111010100011011000111011110101 < -b11111010100011011000111011110101 D -b11111010100011011000111011110101 U -b11111010100011011000111011110101 f -b11111010100011011000111011110101 u -b11111010100011011000111011110101 (" -b11111010100011011000111011110101 9" -0( -0) -0+ -0, -b10 0 -0' -#8883 -b101110100000000 0" -b1001011001011100000000011101000 ] -#8885 -b10111010000000001001011001011100000000011101000 # -b1 J -b11 . -b10111010000000001001011001011100000000011101000 ! -b10111010000000001001011001011100000000011101000 ? -b11 A -b1001011001011100000000011101000 L -b101110100000000 } -b11111010100011011000111011110101 \ -b0 X -b1100 ` -1Z -b11111010100011011000111011110101 m -b1000 i -b1100 q -0k -b1001011001011100000000011101000 H -b10 P -b11111010100011011000111011110101 /" -b101110 +" -b1100 3" -b11111010100011011000111011110101 @" -b1100 D" -b101110100000000 y -b10 #" -b10 4 -1' -#8886 -b1101110100 / -b10 2 -#8890 -07" -b1101010 5" -1&" -b0 $" -b10 "" -b1 x -b11100001 b -b10 O -b101101010 s -b111100001 B -b11 A -b101101010111100001 8 -b110010010 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101101010111100001 " -b11 . -b11101001110011011010010011010011 % -b11101001110011011010010011010011 < -b11101001110011011010010011010011 D -b11101001110011011010010011010011 U -b11101001110011011010010011010011 f -b11101001110011011010010011010011 u -b11101001110011011010010011010011 (" -b11101001110011011010010011010011 9" -0( -0) -0+ -0, -b1 0 -0' -#8893 -b111101 0" -b11010100011100000000000110101 n -#8895 -b11110100011010100011100000000000110101 # -b1 { -b11 . -b11110100011010100011100000000000110101 ! -b11110100011010100011100000000000110101 ? -b11 A -b111101 } -b11010100011100000000000110101 L -b10 4 -b111101 y -b10 #" -b11101001110011011010010011010011 @" -b1101010 <" -b1011 D" -0>" -b11101001110011011010010011010011 /" -b0 +" -b1011 3" -1-" -b11010100011100000000000110101 H -b10 P -b11101001110011011010010011010011 m -b11100001 i -b1011 q -b11101001110011011010010011010011 \ -b1011 ` -1' -#8896 -b1101110101 / -b10 2 -#8900 -17" -b0 5" -0&" -0)" -b11010111 $" -b0 x -1d -b0 b -0S -0V -b11010111 Q -b0 G -b11010111 s -b11010111 B -b11 A -1g -b10 O -1:" -b10 "" -b11010111011010111 8 -0= -b11010111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b11110010001111111 " -b11 . -1& -b10110001101111101001010001100011 % -b10110001101111101001010001100011 < -b10110001101111101001010001100011 D -b10110001101111101001010001100011 U -b10110001101111101001010001100011 f -b10110001101111101001010001100011 u -b10110001101111101001010001100011 (" -b10110001101111101001010001100011 9" -0( -0) -0+ -0, -b10 0 -0' -#8903 -b0 n -#8905 -b0 # -0N -b0 J -0!" -b0 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b10110001101111101001010001100011 \ -b11010111 X -b1000 ` -0_ -0Z -b10110001101111101001010001100011 m -b0 i -b1000 q -1k -b0 H -b10 P -b10110001101111101001010001100011 /" -b11010111 +" -b1000 3" -02" -0-" -b10110001101111101001010001100011 @" -b0 <" -b1000 D" -1>" -b0 y -b10 #" -b100 7 -1' -#8906 -b1101110110 / -b10 2 -#8910 -b10010111 $" -0d -b10110111 b -1S -b0 Q -b1 G -b10010111 s -b110110111 B -b11 A -1V -b10 O -1)" -b10 "" -b10010111110110111 8 -1= -b10000101 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10010111110110111 " -b11 . -0& -b110001111110101001000101100011 % -b110001111110101001000101100011 < -b110001111110101001000101100011 D -b110001111110101001000101100011 U -b110001111110101001000101100011 f -b110001111110101001000101100011 u -b110001111110101001000101100011 (" -b110001111110101001000101100011 9" -0( -0) -0+ -0, -b1 0 -0' -#8915 -1!" -1N -b1 J -b10 4 -b10 #" -b110001111110101001000101100011 @" -b111 D" -b110001111110101001000101100011 /" -b10010111 +" -b111 3" -12" -b10 P -b110001111110101001000101100011 m -b10110111 i -b111 q -0k -b110001111110101001000101100011 \ -b0 X -b111 ` -1_ -1Z -1' -#8916 -b1101110111 / -b10 2 -#8920 -b10100010 $" -b10 "" -b1111111 b -b10 O -b10100010 s -b101111111 B -b11 A -b10100010101111111 8 -b101100001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10100010101111111 " -b11 . -b11010001001110011110001010100010 % -b11010001001110011110001010100010 < -b11010001001110011110001010100010 D -b11010001001110011110001010100010 U -b11010001001110011110001010100010 f -b11010001001110011110001010100010 u -b11010001001110011110001010100010 (" -b11010001001110011110001010100010 9" -0( -0) -0+ -0, -b10 0 -0' -#8923 -b0 0" -b10101011010101110000000000000000 n -#8925 -b10101011010101110000000000000000 # -b11 . -b10101011010101110000000000000000 ! -b10101011010101110000000000000000 ? -b11 A -b10101011010101110000000000000000 L -b11010001001110011110001010100010 \ -b1010 ` -b11010001001110011110001010100010 m -b1111111 i -b1010 q -b10101011010101110000000000000000 H -b10 P -b11010001001110011110001010100010 /" -b10100010 +" -b1010 3" -b11010001001110011110001010100010 @" -b1010 D" -b10 #" -b10 4 -1' -#8926 -b1101111000 / -b10 2 -#8930 -07" -b100100 5" -1&" -b0 $" -b10 "" -b1 x -b1001 b -b10 O -b100100100 s -b100001001 B -b11 A -b100100100100001001 8 -b11011100 $ -b100100100100001001 " -b11 . -b1000010101110011110100010000 % -b1000010101110011110100010000 < -b1000010101110011110100010000 D -b1000010101110011110100010000 U -b1000010101110011110100010000 f -b1000010101110011110100010000 u -b1000010101110011110100010000 (" -b1000010101110011110100010000 9" -0( -0) -0+ -0, -b1 0 -0' -#8933 -b0 n -#8935 -b0 # -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b1000010101110011110100010000 @" -b100100 <" -0>" -b1000010101110011110100010000 /" -b0 +" -1-" -b0 H -b10 P -b1000010101110011110100010000 m -b1001 i -b1000010101110011110100010000 \ -1' -#8936 -b1101111001 / -b10 2 -#8940 -17" -b0 5" -0&" -0)" -b10100001 $" -b0 x -1d -b0 b -0S -0V -b10100001 Q -b0 G -b10100001 s -b10100001 B -b11 A -1g -b10 O -1:" -b10 "" -b10100001010100001 8 -0= -b10100001 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110101010110000001 " -b11 . -1& -b110010011010000011110101100100 % -b110010011010000011110101100100 < -b110010011010000011110101100100 D -b110010011010000011110101100100 U -b110010011010000011110101100100 f -b110010011010000011110101100100 u -b110010011010000011110101100100 (" -b110010011010000011110101100100 9" -0( -0) -0+ -0, -b10 0 -0' -#8943 -b100011111010000000000 A" -b1000111111000011000110110001111 n -#8945 -b10001111101000000000001000111111000011000110110001111 # -0N -b0 J -0!" -b0 { -b11 . -b10001111101000000000001000111111000011000110110001111 ! -b10001111101000000000001000111111000011000110110001111 ? -b11 A -b1000111111000011000110110001111 L -b100011111010000000000 } -b110010011010000011110101100100 \ -b10100001 X -b100 ` -0_ -0Z -b110010011010000011110101100100 m -b0 i -b100 q -1k -b1000111111000011000110110001111 H -b10 P -b110010011010000011110101100100 /" -b10100001 +" -b100 3" -02" -0-" -b110010011010000011110101100100 @" -b0 <" -b100 D" -1>" -b100011111010000000000 y -b10 #" -b100 7 -1' -#8946 -b1101111010 / -b10 2 -#8950 -07" -0:" -b100110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b100110 b -1S -1V -b0 Q -b10 O -b1 G -b100100110 s -b100100110 B -b11 A -b100100110100100110 8 -b100100110 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101001100110011011 " -b11 . -1& -b10101000011100100011111001010000 % -b10101000011100100011111001010000 < -b10101000011100100011111001010000 D -b10101000011100100011111001010000 U -b10101000011100100011111001010000 f -b10101000011100100011111001010000 u -b10101000011100100011111001010000 (" -b10101000011100100011111001010000 9" -0( -0) -0+ -0, -b1 0 -0' -#8955 -b1 { -b1 J -b100 7 -b10 #" -b10101000011100100011111001010000 @" -b100110 <" -b1001 D" -0C" -0>" -b10101000011100100011111001010000 /" -b0 +" -b1001 3" -12" -1-" -b10 P -b10101000011100100011111001010000 m -b100110 i -b1001 q -0p -0k -b10101000011100100011111001010000 \ -b0 X -b1001 ` -1_ -1Z -1' -#8956 -b1101111011 / -b10 2 -#8960 -b1000101 5" -1d -b0 b -0S -b11011100 Q -b0 G -b101000101 s -b11011100 B -b11 A -1g -b10 O -1:" -b10 "" -b101000101011011100 8 -1= -b111010010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101000101011011100 " -b11 . -0& -b11000010011100101000110010000100 % -b11000010011100101000110010000100 < -b11000010011100101000110010000100 D -b11000010011100101000110010000100 U -b11000010011100101000110010000100 f -b11000010011100101000110010000100 u -b11000010011100101000110010000100 (" -b11000010011100101000110010000100 9" -0( -0) -0+ -0, -b10 0 -0' -#8965 -1N -b0 J -1!" -b11000010011100101000110010000100 \ -b11011100 X -b1111 ` -0Z -b11000010011100101000110010000100 m -b0 i -b1111 q -1p -1k -b10 P -b11000010011100101000110010000100 /" -b1111 3" -b11000010011100101000110010000100 @" -b1000101 <" -b1111 D" -1C" -b10 #" -b10 4 -1' -#8966 -b1101111100 / -b10 2 -#8970 -b10111111 5" -b10 "" -b1110011 Q -b10 O -b110111111 s -b1110011 B -b11 A -b110111111001110011 8 -b110101011 $ -b110111111001110011 " -b11 . -b11101010010100101000000011010100 % -b11101010010100101000000011010100 < -b11101010010100101000000011010100 D -b11101010010100101000000011010100 U -b11101010010100101000000011010100 f -b11101010010100101000000011010100 u -b11101010010100101000000011010100 (" -b11101010010100101000000011010100 9" -0( -0) -0+ -0, -b1 0 -0' -#8973 -b0 A" -b10100000000000000000000 ] -#8975 -b10100000000000000000000 # -b11 . -b10100000000000000000000 ! -b10100000000000000000000 ? -b11 A -b0 } -b10100000000000000000000 L -b10 4 -b0 y -b10 #" -b11101010010100101000000011010100 @" -b10111111 <" -b11101010010100101000000011010100 /" -b10100000000000000000000 H -b10 P -b11101010010100101000000011010100 m -b11101010010100101000000011010100 \ -b1110011 X -1' -#8976 -b1101111101 / -b10 2 -#8980 -17" -b0 5" -0&" -0)" -b10000010 $" -b0 x -b10000010 Q -b10000010 s -b10000010 B -b11 A -0V -b10 O -1:" -b10 "" -b10000010010000010 8 -0= -b10000010 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b11110001111011111 " -b11 . -1& -b1111101101000010000110111111011 % -b1111101101000010000110111111011 < -b1111101101000010000110111111011 D -b1111101101000010000110111111011 U -b1111101101000010000110111111011 f -b1111101101000010000110111111011 u -b1111101101000010000110111111011 (" -b1111101101000010000110111111011 9" -0( -0) -0+ -0, -b10 0 -0' -#8983 -b11111000000000000101111011110000 A" -b10100010000000000000000 ] -#8985 -b1111100000000000010111101111000000000000010100010000000000000000 # -0N -0!" -b0 { -b11 . -b1111100000000000010111101111000000000000010100010000000000000000 ! -b1111100000000000010111101111000000000000010100010000000000000000 ? -b11 A -b10100010000000000000000 L -b11111000000000000101111011110000 } -b1111101101000010000110111111011 \ -b10000010 X -b10 ` -0_ -b1111101101000010000110111111011 m -b10 q -b10100010000000000000000 H -b10 P -b1111101101000010000110111111011 /" -b10000010 +" -b10 3" -02" -0-" -b1111101101000010000110111111011 @" -b0 <" -b10 D" -1>" -b11111000000000000101111011110000 y -b10 #" -b100 7 -1' -#8986 -b1101111110 / -b10 2 -#8990 -b10100110 $" -b10 "" -b10100110 Q -b10 O -b10100110 s -b10100110 B -b11 A -b10100110010100110 8 -b10100110 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b11100101011110001 " -b11 . -1& -b1100100011001101110111111001000 % -b1100100011001101110111111001000 < -b1100100011001101110111111001000 D -b1100100011001101110111111001000 U -b1100100011001101110111111001000 f -b1100100011001101110111111001000 u -b1100100011001101110111111001000 (" -b1100100011001101110111111001000 9" -0( -0) -0+ -0, -b1 0 -0' -#8995 -b100 7 -b10 #" -b1100100011001101110111111001000 @" -b1101 D" -b1100100011001101110111111001000 /" -b10100110 +" -b1101 3" -b10 P -b1100100011001101110111111001000 m -b1101 q -b1100100011001101110111111001000 \ -b10100110 X -b1101 ` -1' -#8996 -b1101111111 / -b10 2 -#9000 -b10111100 $" -0d -b100111 b -1S -b0 Q -b1 G -b10111100 s -b100100111 B -b11 A -1V -b10 O -1)" -b10 "" -b10111100100100111 8 -1= -b1011001 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10111100100100111 " -b11 . -0& -b10000110111011010110000000001101 % -b10000110111011010110000000001101 < -b10000110111011010110000000001101 D -b10000110111011010110000000001101 U -b10000110111011010110000000001101 f -b10000110111011010110000000001101 u -b10000110111011010110000000001101 (" -b10000110111011010110000000001101 9" -0( -0) -0+ -0, -b10 0 -0' -#9005 -1N -b1 J -1!" -b10000110111011010110000000001101 \ -b0 X -b111 ` -1_ -1Z -b10000110111011010110000000001101 m -b100111 i -b111 q -0k -b10 P -b10000110111011010110000000001101 /" -b10111100 +" -b111 3" -12" -b10000110111011010110000000001101 @" -b111 D" -b10 #" -b10 4 -1' -#9006 -b1110000000 / -b10 2 -#9010 -b10001000 $" -1d -b0 b -0S -0V -b10001000 Q -b0 G -b10001000 s -b10001000 B -b11 A -1g -b10 O -0)" -b10 "" -b10001000010001000 8 -0= -b10001000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1111001000011100 " -b11 . -1& -b1101001010101010001000111010010 % -b1101001010101010001000111010010 < -b1101001010101010001000111010010 D -b1101001010101010001000111010010 U -b1101001010101010001000111010010 f -b1101001010101010001000111010010 u -b1101001010101010001000111010010 (" -b1101001010101010001000111010010 9" -0( -0) -0+ -0, -b1 0 -0' -#9013 -b111100000000 n -#9015 -b111100000000 # -0!" -0N -b0 J -b11 . -b111100000000 ! -b111100000000 ? -b11 A -b0 } -b111100000000 L -b100 7 -b0 y -b10 #" -b1101001010101010001000111010010 @" -b1001 D" -b1101001010101010001000111010010 /" -b10001000 +" -b1001 3" -02" -b111100000000 H -b10 P -b1101001010101010001000111010010 m -b0 i -b1001 q -1k -b1101001010101010001000111010010 \ -b10001000 X -b1001 ` -0_ -0Z -1' -#9016 -b1110000001 / -b10 2 -#9020 -b11011111 $" -b10 "" -b11011111 Q -b10 O -b11011111 s -b11011111 B -b11 A -b11011111011011111 8 -b11011111 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10111010110100111 " -b11 . -1& -b11000001010011111011101010000010 % -b11000001010011111011101010000010 < -b11000001010011111011101010000010 D -b11000001010011111011101010000010 U -b11000001010011111011101010000010 f -b11000001010011111011101010000010 u -b11000001010011111011101010000010 (" -b11000001010011111011101010000010 9" -0( -0) -0+ -0, -b10 0 -0' -#9025 -b11000001010011111011101010000010 \ -b11011111 X -b1010 ` -b11000001010011111011101010000010 m -b1010 q -b10 P -b11000001010011111011101010000010 /" -b11011111 +" -b1010 3" -b11000001010011111011101010000010 @" -b1010 D" -b10 #" -b100 7 -1' -#9026 -b1110000010 / -b10 2 -#9030 -b101000 $" -b10 "" -b101000 Q -b10 O -b101000 s -b101000 B -b11 A -b101000000101000 8 -b101000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101000110101010110 " -b11 . -1& -b1111010010011101010100111110100 % -b1111010010011101010100111110100 < -b1111010010011101010100111110100 D -b1111010010011101010100111110100 U -b1111010010011101010100111110100 f -b1111010010011101010100111110100 u -b1111010010011101010100111110100 (" -b1111010010011101010100111110100 9" -0( -0) -0+ -0, -b1 0 -0' -#9035 -b100 7 -b10 #" -b1111010010011101010100111110100 @" -b1000 D" -b1111010010011101010100111110100 /" -b101000 +" -b1000 3" -b10 P -b1111010010011101010100111110100 m -b1000 q -b1111010010011101010100111110100 \ -b101000 X -b1000 ` -1' -#9036 -b1110000011 / -b10 2 -#9040 -07" -b10001110 5" -1&" -b0 $" -b1 x -0d -b1101101 b -1S -b0 Q -b1 G -b110001110 s -b101101101 B -b11 A -1V -b10 O -1)" -b10 "" -b110001110101101101 8 -1= -b100001110 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b110001110101101101 " -b11 . -0& -b10111000011101111010100101110 % -b10111000011101111010100101110 < -b10111000011101111010100101110 D -b10111000011101111010100101110 U -b10111000011101111010100101110 f -b10111000011101111010100101110 u -b10111000011101111010100101110 (" -b10111000011101111010100101110 9" -0( -0) -0+ -0, -b10 0 -0' -#9045 -1N -b1 J -1!" -b1 { -b10111000011101111010100101110 \ -b0 X -b100 ` -1_ -1Z -b10111000011101111010100101110 m -b1101101 i -b100 q -0k -b10 P -b10111000011101111010100101110 /" -b0 +" -b100 3" -12" -1-" -b10111000011101111010100101110 @" -b10001110 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#9046 -b1110000100 / -b10 2 -#9050 -17" -b0 5" -0&" -b101100 $" -b10 "" -b0 x -1d -b0 b -0S -b11011001 Q -b10 O -b0 G -b101100 s -b11011001 B -b11 A -b101100011011001 8 -b101111101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101100011011001 " -b11 . -b10100000010101100101001001000000 % -b10100000010101100101001001000000 < -b10100000010101100101001001000000 D -b10100000010101100101001001000000 U -b10100000010101100101001001000000 f -b10100000010101100101001001000000 u -b10100000010101100101001001000000 (" -b10100000010101100101001001000000 9" -0( -0) -0+ -0, -b1 0 -0' -#9053 -b101110101001011000000000 A" -b11110011000000000000000011101111 n -#9055 -b10111010100101100000000011110011000000000000000011101111 # -b0 { -b0 J -b11 . -b10111010100101100000000011110011000000000000000011101111 ! -b10111010100101100000000011110011000000000000000011101111 ? -b11 A -b101110101001011000000000 } -b11110011000000000000000011101111 L -b10 4 -b101110101001011000000000 y -b10 #" -b10100000010101100101001001000000 @" -b0 <" -b1011 D" -1>" -b10100000010101100101001001000000 /" -b101100 +" -b1011 3" -0-" -b11110011000000000000000011101111 H -b10 P -b10100000010101100101001001000000 m -b0 i -b1011 q -1k -b10100000010101100101001001000000 \ -b11011001 X -b1011 ` -0Z -1' -#9056 -b1110000101 / -b10 2 -#9060 -07" -b11111000 5" -1&" -b0 $" -b10 "" -b1 x -b11100101 Q -b10 O -b111111000 s -b11100101 B -b11 A -b111111000011100101 8 -b100101011 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111111000011100101 " -b11 . -b10110100000110111011100001101000 % -b10110100000110111011100001101000 < -b10110100000110111011100001101000 D -b10110100000110111011100001101000 U -b10110100000110111011100001101000 f -b10110100000110111011100001101000 u -b10110100000110111011100001101000 (" -b10110100000110111011100001101000 9" -0( -0) -0+ -0, -b10 0 -0' -#9063 -b101001101000110101111010101110 0" -b0 ] -#9065 -b10100110100011010111101010111000000000000000000000000000000000 # -b1 { -b11 . -b10100110100011010111101010111000000000000000000000000000000000 ! -b10100110100011010111101010111000000000000000000000000000000000 ? -b11 A -b0 L -b101001101000110101111010101110 } -b10110100000110111011100001101000 \ -b11100101 X -b11 ` -b10110100000110111011100001101000 m -b11 q -b0 H -b10 P -b10110100000110111011100001101000 /" -b0 +" -b11 3" -1-" -b10110100000110111011100001101000 @" -b11111000 <" -b11 D" -0>" -b101001101000110101111010101110 y -b10 #" -b10 4 -1' -#9066 -b1110000110 / -b10 2 -#9070 -17" -b0 5" -0&" -0)" -b1001100 $" -b0 x -b1001100 Q -b1001100 s -b1001100 B -b11 A -0V -b10 O -1:" -b10 "" -b1001100001001100 8 -0= -b1001100 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111000111111111110 " -b11 . -1& -b11010010100110110010110010100101 % -b11010010100110110010110010100101 < -b11010010100110110010110010100101 D -b11010010100110110010110010100101 U -b11010010100110110010110010100101 f -b11010010100110110010110010100101 u -b11010010100110110010110010100101 (" -b11010010100110110010110010100101 9" -0( -0) -0+ -0, -b1 0 -0' -#9073 -b0 A" -#9075 -b0 # -0!" -b0 { -0N -b11 . -b0 ! -b0 ? -b11 A -b0 } -b100 7 -b0 y -b10 #" -b11010010100110110010110010100101 @" -b0 <" -b100 D" -1>" -b11010010100110110010110010100101 /" -b1001100 +" -b100 3" -02" -0-" -b10 P -b11010010100110110010110010100101 m -b100 q -b11010010100110110010110010100101 \ -b1001100 X -b100 ` -0_ -1' -#9076 -b1110000111 / -b10 2 -#9080 -b1110011 $" -b1100 Q -b1110011 s -b1100 B -b11 A -1V -b10 O -1)" -b10 "" -b1110011000001100 8 -1= -b1000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1110011000001100 " -b11 . -0& -b10011001111101001101100100110 % -b10011001111101001101100100110 < -b10011001111101001101100100110 D -b10011001111101001101100100110 U -b10011001111101001101100100110 f -b10011001111101001101100100110 u -b10011001111101001101100100110 (" -b10011001111101001101100100110 9" -0( -0) -0+ -0, -b10 0 -0' -#9085 -1N -1!" -b10011001111101001101100100110 \ -b1100 X -b10 ` -1_ -b10011001111101001101100100110 m -b10 q -b10 P -b10011001111101001101100100110 /" -b1110011 +" -b10 3" -12" -b10011001111101001101100100110 @" -b10 D" -b10 #" -b10 4 -1' -#9086 -b1110001000 / -b10 2 -#9090 -07" -b10100100 5" -1&" -b0 $" -b10 "" -b1 x -0d -b1101110 b -1S -b0 Q -b10 O -b1 G -b110100100 s -b101101110 B -b11 A -b110100100101101110 8 -b11101011 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b110100100101101110 " -b11 . -b1101110100110110101100011011 % -b1101110100110110101100011011 < -b1101110100110110101100011011 D -b1101110100110110101100011011 U -b1101110100110110101100011011 f -b1101110100110110101100011011 u -b1101110100110110101100011011 (" -b1101110100110110101100011011 9" -0( -0) -0+ -0, -b1 0 -0' -#9093 -b10100010000000000000000 0" -b100111110101101100000000 ] -#9095 -b1010001000000000000000000000000100111110101101100000000 # -b1 { -b1 J -b11 . -b1010001000000000000000000000000100111110101101100000000 ! -b1010001000000000000000000000000100111110101101100000000 ? -b11 A -b10100010000000000000000 } -b100111110101101100000000 L -b10 4 -b10100010000000000000000 y -b10 #" -b1101110100110110101100011011 @" -b10100100 <" -b1001 D" -0>" -b1101110100110110101100011011 /" -b0 +" -b1001 3" -1-" -b100111110101101100000000 H -b10 P -b1101110100110110101100011011 m -b1101110 i -b1001 q -0k -b1101110100110110101100011011 \ -b0 X -b1001 ` -1Z -1' -#9096 -b1110001001 / -b10 2 -#9100 -17" -b0 5" -0&" -b11110000 $" -b10 "" -b0 x -1d -b0 b -0S -b11001110 Q -b10 O -b0 G -b11110000 s -b11001110 B -b11 A -b11110000011001110 8 -b1000 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11110000011001110 " -b11 . -b10001010101000010011110000010101 % -b10001010101000010011110000010101 < -b10001010101000010011110000010101 D -b10001010101000010011110000010101 U -b10001010101000010011110000010101 f -b10001010101000010011110000010101 u -b10001010101000010011110000010101 (" -b10001010101000010011110000010101 9" -0( -0) -0+ -0, -b10 0 -0' -#9103 -b1001001000000001111101110010011 A" -b0 n -#9105 -b100100100000000111110111001001100000000000000000000000000000000 # -b0 J -b0 { -b11 . -b100100100000000111110111001001100000000000000000000000000000000 ! -b100100100000000111110111001001100000000000000000000000000000000 ? -b11 A -b0 L -b1001001000000001111101110010011 } -b10001010101000010011110000010101 \ -b11001110 X -b11 ` -0Z -b10001010101000010011110000010101 m -b0 i -b11 q -1k -b0 H -b10 P -b10001010101000010011110000010101 /" -b11110000 +" -b11 3" -0-" -b10001010101000010011110000010101 @" -b0 <" -b11 D" -1>" -b1001001000000001111101110010011 y -b10 #" -b10 4 -1' -#9106 -b1110001010 / -b10 2 -#9110 -b10111001 $" -b10 "" -b1111111 Q -b10 O -b10111001 s -b1111111 B -b11 A -b10111001001111111 8 -b110101011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b10111001001111111 " -b11 . -b1111000001111100000000111110000 % -b1111000001111100000000111110000 < -b1111000001111100000000111110000 D -b1111000001111100000000111110000 U -b1111000001111100000000111110000 f -b1111000001111100000000111110000 u -b1111000001111100000000111110000 (" -b1111000001111100000000111110000 9" -0( -0) -0+ -0, -b1 0 -0' -#9113 -b0 0" -b110001110111000100001101 ] -#9115 -b110001110111000100001101 # -b11 . -b110001110111000100001101 ! -b110001110111000100001101 ? -b11 A -b0 } -b110001110111000100001101 L -b10 4 -b0 y -b10 #" -b1111000001111100000000111110000 @" -b1010 D" -b1111000001111100000000111110000 /" -b10111001 +" -b1010 3" -b110001110111000100001101 H -b10 P -b1111000001111100000000111110000 m -b1010 q -b1111000001111100000000111110000 \ -b1111111 X -b1010 ` -1' -#9116 -b1110001011 / -b10 2 -#9120 -b101101 $" -b101101 Q -b101101 s -b101101 B -b11 A -0V -b10 O -0)" -b10 "" -b101101000101101 8 -0= -b101101 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b11110110111110010 " -b11 . -1& -b110010111110100110100101100101 % -b110010111110100110100101100101 < -b110010111110100110100101100101 D -b110010111110100110100101100101 U -b110010111110100110100101100101 f -b110010111110100110100101100101 u -b110010111110100110100101100101 (" -b110010111110100110100101100101 9" -0( -0) -0+ -0, -b10 0 -0' -#9123 -b101001001001011100000000 0" -b0 ] -#9125 -b10100100100101110000000000000000000000000000000000000000 # -0N -0!" -b11 . -b10100100100101110000000000000000000000000000000000000000 ! -b10100100100101110000000000000000000000000000000000000000 ? -b11 A -b0 L -b101001001001011100000000 } -b110010111110100110100101100101 \ -b101101 X -b1100 ` -0_ -b110010111110100110100101100101 m -b1100 q -b0 H -b10 P -b110010111110100110100101100101 /" -b101101 +" -b1100 3" -02" -b110010111110100110100101100101 @" -b1100 D" -b101001001001011100000000 y -b10 #" -b100 7 -1' -#9126 -b1110001100 / -b10 2 -#9130 -07" -0:" -b10010100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10010100 b -1S -1V -b0 Q -b10 O -b1 G -b110010100 s -b110010100 B -b11 A -b110010100110010100 8 -b110010100 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1001101011011 " -b11 . -1& -b11001111101100110011110010011111 % -b11001111101100110011110010011111 < -b11001111101100110011110010011111 D -b11001111101100110011110010011111 U -b11001111101100110011110010011111 f -b11001111101100110011110010011111 u -b11001111101100110011110010011111 (" -b11001111101100110011110010011111 9" -0( -0) -0+ -0, -b1 0 -0' -#9135 -b1 { -b1 J -b100 7 -b10 #" -b11001111101100110011110010011111 @" -b10010100 <" -b10 D" -0C" -0>" -b11001111101100110011110010011111 /" -b0 +" -b10 3" -12" -1-" -b10 P -b11001111101100110011110010011111 m -b10010100 i -b10 q -0p -0k -b11001111101100110011110010011111 \ -b0 X -b10 ` -1_ -1Z -1' -#9136 -b1110001101 / -b10 2 -#9140 -17" -1:" -b0 5" -0&" -0)" -b10100100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10100100 Q -b10 O -b0 G -b10100100 s -b10100100 B -b11 A -b10100100010100100 8 -b10100100 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b111100011001000001 " -b11 . -1& -b1000101011001010011100110001010 % -b1000101011001010011100110001010 < -b1000101011001010011100110001010 D -b1000101011001010011100110001010 U -b1000101011001010011100110001010 f -b1000101011001010011100110001010 u -b1000101011001010011100110001010 (" -b1000101011001010011100110001010 9" -0( -0) -0+ -0, -b10 0 -0' -#9145 -b0 J -b0 { -b1000101011001010011100110001010 \ -b10100100 X -b1010 ` -0_ -0Z -b1000101011001010011100110001010 m -b0 i -b1010 q -1p -1k -b10 P -b1000101011001010011100110001010 /" -b10100100 +" -b1010 3" -02" -0-" -b1000101011001010011100110001010 @" -b0 <" -b1010 D" -1C" -1>" -b10 #" -b100 7 -1' -#9146 -b1110001110 / -b10 2 -#9150 -b11000010 $" -b10 "" -b11000010 Q -b10 O -b11000010 s -b11000010 B -b11 A -b11000010011000010 8 -b11000010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110001000110111100 " -b11 . -1& -b11011010111011000110100010110101 % -b11011010111011000110100010110101 < -b11011010111011000110100010110101 D -b11011010111011000110100010110101 U -b11011010111011000110100010110101 f -b11011010111011000110100010110101 u -b11011010111011000110100010110101 (" -b11011010111011000110100010110101 9" -0( -0) -0+ -0, -b1 0 -0' -#9155 -b100 7 -b10 #" -b11011010111011000110100010110101 @" -b101 D" -b11011010111011000110100010110101 /" -b11000010 +" -b101 3" -b10 P -b11011010111011000110100010110101 m -b101 q -b11011010111011000110100010110101 \ -b11000010 X -b101 ` -1' -#9156 -b1110001111 / -b10 2 -#9160 -07" -b11010010 5" -1&" -b0 $" -b1 x -0d -b11110101 b -1S -b0 Q -b1 G -b111010010 s -b111110101 B -b11 A -1V -b10 O -1)" -b10 "" -b111010010111110101 8 -1= -b100100000 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b111010010111110101 " -b11 . -0& -b10001110101010110011000000011101 % -b10001110101010110011000000011101 < -b10001110101010110011000000011101 D -b10001110101010110011000000011101 U -b10001110101010110011000000011101 f -b10001110101010110011000000011101 u -b10001110101010110011000000011101 (" -b10001110101010110011000000011101 9" -0( -0) -0+ -0, -b10 0 -0' -#9165 -1N -b1 J -1!" -b1 { -b10001110101010110011000000011101 \ -b0 X -b100 ` -1_ -1Z -b10001110101010110011000000011101 m -b11110101 i -b100 q -0k -b10 P -b10001110101010110011000000011101 /" -b0 +" -b100 3" -12" -1-" -b10001110101010110011000000011101 @" -b11010010 <" -b100 D" -0>" -b10 #" -b10 4 -1' -#9166 -b1110010000 / -b10 2 -#9170 -b10101101 5" -b10101101 b -b110101101 s -b110101101 B -b11 A -0g -b10 O -0:" -b10 "" -b110101101110101101 8 -0= -b110101101 $ -b101001010000101111 " -b11 . -1& -b10011100111010100110110000111001 % -b10011100111010100110110000111001 < -b10011100111010100110110000111001 D -b10011100111010100110110000111001 U -b10011100111010100110110000111001 f -b10011100111010100110110000111001 u -b10011100111010100110110000111001 (" -b10011100111010100110110000111001 9" -0( -0) -0+ -0, -b1 0 -0' -#9173 -b10001100000110111101000110010010 A" -b11111110010001000000000 n -#9175 -b1000110000011011110100011001001000000000011111110010001000000000 # -0!" -0N -b11 . -b1000110000011011110100011001001000000000011111110010001000000000 ! -b1000110000011011110100011001001000000000011111110010001000000000 ? -b11 A -b10001100000110111101000110010010 } -b11111110010001000000000 L -b100 7 -b10001100000110111101000110010010 y -b10 #" -b10011100111010100110110000111001 @" -b10101101 <" -0C" -b10011100111010100110110000111001 /" -b11111110010001000000000 H -b10 P -b10011100111010100110110000111001 m -b10101101 i -0p -b10011100111010100110110000111001 \ -1' -#9176 -b1110010001 / -b10 2 -#9180 -b11100001 5" -b10 "" -b11100001 b -b10 O -b111100001 s -b111100001 B -b11 A -b111100001111100001 8 -b111100001 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100110110010000100 " -b11 . -1& -b1011100010010110000100010111 % -b1011100010010110000100010111 < -b1011100010010110000100010111 D -b1011100010010110000100010111 U -b1011100010010110000100010111 f -b1011100010010110000100010111 u -b1011100010010110000100010111 (" -b1011100010010110000100010111 9" -0( -0) -0+ -0, -b10 0 -0' -#9185 -b1011100010010110000100010111 \ -b1000 ` -b1011100010010110000100010111 m -b11100001 i -b1000 q -b10 P -b1011100010010110000100010111 /" -b1000 3" -b1011100010010110000100010111 @" -b11100001 <" -b1000 D" -b10 #" -b100 7 -1' -#9186 -b1110010010 / -b10 2 -#9190 -17" -1:" -b0 5" -0&" -0)" -b11101011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11101011 Q -b10 O -b0 G -b11101011 s -b11101011 B -b11 A -b11101011011101011 8 -b11101011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1000001010001011 " -b11 . -1& -b1001001000110110100100010010 % -b1001001000110110100100010010 < -b1001001000110110100100010010 D -b1001001000110110100100010010 U -b1001001000110110100100010010 f -b1001001000110110100100010010 u -b1001001000110110100100010010 (" -b1001001000110110100100010010 9" -0( -0) -0+ -0, -b1 0 -0' -#9195 -b0 { -b0 J -b100 7 -b10 #" -b1001001000110110100100010010 @" -b0 <" -b10 D" -1C" -1>" -b1001001000110110100100010010 /" -b11101011 +" -b10 3" -02" -0-" -b10 P -b1001001000110110100100010010 m -b0 i -b10 q -1p -1k -b1001001000110110100100010010 \ -b11101011 X -b10 ` -0_ -0Z -1' -#9196 -b1110010011 / -b10 2 -#9200 -07" -b11101101 5" -1&" -b0 $" -b1 x -b11111111 Q -b111101101 s -b11111111 B -b11 A -1V -b10 O -1)" -b10 "" -b111101101011111111 8 -1= -b110000100 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b111101101011111111 " -b11 . -0& -b1011000001110001000011110110000 % -b1011000001110001000011110110000 < -b1011000001110001000011110110000 D -b1011000001110001000011110110000 U -b1011000001110001000011110110000 f -b1011000001110001000011110110000 u -b1011000001110001000011110110000 (" -b1011000001110001000011110110000 9" -0( -0) -0+ -0, -b10 0 -0' -#9205 -1N -1!" -b1 { -b1011000001110001000011110110000 \ -b11111111 X -b11 ` -1_ -b1011000001110001000011110110000 m -b11 q -b10 P -b1011000001110001000011110110000 /" -b0 +" -b11 3" -12" -1-" -b1011000001110001000011110110000 @" -b11101101 <" -b11 D" -0>" -b10 #" -b10 4 -1' -#9206 -b1110010100 / -b10 2 -#9210 -17" -b0 5" -0&" -0)" -b1101101 $" -b0 x -b1101101 Q -b1101101 s -b1101101 B -b11 A -0V -b10 O -1:" -b10 "" -b1101101001101101 8 -0= -b1101101 $ -b101001110100110 " -b11 . -1& -b11100000110111110101111011000001 % -b11100000110111110101111011000001 < -b11100000110111110101111011000001 D -b11100000110111110101111011000001 U -b11100000110111110101111011000001 f -b11100000110111110101111011000001 u -b11100000110111110101111011000001 (" -b11100000110111110101111011000001 9" -0( -0) -0+ -0, -b1 0 -0' -#9213 -b10100000000000000000000101000 A" -#9215 -b1010000000000000000000010100000000000000000000000000000000000 # -0!" -b0 { -0N -b11 . -b1010000000000000000000010100000000000000000000000000000000000 ! -b1010000000000000000000010100000000000000000000000000000000000 ? -b11 A -b10100000000000000000000101000 } -b0 L -b100 7 -b10100000000000000000000101000 y -b10 #" -b11100000110111110101111011000001 @" -b0 <" -1>" -b11100000110111110101111011000001 /" -b1101101 +" -02" -0-" -b0 H -b10 P -b11100000110111110101111011000001 m -b11100000110111110101111011000001 \ -b1101101 X -0_ -1' -#9216 -b1110010101 / -b10 2 -#9220 -07" -b10111111 5" -1&" -b0 $" -b1 x -b10111000 Q -b110111111 s -b10111000 B -b11 A -1V -b10 O -1)" -b10 "" -b110111111010111000 8 -1= -b101001001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b110111111010111000 " -b11 . -0& -b110010000000010101100001100 % -b110010000000010101100001100 < -b110010000000010101100001100 D -b110010000000010101100001100 U -b110010000000010101100001100 f -b110010000000010101100001100 u -b110010000000010101100001100 (" -b110010000000010101100001100 9" -0( -0) -0+ -0, -b10 0 -0' -#9225 -1N -1!" -b1 { -b110010000000010101100001100 \ -b10111000 X -b1100 ` -1_ -b110010000000010101100001100 m -b1100 q -b10 P -b110010000000010101100001100 /" -b0 +" -b1100 3" -12" -1-" -b110010000000010101100001100 @" -b10111111 <" -b1100 D" -0>" -b10 #" -b10 4 -1' -#9226 -b1110010110 / -b10 2 -#9230 -b10011011 5" -0d -0g -b10011011 b -1S -b0 Q -b1 G -b110011011 s -b110011011 B -b11 A -1V -b10 O -0:" -b10 "" -b110011011110011011 8 -0= -b110011011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b11000001100100010 " -b11 . -1& -b10100101111010111100010001001011 % -b10100101111010111100010001001011 < -b10100101111010111100010001001011 D -b10100101111010111100010001001011 U -b10100101111010111100010001001011 f -b10100101111010111100010001001011 u -b10100101111010111100010001001011 (" -b10100101111010111100010001001011 9" -0( -0) -0+ -0, -b1 0 -0' -#9233 -b11111000000000000101111011110000 A" -b10010010000000000000000000000000 ] -#9235 -b1111100000000000010111101111000010010010000000000000000000000000 # -0!" -0N -b1 J -b11 . -b1111100000000000010111101111000010010010000000000000000000000000 ! -b1111100000000000010111101111000010010010000000000000000000000000 ? -b11 A -b11111000000000000101111011110000 } -b10010010000000000000000000000000 L -b100 7 -b11111000000000000101111011110000 y -b10 #" -b10100101111010111100010001001011 @" -b10011011 <" -b1011 D" -0C" -b10100101111010111100010001001011 /" -b1011 3" -b10010010000000000000000000000000 H -b10 P -b10100101111010111100010001001011 m -b10011011 i -b1011 q -0p -0k -b10100101111010111100010001001011 \ -b0 X -b1011 ` -1Z -1' -#9236 -b1110010111 / -b10 2 -#9240 -17" -1:" -b0 5" -0&" -0)" -b1100111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1100111 Q -b10 O -b0 G -b1100111 s -b1100111 B -b11 A -b1100111001100111 8 -b1100111 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b1011111100010101 " -b11 . -1& -b1010110010111001100000110101100 % -b1010110010111001100000110101100 < -b1010110010111001100000110101100 D -b1010110010111001100000110101100 U -b1010110010111001100000110101100 f -b1010110010111001100000110101100 u -b1010110010111001100000110101100 (" -b1010110010111001100000110101100 9" -0( -0) -0+ -0, -b10 0 -0' -#9245 -b0 J -b0 { -b1010110010111001100000110101100 \ -b1100111 X -b1101 ` -0_ -0Z -b1010110010111001100000110101100 m -b0 i -b1101 q -1p -1k -b10 P -b1010110010111001100000110101100 /" -b1100111 +" -b1101 3" -02" -0-" -b1010110010111001100000110101100 @" -b0 <" -b1101 D" -1C" -1>" -b10 #" -b100 7 -1' -#9246 -b1110011000 / -b10 2 -#9250 -b11100110 $" -b1011100 Q -b11100110 s -b1011100 B -b11 A -1V -b10 O -1)" -b10 "" -b11100110001011100 8 -1= -b100000100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b11100110001011100 " -b11 . -0& -b11100100011100011010100111001 % -b11100100011100011010100111001 < -b11100100011100011010100111001 D -b11100100011100011010100111001 U -b11100100011100011010100111001 f -b11100100011100011010100111001 u -b11100100011100011010100111001 (" -b11100100011100011010100111001 9" -0( -0) -0+ -0, -b1 0 -0' -#9255 -1!" -1N -b10 4 -b10 #" -b11100100011100011010100111001 @" -b1 D" -b11100100011100011010100111001 /" -b11100110 +" -b1 3" -12" -b10 P -b11100100011100011010100111001 m -b1 q -b11100100011100011010100111001 \ -b1011100 X -b1 ` -1_ -1' -#9256 -b1110011001 / -b10 2 -#9260 -07" -0:" -b1011110 5" -1&" -b0 $" -b1 x -0d -0g -b1011110 b -1S -b0 Q -b1 G -b101011110 s -b101011110 B -b11 A -1V -b10 O -1)" -b10 "" -b101011110101011110 8 -0= -b101011110 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101011101111010100 " -b11 . -1& -b11110001000000001100100011100010 % -b11110001000000001100100011100010 < -b11110001000000001100100011100010 D -b11110001000000001100100011100010 U -b11110001000000001100100011100010 f -b11110001000000001100100011100010 u -b11110001000000001100100011100010 (" -b11110001000000001100100011100010 9" -0( -0) -0+ -0, -b10 0 -0' -#9263 -b0 0" -b1011000100000000 ] -#9265 -b1011000100000000 # -0N -b1 J -0!" -b1 { -b11 . -b1011000100000000 ! -b1011000100000000 ? -b11 A -b1011000100000000 L -b0 } -b11110001000000001100100011100010 \ -b0 X -b110 ` -1Z -b11110001000000001100100011100010 m -b1011110 i -b110 q -0p -0k -b1011000100000000 H -b10 P -b11110001000000001100100011100010 /" -b0 +" -b110 3" -1-" -b11110001000000001100100011100010 @" -b1011110 <" -b110 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#9266 -b1110011010 / -b10 2 -#9270 -b1011001 5" -b11000000 b -b101011001 s -b111000000 B -b11 A -1g -b10 O -1:" -b10 "" -b101011001111000000 8 -1= -b10000010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101011001111000000 " -b11 . -0& -b11110010111100000000100111100 % -b11110010111100000000100111100 < -b11110010111100000000100111100 D -b11110010111100000000100111100 U -b11110010111100000000100111100 f -b11110010111100000000100111100 u -b11110010111100000000100111100 (" -b11110010111100000000100111100 9" -0( -0) -0+ -0, -b1 0 -0' -#9275 -1!" -1N -b10 4 -b10 #" -b11110010111100000000100111100 @" -b1011001 <" -b1000 D" -1C" -b11110010111100000000100111100 /" -b1000 3" -b10 P -b11110010111100000000100111100 m -b11000000 i -b1000 q -1p -b11110010111100000000100111100 \ -b1000 ` -1' -#9276 -b1110011011 / -b10 2 -#9280 -b1101011 5" -b10 "" -b11 b -b10 O -b101101011 s -b100000011 B -b11 A -b101101011100000011 8 -b10110 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b101101011100000011 " -b11 . -b110110101110001111000101101101 % -b110110101110001111000101101101 < -b110110101110001111000101101101 D -b110110101110001111000101101101 U -b110110101110001111000101101101 f -b110110101110001111000101101101 u -b110110101110001111000101101101 (" -b110110101110001111000101101101 9" -0( -0) -0+ -0, -b10 0 -0' -#9283 -b0 A" -b0 n -#9285 -b0 # -b11 . -b0 ! -b0 ? -b11 A -b0 L -b110110101110001111000101101101 \ -b111 ` -b110110101110001111000101101101 m -b11 i -b111 q -b0 H -b10 P -b110110101110001111000101101101 /" -b111 3" -b110110101110001111000101101101 @" -b1101011 <" -b111 D" -b10 #" -b10 4 -1' -#9286 -b1110011100 / -b10 2 -#9290 -b1011 5" -b10 "" -1d -b0 b -0S -b1011000 Q -b10 O -b0 G -b100001011 s -b1011000 B -b11 A -b100001011001011000 8 -b101001011 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100001011001011000 " -b11 . -b1110001011011001101011111100010 % -b1110001011011001101011111100010 < -b1110001011011001101011111100010 D -b1110001011011001101011111100010 U -b1110001011011001101011111100010 f -b1110001011011001101011111100010 u -b1110001011011001101011111100010 (" -b1110001011011001101011111100010 9" -0( -0) -0+ -0, -b1 0 -0' -#9295 -b0 J -b10 4 -b10 #" -b1110001011011001101011111100010 @" -b1011 <" -b1101 D" -b1110001011011001101011111100010 /" -b1101 3" -b10 P -b1110001011011001101011111100010 m -b0 i -b1101 q -1k -b1110001011011001101011111100010 \ -b1011000 X -b1101 ` -0Z -1' -#9296 -b1110011101 / -b10 2 -#9300 -b10001001 5" -b10 "" -b10011001 Q -b10 O -b110001001 s -b10011001 B -b11 A -b110001001010011001 8 -b1000110 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b110001001010011001 " -b11 . -b1010010011110110010111110100100 % -b1010010011110110010111110100100 < -b1010010011110110010111110100100 D -b1010010011110110010111110100100 U -b1010010011110110010111110100100 f -b1010010011110110010111110100100 u -b1010010011110110010111110100100 (" -b1010010011110110010111110100100 9" -0( -0) -0+ -0, -b10 0 -0' -#9303 -b10111011001000010011001001110110 A" -b10100111011111000111000001100100 ] -#9305 -b1011101100100001001100100111011010100111011111000111000001100100 # -b11 . -b1011101100100001001100100111011010100111011111000111000001100100 ! -b1011101100100001001100100111011010100111011111000111000001100100 ? -b11 A -b10100111011111000111000001100100 L -b10111011001000010011001001110110 } -b1010010011110110010111110100100 \ -b10011001 X -b1100 ` -b1010010011110110010111110100100 m -b1100 q -b10100111011111000111000001100100 H -b10 P -b1010010011110110010111110100100 /" -b1100 3" -b1010010011110110010111110100100 @" -b10001001 <" -b1100 D" -b10111011001000010011001001110110 y -b10 #" -b10 4 -1' -#9306 -b1110011110 / -b10 2 -#9310 -17" -b0 5" -0&" -b101101 $" -b10 "" -b0 x -b10101100 Q -b10 O -b101101 s -b10101100 B -b11 A -b101101010101100 8 -b10111010 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b101101010101100 " -b11 . -b1100010111001100110000111000101 % -b1100010111001100110000111000101 < -b1100010111001100110000111000101 D -b1100010111001100110000111000101 U -b1100010111001100110000111000101 f -b1100010111001100110000111000101 u -b1100010111001100110000111000101 (" -b1100010111001100110000111000101 9" -0( -0) -0+ -0, -b1 0 -0' -#9313 -b1011001100000000 A" -b10110100011010110011000 ] -#9315 -b101100110000000000000000010110100011010110011000 # -b0 { -b11 . -b101100110000000000000000010110100011010110011000 ! -b101100110000000000000000010110100011010110011000 ? -b11 A -b1011001100000000 } -b10110100011010110011000 L -b10 4 -b1011001100000000 y -b10 #" -b1100010111001100110000111000101 @" -b0 <" -b1001 D" -1>" -b1100010111001100110000111000101 /" -b101101 +" -b1001 3" -0-" -b10110100011010110011000 H -b10 P -b1100010111001100110000111000101 m -b1001 q -b1100010111001100110000111000101 \ -b10101100 X -b1001 ` -1' -#9316 -b1110011111 / -b10 2 -#9320 -b100000 $" -b100000 Q -b100000 s -b100000 B -b11 A -0V -b10 O -0)" -b10 "" -b100000000100000 8 -0= -b100000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b111001111110111101 " -b11 . -1& -b10001010101010001110101000010101 % -b10001010101010001110101000010101 < -b10001010101010001110101000010101 D -b10001010101010001110101000010101 U -b10001010101010001110101000010101 f -b10001010101010001110101000010101 u -b10001010101010001110101000010101 (" -b10001010101010001110101000010101 9" -0( -0) -0+ -0, -b10 0 -0' -#9323 -b110010111110100110101000000000 0" -b0 ] -#9325 -b11001011111010011010100000000000000000000000000000000000000000 # -0N -0!" -b11 . -b11001011111010011010100000000000000000000000000000000000000000 ! -b11001011111010011010100000000000000000000000000000000000000000 ? -b11 A -b0 L -b110010111110100110101000000000 } -b10001010101010001110101000010101 \ -b100000 X -b10 ` -0_ -b10001010101010001110101000010101 m -b10 q -b0 H -b10 P -b10001010101010001110101000010101 /" -b100000 +" -b10 3" -02" -b10001010101010001110101000010101 @" -b10 D" -b110010111110100110101000000000 y -b10 #" -b100 7 -1' -#9326 -b1110100000 / -b10 2 -#9330 -b111011 $" -b10 "" -b111011 Q -b10 O -b111011 s -b111011 B -b11 A -b111011000111011 8 -b111011 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b1110010001000001 " -b11 . -1& -b11111010000011101110010011110100 % -b11111010000011101110010011110100 < -b11111010000011101110010011110100 D -b11111010000011101110010011110100 U -b11111010000011101110010011110100 f -b11111010000011101110010011110100 u -b11111010000011101110010011110100 (" -b11111010000011101110010011110100 9" -0( -0) -0+ -0, -b1 0 -0' -#9335 -b100 7 -b10 #" -b11111010000011101110010011110100 @" -b100 D" -b11111010000011101110010011110100 /" -b111011 +" -b100 3" -b10 P -b11111010000011101110010011110100 m -b100 q -b11111010000011101110010011110100 \ -b111011 X -b100 ` -1' -#9336 -b1110100001 / -b10 2 -#9340 -07" -0:" -b1100000 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1100000 b -1S -1V -b0 Q -b10 O -b1 G -b101100000 s -b101100000 B -b11 A -b101100000101100000 8 -b101100000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100000110001110010 " -b11 . -1& -b10010010011000001001100100100 % -b10010010011000001001100100100 < -b10010010011000001001100100100 D -b10010010011000001001100100100 U -b10010010011000001001100100100 f -b10010010011000001001100100100 u -b10010010011000001001100100100 (" -b10010010011000001001100100100 9" -0( -0) -0+ -0, -b10 0 -0' -#9345 -b1 J -b1 { -b10010010011000001001100100100 \ -b0 X -b1001 ` -1_ -1Z -b10010010011000001001100100100 m -b1100000 i -b1001 q -0p -0k -b10 P -b10010010011000001001100100100 /" -b0 +" -b1001 3" -12" -1-" -b10010010011000001001100100100 @" -b1100000 <" -b1001 D" -0C" -0>" -b10 #" -b100 7 -1' -#9346 -b1110100010 / -b10 2 -#9350 -17" -1:" -b0 5" -0&" -0)" -b10101001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10101001 Q -b10 O -b0 G -b10101001 s -b10101001 B -b11 A -b10101001010101001 8 -b10101001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b11000100001100 " -b11 . -1& -b101000010010001110011101010000 % -b101000010010001110011101010000 < -b101000010010001110011101010000 D -b101000010010001110011101010000 U -b101000010010001110011101010000 f -b101000010010001110011101010000 u -b101000010010001110011101010000 (" -b101000010010001110011101010000 9" -0( -0) -0+ -0, -b1 0 -0' -#9355 -b0 { -b0 J -b100 7 -b10 #" -b101000010010001110011101010000 @" -b0 <" -b1010 D" -1C" -1>" -b101000010010001110011101010000 /" -b10101001 +" -b1010 3" -02" -0-" -b10 P -b101000010010001110011101010000 m -b0 i -b1010 q -1p -1k -b101000010010001110011101010000 \ -b10101001 X -b1010 ` -0_ -0Z -1' -#9356 -b1110100011 / -b10 2 -#9360 -07" -b1010110 5" -1&" -b0 $" -b1 x -b100101 Q -b101010110 s -b100101 B -b11 A -1V -b10 O -1)" -b10 "" -b101010110000100101 8 -1= -b111100001 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b101010110000100101 " -b11 . -0& -b10110101110100010100000101 % -b10110101110100010100000101 < -b10110101110100010100000101 D -b10110101110100010100000101 U -b10110101110100010100000101 f -b10110101110100010100000101 u -b10110101110100010100000101 (" -b10110101110100010100000101 9" -0( -0) -0+ -0, -b10 0 -0' -#9365 -1N -1!" -b1 { -b10110101110100010100000101 \ -b100101 X -b1111 ` -1_ -b10110101110100010100000101 m -b1111 q -b10 P -b10110101110100010100000101 /" -b0 +" -b1111 3" -12" -1-" -b10110101110100010100000101 @" -b1010110 <" -b1111 D" -0>" -b10 #" -b10 4 -1' -#9366 -b1110100100 / -b10 2 -#9370 -17" -b0 5" -0&" -b11111000 $" -b10 "" -b0 x -0d -b1110100 b -1S -b0 Q -b10 O -b1 G -b11111000 s -b101110100 B -b11 A -b11111000101110100 8 -b101101010 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11111000101110100 " -b11 . -b1010100100010011100010110101001 % -b1010100100010011100010110101001 < -b1010100100010011100010110101001 D -b1010100100010011100010110101001 U -b1010100100010011100010110101001 f -b1010100100010011100010110101001 u -b1010100100010011100010110101001 (" -b1010100100010011100010110101001 9" -0( -0) -0+ -0, -b1 0 -0' -#9373 -b1010110111111010100101101001011 A" -b11011100101001110001110110111001 ] -#9375 -b101011011111101010010110100101111011100101001110001110110111001 # -b0 { -b1 J -b11 . -b101011011111101010010110100101111011100101001110001110110111001 ! -b101011011111101010010110100101111011100101001110001110110111001 ? -b11 A -b1010110111111010100101101001011 } -b11011100101001110001110110111001 L -b10 4 -b1010110111111010100101101001011 y -b10 #" -b1010100100010011100010110101001 @" -b0 <" -b101 D" -1>" -b1010100100010011100010110101001 /" -b11111000 +" -b101 3" -0-" -b11011100101001110001110110111001 H -b10 P -b1010100100010011100010110101001 m -b1110100 i -b101 q -0k -b1010100100010011100010110101001 \ -b0 X -b101 ` -1Z -1' -#9376 -b1110100101 / -b10 2 -#9380 -07" -0:" -b11000111 5" -1&" -b0 $" -b1 x -b11000111 b -b111000111 s -b111000111 B -b11 A -0g -b10 O -1)" -b10 "" -b111000111111000111 8 -0= -b111000111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b101001110110010000 " -b11 . -1& -b11011111011100001110100010111110 % -b11011111011100001110100010111110 < -b11011111011100001110100010111110 D -b11011111011100001110100010111110 U -b11011111011100001110100010111110 f -b11011111011100001110100010111110 u -b11011111011100001110100010111110 (" -b11011111011100001110100010111110 9" -0( -0) -0+ -0, -b10 0 -0' -#9383 -b0 0" -#9385 -b0 # -0N -0!" -b1 { -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b11011111011100001110100010111110 \ -b11 ` -b11011111011100001110100010111110 m -b11000111 i -b11 q -0p -b0 H -b10 P -b11011111011100001110100010111110 /" -b0 +" -b11 3" -1-" -b11011111011100001110100010111110 @" -b11000111 <" -b11 D" -0C" -0>" -b0 y -b10 #" -b100 7 -1' -#9386 -b1110100110 / -b10 2 -#9390 -b11000010 5" -b10 "" -b11000010 b -b10 O -b111000010 s -b111000010 B -b11 A -b111000010111000010 8 -b111000010 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101011000110011100 " -b11 . -1& -b1110100011001010101101111101000 % -b1110100011001010101101111101000 < -b1110100011001010101101111101000 D -b1110100011001010101101111101000 U -b1110100011001010101101111101000 f -b1110100011001010101101111101000 u -b1110100011001010101101111101000 (" -b1110100011001010101101111101000 9" -0( -0) -0+ -0, -b1 0 -0' -#9395 -b100 7 -b10 #" -b1110100011001010101101111101000 @" -b11000010 <" -b1010 D" -b1110100011001010101101111101000 /" -b1010 3" -b10 P -b1110100011001010101101111101000 m -b11000010 i -b1010 q -b1110100011001010101101111101000 \ -b1010 ` -1' -#9396 -b1110100111 / -b10 2 -#9400 -17" -1:" -b0 5" -0&" -0)" -b1000010 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b1000010 Q -b10 O -b0 G -b1000010 s -b1000010 B -b11 A -b1000010001000010 8 -b1000010 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100011001101101000 " -b11 . -1& -b111101100100010101000101111011 % -b111101100100010101000101111011 < -b111101100100010101000101111011 D -b111101100100010101000101111011 U -b111101100100010101000101111011 f -b111101100100010101000101111011 u -b111101100100010101000101111011 (" -b111101100100010101000101111011 9" -0( -0) -0+ -0, -b10 0 -0' -#9405 -b0 J -b0 { -b111101100100010101000101111011 \ -b1000010 X -b1000 ` -0_ -0Z -b111101100100010101000101111011 m -b0 i -b1000 q -1p -1k -b10 P -b111101100100010101000101111011 /" -b1000010 +" -b1000 3" -02" -0-" -b111101100100010101000101111011 @" -b0 <" -b1000 D" -1C" -1>" -b10 #" -b100 7 -1' -#9406 -b1110101000 / -b10 2 -#9410 -b10010111 $" -b10 "" -b10010111 Q -b10 O -b10010111 s -b10010111 B -b11 A -b10010111010010111 8 -b10010111 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b111110100011011010 " -b11 . -1& -b10000010100110001001101000000101 % -b10000010100110001001101000000101 < -b10000010100110001001101000000101 D -b10000010100110001001101000000101 U -b10000010100110001001101000000101 f -b10000010100110001001101000000101 u -b10000010100110001001101000000101 (" -b10000010100110001001101000000101 9" -0( -0) -0+ -0, -b1 0 -0' -#9415 -b100 7 -b10 #" -b10000010100110001001101000000101 @" -b1111 D" -b10000010100110001001101000000101 /" -b10010111 +" -b1111 3" -b10 P -b10000010100110001001101000000101 m -b1111 q -b10000010100110001001101000000101 \ -b10010111 X -b1111 ` -1' -#9416 -b1110101001 / -b10 2 -#9420 -07" -0:" -b1001110 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1001110 b -1S -1V -b0 Q -b10 O -b1 G -b101001110 s -b101001110 B -b11 A -b101001110101001110 8 -b101001110 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111110101001000000 " -b11 . -1& -b10011011011110111110000000110110 % -b10011011011110111110000000110110 < -b10011011011110111110000000110110 D -b10011011011110111110000000110110 U -b10011011011110111110000000110110 f -b10011011011110111110000000110110 u -b10011011011110111110000000110110 (" -b10011011011110111110000000110110 9" -0( -0) -0+ -0, -b10 0 -0' -#9425 -b1 J -b1 { -b10011011011110111110000000110110 \ -b0 X -b1 ` -1_ -1Z -b10011011011110111110000000110110 m -b1001110 i -b1 q -0p -0k -b10 P -b10011011011110111110000000110110 /" -b0 +" -b1 3" -12" -1-" -b10011011011110111110000000110110 @" -b1001110 <" -b1 D" -0C" -0>" -b10 #" -b100 7 -1' -#9426 -b1110101010 / -b10 2 -#9430 -17" -1:" -b0 5" -0&" -0)" -b11001111 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11001111 Q -b10 O -b0 G -b11001111 s -b11001111 B -b11 A -b11001111011001111 8 -b11001111 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111010100111000100 " -b11 . -1& -b11111010101110110011110011110101 % -b11111010101110110011110011110101 < -b11111010101110110011110011110101 D -b11111010101110110011110011110101 U -b11111010101110110011110011110101 f -b11111010101110110011110011110101 u -b11111010101110110011110011110101 (" -b11111010101110110011110011110101 9" -0( -0) -0+ -0, -b1 0 -0' -#9435 -b0 { -b0 J -b100 7 -b10 #" -b11111010101110110011110011110101 @" -b0 <" -b1100 D" -1C" -1>" -b11111010101110110011110011110101 /" -b11001111 +" -b1100 3" -02" -0-" -b10 P -b11111010101110110011110011110101 m -b0 i -b1100 q -1p -1k -b11111010101110110011110011110101 \ -b11001111 X -b1100 ` -0_ -0Z -1' -#9436 -b1110101011 / -b10 2 -#9440 -07" -b1000110 5" -1&" -b0 $" -b1 x -0d -b10000000 b -1S -b0 Q -b1 G -b101000110 s -b110000000 B -b11 A -1V -b10 O -1)" -b10 "" -b101000110110000000 8 -1= -b100010001 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b101000110110000000 " -b11 . -0& -b111011110110110010010101110111 % -b111011110110110010010101110111 < -b111011110110110010010101110111 D -b111011110110110010010101110111 U -b111011110110110010010101110111 f -b111011110110110010010101110111 u -b111011110110110010010101110111 (" -b111011110110110010010101110111 9" -0( -0) -0+ -0, -b10 0 -0' -#9445 -1N -b1 J -1!" -b1 { -b111011110110110010010101110111 \ -b0 X -b110 ` -1_ -1Z -b111011110110110010010101110111 m -b10000000 i -b110 q -0k -b10 P -b111011110110110010010101110111 /" -b0 +" -b110 3" -12" -1-" -b111011110110110010010101110111 @" -b1000110 <" -b110 D" -0>" -b10 #" -b10 4 -1' -#9446 -b1110101100 / -b10 2 -#9450 -b10010111 5" -b10010111 b -b110010111 s -b110010111 B -b11 A -0g -b10 O -0:" -b10 "" -b110010111110010111 8 -0= -b110010111 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b111111001110110000 " -b11 . -1& -b11100000000100101100000111 % -b11100000000100101100000111 < -b11100000000100101100000111 D -b11100000000100101100000111 U -b11100000000100101100000111 f -b11100000000100101100000111 u -b11100000000100101100000111 (" -b11100000000100101100000111 9" -0( -0) -0+ -0, -b1 0 -0' -#9453 -b0 A" -b11110101000000000100010001011011 n -#9455 -b11110101000000000100010001011011 # -0!" -0N -b11 . -b11110101000000000100010001011011 ! -b11110101000000000100010001011011 ? -b11 A -b11110101000000000100010001011011 L -b100 7 -b10 #" -b11100000000100101100000111 @" -b10010111 <" -b101 D" -0C" -b11100000000100101100000111 /" -b101 3" -b11110101000000000100010001011011 H -b10 P -b11100000000100101100000111 m -b10010111 i -b101 q -0p -b11100000000100101100000111 \ -b101 ` -1' -#9456 -b1110101101 / -b10 2 -#9460 -b10100001 5" -1d -b0 b -0S -b11011001 Q -b0 G -b110100001 s -b11011001 B -b11 A -1g -b10 O -1:" -b10 "" -b110100001011011001 8 -1= -b11111011 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b110100001011011001 " -b11 . -0& -b10111110100001111111001001111101 % -b10111110100001111111001001111101 < -b10111110100001111111001001111101 D -b10111110100001111111001001111101 U -b10111110100001111111001001111101 f -b10111110100001111111001001111101 u -b10111110100001111111001001111101 (" -b10111110100001111111001001111101 9" -0( -0) -0+ -0, -b10 0 -0' -#9465 -1N -b0 J -1!" -b10111110100001111111001001111101 \ -b11011001 X -b1011 ` -0Z -b10111110100001111111001001111101 m -b0 i -b1011 q -1p -1k -b10 P -b10111110100001111111001001111101 /" -b1011 3" -b10111110100001111111001001111101 @" -b10100001 <" -b1011 D" -1C" -b10 #" -b10 4 -1' -#9466 -b1110101110 / -b10 2 -#9470 -17" -b0 5" -0&" -b110010 $" -b10 "" -b0 x -0d -b101011 b -1S -b0 Q -b10 O -b1 G -b110010 s -b100101011 B -b11 A -b110010100101011 8 -b11100001 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b110010100101011 " -b11 . -b10001100101011011101001000011001 % -b10001100101011011101001000011001 < -b10001100101011011101001000011001 D -b10001100101011011101001000011001 U -b10001100101011011101001000011001 f -b10001100101011011101001000011001 u -b10001100101011011101001000011001 (" -b10001100101011011101001000011001 9" -0( -0) -0+ -0, -b1 0 -0' -#9473 -b10100010010011111001101000000000 A" -b0 ] -#9475 -b1010001001001111100110100000000000000000000000000000000000000000 # -b0 { -b1 J -b11 . -b1010001001001111100110100000000000000000000000000000000000000000 ! -b1010001001001111100110100000000000000000000000000000000000000000 ? -b11 A -b10100010010011111001101000000000 } -b0 L -b10 4 -b10100010010011111001101000000000 y -b10 #" -b10001100101011011101001000011001 @" -b0 <" -b1000 D" -1>" -b10001100101011011101001000011001 /" -b110010 +" -b1000 3" -0-" -b0 H -b10 P -b10001100101011011101001000011001 m -b101011 i -b1000 q -0k -b10001100101011011101001000011001 \ -b0 X -b1000 ` -1Z -1' -#9476 -b1110101111 / -b10 2 -#9480 -07" -b11101101 5" -1&" -b0 $" -b10 "" -b1 x -b101000 b -b10 O -b111101101 s -b100101000 B -b11 A -b111101101100101000 8 -b110100010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111101101100101000 " -b11 . -b1010001010000111001001110100010 % -b1010001010000111001001110100010 < -b1010001010000111001001110100010 D -b1010001010000111001001110100010 U -b1010001010000111001001110100010 f -b1010001010000111001001110100010 u -b1010001010000111001001110100010 (" -b1010001010000111001001110100010 9" -0( -0) -0+ -0, -b10 0 -0' -#9483 -b11100101000110001111100100001110 0" -b0 n -#9485 -b1110010100011000111110010000111000000000000000000000000000000000 # -b1 { -b11 . -b1110010100011000111110010000111000000000000000000000000000000000 ! -b1110010100011000111110010000111000000000000000000000000000000000 ? -b11 A -b11100101000110001111100100001110 } -b1010001010000111001001110100010 \ -b1101 ` -b1010001010000111001001110100010 m -b101000 i -b1101 q -b10 P -b1010001010000111001001110100010 /" -b0 +" -b1101 3" -1-" -b1010001010000111001001110100010 @" -b11101101 <" -b1101 D" -0>" -b11100101000110001111100100001110 y -b10 #" -b10 4 -1' -#9486 -b1110110000 / -b10 2 -#9490 -17" -b0 5" -0&" -0)" -b10011001 $" -b0 x -1d -b0 b -0S -0V -b10011001 Q -b0 G -b10011001 s -b10011001 B -b11 A -1g -b10 O -1:" -b10 "" -b10011001010011001 8 -0= -b10011001 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b11100001100010110 " -b11 . -1& -b11001011101100110111100010010111 % -b11001011101100110111100010010111 < -b11001011101100110111100010010111 D -b11001011101100110111100010010111 U -b11001011101100110111100010010111 f -b11001011101100110111100010010111 u -b11001011101100110111100010010111 (" -b11001011101100110111100010010111 9" -0( -0) -0+ -0, -b1 0 -0' -#9493 -b10100000000000000000000101000 A" -b11111010000000000100111000000000 n -#9495 -b1010000000000000000000010100011111010000000000100111000000000 # -0!" -b0 { -0N -b0 J -b11 . -b1010000000000000000000010100011111010000000000100111000000000 ! -b1010000000000000000000010100011111010000000000100111000000000 ? -b11 A -b10100000000000000000000101000 } -b11111010000000000100111000000000 L -b100 7 -b10100000000000000000000101000 y -b10 #" -b11001011101100110111100010010111 @" -b0 <" -b100 D" -1>" -b11001011101100110111100010010111 /" -b10011001 +" -b100 3" -02" -0-" -b11111010000000000100111000000000 H -b10 P -b11001011101100110111100010010111 m -b0 i -b100 q -1k -b11001011101100110111100010010111 \ -b10011001 X -b100 ` -0_ -0Z -1' -#9496 -b1110110001 / -b10 2 -#9500 -07" -b10111010 5" -1&" -b0 $" -b1 x -0d -b101101 b -1S -b0 Q -b1 G -b110111010 s -b100101101 B -b11 A -1V -b10 O -1)" -b10 "" -b110111010100101101 8 -1= -b110001010 $ -b1111 - -b1111 > -b1111 E -b1111 W -b1111 h -b1111 v -b1111 *" -b1111 ;" -b110111010100101101 " -b11 . -0& -b1100111111011001101000111001111 % -b1100111111011001101000111001111 < -b1100111111011001101000111001111 D -b1100111111011001101000111001111 U -b1100111111011001101000111001111 f -b1100111111011001101000111001111 u -b1100111111011001101000111001111 (" -b1100111111011001101000111001111 9" -0( -0) -0+ -0, -b10 0 -0' -#9505 -1N -b1 J -1!" -b1 { -b1100111111011001101000111001111 \ -b0 X -b1111 ` -1_ -1Z -b1100111111011001101000111001111 m -b101101 i -b1111 q -0k -b10 P -b1100111111011001101000111001111 /" -b0 +" -b1111 3" -12" -1-" -b1100111111011001101000111001111 @" -b10111010 <" -b1111 D" -0>" -b10 #" -b10 4 -1' -#9506 -b1110110010 / -b10 2 -#9510 -17" -b0 5" -0&" -b10100001 $" -b10 "" -b0 x -b110111 b -b10 O -b10100001 s -b100110111 B -b11 A -b10100001100110111 8 -b10011101 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b10100001100110111 " -b11 . -b10100001100010000010000001000011 % -b10100001100010000010000001000011 < -b10100001100010000010000001000011 D -b10100001100010000010000001000011 U -b10100001100010000010000001000011 f -b10100001100010000010000001000011 u -b10100001100010000010000001000011 (" -b10100001100010000010000001000011 9" -0( -0) -0+ -0, -b1 0 -0' -#9513 -b11110100000000001010011000000000 A" -b0 n -#9515 -b1111010000000000101001100000000000000000000000000000000000000000 # -b0 { -b11 . -b1111010000000000101001100000000000000000000000000000000000000000 ! -b1111010000000000101001100000000000000000000000000000000000000000 ? -b11 A -b11110100000000001010011000000000 } -b0 L -b10 4 -b11110100000000001010011000000000 y -b10 #" -b10100001100010000010000001000011 @" -b0 <" -b1011 D" -1>" -b10100001100010000010000001000011 /" -b10100001 +" -b1011 3" -0-" -b0 H -b10 P -b10100001100010000010000001000011 m -b110111 i -b1011 q -b10100001100010000010000001000011 \ -b1011 ` -1' -#9516 -b1110110011 / -b10 2 -#9520 -b10011 $" -1d -b0 b -0S -0V -b10011 Q -b0 G -b10011 s -b10011 B -b11 A -1g -b10 O -0)" -b10 "" -b10011000010011 8 -0= -b10011 $ -b110101000111000000 " -b11 . -1& -b100010011110000010111101000100 % -b100010011110000010111101000100 < -b100010011110000010111101000100 D -b100010011110000010111101000100 U -b100010011110000010111101000100 f -b100010011110000010111101000100 u -b100010011110000010111101000100 (" -b100010011110000010111101000100 9" -0( -0) -0+ -0, -b10 0 -0' -#9523 -b11010000000000000000000 0" -#9525 -b1101000000000000000000000000000000000000000000000000000 # -0N -b0 J -0!" -b11 . -b1101000000000000000000000000000000000000000000000000000 ! -b1101000000000000000000000000000000000000000000000000000 ? -b11 A -b11010000000000000000000 } -b100010011110000010111101000100 \ -b10011 X -0_ -0Z -b100010011110000010111101000100 m -b0 i -1k -b10 P -b100010011110000010111101000100 /" -b10011 +" -02" -b100010011110000010111101000100 @" -b11010000000000000000000 y -b10 #" -b100 7 -1' -#9526 -b1110110100 / -b10 2 -#9530 -07" -b10110011 5" -1&" -b0 $" -b1 x -b10101001 Q -b110110011 s -b10101001 B -b11 A -1V -b10 O -1)" -b10 "" -b110110011010101001 8 -1= -b100010 $ -b110 - -b110 > -b110 E -b110 W -b110 h -b110 v -b110 *" -b110 ;" -b110110011010101001 " -b11 . -0& -b1111110001101101000100111111100 % -b1111110001101101000100111111100 < -b1111110001101101000100111111100 D -b1111110001101101000100111111100 U -b1111110001101101000100111111100 f -b1111110001101101000100111111100 u -b1111110001101101000100111111100 (" -b1111110001101101000100111111100 9" -0( -0) -0+ -0, -b1 0 -0' -#9535 -1!" -b1 { -1N -b10 4 -b10 #" -b1111110001101101000100111111100 @" -b10110011 <" -b110 D" -0>" -b1111110001101101000100111111100 /" -b0 +" -b110 3" -12" -1-" -b10 P -b1111110001101101000100111111100 m -b110 q -b1111110001101101000100111111100 \ -b10101001 X -b110 ` -1_ -1' -#9536 -b1110110101 / -b10 2 -#9540 -b10000001 5" -b10 "" -0d -b11011100 b -1S -b0 Q -b10 O -b1 G -b110000001 s -b111011100 B -b11 A -b110000001111011100 8 -b111111111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110000001111011100 " -b11 . -b10001111101100101111000000011111 % -b10001111101100101111000000011111 < -b10001111101100101111000000011111 D -b10001111101100101111000000011111 U -b10001111101100101111000000011111 f -b10001111101100101111000000011111 u -b10001111101100101111000000011111 (" -b10001111101100101111000000011111 9" -0( -0) -0+ -0, -b10 0 -0' -#9543 -b10100100000000001110100000000000 A" -b101000001001111110011100000000 ] -#9545 -b1010010000000000111010000000000000101000001001111110011100000000 # -b1 J -b11 . -b1010010000000000111010000000000000101000001001111110011100000000 ! -b1010010000000000111010000000000000101000001001111110011100000000 ? -b11 A -b101000001001111110011100000000 L -b10100100000000001110100000000000 } -b10001111101100101111000000011111 \ -b0 X -b1 ` -1Z -b10001111101100101111000000011111 m -b11011100 i -b1 q -0k -b101000001001111110011100000000 H -b10 P -b10001111101100101111000000011111 /" -b1 3" -b10001111101100101111000000011111 @" -b10000001 <" -b1 D" -b10100100000000001110100000000000 y -b10 #" -b10 4 -1' -#9546 -b1110110110 / -b10 2 -#9550 -b1111101 5" -b10 "" -b10010000 b -b10 O -b101111101 s -b110010000 B -b11 A -b101111101110010000 8 -b11111111 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101111101110010000 " -b11 . -b10111010010000001110101001110100 % -b10111010010000001110101001110100 < -b10111010010000001110101001110100 D -b10111010010000001110101001110100 U -b10111010010000001110101001110100 f -b10111010010000001110101001110100 u -b10111010010000001110101001110100 (" -b10111010010000001110101001110100 9" -0( -0) -0+ -0, -b1 0 -0' -#9553 -b1111111000000000000000011111111 A" -#9555 -b111111100000000000000001111111100000000000000000000000000000000 # -b11 . -b111111100000000000000001111111100000000000000000000000000000000 ! -b111111100000000000000001111111100000000000000000000000000000000 ? -b11 A -b1111111000000000000000011111111 } -b0 L -b10 4 -b1111111000000000000000011111111 y -b10 #" -b10111010010000001110101001110100 @" -b1111101 <" -b1000 D" -b10111010010000001110101001110100 /" -b1000 3" -b0 H -b10 P -b10111010010000001110101001110100 m -b10010000 i -b1000 q -b10111010010000001110101001110100 \ -b1000 ` -1' -#9556 -b1110110111 / -b10 2 -#9560 -17" -b0 5" -0&" -b10001011 $" -b10 "" -b0 x -b1110010 b -b10 O -b10001011 s -b101110010 B -b11 A -b10001011101110010 8 -b111101111 $ -b100 - -b100 > -b100 E -b100 W -b100 h -b100 v -b100 *" -b100 ;" -b10001011101110010 " -b11 . -b110100110010100111100001101 % -b110100110010100111100001101 < -b110100110010100111100001101 D -b110100110010100111100001101 U -b110100110010100111100001101 f -b110100110010100111100001101 u -b110100110010100111100001101 (" -b110100110010100111100001101 9" -0( -0) -0+ -0, -b10 0 -0' -#9563 -b110001100101110011100001100011 A" -b1010010000000000000001110010000 n -#9565 -b11000110010111001110000110001101010010000000000000001110010000 # -b0 { -b11 . -b11000110010111001110000110001101010010000000000000001110010000 ! -b11000110010111001110000110001101010010000000000000001110010000 ? -b11 A -b1010010000000000000001110010000 L -b110001100101110011100001100011 } -b110100110010100111100001101 \ -b100 ` -b110100110010100111100001101 m -b1110010 i -b100 q -b1010010000000000000001110010000 H -b10 P -b110100110010100111100001101 /" -b10001011 +" -b100 3" -0-" -b110100110010100111100001101 @" -b0 <" -b100 D" -1>" -b110001100101110011100001100011 y -b10 #" -b10 4 -1' -#9566 -b1110111000 / -b10 2 -#9570 -07" -0:" -b10101000 5" -1&" -b0 $" -b1 x -b10101000 b -b110101000 s -b110101000 B -b11 A -0g -b10 O -1)" -b10 "" -b110101000110101000 8 -0= -b110101000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101101010111110011 " -b11 . -1& -b1011110000111001110100010111 % -b1011110000111001110100010111 < -b1011110000111001110100010111 D -b1011110000111001110100010111 U -b1011110000111001110100010111 f -b1011110000111001110100010111 u -b1011110000111001110100010111 (" -b1011110000111001110100010111 9" -0( -0) -0+ -0, -b1 0 -0' -#9573 -b0 0" -b101110 n -#9575 -b101110 # -0!" -b1 { -0N -b11 . -b101110 ! -b101110 ? -b11 A -b0 } -b101110 L -b100 7 -b0 y -b10 #" -b1011110000111001110100010111 @" -b10101000 <" -b10 D" -0C" -0>" -b1011110000111001110100010111 /" -b0 +" -b10 3" -1-" -b101110 H -b10 P -b1011110000111001110100010111 m -b10101000 i -b10 q -0p -b1011110000111001110100010111 \ -b10 ` -1' -#9576 -b1110111001 / -b10 2 -#9580 -17" -b0 5" -0&" -b10111101 $" -b0 x -b10000010 b -b10111101 s -b110000010 B -b11 A -1g -b10 O -1:" -b10 "" -b10111101110000010 8 -1= -b111001111 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b10111101110000010 " -b11 . -0& -b10001100110001111000010000011001 % -b10001100110001111000010000011001 < -b10001100110001111000010000011001 D -b10001100110001111000010000011001 U -b10001100110001111000010000011001 f -b10001100110001111000010000011001 u -b10001100110001111000010000011001 (" -b10001100110001111000010000011001 9" -0( -0) -0+ -0, -b10 0 -0' -#9585 -1N -1!" -b0 { -b10001100110001111000010000011001 \ -b11 ` -b10001100110001111000010000011001 m -b10000010 i -b11 q -1p -b10 P -b10001100110001111000010000011001 /" -b10111101 +" -b11 3" -0-" -b10001100110001111000010000011001 @" -b0 <" -b11 D" -1C" -1>" -b10 #" -b10 4 -1' -#9586 -b1110111010 / -b10 2 -#9590 -07" -b10110100 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b101011 Q -b10 O -b0 G -b110110100 s -b101011 B -b11 A -b110110100000101011 8 -b1001100 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b110110100000101011 " -b11 . -b100100111111101011010101001001 % -b100100111111101011010101001001 < -b100100111111101011010101001001 D -b100100111111101011010101001001 U -b100100111111101011010101001001 f -b100100111111101011010101001001 u -b100100111111101011010101001001 (" -b100100111111101011010101001001 9" -0( -0) -0+ -0, -b1 0 -0' -#9593 -b0 n -#9595 -b0 # -b1 { -b0 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b10 4 -b10 #" -b100100111111101011010101001001 @" -b10110100 <" -b101 D" -0>" -b100100111111101011010101001001 /" -b0 +" -b101 3" -1-" -b0 H -b10 P -b100100111111101011010101001001 m -b0 i -b101 q -1k -b100100111111101011010101001001 \ -b101011 X -b101 ` -0Z -1' -#9596 -b1110111011 / -b10 2 -#9600 -17" -b0 5" -0&" -0)" -b10000000 $" -b0 x -b10000000 Q -b10000000 s -b10000000 B -b11 A -0V -b10 O -1:" -b10 "" -b10000000010000000 8 -0= -b10000000 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b101001001100011111 " -b11 . -1& -b11011111010011100000010010111110 % -b11011111010011100000010010111110 < -b11011111010011100000010010111110 D -b11011111010011100000010010111110 U -b11011111010011100000010010111110 f -b11011111010011100000010010111110 u -b11011111010011100000010010111110 (" -b11011111010011100000010010111110 9" -0( -0) -0+ -0, -b10 0 -0' -#9603 -b11100000110001010000000011000001 A" -b1110000010000010110100000000 ] -#9605 -b1110000011000101000000001100000100001110000010000010110100000000 # -0N -0!" -b0 { -b11 . -b1110000011000101000000001100000100001110000010000010110100000000 ! -b1110000011000101000000001100000100001110000010000010110100000000 ? -b11 A -b1110000010000010110100000000 L -b11100000110001010000000011000001 } -b11011111010011100000010010111110 \ -b10000000 X -b1011 ` -0_ -b11011111010011100000010010111110 m -b1011 q -b1110000010000010110100000000 H -b10 P -b11011111010011100000010010111110 /" -b10000000 +" -b1011 3" -02" -0-" -b11011111010011100000010010111110 @" -b0 <" -b1011 D" -1>" -b11100000110001010000000011000001 y -b10 #" -b100 7 -1' -#9606 -b1110111100 / -b10 2 -#9610 -07" -b11110 5" -1&" -b0 $" -b1 x -0d -b11110011 b -1S -b0 Q -b1 G -b100011110 s -b111110011 B -b11 A -1V -b10 O -1)" -b10 "" -b100011110111110011 8 -1= -b100110111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100011110111110011 " -b11 . -0& -b10011011101011101001110000110111 % -b10011011101011101001110000110111 < -b10011011101011101001110000110111 D -b10011011101011101001110000110111 U -b10011011101011101001110000110111 f -b10011011101011101001110000110111 u -b10011011101011101001110000110111 (" -b10011011101011101001110000110111 9" -0( -0) -0+ -0, -b1 0 -0' -#9615 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b10011011101011101001110000110111 @" -b11110 <" -b0 D" -0>" -b10011011101011101001110000110111 /" -b0 +" -b0 3" -12" -1-" -b10 P -b10011011101011101001110000110111 m -b11110011 i -b0 q -0k -b10011011101011101001110000110111 \ -b0 X -b0 ` -1_ -1Z -1' -#9616 -b1110111101 / -b10 2 -#9620 -b10001111 5" -b10 "" -b11010 b -b10 O -b110001111 s -b100011010 B -b11 A -b110001111100011010 8 -b110101000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110001111100011010 " -b11 . -b11100011111100001000001011000111 % -b11100011111100001000001011000111 < -b11100011111100001000001011000111 D -b11100011111100001000001011000111 U -b11100011111100001000001011000111 f -b11100011111100001000001011000111 u -b11100011111100001000001011000111 (" -b11100011111100001000001011000111 9" -0( -0) -0+ -0, -b10 0 -0' -#9623 -b0 A" -b101111001110001110010001 n -#9625 -b101111001110001110010001 # -b11 . -b101111001110001110010001 ! -b101111001110001110010001 ? -b11 A -b101111001110001110010001 L -b0 } -b11100011111100001000001011000111 \ -b1 ` -b11100011111100001000001011000111 m -b11010 i -b1 q -b101111001110001110010001 H -b10 P -b11100011111100001000001011000111 /" -b1 3" -b11100011111100001000001011000111 @" -b10001111 <" -b1 D" -b0 y -b10 #" -b10 4 -1' -#9626 -b1110111110 / -b10 2 -#9630 -b1001000 5" -b1001000 b -b101001000 s -b101001000 B -b11 A -0g -b10 O -0:" -b10 "" -b101001000101001000 8 -0= -b101001000 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b100000011100101 " -b11 . -1& -b1100100010110111100000111001000 % -b1100100010110111100000111001000 < -b1100100010110111100000111001000 D -b1100100010110111100000111001000 U -b1100100010110111100000111001000 f -b1100100010110111100000111001000 u -b1100100010110111100000111001000 (" -b1100100010110111100000111001000 9" -0( -0) -0+ -0, -b1 0 -0' -#9633 -b0 n -#9635 -b0 # -0!" -0N -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b1100100010110111100000111001000 @" -b1001000 <" -b10 D" -0C" -b1100100010110111100000111001000 /" -b10 3" -b0 H -b10 P -b1100100010110111100000111001000 m -b1001000 i -b10 q -0p -b1100100010110111100000111001000 \ -b10 ` -1' -#9636 -b1110111111 / -b10 2 -#9640 -17" -1:" -b0 5" -0&" -0)" -b10010011 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10010011 Q -b10 O -b0 G -b10010011 s -b10010011 B -b11 A -b10010011010010011 8 -b10010011 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b111110010101001110 " -b11 . -1& -b111011100110000010010101110111 % -b111011100110000010010101110111 < -b111011100110000010010101110111 D -b111011100110000010010101110111 U -b111011100110000010010101110111 f -b111011100110000010010101110111 u -b111011100110000010010101110111 (" -b111011100110000010010101110111 9" -0( -0) -0+ -0, -b10 0 -0' -#9645 -b0 J -b0 { -b111011100110000010010101110111 \ -b10010011 X -b1010 ` -0_ -0Z -b111011100110000010010101110111 m -b0 i -b1010 q -1p -1k -b10 P -b111011100110000010010101110111 /" -b10010011 +" -b1010 3" -02" -0-" -b111011100110000010010101110111 @" -b0 <" -b1010 D" -1C" -1>" -b10 #" -b100 7 -1' -#9646 -b1111000000 / -b10 2 -#9650 -07" -b10100100 5" -1&" -b0 $" -b1 x -0d -b10000110 b -1S -b0 Q -b1 G -b110100100 s -b110000110 B -b11 A -1V -b10 O -1)" -b10 "" -b110100100110000110 8 -1= -b1111 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b110100100110000110 " -b11 . -0& -b1100010100010010010100111000101 % -b1100010100010010010100111000101 < -b1100010100010010010100111000101 D -b1100010100010010010100111000101 U -b1100010100010010010100111000101 f -b1100010100010010010100111000101 u -b1100010100010010010100111000101 (" -b1100010100010010010100111000101 9" -0( -0) -0+ -0, -b1 0 -0' -#9655 -1!" -b1 { -1N -b1 J -b10 4 -b10 #" -b1100010100010010010100111000101 @" -b10100100 <" -b1001 D" -0>" -b1100010100010010010100111000101 /" -b0 +" -b1001 3" -12" -1-" -b10 P -b1100010100010010010100111000101 m -b10000110 i -b1001 q -0k -b1100010100010010010100111000101 \ -b0 X -b1001 ` -1_ -1Z -1' -#9656 -b1111000001 / -b10 2 -#9660 -b1100100 5" -b1100100 b -b101100100 s -b101100100 B -b11 A -0g -b10 O -0:" -b10 "" -b101100100101100100 8 -0= -b101100100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b10101111010000001 " -b11 . -1& -b10011100000001001110100100111 % -b10011100000001001110100100111 < -b10011100000001001110100100111 D -b10011100000001001110100100111 U -b10011100000001001110100100111 f -b10011100000001001110100100111 u -b10011100000001001110100100111 (" -b10011100000001001110100100111 9" -0( -0) -0+ -0, -b10 0 -0' -#9663 -b1001001000000001111101110010011 A" -b1011111110111 n -#9665 -b100100100000000111110111001001100000000000000000001011111110111 # -0N -0!" -b11 . -b100100100000000111110111001001100000000000000000001011111110111 ! -b100100100000000111110111001001100000000000000000001011111110111 ? -b11 A -b1011111110111 L -b1001001000000001111101110010011 } -b10011100000001001110100100111 \ -b1000 ` -b10011100000001001110100100111 m -b1100100 i -b1000 q -0p -b1011111110111 H -b10 P -b10011100000001001110100100111 /" -b1000 3" -b10011100000001001110100100111 @" -b1100100 <" -b1000 D" -0C" -b1001001000000001111101110010011 y -b10 #" -b100 7 -1' -#9666 -b1111000010 / -b10 2 -#9670 -17" -b0 5" -0&" -b10100101 $" -b0 x -1d -b0 b -0S -b110011 Q -b0 G -b10100101 s -b110011 B -b11 A -1g -b10 O -1:" -b10 "" -b10100101000110011 8 -1= -b1101000 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10100101000110011 " -b11 . -0& -b111110011010100001011101111100 % -b111110011010100001011101111100 < -b111110011010100001011101111100 D -b111110011010100001011101111100 U -b111110011010100001011101111100 f -b111110011010100001011101111100 u -b111110011010100001011101111100 (" -b111110011010100001011101111100 9" -0( -0) -0+ -0, -b1 0 -0' -#9675 -1!" -b0 { -1N -b0 J -b10 4 -b10 #" -b111110011010100001011101111100 @" -b0 <" -b111 D" -1C" -1>" -b111110011010100001011101111100 /" -b10100101 +" -b111 3" -0-" -b10 P -b111110011010100001011101111100 m -b0 i -b111 q -1p -1k -b111110011010100001011101111100 \ -b110011 X -b111 ` -0Z -1' -#9676 -b1111000011 / -b10 2 -#9680 -07" -b110010 5" -1&" -b0 $" -b10 "" -b1 x -b11000010 Q -b10 O -b100110010 s -b11000010 B -b11 A -b100110010011000010 8 -b11110101 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b100110010011000010 " -b11 . -b1011001011010000100010110110010 % -b1011001011010000100010110110010 < -b1011001011010000100010110110010 D -b1011001011010000100010110110010 U -b1011001011010000100010110110010 f -b1011001011010000100010110110010 u -b1011001011010000100010110110010 (" -b1011001011010000100010110110010 9" -0( -0) -0+ -0, -b10 0 -0' -#9683 -b110000110000000010010011 0" -b1000011111000000000000010000111 ] -#9685 -b11000011000000001001001101000011111000000000000010000111 # -b1 { -b11 . -b11000011000000001001001101000011111000000000000010000111 ! -b11000011000000001001001101000011111000000000000010000111 ? -b11 A -b1000011111000000000000010000111 L -b110000110000000010010011 } -b1011001011010000100010110110010 \ -b11000010 X -b0 ` -b1011001011010000100010110110010 m -b0 q -b1000011111000000000000010000111 H -b10 P -b1011001011010000100010110110010 /" -b0 +" -b0 3" -1-" -b1011001011010000100010110110010 @" -b110010 <" -b0 D" -0>" -b110000110000000010010011 y -b10 #" -b10 4 -1' -#9686 -b1111000100 / -b10 2 -#9690 -b10001110 5" -0d -0g -b10001110 b -1S -b0 Q -b1 G -b110001110 s -b110001110 B -b11 A -1V -b10 O -0:" -b10 "" -b110001110110001110 8 -0= -b110001110 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b11111100001000 " -b11 . -1& -b11001010100001101010011010010101 % -b11001010100001101010011010010101 < -b11001010100001101010011010010101 D -b11001010100001101010011010010101 U -b11001010100001101010011010010101 f -b11001010100001101010011010010101 u -b11001010100001101010011010010101 (" -b11001010100001101010011010010101 9" -0( -0) -0+ -0, -b1 0 -0' -#9693 -b11111010000101011000001100000000 A" -b111011001011101010110101 ] -#9695 -b1111101000010101100000110000000000000000111011001011101010110101 # -0!" -0N -b1 J -b11 . -b1111101000010101100000110000000000000000111011001011101010110101 ! -b1111101000010101100000110000000000000000111011001011101010110101 ? -b11 A -b11111010000101011000001100000000 } -b111011001011101010110101 L -b100 7 -b11111010000101011000001100000000 y -b10 #" -b11001010100001101010011010010101 @" -b10001110 <" -b101 D" -0C" -b11001010100001101010011010010101 /" -b101 3" -b111011001011101010110101 H -b10 P -b11001010100001101010011010010101 m -b10001110 i -b101 q -0p -0k -b11001010100001101010011010010101 \ -b0 X -b101 ` -1Z -1' -#9696 -b1111000101 / -b10 2 -#9700 -b101001 5" -b10 "" -b101001 b -b10 O -b100101001 s -b100101001 B -b11 A -b100101001100101001 8 -b100101001 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b10101100110000111 " -b11 . -1& -b11001111110010110100011010011111 % -b11001111110010110100011010011111 < -b11001111110010110100011010011111 D -b11001111110010110100011010011111 U -b11001111110010110100011010011111 f -b11001111110010110100011010011111 u -b11001111110010110100011010011111 (" -b11001111110010110100011010011111 9" -0( -0) -0+ -0, -b10 0 -0' -#9705 -b11001111110010110100011010011111 \ -b10 ` -b11001111110010110100011010011111 m -b101001 i -b10 q -b10 P -b11001111110010110100011010011111 /" -b10 3" -b11001111110010110100011010011111 @" -b101001 <" -b10 D" -b10 #" -b100 7 -1' -#9706 -b1111000110 / -b10 2 -#9710 -17" -1:" -b0 5" -0&" -0)" -b11100 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11100 Q -b10 O -b0 G -b11100 s -b11100 B -b11 A -b11100000011100 8 -b11100 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b101011001111110101 " -b11 . -1& -b110111011101110111011101101110 % -b110111011101110111011101101110 < -b110111011101110111011101101110 D -b110111011101110111011101101110 U -b110111011101110111011101101110 f -b110111011101110111011101101110 u -b110111011101110111011101101110 (" -b110111011101110111011101101110 9" -0( -0) -0+ -0, -b1 0 -0' -#9715 -b0 { -b0 J -b100 7 -b10 #" -b110111011101110111011101101110 @" -b0 <" -b1000 D" -1C" -1>" -b110111011101110111011101101110 /" -b11100 +" -b1000 3" -02" -0-" -b10 P -b110111011101110111011101101110 m -b0 i -b1000 q -1p -1k -b110111011101110111011101101110 \ -b11100 X -b1000 ` -0_ -0Z -1' -#9716 -b1111000111 / -b10 2 -#9720 -b1111010 $" -b11011110 Q -b1111010 s -b11011110 B -b11 A -1V -b10 O -1)" -b10 "" -b1111010011011110 8 -1= -b1110111 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b1111010011011110 " -b11 . -0& -b1011001111100011011011110110011 % -b1011001111100011011011110110011 < -b1011001111100011011011110110011 D -b1011001111100011011011110110011 U -b1011001111100011011011110110011 f -b1011001111100011011011110110011 u -b1011001111100011011011110110011 (" -b1011001111100011011011110110011 9" -0( -0) -0+ -0, -b10 0 -0' -#9725 -1N -1!" -b1011001111100011011011110110011 \ -b11011110 X -b10 ` -1_ -b1011001111100011011011110110011 m -b10 q -b10 P -b1011001111100011011011110110011 /" -b1111010 +" -b10 3" -12" -b1011001111100011011011110110011 @" -b10 D" -b10 #" -b10 4 -1' -#9726 -b1111001000 / -b10 2 -#9730 -b10010010 $" -b10 "" -b11010110 Q -b10 O -b10010010 s -b11010110 B -b11 A -b10010010011010110 8 -b101101001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b10010010011010110 " -b11 . -b10001101000000011101100100011 % -b10001101000000011101100100011 < -b10001101000000011101100100011 D -b10001101000000011101100100011 U -b10001101000000011101100100011 f -b10001101000000011101100100011 u -b10001101000000011101100100011 (" -b10001101000000011101100100011 9" -0( -0) -0+ -0, -b1 0 -0' -#9733 -b1010110010100100 0" -b0 ] -#9735 -b101011001010010000000000000000000000000000000000 # -b11 . -b101011001010010000000000000000000000000000000000 ! -b101011001010010000000000000000000000000000000000 ? -b11 A -b1010110010100100 } -b0 L -b10 4 -b1010110010100100 y -b10 #" -b10001101000000011101100100011 @" -b1100 D" -b10001101000000011101100100011 /" -b10010010 +" -b1100 3" -b0 H -b10 P -b10001101000000011101100100011 m -b1100 q -b10001101000000011101100100011 \ -b11010110 X -b1100 ` -1' -#9736 -b1111001001 / -b10 2 -#9740 -b1010101 $" -b10 "" -0d -b1101100 b -1S -b0 Q -b10 O -b1 G -b1010101 s -b101101100 B -b11 A -b1010101101101100 8 -b100111100 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b1010101101101100 " -b11 . -b11100100010110001011010011001000 % -b11100100010110001011010011001000 < -b11100100010110001011010011001000 D -b11100100010110001011010011001000 U -b11100100010110001011010011001000 f -b11100100010110001011010011001000 u -b11100100010110001011010011001000 (" -b11100100010110001011010011001000 9" -0( -0) -0+ -0, -b10 0 -0' -#9743 -b0 0" -b1011110100000000 ] -#9745 -b1011110100000000 # -b1 J -b11 . -b1011110100000000 ! -b1011110100000000 ? -b11 A -b1011110100000000 L -b0 } -b11100100010110001011010011001000 \ -b0 X -b101 ` -1Z -b11100100010110001011010011001000 m -b1101100 i -b101 q -0k -b1011110100000000 H -b10 P -b11100100010110001011010011001000 /" -b1010101 +" -b101 3" -b11100100010110001011010011001000 @" -b101 D" -b0 y -b10 #" -b10 4 -1' -#9746 -b1111001010 / -b10 2 -#9750 -07" -b10001001 5" -1&" -b0 $" -b10 "" -b1 x -1d -b0 b -0S -b11101100 Q -b10 O -b0 G -b110001001 s -b11101100 B -b11 A -b110001001011101100 8 -b11101000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110001001011101100 " -b11 . -b11111100100100010110011011111001 % -b11111100100100010110011011111001 < -b11111100100100010110011011111001 D -b11111100100100010110011011111001 U -b11111100100100010110011011111001 f -b11111100100100010110011011111001 u -b11111100100100010110011011111001 (" -b11111100100100010110011011111001 9" -0( -0) -0+ -0, -b1 0 -0' -#9753 -b11000010111101110011110 0" -b10111100010100110110110 n -#9755 -b1100001011110111001111000000000010111100010100110110110 # -b1 { -b0 J -b11 . -b1100001011110111001111000000000010111100010100110110110 ! -b1100001011110111001111000000000010111100010100110110110 ? -b11 A -b11000010111101110011110 } -b10111100010100110110110 L -b10 4 -b11000010111101110011110 y -b10 #" -b11111100100100010110011011111001 @" -b10001001 <" -b1 D" -0>" -b11111100100100010110011011111001 /" -b0 +" -b1 3" -1-" -b10111100010100110110110 H -b10 P -b11111100100100010110011011111001 m -b0 i -b1 q -1k -b11111100100100010110011011111001 \ -b11101100 X -b1 ` -0Z -1' -#9756 -b1111001011 / -b10 2 -#9760 -17" -b0 5" -0&" -b11110111 $" -b10 "" -b0 x -0d -b1111001 b -1S -b0 Q -b10 O -b1 G -b11110111 s -b101111001 B -b11 A -b11110111101111001 8 -b110111110 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b11110111101111001 " -b11 . -b10111100101111101001000001111001 % -b10111100101111101001000001111001 < -b10111100101111101001000001111001 D -b10111100101111101001000001111001 U -b10111100101111101001000001111001 f -b10111100101111101001000001111001 u -b10111100101111101001000001111001 (" -b10111100101111101001000001111001 9" -0( -0) -0+ -0, -b10 0 -0' -#9763 -b1011001100000000 A" -b11000100101010100010011100000000 ] -#9765 -b101100110000000011000100101010100010011100000000 # -b1 J -b0 { -b11 . -b101100110000000011000100101010100010011100000000 ! -b101100110000000011000100101010100010011100000000 ? -b11 A -b11000100101010100010011100000000 L -b1011001100000000 } -b10111100101111101001000001111001 \ -b0 X -b1000 ` -1Z -b10111100101111101001000001111001 m -b1111001 i -b1000 q -0k -b11000100101010100010011100000000 H -b10 P -b10111100101111101001000001111001 /" -b11110111 +" -b1000 3" -0-" -b10111100101111101001000001111001 @" -b0 <" -b1000 D" -1>" -b1011001100000000 y -b10 #" -b10 4 -1' -#9766 -b1111001100 / -b10 2 -#9770 -b11111110 $" -b10 "" -1d -b0 b -0S -b11100 Q -b10 O -b0 G -b11111110 s -b11100 B -b11 A -b11111110000011100 8 -b110000101 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b11111110000011100 " -b11 . -b1000001011110001100100110000010 % -b1000001011110001100100110000010 < -b1000001011110001100100110000010 D -b1000001011110001100100110000010 U -b1000001011110001100100110000010 f -b1000001011110001100100110000010 u -b1000001011110001100100110000010 (" -b1000001011110001100100110000010 9" -0( -0) -0+ -0, -b1 0 -0' -#9773 -b1010010010 0" -b0 n -#9775 -b101001001000000000000000000000000000000000 # -b0 J -b11 . -b101001001000000000000000000000000000000000 ! -b101001001000000000000000000000000000000000 ? -b11 A -b1010010010 } -b0 L -b10 4 -b1010010010 y -b10 #" -b1000001011110001100100110000010 @" -b1110 D" -b1000001011110001100100110000010 /" -b11111110 +" -b1110 3" -b0 H -b10 P -b1000001011110001100100110000010 m -b0 i -b1110 q -1k -b1000001011110001100100110000010 \ -b11100 X -b1110 ` -0Z -1' -#9776 -b1111001101 / -b10 2 -#9780 -07" -b11111011 5" -1&" -b0 $" -b10 "" -b1 x -b111101 Q -b10 O -b111111011 s -b111101 B -b11 A -b111111011000111101 8 -b110011111 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111111011000111101 " -b11 . -b10101101110110011101110001011011 % -b10101101110110011101110001011011 < -b10101101110110011101110001011011 D -b10101101110110011101110001011011 U -b10101101110110011101110001011011 f -b10101101110110011101110001011011 u -b10101101110110011101110001011011 (" -b10101101110110011101110001011011 9" -0( -0) -0+ -0, -b10 0 -0' -#9783 -b0 0" -b110111010001000000000010010110 ] -#9785 -b110111010001000000000010010110 # -b1 { -b11 . -b110111010001000000000010010110 ! -b110111010001000000000010010110 ? -b11 A -b110111010001000000000010010110 L -b0 } -b10101101110110011101110001011011 \ -b111101 X -b0 ` -b10101101110110011101110001011011 m -b0 q -b110111010001000000000010010110 H -b10 P -b10101101110110011101110001011011 /" -b0 +" -b0 3" -1-" -b10101101110110011101110001011011 @" -b11111011 <" -b0 D" -0>" -b0 y -b10 #" -b10 4 -1' -#9786 -b1111001110 / -b10 2 -#9790 -b1011100 5" -0d -0g -b1011100 b -1S -b0 Q -b1 G -b101011100 s -b101011100 B -b11 A -1V -b10 O -0:" -b10 "" -b101011100101011100 8 -0= -b101011100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111001100011100010 " -b11 . -1& -b1110010010010110100000011 % -b1110010010010110100000011 < -b1110010010010110100000011 D -b1110010010010110100000011 U -b1110010010010110100000011 f -b1110010010010110100000011 u -b1110010010010110100000011 (" -b1110010010010110100000011 9" -0( -0) -0+ -0, -b1 0 -0' -#9793 -b0 A" -b0 ] -#9795 -b0 # -0!" -0N -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b1110010010010110100000011 @" -b1011100 <" -b1 D" -0C" -b1110010010010110100000011 /" -b1 3" -b0 H -b10 P -b1110010010010110100000011 m -b1011100 i -b1 q -0p -0k -b1110010010010110100000011 \ -b0 X -b1 ` -1Z -1' -#9796 -b1111001111 / -b10 2 -#9800 -17" -1:" -b0 5" -0&" -0)" -b10100001 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b10100001 Q -b10 O -b0 G -b10100001 s -b10100001 B -b11 A -b10100001010100001 8 -b10100001 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11001000101010100 " -b11 . -1& -b11110101100000111010001011101011 % -b11110101100000111010001011101011 < -b11110101100000111010001011101011 D -b11110101100000111010001011101011 U -b11110101100000111010001011101011 f -b11110101100000111010001011101011 u -b11110101100000111010001011101011 (" -b11110101100000111010001011101011 9" -0( -0) -0+ -0, -b10 0 -0' -#9805 -b0 J -b0 { -b11110101100000111010001011101011 \ -b10100001 X -b11 ` -0_ -0Z -b11110101100000111010001011101011 m -b0 i -b11 q -1p -1k -b10 P -b11110101100000111010001011101011 /" -b10100001 +" -b11 3" -02" -0-" -b11110101100000111010001011101011 @" -b0 <" -b11 D" -1C" -1>" -b10 #" -b100 7 -1' -#9806 -b1111010000 / -b10 2 -#9810 -07" -0:" -b1100100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1100100 b -1S -1V -b0 Q -b10 O -b1 G -b101100100 s -b101100100 B -b11 A -b101100100101100100 8 -b101100100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b100001011010011110 " -b11 . -1& -b100101000000001111010101001010 % -b100101000000001111010101001010 < -b100101000000001111010101001010 D -b100101000000001111010101001010 U -b100101000000001111010101001010 f -b100101000000001111010101001010 u -b100101000000001111010101001010 (" -b100101000000001111010101001010 9" -0( -0) -0+ -0, -b1 0 -0' -#9815 -b1 { -b1 J -b100 7 -b10 #" -b100101000000001111010101001010 @" -b1100100 <" -b1101 D" -0C" -0>" -b100101000000001111010101001010 /" -b0 +" -b1101 3" -12" -1-" -b10 P -b100101000000001111010101001010 m -b1100100 i -b1101 q -0p -0k -b100101000000001111010101001010 \ -b0 X -b1101 ` -1_ -1Z -1' -#9816 -b1111010001 / -b10 2 -#9820 -b11101010 5" -b10 "" -b11101010 b -b10 O -b111101010 s -b111101010 B -b11 A -b111101010111101010 8 -b111101010 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b10110010011101011 " -b11 . -1& -b11100000110111000111001011000001 % -b11100000110111000111001011000001 < -b11100000110111000111001011000001 D -b11100000110111000111001011000001 U -b11100000110111000111001011000001 f -b11100000110111000111001011000001 u -b11100000110111000111001011000001 (" -b11100000110111000111001011000001 9" -0( -0) -0+ -0, -b10 0 -0' -#9825 -b11100000110111000111001011000001 \ -b0 ` -b11100000110111000111001011000001 m -b11101010 i -b0 q -b10 P -b11100000110111000111001011000001 /" -b0 3" -b11100000110111000111001011000001 @" -b11101010 <" -b0 D" -b10 #" -b100 7 -1' -#9826 -b1111010010 / -b10 2 -#9830 -b11111111 5" -b1111 b -b111111111 s -b100001111 B -b11 A -1g -b10 O -1:" -b10 "" -b111111111100001111 8 -1= -b110110000 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b111111111100001111 " -b11 . -0& -b1011000001101111100100110110000 % -b1011000001101111100100110110000 < -b1011000001101111100100110110000 D -b1011000001101111100100110110000 U -b1011000001101111100100110110000 f -b1011000001101111100100110110000 u -b1011000001101111100100110110000 (" -b1011000001101111100100110110000 9" -0( -0) -0+ -0, -b1 0 -0' -#9835 -1!" -1N -b10 4 -b10 #" -b1011000001101111100100110110000 @" -b11111111 <" -b1 D" -1C" -b1011000001101111100100110110000 /" -b1 3" -b10 P -b1011000001101111100100110110000 m -b1111 i -b1 q -1p -b1011000001101111100100110110000 \ -b1 ` -1' -#9836 -b1111010011 / -b10 2 -#9840 -b1010100 5" -b10 "" -b11010110 b -b10 O -b101010100 s -b111010110 B -b11 A -b101010100111010110 8 -b1101011 $ -b101 - -b101 > -b101 E -b101 W -b101 h -b101 v -b101 *" -b101 ;" -b101010100111010110 " -b11 . -b10110000101101001000011001100001 % -b10110000101101001000011001100001 < -b10110000101101001000011001100001 D -b10110000101101001000011001100001 U -b10110000101101001000011001100001 f -b10110000101101001000011001100001 u -b10110000101101001000011001100001 (" -b10110000101101001000011001100001 9" -0( -0) -0+ -0, -b10 0 -0' -#9843 -b10000111100111010001110000000000 A" -#9845 -b1000011110011101000111000000000000000000000000000000000000000000 # -b11 . -b1000011110011101000111000000000000000000000000000000000000000000 ! -b1000011110011101000111000000000000000000000000000000000000000000 ? -b11 A -b10000111100111010001110000000000 } -b10110000101101001000011001100001 \ -b101 ` -b10110000101101001000011001100001 m -b11010110 i -b101 q -b10 P -b10110000101101001000011001100001 /" -b101 3" -b10110000101101001000011001100001 @" -b1010100 <" -b101 D" -b10000111100111010001110000000000 y -b10 #" -b10 4 -1' -#9846 -b1111010100 / -b10 2 -#9850 -b11000101 5" -b10 "" -b11001101 b -b10 O -b111000101 s -b111001101 B -b11 A -b111000101111001101 8 -b10010000 $ -b0 - -b0 > -b0 E -b0 W -b0 h -b0 v -b0 *" -b0 ;" -b111000101111001101 " -b11 . -b10011111110110110010001000111111 % -b10011111110110110010001000111111 < -b10011111110110110010001000111111 D -b10011111110110110010001000111111 U -b10011111110110110010001000111111 f -b10011111110110110010001000111111 u -b10011111110110110010001000111111 (" -b10011111110110110010001000111111 9" -0( -0) -0+ -0, -b1 0 -0' -#9853 -b11011100111000000010 A" -b101011101110000001001001010110 n -#9855 -b1101110011100000001000101011101110000001001001010110 # -b11 . -b1101110011100000001000101011101110000001001001010110 ! -b1101110011100000001000101011101110000001001001010110 ? -b11 A -b11011100111000000010 } -b101011101110000001001001010110 L -b10 4 -b11011100111000000010 y -b10 #" -b10011111110110110010001000111111 @" -b11000101 <" -b0 D" -b10011111110110110010001000111111 /" -b0 3" -b101011101110000001001001010110 H -b10 P -b10011111110110110010001000111111 m -b11001101 i -b0 q -b10011111110110110010001000111111 \ -b0 ` -1' -#9856 -b1111010101 / -b10 2 -#9860 -b1111010 5" -b1111010 b -b101111010 s -b101111010 B -b11 A -0g -b10 O -0:" -b10 "" -b101111010101111010 8 -0= -b101111010 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b110110010010011 " -b11 . -1& -b10001001111101110100100100010 % -b10001001111101110100100100010 < -b10001001111101110100100100010 D -b10001001111101110100100100010 U -b10001001111101110100100100010 f -b10001001111101110100100100010 u -b10001001111101110100100100010 (" -b10001001111101110100100100010 9" -0( -0) -0+ -0, -b10 0 -0' -#9863 -b11011011110011100000000 A" -b101001010000000000000000 n -#9865 -b1101101111001110000000000000000101001010000000000000000 # -0N -0!" -b11 . -b1101101111001110000000000000000101001010000000000000000 ! -b1101101111001110000000000000000101001010000000000000000 ? -b11 A -b101001010000000000000000 L -b11011011110011100000000 } -b10001001111101110100100100010 \ -b1101 ` -b10001001111101110100100100010 m -b1111010 i -b1101 q -0p -b101001010000000000000000 H -b10 P -b10001001111101110100100100010 /" -b1101 3" -b10001001111101110100100100010 @" -b1111010 <" -b1101 D" -0C" -b11011011110011100000000 y -b10 #" -b100 7 -1' -#9866 -b1111010110 / -b10 2 -#9870 -b1110011 5" -b10110001 b -b101110011 s -b110110001 B -b11 A -1g -b10 O -1:" -b10 "" -b101110011110110001 8 -1= -b10011 $ -b10 - -b10 > -b10 E -b10 W -b10 h -b10 v -b10 *" -b10 ;" -b101110011110110001 " -b11 . -0& -b1111111110000011111111111111111 % -b1111111110000011111111111111111 < -b1111111110000011111111111111111 D -b1111111110000011111111111111111 U -b1111111110000011111111111111111 f -b1111111110000011111111111111111 u -b1111111110000011111111111111111 (" -b1111111110000011111111111111111 9" -0( -0) -0+ -0, -b1 0 -0' -#9875 -1!" -1N -b10 4 -b10 #" -b1111111110000011111111111111111 @" -b1110011 <" -b10 D" -1C" -b1111111110000011111111111111111 /" -b10 3" -b10 P -b1111111110000011111111111111111 m -b10110001 i -b10 q -1p -b1111111110000011111111111111111 \ -b10 ` -1' -#9876 -b1111010111 / -b10 2 -#9880 -b10111000 5" -b10111000 b -b110111000 s -b110111000 B -b11 A -0g -b10 O -0:" -b10 "" -b110111000110111000 8 -0= -b110111000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b100100011000110100 " -b11 . -1& -b11010110101111000101100110101 % -b11010110101111000101100110101 < -b11010110101111000101100110101 D -b11010110101111000101100110101 U -b11010110101111000101100110101 f -b11010110101111000101100110101 u -b11010110101111000101100110101 (" -b11010110101111000101100110101 9" -0( -0) -0+ -0, -b10 0 -0' -#9883 -b0 A" -b0 n -#9885 -b0 # -0N -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 L -b0 } -b11010110101111000101100110101 \ -b1001 ` -b11010110101111000101100110101 m -b10111000 i -b1001 q -0p -b0 H -b10 P -b11010110101111000101100110101 /" -b1001 3" -b11010110101111000101100110101 @" -b10111000 <" -b1001 D" -0C" -b0 y -b10 #" -b100 7 -1' -#9886 -b1111011000 / -b10 2 -#9890 -17" -1:" -b0 5" -0&" -0)" -b11100010 $" -b10 "" -b0 x -1d -1g -b0 b -0S -0V -b11100010 Q -b10 O -b0 G -b11100010 s -b11100010 B -b11 A -b11100010011100010 8 -b11100010 $ -b111 - -b111 > -b111 E -b111 W -b111 h -b111 v -b111 *" -b111 ;" -b10000110011110010 " -b11 . -1& -b10001011011111110111011000010110 % -b10001011011111110111011000010110 < -b10001011011111110111011000010110 D -b10001011011111110111011000010110 U -b10001011011111110111011000010110 f -b10001011011111110111011000010110 u -b10001011011111110111011000010110 (" -b10001011011111110111011000010110 9" -0( -0) -0+ -0, -b1 0 -0' -#9895 -b0 { -b0 J -b100 7 -b10 #" -b10001011011111110111011000010110 @" -b0 <" -b111 D" -1C" -1>" -b10001011011111110111011000010110 /" -b11100010 +" -b111 3" -02" -0-" -b10 P -b10001011011111110111011000010110 m -b0 i -b111 q -1p -1k -b10001011011111110111011000010110 \ -b11100010 X -b111 ` -0_ -0Z -1' -#9896 -b1111011001 / -b10 2 -#9900 -07" -0:" -b1111010 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b1111010 b -1S -1V -b0 Q -b10 O -b1 G -b101111010 s -b101111010 B -b11 A -b101111010101111010 8 -b101111010 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110011011011010000 " -b11 . -1& -b101110011001000111001101011100 % -b101110011001000111001101011100 < -b101110011001000111001101011100 D -b101110011001000111001101011100 U -b101110011001000111001101011100 f -b101110011001000111001101011100 u -b101110011001000111001101011100 (" -b101110011001000111001101011100 9" -0( -0) -0+ -0, -b10 0 -0' -#9905 -b1 J -b1 { -b101110011001000111001101011100 \ -b0 X -b1 ` -1_ -1Z -b101110011001000111001101011100 m -b1111010 i -b1 q -0p -0k -b10 P -b101110011001000111001101011100 /" -b0 +" -b1 3" -12" -1-" -b101110011001000111001101011100 @" -b1111010 <" -b1 D" -0C" -0>" -b10 #" -b100 7 -1' -#9906 -b1111011010 / -b10 2 -#9910 -b101 5" -b1110100 b -b100000101 s -b101110100 B -b11 A -1g -b10 O -1:" -b10 "" -b100000101101110100 8 -1= -b1101000 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b100000101101110100 " -b11 . -0& -b10111000100111000101011001110001 % -b10111000100111000101011001110001 < -b10111000100111000101011001110001 D -b10111000100111000101011001110001 U -b10111000100111000101011001110001 f -b10111000100111000101011001110001 u -b10111000100111000101011001110001 (" -b10111000100111000101011001110001 9" -0( -0) -0+ -0, -b1 0 -0' -#9915 -1!" -1N -b10 4 -b10 #" -b10111000100111000101011001110001 @" -b101 <" -b1110 D" -1C" -b10111000100111000101011001110001 /" -b1110 3" -b10 P -b10111000100111000101011001110001 m -b1110100 i -b1110 q -1p -b10111000100111000101011001110001 \ -b1110 ` -1' -#9916 -b1111011011 / -b10 2 -#9920 -17" -b0 5" -0&" -0)" -b1000001 $" -b0 x -1d -b0 b -0S -0V -b1000001 Q -b0 G -b1000001 s -b1000001 B -b11 A -1g -b10 O -1:" -b10 "" -b1000001001000001 8 -0= -b1000001 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b100110110110101111 " -b11 . -1& -b111110100110011100011101111101 % -b111110100110011100011101111101 < -b111110100110011100011101111101 D -b111110100110011100011101111101 U -b111110100110011100011101111101 f -b111110100110011100011101111101 u -b111110100110011100011101111101 (" -b111110100110011100011101111101 9" -0( -0) -0+ -0, -b10 0 -0' -#9923 -b11011101000000000000000010111010 A" -#9925 -b1101110100000000000000001011101000000000000000000000000000000000 # -0N -b0 J -0!" -b0 { -b11 . -b1101110100000000000000001011101000000000000000000000000000000000 ! -b1101110100000000000000001011101000000000000000000000000000000000 ? -b11 A -b11011101000000000000000010111010 } -b111110100110011100011101111101 \ -b1000001 X -b1100 ` -0_ -0Z -b111110100110011100011101111101 m -b0 i -b1100 q -1k -b10 P -b111110100110011100011101111101 /" -b1000001 +" -b1100 3" -02" -0-" -b111110100110011100011101111101 @" -b0 <" -b1100 D" -1>" -b11011101000000000000000010111010 y -b10 #" -b100 7 -1' -#9926 -b1111011100 / -b10 2 -#9930 -07" -0:" -b10100 5" -1&" -1)" -b0 $" -b10 "" -b1 x -0d -0g -b10100 b -1S -1V -b0 Q -b10 O -b1 G -b100010100 s -b100010100 B -b11 A -b100010100100010100 8 -b100010100 $ -b101110100110110011 " -b11 . -1& -b11111110000111111101001011111100 % -b11111110000111111101001011111100 < -b11111110000111111101001011111100 D -b11111110000111111101001011111100 U -b11111110000111111101001011111100 f -b11111110000111111101001011111100 u -b11111110000111111101001011111100 (" -b11111110000111111101001011111100 9" -0( -0) -0+ -0, -b1 0 -0' -#9935 -b1 { -b1 J -b100 7 -b10 #" -b11111110000111111101001011111100 @" -b10100 <" -0C" -0>" -b11111110000111111101001011111100 /" -b0 +" -12" -1-" -b10 P -b11111110000111111101001011111100 m -b10100 i -0p -0k -b11111110000111111101001011111100 \ -b0 X -1_ -1Z -1' -#9936 -b1111011101 / -b10 2 -#9940 -17" -b0 5" -0&" -b1110100 $" -b0 x -1d -b0 b -0S -b10001111 Q -b0 G -b1110100 s -b10001111 B -b11 A -1g -b10 O -1:" -b10 "" -b1110100010001111 8 -1= -b111000100 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b1110100010001111 " -b11 . -0& -b11101000001010010000010011010000 % -b11101000001010010000010011010000 < -b11101000001010010000010011010000 D -b11101000001010010000010011010000 U -b11101000001010010000010011010000 f -b11101000001010010000010011010000 u -b11101000001010010000010011010000 (" -b11101000001010010000010011010000 9" -0( -0) -0+ -0, -b10 0 -0' -#9945 -1N -b0 J -1!" -b0 { -b11101000001010010000010011010000 \ -b10001111 X -b1 ` -0Z -b11101000001010010000010011010000 m -b0 i -b1 q -1p -1k -b10 P -b11101000001010010000010011010000 /" -b1110100 +" -b1 3" -0-" -b11101000001010010000010011010000 @" -b0 <" -b1 D" -1C" -1>" -b10 #" -b10 4 -1' -#9946 -b1111011110 / -b10 2 -#9950 -07" -0:" -b10001000 5" -1&" -b0 $" -b1 x -0d -0g -b10001000 b -1S -b0 Q -b1 G -b110001000 s -b110001000 B -b11 A -1V -b10 O -1)" -b10 "" -b110001000110001000 8 -0= -b110001000 $ -b1001 - -b1001 > -b1001 E -b1001 W -b1001 h -b1001 v -b1001 *" -b1001 ;" -b1110100010101101 " -b11 . -1& -b11000100011110001001100110001 % -b11000100011110001001100110001 < -b11000100011110001001100110001 D -b11000100011110001001100110001 U -b11000100011110001001100110001 f -b11000100011110001001100110001 u -b11000100011110001001100110001 (" -b11000100011110001001100110001 9" -0( -0) -0+ -0, -b1 0 -0' -#9953 -b10110100001010000000000001101000 0" -b10001011000100110101101000010110 ] -#9955 -b1011010000101000000000000110100010001011000100110101101000010110 # -0!" -b1 { -0N -b1 J -b11 . -b1011010000101000000000000110100010001011000100110101101000010110 ! -b1011010000101000000000000110100010001011000100110101101000010110 ? -b11 A -b10110100001010000000000001101000 } -b10001011000100110101101000010110 L -b100 7 -b10110100001010000000000001101000 y -b10 #" -b11000100011110001001100110001 @" -b10001000 <" -b1001 D" -0C" -0>" -b11000100011110001001100110001 /" -b0 +" -b1001 3" -1-" -b10001011000100110101101000010110 H -b10 P -b11000100011110001001100110001 m -b10001000 i -b1001 q -0p -0k -b11000100011110001001100110001 \ -b0 X -b1001 ` -1Z -1' -#9956 -b1111011111 / -b10 2 -#9960 -b101000 5" -1d -b0 b -0S -b1100 Q -b0 G -b100101000 s -b1100 B -b11 A -1g -b10 O -1:" -b10 "" -b100101000000001100 8 -1= -b1100000 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100101000000001100 " -b11 . -0& -b1001101101000110000111110011011 % -b1001101101000110000111110011011 < -b1001101101000110000111110011011 D -b1001101101000110000111110011011 U -b1001101101000110000111110011011 f -b1001101101000110000111110011011 u -b1001101101000110000111110011011 (" -b1001101101000110000111110011011 9" -0( -0) -0+ -0, -b10 0 -0' -#9965 -1N -b0 J -1!" -b1001101101000110000111110011011 \ -b1100 X -b1011 ` -0Z -b1001101101000110000111110011011 m -b0 i -b1011 q -1p -1k -b10 P -b1001101101000110000111110011011 /" -b1011 3" -b1001101101000110000111110011011 @" -b101000 <" -b1011 D" -1C" -b10 #" -b10 4 -1' -#9966 -b1111100000 / -b10 2 -#9970 -b11000010 5" -b10 "" -0d -b10111100 b -1S -b0 Q -b10 O -b1 G -b111000010 s -b110111100 B -b11 A -b111000010110111100 8 -b110000100 $ -b1101 - -b1101 > -b1101 E -b1101 W -b1101 h -b1101 v -b1101 *" -b1101 ;" -b111000010110111100 " -b11 . -b10011111010010111101110000111110 % -b10011111010010111101110000111110 < -b10011111010010111101110000111110 D -b10011111010010111101110000111110 U -b10011111010010111101110000111110 f -b10011111010010111101110000111110 u -b10011111010010111101110000111110 (" -b10011111010010111101110000111110 9" -0( -0) -0+ -0, -b1 0 -0' -#9973 -b11111010000000000100111000000000 A" -b100111110101101100000000 ] -#9975 -b1111101000000000010011100000000000000000100111110101101100000000 # -b1 J -b11 . -b1111101000000000010011100000000000000000100111110101101100000000 ! -b1111101000000000010011100000000000000000100111110101101100000000 ? -b11 A -b11111010000000000100111000000000 } -b100111110101101100000000 L -b10 4 -b11111010000000000100111000000000 y -b10 #" -b10011111010010111101110000111110 @" -b11000010 <" -b1101 D" -b10011111010010111101110000111110 /" -b1101 3" -b100111110101101100000000 H -b10 P -b10011111010010111101110000111110 m -b10111100 i -b1101 q -0k -b10011111010010111101110000111110 \ -b0 X -b1101 ` -1Z -1' -#9976 -b1111100001 / -b10 2 -#9980 -b10011100 5" -b10 "" -1d -b0 b -0S -b111100 Q -b10 O -b0 G -b110011100 s -b111100 B -b11 A -b110011100000111100 8 -b100101111 $ -b1 - -b1 > -b1 E -b1 W -b1 h -b1 v -b1 *" -b1 ;" -b110011100000111100 " -b11 . -b10110000100101010101010001100001 % -b10110000100101010101010001100001 < -b10110000100101010101010001100001 D -b10110000100101010101010001100001 U -b10110000100101010101010001100001 f -b10110000100101010101010001100001 u -b10110000100101010101010001100001 (" -b10110000100101010101010001100001 9" -0( -0) -0+ -0, -b10 0 -0' -#9983 -b1110100000000000101101100000000 A" -b101001110000000001100101 n -#9985 -b111010000000000010110110000000000000000101001110000000001100101 # -b0 J -b11 . -b111010000000000010110110000000000000000101001110000000001100101 ! -b111010000000000010110110000000000000000101001110000000001100101 ? -b11 A -b101001110000000001100101 L -b1110100000000000101101100000000 } -b10110000100101010101010001100001 \ -b111100 X -b1 ` -0Z -b10110000100101010101010001100001 m -b0 i -b1 q -1k -b101001110000000001100101 H -b10 P -b10110000100101010101010001100001 /" -b1 3" -b10110000100101010101010001100001 @" -b10011100 <" -b1 D" -b1110100000000000101101100000000 y -b10 #" -b10 4 -1' -#9986 -b1111100010 / -b10 2 -#9990 -b11000000 5" -b10 "" -0d -b11100001 b -1S -b0 Q -b10 O -b1 G -b111000000 s -b111100001 B -b11 A -b111000000111100001 8 -b111000000 $ -b111000000111100001 " -b11 . -b1100111111110100011010111001111 % -b1100111111110100011010111001111 < -b1100111111110100011010111001111 D -b1100111111110100011010111001111 U -b1100111111110100011010111001111 f -b1100111111110100011010111001111 u -b1100111111110100011010111001111 (" -b1100111111110100011010111001111 9" -0( -0) -0+ -0, -b1 0 -0' -#9993 -b0 A" -b0 ] -#9995 -b0 # -b1 J -b11 . -b0 ! -b0 ? -b11 A -b0 } -b0 L -b10 4 -b0 y -b10 #" -b1100111111110100011010111001111 @" -b11000000 <" -b1100111111110100011010111001111 /" -b0 H -b10 P -b1100111111110100011010111001111 m -b11100001 i -0k -b1100111111110100011010111001111 \ -b0 X -1Z -1' -#9996 -b1111100011 / -b10 2 -#10000 -b11111 5" -b10 "" -1d -b0 b -0S -b11111001 Q -b10 O -b0 G -b100011111 s -b11111001 B -b11 A -b100011111011111001 8 -b110001000 $ -b1000 - -b1000 > -b1000 E -b1000 W -b1000 h -b1000 v -b1000 *" -b1000 ;" -b100011111011111001 " -b11 . -b1101000001010011111010111010000 % -b1101000001010011111010111010000 < -b1101000001010011111010111010000 D -b1101000001010011111010111010000 U -b1101000001010011111010111010000 f -b1101000001010011111010111010000 u -b1101000001010011111010111010000 (" -b1101000001010011111010111010000 9" -0( -0) -0+ -0, -b10 0 -0' -#10003 -b1011000000000000000000000000 n -#10005 -b1011000000000000000000000000 # -b0 J -b11 . -b1011000000000000000000000000 ! -b1011000000000000000000000000 ? -b11 A -b1011000000000000000000000000 L -b1101000001010011111010111010000 \ -b11111001 X -b1000 ` -0Z -b1101000001010011111010111010000 m -b0 i -b1000 q -1k -b1011000000000000000000000000 H -b10 P -b1101000001010011111010111010000 /" -b1000 3" -b1101000001010011111010111010000 @" -b11111 <" -b1000 D" -b10 #" -b10 4 -1' -#10006 -b1111100100 / -b10 2 -#10010 -17" -b0 5" -0&" -0)" -b10010100 $" -b0 x -b10010100 Q -b10010100 s -b10010100 B -b11 A -0V -b10 O -1:" -b10 "" -b10010100010010100 8 -0= -b10010100 $ -b1011 - -b1011 > -b1011 E -b1011 W -b1011 h -b1011 v -b1011 *" -b1011 ;" -b100011010111010010 " -b11 . -1& -b1101110010101001111100111011100 % -b1101110010101001111100111011100 < -b1101110010101001111100111011100 D -b1101110010101001111100111011100 U -b1101110010101001111100111011100 f -b1101110010101001111100111011100 u -b1101110010101001111100111011100 (" -b1101110010101001111100111011100 9" -0( -0) -0+ -0, -b1 0 -0' -#10015 -b0 # -0!" -b0 { -0N -b11 . -b0 ! -b0 ? -b11 A -b0 L -b100 7 -b10 #" -b1101110010101001111100111011100 @" -b0 <" -b1011 D" -1>" -b1101110010101001111100111011100 /" -b10010100 +" -b1011 3" -02" -0-" -b0 H -b10 P -b1101110010101001111100111011100 m -b1011 q -b1101110010101001111100111011100 \ -b10010100 X -b1011 ` -0_ -1' -#10016 -b1111100101 / -b10 2 -#10020 -b111110 $" -0d -b10111110 b -1S -b0 Q -b1 G -b111110 s -b110111110 B -b11 A -1V -b10 O -1)" -b10 "" -b111110110111110 8 -1= -b101001010 $ -b1100 - -b1100 > -b1100 E -b1100 W -b1100 h -b1100 v -b1100 *" -b1100 ;" -b111110110111110 " -b11 . -0& -b11001110010100101101010010011100 % -b11001110010100101101010010011100 < -b11001110010100101101010010011100 D -b11001110010100101101010010011100 U -b11001110010100101101010010011100 f -b11001110010100101101010010011100 u -b11001110010100101101010010011100 (" -b11001110010100101101010010011100 9" -0( -0) -0+ -0, -b10 0 -0' -#10025 -1N -b1 J -1!" -b11001110010100101101010010011100 \ -b0 X -b1100 ` -1_ -1Z -b11001110010100101101010010011100 m -b10111110 i -b1100 q -0k -b10 P -b11001110010100101101010010011100 /" -b111110 +" -b1100 3" -12" -b11001110010100101101010010011100 @" -b1100 D" -b10 #" -b10 4 -1' -#10026 -b1111100110 / -b10 2 -#10030 -b11001100 $" -b10 "" -1d -b0 b -0S -b10110111 Q -b10 O -b0 G -b11001100 s -b10110111 B -b11 A -b11001100010110111 8 -b110101001 $ -b11 - -b11 > -b11 E -b11 W -b11 h -b11 v -b11 *" -b11 ;" -b11001100010110111 " -b11 . -b10001010100110011000010000010101 % -b10001010100110011000010000010101 < -b10001010100110011000010000010101 D -b10001010100110011000010000010101 U -b10001010100110011000010000010101 f -b10001010100110011000010000010101 u -b10001010100110011000010000010101 (" -b10001010100110011000010000010101 9" -0( -0) -0+ -0, -b1 0 -0' -#10033 -b1000001000000001001011100000000 0" -b0 n -#10035 -b100000100000000100101110000000000000000000000000000000000000000 # -b0 J -b11 . -b100000100000000100101110000000000000000000000000000000000000000 ! -b100000100000000100101110000000000000000000000000000000000000000 ? -b11 A -b1000001000000001001011100000000 } -b10 4 -b1000001000000001001011100000000 y -b10 #" -b10001010100110011000010000010101 @" -b11 D" -b10001010100110011000010000010101 /" -b11001100 +" -b11 3" -b10 P -b10001010100110011000010000010101 m -b0 i -b11 q -1k -b10001010100110011000010000010101 \ -b10110111 X -b11 ` -0Z -1' -#10036 -b1111100111 / -b10 2 -#10040 -b10000010 $" -b10000010 Q -b10000010 s -b10000010 B -b11 A -0V -b10 O -0)" -b10 "" -b10000010010000010 8 -0= -b10000010 $ -b1110 - -b1110 > -b1110 E -b1110 W -b1110 h -b1110 v -b1110 *" -b1110 ;" -b111011111001111001 " -b11 . -1& -b110111010001111100110101101110 % -b110111010001111100110101101110 < -b110111010001111100110101101110 D -b110111010001111100110101101110 U -b110111010001111100110101101110 f -b110111010001111100110101101110 u -b110111010001111100110101101110 (" -b110111010001111100110101101110 9" -0( -0) -0+ -0, -b10 0 -0' -#10043 -b0 0" -#10045 -b0 # -0N -0!" -b11 . -b0 ! -b0 ? -b11 A -b0 } -b110111010001111100110101101110 \ -b10000010 X -b1110 ` -0_ -b110111010001111100110101101110 m -b1110 q -b10 P -b110111010001111100110101101110 /" -b10000010 +" -b1110 3" -02" -b110111010001111100110101101110 @" -b1110 D" -b0 y -b10 #" -b100 7 -1' -#10046 -b1111101000 / -b10 2 -#10050 -07" -b1001111 5" -1&" -b0 $" -b1 x -b11110 Q -b101001111 s -b11110 B -b11 A -1V -b10 O -1)" -b10 "" -b101001111000011110 8 -1= -b110001001 $ -b1010 - -b1010 > -b1010 E -b1010 W -b1010 h -b1010 v -b1010 *" -b1010 ;" -b101001111000011110 " -b11 . -0& -b11110011100100100110100111100 % -b11110011100100100110100111100 < -b11110011100100100110100111100 D -b11110011100100100110100111100 U -b11110011100100100110100111100 f -b11110011100100100110100111100 u -b11110011100100100110100111100 (" -b11110011100100100110100111100 9" -0( -0) -0+ -0, -b1 0 -0' -#10055 -1!" -b1 { -1N -b10 4 -b10 #" -b11110011100100100110100111100 @" -b1001111 <" -b1010 D" -0>" -b11110011100100100110100111100 /" -b0 +" -b1010 3" -12" -1-" -b10 P -b11110011100100100110100111100 m -b1010 q -b11110011100100100110100111100 \ -b11110 X -b1010 ` -1_ -1' -#10056 -b10 2
diff --git a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/utils.vh b/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/utils.vh deleted file mode 100644 index 6a8c518..0000000 --- a/verilog/rtl/rams/ram_512x32_2r1w_2021-11-24_03-18-38/utils.vh +++ /dev/null
@@ -1,113 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2013, University of British Columbia (UBC); All rights reserved. // -// // -// Redistribution and use in source and binary forms, with or without // -// modification, are permitted provided that the following conditions are met: // -// * Redistributions of source code must retain the above copyright // -// notice, this list of conditions and the following disclaimer. // -// * Redistributions in binary form must reproduce the above copyright // -// notice, this list of conditions and the following disclaimer in the // -// documentation and/or other materials provided with the distribution. // -// * Neither the name of the University of British Columbia (UBC) nor the names // -// of its contributors may be used to endorse or promote products // -// derived from this software without specific prior written permission. // -// // -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // -// DISCLAIMED. IN NO EVENT SHALL University of British Columbia (UBC) BE LIABLE // -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER // -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, // -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -//////////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////////// -// utils.vh: Design utilities (pre-compile) // -// // -// Author: Ameer M. Abdelhadi (ameer@ece.ubc.ca, ameer.abdelhadi@gmail.com) // -// SRAM-based Multi-ported RAMs; University of British Columbia (UBC), March 2013 // -//////////////////////////////////////////////////////////////////////////////////// - -`ifndef __UTILS_VH__ -`define __UTILS_VH__ - -`define DEBUG_MODE // debug mode, comment this line for other modes -`define VERBOSE // verbose debug, comment this line for other modes - -// Initiate Array structure - use once before calling packing/unpacking modules -`define ARRINIT integer _i_,_j_ -// pack/unpack 1D/2D/3D arrays; use in "always @*" if combinatorial -`define ARR2D1D(D1W,D2W, SRC,DST) for(_i_=1;_i_<=(D1W);_i_=_i_+1) DST[((D2W)*_i_-1)-:D2W] = SRC[_i_-1] -`define ARR1D2D(D1W,D2W, SRC,DST) for(_i_=1;_i_<=(D1W);_i_=_i_+1) DST[_i_-1] = SRC[((D2W)*_i_-1)-:D2W] -`define ARR2D3D(D1W,D2W,D3W,SRC,DST) for(_i_=0;_i_< (D1W);_i_=_i_+1) for(_j_=1;_j_<=(D2W);_j_=_j_+1) DST[_i_][_j_-1] = SRC[_i_][((D3W)*_j_-1)-:D3W] -`define ARR3D2D(D1W,D2W,D3W,SRC,DST) for(_i_=0;_i_< (D1W);_i_=_i_+1) for(_j_=1;_j_<=(D2W);_j_=_j_+1) DST[_i_][((D3W)*_j_-1)-:D3W] = SRC[_i_][_j_-1] - -// print a 2-D array in a comma-delimited list -`define ARRPRN(ARRLEN,PRNSRC) for (_i_=(ARRLEN)-1;_i_>=0;_i_=_i_-1) $write("%c%h%c",(_i_==(ARRLEN)-1)?"[":"",PRNSRC[_i_],!_i_?"]":",") -// Initialize a vector with a specific width random number; extra bits are zero padded -`define GETRAND(RAND,RANDW) RAND=0; repeat ((RANDW)/32) RAND=(RAND<<32)|{$random}; RAND=(RAND<<((RANDW)%32))|({$random}>>(32-(RANDW)%32)) - -// factorial (n!) -`define fact(n) ( ( ((n) >= 2 ) ? 2 : 1) * \ - ( ((n) >= 3 ) ? 3 : 1) * \ - ( ((n) >= 4 ) ? 4 : 1) * \ - ( ((n) >= 5 ) ? 5 : 1) * \ - ( ((n) >= 6 ) ? 6 : 1) * \ - ( ((n) >= 7 ) ? 7 : 1) * \ - ( ((n) >= 8 ) ? 8 : 1) * \ - ( ((n) >= 9 ) ? 9 : 1) * \ - ( ((n) >= 10 ) ? 10 : 1) ) - -// ceiling of log2 -`define log2(x) ( ( ((x) > 1 ) ? 1 : 0) + \ - ( ((x) > 2 ) ? 1 : 0) + \ - ( ((x) > 4 ) ? 1 : 0) + \ - ( ((x) > 8 ) ? 1 : 0) + \ - ( ((x) > 16 ) ? 1 : 0) + \ - ( ((x) > 32 ) ? 1 : 0) + \ - ( ((x) > 64 ) ? 1 : 0) + \ - ( ((x) > 128 ) ? 1 : 0) + \ - ( ((x) > 256 ) ? 1 : 0) + \ - ( ((x) > 512 ) ? 1 : 0) + \ - ( ((x) > 1024 ) ? 1 : 0) + \ - ( ((x) > 2048 ) ? 1 : 0) + \ - ( ((x) > 4096 ) ? 1 : 0) + \ - ( ((x) > 8192 ) ? 1 : 0) + \ - ( ((x) > 16384 ) ? 1 : 0) + \ - ( ((x) > 32768 ) ? 1 : 0) + \ - ( ((x) > 65536 ) ? 1 : 0) + \ - ( ((x) > 131072 ) ? 1 : 0) + \ - ( ((x) > 262144 ) ? 1 : 0) + \ - ( ((x) > 524288 ) ? 1 : 0) + \ - ( ((x) > 1048576) ? 1 : 0) + \ - ( ((x) > 2097152) ? 1 : 0) + \ - ( ((x) > 4194304) ? 1 : 0) ) - -// floor of log2 -`define log2f(x) ( ( ((x) >= 2 ) ? 1 : 0) + \ - ( ((x) >= 4 ) ? 1 : 0) + \ - ( ((x) >= 8 ) ? 1 : 0) + \ - ( ((x) >= 16 ) ? 1 : 0) + \ - ( ((x) >= 32 ) ? 1 : 0) + \ - ( ((x) >= 64 ) ? 1 : 0) + \ - ( ((x) >= 128 ) ? 1 : 0) + \ - ( ((x) >= 256 ) ? 1 : 0) + \ - ( ((x) >= 512 ) ? 1 : 0) + \ - ( ((x) >= 1024 ) ? 1 : 0) + \ - ( ((x) >= 2048 ) ? 1 : 0) + \ - ( ((x) >= 4096 ) ? 1 : 0) + \ - ( ((x) >= 8192 ) ? 1 : 0) + \ - ( ((x) >= 16384 ) ? 1 : 0) + \ - ( ((x) >= 32768 ) ? 1 : 0) + \ - ( ((x) >= 65536 ) ? 1 : 0) + \ - ( ((x) >= 131072 ) ? 1 : 0) + \ - ( ((x) >= 262144 ) ? 1 : 0) + \ - ( ((x) >= 524288 ) ? 1 : 0) + \ - ( ((x) >= 1048576) ? 1 : 0) + \ - ( ((x) >= 2097152) ? 1 : 0) + \ - ( ((x) >= 4194304) ? 1 : 0) ) - -`endif //__UTILS_VH__